audit_auditone.html 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394
  1. {{template "inc"}}
  2. <!-- Main Header -->
  3. {{template "header"}}
  4. <!-- Left side column. 权限菜单 -->
  5. {{template "memu"}}
  6. <style>
  7. #infos{
  8. height: 666px;
  9. overflow-y: scroll;
  10. }
  11. </style>
  12. <div class="content-wrapper">
  13. <section class="content-header">
  14. <h1>
  15. <small>
  16. <button class="btn btn-primary" onclick="allAudit()">批量审核</button>
  17. <button class="btn btn-primary" onclick="allDel({{.coll}},'','all')">批量删除</button>
  18. </small>
  19. </h1>
  20. <ol class="breadcrumb">
  21. <li><a href="/admin/audit/recogfield"><i class="fa fa-dashboard"></i> 字段审核</a></li>
  22. <li class="active"><a href="#">数据列表</a></li>
  23. </ol>
  24. </section>
  25. <!-- Main content -->
  26. <section class="content">
  27. <div class="row">
  28. <div class="col-xs-12">
  29. <div class="box">
  30. <div class="box-body">
  31. <table id="dataauditTable" class="table table-bordered table-hover">
  32. <thead>
  33. <tr>
  34. <th><input type="checkbox" id="selrow" onclick="selectrow(this)"/></th>
  35. <th>编号</th>
  36. <th>字段值</th>
  37. <th>行业类型</th>
  38. <!--<th>ExtractID</th>
  39. <th>结果表</th>
  40. <th>分包</th>
  41. <th>时间</th>-->
  42. <th>操作</th>
  43. </tr>
  44. </thead>
  45. </table>
  46. </div>
  47. <!-- /.box-body -->
  48. </div>
  49. <!-- /.box -->
  50. </div>
  51. </div>
  52. </section>
  53. </div>
  54. <div class="modal fade" id="info_data">
  55. <div class="modal-dialog">
  56. <form id="update-dataform" class="form-horizontal" role="form">
  57. <div class="modal-content">
  58. <div class="modal-header">
  59. <button type="button" class="close" data-dismiss="modal" aria-label="Close">
  60. <span aria-hidden="true">&times;</span></button>
  61. <h4 class="modal-title" id="info_title"></h4>
  62. </div>
  63. <div class="modal-body" id="infos">
  64. </div>
  65. </div>
  66. <!-- /.modal-content -->
  67. </form>
  68. </div>
  69. <!-- /.modal-dialog -->
  70. </div>
  71. <!--新增标签-->
  72. <!--<div class="modal fade" id="modal-info-auditdata">
  73. <div class="modal-dialog">
  74. <form id="add-dataform" class="form-horizontal" role="form">
  75. <div class="modal-content">
  76. <div class="modal-header">
  77. <button type="button" class="close" data-dismiss="modal" aria-label="Close">
  78. <span aria-hidden="true">&times;</span></button>
  79. <h4 class="modal-title" id="audittitleinfo"></h4>
  80. </div>
  81. <div class="modal-body">
  82. <div class="form-group">
  83. <label for="code" id="labelname" class="col-sm-2 control-label">名称:</label>
  84. <div class="col-sm-10">
  85. <input class="form-control" id="auditname"></input>
  86. </div>
  87. </div>
  88. {{if eq .name "buyer"}}
  89. <div class="form-group">
  90. <label for="code" id="labelname" class="col-sm-2 control-label">类别:</label>
  91. <div class="col-sm-10" style="display:flex;">
  92. <select class="form-control" id="parentclass" style="margin-right:15px;"></select>
  93. <select class="form-control" id="childclass"></select>
  94. </div>
  95. </div>
  96. {{end}}
  97. </div>
  98. <div class="modal-footer">
  99. <button type="button" class="btn btn-default" data-dismiss="modal" onclick="reset()">取消</button>
  100. <button type="button" class="btn btn-primary" onclick="saveaudit()">保存</button>
  101. </div>
  102. </div>
  103. </form>
  104. </div>
  105. </div>-->
  106. <!-- /.modal -->
  107. {{template "dialog"}}
  108. {{template "footer"}}
  109. <script>
  110. menuActive("audit/recogfield")
  111. var field = {{.name}};
  112. var id = "";
  113. $(function () {
  114. ttable=$('#dataauditTable').DataTable({
  115. "paging" : true,
  116. "lengthChange": false,
  117. "searching" : true,
  118. "ordering" : false,
  119. "info" : true,
  120. "autoWidth" : true,
  121. "serverSide" : true,
  122. "ajax": {
  123. "url": "/admin/audit/auditonefield",
  124. "type": "post",
  125. "data": {"field":{{.name}},"coll":{{.coll}}}
  126. },
  127. "language": {
  128. "url": "/res/dist/js/dataTables.chinese.lang"
  129. },
  130. "columns": [
  131. { "data": "_id",width:"1%",render:function(val,a,row){
  132. return "<input type='checkbox' value='"+val+"' name='"+row.text+"'/>"
  133. }},
  134. { "data": "_id",width:"5%",render:function(val,a,row){
  135. return row.num
  136. }},
  137. { "data": {{.name}}},
  138. { "data": "topscopeclass"},
  139. { "data": "_id",render:function(val,a,row){
  140. return '<a class="btn btn-sm btn-success" href="#" onclick="audit(\''+row.text+'\',\''+val+'\')">审核</a>'+
  141. '&nbsp;&nbsp;<a class="btn btn-sm btn-danger" onclick="allDel(\''+{{.coll}}+'\',\''+val+'\',\'one\')">删除</a>'
  142. }}
  143. ],
  144. "fnServerParams": function (e) {
  145. var auditattr=$("#auditattr").val();
  146. if(auditattr){
  147. e.auditattr=auditattr;
  148. }else{
  149. e.auditattr="-1";
  150. }
  151. }
  152. });
  153. ttable.on('init.dt', function () {
  154. var opt="<option value='-1'>全部</option>"+
  155. "<option value='1'>正确</option>"+
  156. "<option value='0'>异常</option>";
  157. var select="<div class='form-group'><label for='name'>数据类型:</label>"+
  158. "<select id='auditattr' onchange='checkclick(this.value)' class='form-control input-sm'>"+
  159. opt+
  160. "</select></div>"
  161. $("#dataauditTable_filter").prepend("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
  162. $("#dataauditTable_filter").prepend(select);
  163. })
  164. })
  165. function checkclick(){
  166. ttable.ajax.reload();
  167. }
  168. function allDel(coll,_id,type){
  169. var ids=[];
  170. if(type=="one"){//单个删除
  171. ids.push(_id)
  172. }else{//批量删除
  173. $("#dataauditTable td input[type=checkbox]").each(function(){
  174. if($(this).prop("checked")){
  175. ids.push($(this).val());
  176. }
  177. });
  178. }
  179. showConfirm("确定删除?", function() {
  180. $.ajax({
  181. url:"/admin/audit/alldel",
  182. type:"post",
  183. data:{"ids":ids.join(","),"coll":coll},
  184. success:function(r){
  185. if(r.rep){
  186. ttable.ajax.reload();
  187. //window.location.href="/admin/rulemanager/getrulelist?id="+fid+"&fname="+fname;
  188. }else{
  189. showTip("删除失败", 1000, function() {});
  190. }
  191. }
  192. })
  193. });
  194. }
  195. function audit(text,_id){//单条信息审核
  196. id = _id;
  197. AddQYKHTML(text)
  198. }
  199. //审核确认
  200. function auditsave(parentclass,childclass){
  201. var val = $("#auditname").val();
  202. $("#modal-info-auditdata").modal("hide");
  203. showConfirm("确定通过?", function() {
  204. $.ajax({
  205. url:"/admin/audit/auditsave",
  206. type:"post",
  207. data:{"field":field,"val":val,"parentclass":parentclass,"childclass":childclass,"id":id,"eid":eid,"coll":coll},
  208. success:function(r){
  209. if(r.rep){
  210. ttable.ajax.reload();
  211. }else{
  212. showTip("审核失败", 1000, function() {});
  213. }
  214. }
  215. })
  216. });
  217. }
  218. function selectrow(me){
  219. var sel=$(me);
  220. var isSelected=sel.prop('checked');
  221. if(isSelected){
  222. $("#dataauditTable td input[type=checkbox]").prop("checked",true);
  223. }else{
  224. $("#dataauditTable td input[type=checkbox]").prop("checked",false);
  225. }
  226. }
  227. var vastrjson = [{
  228. "infoid": "招标信息id",
  229. "contact_person": "联系人",
  230. "contact_type": "联系人类型",
  231. "phone": "联系人电话",
  232. "topscopeclass": "项目类型"
  233. }];
  234. /*新增企业库html*/
  235. function AddQYKHTML(text) {
  236. $("#infos").html("");
  237. $("#info_title").html("新增企业库信息");
  238. var base1Html = "<div class=\"row form-group\"><label for=\"lastname\" class=\"col-sm-3 control-label\" style=\"color: red;\">名称:</label>" +
  239. "<div class=\"col-sm-9\"><input type=\"text\" class=\"form-control\" id=\"name\" must=\"true\" value='" + text + "'></div></div>"
  240. var winner1Html = "<div class=\"row form-group\"><label for=\"lastname\" class=\"col-sm-3 control-label\">别名:</label>" +
  241. "<div class=\"col-sm-9\"><input type=\"text\" class=\"form-control\" id=\"alias\" ></div></div>"
  242. var base2Html = "<div class=\"row form-group\"><label for=\"lastname\" class=\"col-sm-3 control-label\">历史名称:</label>" +
  243. "<div class=\"col-sm-9\"><input type=\"text\" class=\"form-control\" id=\"history_name\" placeholder=\"多个;隔开\" ></div></div>" +
  244. "<div class=\"row form-group\"><label for=\"lastname\" class=\"col-sm-3 control-label\">行政区划代码:</label>" +
  245. "<div class=\"col-sm-9\"><input type=\"text\" class=\"form-control\" id=\"area_code\" ></div></div>" +
  246. "<div class=\"row form-group\"><label for=\"lastname\" class=\"col-sm-3 control-label\">省份:</label>" +
  247. "<div class=\"col-sm-9\"><input type=\"text\" class=\"form-control\" id=\"province\"></div></div>" +
  248. "<div class=\"row form-group\"><label for=\"lastname\" class=\"col-sm-3 control-label\">城市:</label>" +
  249. "<div class=\"col-sm-9\"><input type=\"text\" class=\"form-control\" id=\"city\" ></div></div>" +
  250. "<div class=\"row form-group\"><label for=\"lastname\" class=\"col-sm-3 control-label\">区县:</label>" +
  251. "<div class=\"col-sm-9\"><input type=\"text\" class=\"form-control\" id=\"district\"></div></div>"
  252. var winner2Html = "<div class=\"row form-group\"><label for=\"lastname\" class=\"col-sm-3 control-label\">注册资本:</label>" +
  253. "<div class=\"col-sm-9\"><input type=\"text\" class=\"form-control\" id=\"capital\" placeholder=\"示例:45678.98元;456.78万元;1234.25;\"></div></div>" +
  254. "<div class=\"row form-group\"><label for=\"lastname\" class=\"col-sm-3 control-label\">经营范围:</label>" +
  255. "<div class=\"col-sm-9\"><input type=\"text\" class=\"form-control\" id=\"business_scope\"></div></div>"
  256. var buyerHtml = "<div class=\"row form-group\"><label for=\"lastname\" class=\"col-sm-3 control-label\">采购单位类型:</label>" +
  257. "<div class=\"col-sm-9\"><input type=\"text\" class=\"form-control\" id=\"buyerclass\"></div></div>"
  258. var agencyHtml = "<div class=\"row form-group\"><label for=\"lastname\" class=\"col-sm-3 control-label\">行政级别:</label>" +
  259. "<div class=\"col-sm-9\"><input type=\"text\" class=\"form-control\" id=\"ranks\"></div></div>"+
  260. "<div class=\"row form-group\"><label for=\"lastname\" class=\"col-sm-3 control-label\">单位类型:</label>" +
  261. "<div class=\"col-sm-9\"><input type=\"text\" class=\"form-control\" id=\"type\"></div></div>"
  262. var base3Html = "<div class=\"row form-group\"><label for=\"lastname\" class=\"col-sm-3 control-label\">地址:</label>" +
  263. "<div class=\"col-sm-9\"><input type=\"text\" class=\"form-control\" id=\"address\"></div></div>" +
  264. "<div class=\"row form-group\"><label for=\"lastname\" class=\"col-sm-3 control-label\">微信公众号:</label>" +
  265. "<div class=\"col-sm-9\"><input type=\"text\" class=\"form-control\" id=\"wechat_accounts\" placeholder=\"多个;隔开\"></div></div>" +
  266. "<div class=\"row form-group\"><label for=\"lastname\" class=\"col-sm-3 control-label\">网址:</label>" +
  267. "<div class=\"col-sm-9\"><input type=\"text\" class=\"form-control\" id=\"website\"></div></div>" +
  268. "<div class=\"row form-group\"><label for=\"lastname\" class=\"col-sm-3 control-label\">联系方式:</label>" +
  269. "<div class=\"col-sm-9\" id='contact' style=\"height:250px\"></div>" +
  270. "<div class=\"row form-group\">" +
  271. "<button type='button' class='btn btn-sm btn-default col-md-offset-5 col-md-2' data-dismiss='modal' aria-label='Close'>取消</button>" +
  272. "<button type='button' class='btn btn-sm btn-danger col-md-2' onclick='Add()'>新增企业</button></div>";
  273. var com = "";
  274. {{if eq .name "winner"}}
  275. com = base1Html+winner1Html+base2Html+winner2Html+base3Html;
  276. {{else if eq .name "agency"}}
  277. com = base1Html+base2Html+agencyHtml+base3Html;
  278. {{else if eq .name "buyer"}}
  279. com = base1Html+base2Html+agencyHtml+buyerHtml+base3Html;
  280. {{end}}
  281. $("#infos").html(com);
  282. $("#contact").html('');
  283. var container = document.getElementById('contact');
  284. showJson("add", vastrjson, container);
  285. $("#info_data").modal("show");
  286. }
  287. function showJson(ptype, content, container) {
  288. var options = {
  289. mode: 'code',
  290. modes: ['code', 'tree'], // allowed modes
  291. onError: function (err) {
  292. alert(err.toString());
  293. }
  294. };
  295. if (ptype == "add") {
  296. editor_add = new JSONEditor(container, options, content);
  297. } else if (ptype == "update") {
  298. editor_update = new JSONEditor(container, options, content);
  299. }
  300. }
  301. /*保存企业库*/
  302. function Add() {
  303. var contact = editor_add.getText();//联系人
  304. if (typeof contact == 'string') {
  305. try {
  306. var obj=JSON.parse(contact);
  307. if(typeof obj == 'object' && obj ){
  308. // alert("格式正确");
  309. }else{
  310. alert("联系人的表单json格式不正确");
  311. return
  312. }
  313. } catch(e) {
  314. alert("联系人的表单json格式不正确");
  315. return
  316. }
  317. }
  318. if (contact === JSON.stringify(vastrjson, null, 2)) {
  319. alert("联系人的表单未填写!");
  320. return
  321. }
  322. //新增企业库api
  323. var obj={}
  324. var bcon=true
  325. $("#infos").find("input[id!=s_show],textarea").each(function(i,el){
  326. var val=$(el).val();
  327. if(el.id!="_id"&&$(el).attr("must")&&!val){
  328. bcon=false
  329. return false
  330. }
  331. if(el.id!= ""){
  332. obj[el.id]=$(el).val()
  333. }
  334. })
  335. obj["contact"]= contact;
  336. obj["coll"] = {{.coll}};
  337. obj["_id"] = id;
  338. obj["field"] = {{.name}};
  339. $.post("/admin/audit/datasave",obj,function(data){
  340. if(data&&data.rep){
  341. $("#info_data").modal("hide");
  342. ttable.ajax.reload();
  343. }else{
  344. showTip(data.msg,1000)
  345. }
  346. },'json')
  347. }
  348. //批量审核
  349. function allAudit(){
  350. var ids=[];
  351. var names=[];
  352. $("#dataauditTable td input[type=checkbox]").each(function(){
  353. if($(this).prop("checked")){
  354. ids.push($(this).val());
  355. names.push($(this).attr("name"));
  356. }
  357. });
  358. showConfirm("确定审核通过?", function() {
  359. $.ajax({
  360. url:"/admin/audit/allaudit",
  361. type:"post",
  362. data:{"ids":ids.join(","),"names":names.join(","),"coll":{{.coll}},"field":{{.name}}},
  363. success:function(r){
  364. if(r.rep){
  365. ttable.ajax.reload();
  366. //window.location.href="/admin/rulemanager/getrulelist?id="+fid+"&fname="+fname;
  367. }else{
  368. showTip(r.msg, 1000, function() {});
  369. }
  370. }
  371. })
  372. });
  373. }
  374. </script>