project_clear.html 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600
  1. {{include "com/inc.html"}}
  2. <!-- Main Header -->
  3. {{include "com/header.html"}}
  4. <!-- Left side column. 权限菜单 -->
  5. {{include "com/menu.html"}}
  6. <div class="content-wrapper" xmlns="http://www.w3.org/1999/html">
  7. <section class="content-header">
  8. <h1><small></small></h1>
  9. <ol class="breadcrumb">
  10. <li><a href="/front/project"><i class="fa fa-dashboard"></i> 项目列表</a></li>
  11. <li><a href="#"><i class="fa fa-dashboard"></i> 项目分发</a></li>
  12. </ol>
  13. </section>
  14. <!-- Main content -->
  15. <section class="content">
  16. <div class="row">
  17. <div class="col-xs-12">
  18. <div class="box">
  19. <div class="box-body">
  20. <div class="form-horizontal">
  21. <div class="box-body margin">
  22. <h4><i class="glyphicon glyphicon-exclamation-sign" style="margin-right: 6px"></i>数据情况</h4>
  23. <hr>
  24. <div class="form-group" style="margin-left: 10px">
  25. <div class="col-xs-3" style="width: auto">
  26. <label class="form-inline">数据总量:
  27. <input type="text" class="form-control" style="width: 80px" readonly value="{{.T.allDataNum}}"></label>
  28. <label class="form-inline" style="margin-left: 5px">已分发:
  29. <input type="text" class="form-control" style="width: 80px" readonly value="{{.T.allGiveDataNum}}"></label>
  30. <label class="form-inline" style="margin-left: 5px">待分发:
  31. <input type="text" class="form-control" style="width: 80px" readonly value="{{.T.allNoGiveDataNum}}"></label>
  32. <label class="form-inline" style="margin-left: 5px">已标注:
  33. <input type="text" class="form-control" style="width: 80px" readonly value="{{.T.allIsTagDataNum}}"></label>
  34. </div>
  35. <div class="col-xs-5 form-group">
  36. <label class="form-inline">&nbsp;操作:
  37. <a type="button" class="btn btn-sm btn-primary" href="/front/user/jymark/list?pid={{.T.s_projectid}}&stype=all">标注</a>
  38. <a type="button" class="btn btn-sm btn-primary" onclick="dispatchTask('all')">分发</a>
  39. <a type="button" class="btn btn-sm btn-primary" onclick="checkMethod('all')">质检</a>
  40. <a type="button" class="btn btn-sm btn-primary" onclick="checkAllSuc()">通过</a>
  41. </label>
  42. </div>
  43. </div>
  44. <div class="form-group" style="margin-left: 10px">
  45. <div class="col-xs-6" style="width: auto">
  46. <label class="form-inline">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;达标:
  47. <input type="text" class="form-control" style="width: 80px" readonly value="{{.T.okAllDataNum}}"></label>
  48. <label class="form-inline" style="margin-left: 5px">已分发:
  49. <input type="text" class="form-control" style="width: 80px" readonly value="{{.T.okIsGiveDataNum}}"></label>
  50. <label class="form-inline" style="margin-left: 5px">待分发:
  51. <input type="text" class="form-control" style="width: 80px" readonly value="{{.T.okNotGiveDataNum}}"></label>
  52. <label class="form-inline" style="margin-left: 5px">已标注:
  53. <input type="text" class="form-control" style="width: 80px" readonly value="{{.T.okIsTagDataNum}}"></label>
  54. </div>
  55. <div class="col-xs-5 form-group">
  56. <label class="form-inline">操作:
  57. <a type="button" class="btn btn-sm btn-primary" href="/front/user/jymark/list?pid={{.T.s_projectid}}&stype=notag">标注</a>
  58. <a type="button" class="btn btn-sm btn-primary" onclick="dispatchTask('notag')">分发</a>
  59. <a type="button" class="btn btn-sm btn-primary" onclick="checkMethod('notag')">质检</a>
  60. <a type="button" class="btn btn-sm btn-primary" onclick="checkSuc()">质检通过</a>
  61. </label>
  62. </div>
  63. </div>
  64. <div class="form-group" style="margin-left: 10px">
  65. <div class="col-xs-6" style="width: auto">
  66. <label class="form-inline">&nbsp;&nbsp;&nbsp;&nbsp;未达标:
  67. <input type="text" class="form-control" style="width: 80px" readonly value="{{.T.IsNoOkAllDataNum}}"></label>
  68. <label class="form-inline" style="margin-left: 5px">已分发:
  69. <input type="text" class="form-control" style="width: 80px" readonly value="{{.T.IsNoOkIsGiveDataNum}}"></label>
  70. <label class="form-inline" style="margin-left: 5px">待分发:
  71. <input type="text" class="form-control" style="width: 80px" readonly value="{{.T.IsNotOkNotGiveDataNum}}"></label>
  72. <label class="form-inline" style="margin-left: 5px">已标注:
  73. <input type="text" class="form-control" style="width: 80px" readonly value="{{.T.IsNotOkIsTagDataNum}}"></label>
  74. </div>
  75. <div class="col-xs-5 form-group">
  76. <label class="form-inline">操作:
  77. <a type="button" class="btn btn-sm btn-primary" href="/front/user/jymark/list?pid={{.T.s_projectid}}&stype=tag">标注</a>
  78. <a type="button" class="btn btn-sm btn-primary" onclick="dispatchTask('tag')">分发</a>
  79. <a type="button" class="btn btn-sm btn-primary" onclick="checkMethod('tag')">质检</a>
  80. <!-- <input type="button" class="btn btn-sm btn-primary" value="质检结果">-->
  81. </label>
  82. </div>
  83. </div>
  84. </div>
  85. </div>
  86. <div id="status-div" class="col-xs-1" style="width: auto;float:right;">
  87. <label for="statusSelect">状态:
  88. <select class="form-control selectpicker" id="statusSelect">
  89. <option value="-1">全部</option>
  90. <option value="未开始">未开始</option>
  91. <option value="进行中">进行中</option>
  92. <option value="已完成">已完成</option>
  93. <option value="已关闭">已关闭</option>
  94. </select></label>
  95. </div>
  96. <div class="box-body margin">
  97. <h4><i class="glyphicon glyphicon-tasks" style="margin-right: 6px"></i>数据清洗任务列表</h4>
  98. <hr>
  99. <table id="dataTable" class="table table-bordered table-hover">
  100. <thead>
  101. <tr>
  102. <th>序号</th>
  103. <th>项目名称</th>
  104. <th>用户组名称</th>
  105. <th>负责人</th>
  106. <th>分发数据量</th>
  107. <th>任务状态</th>
  108. <th>完成进度</th>
  109. <th>任务时间</th>
  110. <th>操作</th>
  111. </tr>
  112. </thead>
  113. </table>
  114. </div>
  115. </div>
  116. <!-- /.box-body -->
  117. </div>
  118. <!-- /.box -->
  119. </div>
  120. </div>
  121. </section>
  122. </div>
  123. <div class="modal fade" id="modal-create-task" tabindex="-1" role="dialog" aria-hidden="true">
  124. <div class="modal-dialog" style="width: 60%">
  125. <div class="modal-content">
  126. <div class="modal-header">
  127. <div class="modal-header">
  128. <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
  129. <div class="edit-info">
  130. <span class="glyphicon glyphicon-tasks" aria-hidden="true"></span>
  131. <span class="h3">新建任务</span>
  132. </div>
  133. <div class="edit-form">
  134. <form id="modal-form-task" class="form-horizontal">
  135. <div class="modal-body modal-task">
  136. <div class="form-group margin-bottom" style="margin-left: 15px">
  137. <label class="control-label form-inline h4">待分发数据总量(条):
  138. <span id="modal-num">0</span>
  139. </label>
  140. </div>
  141. <hr>
  142. <div></div>
  143. <div id="TaskDiv">
  144. <div id="itemDiv" class="form-group" style="margin-left: 10px;display: none">
  145. <select id="group-select-clone"></select>
  146. <label class="control-label form-inline" style="margin-left: 20px">数据量(条):
  147. <input type="number" class="form-control"></label>
  148. </div>
  149. <div class="form-group group-item" style="margin-left: 10px;">
  150. <select class="selectpicker" id="group-select"></select>
  151. <label class="control-label form-inline" style="margin-left: 20px">数据量(条):
  152. <input type="number" class="form-control"></label>
  153. <input type="button" class="btn btn-info btn-sm" onclick="addTaskSelect()" value="新增">
  154. </div>
  155. </div>
  156. </div>
  157. </form>
  158. </div>
  159. </div>
  160. </div>
  161. <div class="modal-footer">
  162. <input type="button" onclick="saveTask()" class="btn btn-primary" value="保存">
  163. <input type="button" onclick="cancelModel()" class="btn btn-default" value="取消">
  164. </div>
  165. </div>
  166. </div><!-- /.modal -->
  167. </div>
  168. {{include "com/footer.html"}}
  169. <script>
  170. menuActive("project");
  171. let projectid = {{ .T.s_projectid }}
  172. let sourceinfo = {{ .T.s_sourceinfo }}
  173. let allNoGiveDataNum = {{.T.allNoGiveDataNum}}
  174. let okNotGiveDataNum = {{.T.okNotGiveDataNum}}
  175. let okIsTagDataNum = {{ .T.okIsTagDataNum }}
  176. let IsNoOkAllDataNum = {{ .T.IsNoOkAllDataNum }}
  177. let IsNotOkNotGiveDataNum = {{.T.IsNotOkNotGiveDataNum}}
  178. let IsNotOkIsTagDataNum = {{ .T.IsNotOkIsTagDataNum }}
  179. let okRealGiveNum = {{ .T.okRealGiveNum }}
  180. let groupList = []
  181. let tableData = []
  182. let stype = "" // 分发类型:所有数据:all 达标数据:notag 未达标:tag
  183. //展示loading框
  184. showLoading = function (text){
  185. if(text){
  186. $("#loadText").html(text)
  187. }
  188. $('#loadingModal').modal({backdrop: 'static', keyboard: false});
  189. }
  190. //隐藏掉loading框
  191. hideLoading = function (){
  192. $('#loadingModal').modal('hide');
  193. }
  194. $(function () {
  195. ttable = $('#dataTable').dataTable({
  196. "paging": true,
  197. "lengthChange": false,
  198. "searching": true,
  199. "ordering": false,
  200. "info": true,
  201. "autoWidth": false,
  202. "language": {
  203. "url": "/dist/js/dataTables.chinese.lang"
  204. },
  205. "fnDrawCallback": function () {
  206. $("ul.pagination").prepend("&nbsp;&nbsp;&nbsp;转到第 <input type='text' id='changePage' style='width:20px;'> 页 <a type='text' href='javascript:void(0);' id='dataTable-btn' style='text-align:center'>GO</a>");
  207. $('#dataTable-btn').click(function (e) {
  208. var redirectpage = 0
  209. if ($("#changePage").val() && $("#changePage").val() > 0) {
  210. var redirectpage = $("#changePage").val() - 1;
  211. }
  212. ttable.api().page(redirectpage).draw(false);
  213. });
  214. this.api().column(0).nodes().each(function (cell, i) {
  215. cell.innerHTML = i + 1;
  216. });
  217. },
  218. "columns": [
  219. {"data": null, width: "1%"},
  220. {"data": "s_projectname", width: "5%"},
  221. {"data": "s_groupname", width: "4%"},
  222. {"data": "s_personname", width: "4%"},
  223. {"data": "i_givenum", width: "4%"},
  224. {"data": "s_status", width: "4%"},
  225. {"data": "s_progress", width: "4%"},
  226. {
  227. "data": "_id", width: "4%", render: function (val, a, row) {
  228. let str = ""
  229. if (row['i_starttime'] === undefined) {
  230. str = "未开始"
  231. }else if (row['i_starttime'] && row['i_completetime'] === undefined) {
  232. let dt = new Date()
  233. dt.setTime(parseInt(row['i_starttime']) * 1000);
  234. str = dt.format("yyyy-MM-dd hh:mm:ss") + " - 未结束"
  235. }else {
  236. let dt = new Date()
  237. let ds = new Date()
  238. dt.setTime(parseInt(row['i_starttime']) * 1000);
  239. ds.setTime(parseInt(row["i_completetime"]) * 1000)
  240. str = dt.format("yyyy-MM-dd hh:mm:ss") + " - " + ds.format("yyyy-MM-dd hh:mm:ss")
  241. }
  242. return str
  243. }
  244. },
  245. {
  246. "data": "_id", width: "11%", render: function (val, a, row, pos) {
  247. tmp = '<div>' +
  248. '<a class="btn btn-sm btn-primary" href="/front/group/user/task/list?pid='+projectid+'&grouptaskid='+val+'&s_groupid='+row.s_groupid+'&s_sourceinfo='+row.s_sourceinfo+'">查看</a>&nbsp;&nbsp;' +
  249. '<a class="btn btn-sm btn-primary" onclick="retrieveTask(\''+val+'\',\''+row.s_sourceinfo+'\',\''+row.s_status+'\')">收回</a>&nbsp;&nbsp;' +
  250. '<a class="btn btn-sm btn-primary" onclick="checkMethod1(\'' + row.s_projectid + '\',\'' + val + '\',\'' + row.s_sourceinfo + '\')">质检</a>&nbsp;&nbsp;' +
  251. '<a class="btn btn-sm btn-primary" onclick="repulseTask(\''+val+'\',\''+row.s_sourceinfo+'\',\''+row.s_status+'\')">打回</a>&nbsp;&nbsp;' +
  252. '<a class="btn btn-sm btn-primary" onclick="closeTask(\'' + val + '\',\''+row.s_sourceinfo+'\',\'' + row.s_status + '\')">关闭</a>&nbsp;&nbsp;' +
  253. '</div>';
  254. return tmp
  255. }
  256. }
  257. ],
  258. "initComplete": function () {
  259. $("#dataTable_filter").append($('#status-div'))
  260. $("[type=search]").attr('placeholder', "用户组名称")
  261. },
  262. "fnServerParams": function (e) {
  263. e.s_status = $("#statusSelect option:selected").val()
  264. }
  265. });
  266. $.ajax({
  267. url: "/front/project/task/list",
  268. type: "POST",
  269. data: {"pid": projectid, "s_status": "-1"},
  270. success: function (r) {
  271. if (r.data.length > 0) {
  272. ttable.fnClearTable();
  273. ttable.fnAddData(r.data);
  274. }
  275. }
  276. })
  277. $.ajax({
  278. url: "/front/group/list",
  279. type: "POST",
  280. data: {},
  281. success: function (r) {
  282. if (r.rep) {
  283. groupList = r.data
  284. }
  285. }
  286. })
  287. $('#statusSelect').on('changed.bs.select', function () {
  288. $.ajax({
  289. url: "/front/project/task/list",
  290. type: "POST",
  291. data: {"pid": projectid, "s_status": $(this).val()},
  292. success: function (r) {
  293. if (r.data.length > 0) {
  294. ttable.fnClearTable();
  295. ttable.fnAddData(r.data);
  296. }else {
  297. ttable.fnClearTable();
  298. }
  299. }
  300. })
  301. })
  302. });
  303. function dispatchTask(val) {
  304. stype = val
  305. if (stype === "all") {
  306. if (okRealGiveNum === 0) {
  307. showTip("没有可分配的数据!")
  308. return
  309. }
  310. $('#modal-num').html(allNoGiveDataNum)
  311. }else if (stype === "notag") {
  312. if (okNotGiveDataNum === 0 || okNotGiveDataNum === okIsTagDataNum) {
  313. showTip("没有可分配的数据!")
  314. return
  315. }
  316. $('#modal-num').html(okNotGiveDataNum)
  317. }else {
  318. if (IsNotOkNotGiveDataNum === 0 || (IsNoOkAllDataNum === IsNotOkIsTagDataNum)) {
  319. showTip("没有可分配的数据!")
  320. return
  321. }
  322. $('#modal-num').html(IsNotOkNotGiveDataNum)
  323. }
  324. $('#modal-create-task').modal('show')
  325. if ($('#group-select option').length === 0) {
  326. for (var i in groupList) {
  327. var opt = document.createElement('option');
  328. opt.innerText = groupList[i]["s_name"];
  329. opt.value = groupList[i]["_id"];
  330. $('#group-select')[0].appendChild(opt)
  331. }
  332. }
  333. $("#group-select").selectpicker("refresh");
  334. }
  335. function cancelModel() {
  336. $('#TaskDiv .group-item.clone-template').remove()
  337. $("#modal-create-task").modal('hide')
  338. document.getElementById("modal-form-task").reset();
  339. }
  340. function addTaskSelect() {
  341. let tNode = $('#itemDiv').clone().addClass('group-item').addClass('clone-template').show()
  342. let st = $(tNode).find('select')
  343. $(st).addClass('selectpicker')
  344. for (var i in groupList) {
  345. var opt = document.createElement('option');
  346. opt.innerText = groupList[i]["s_name"];
  347. opt.value = groupList[i]["_id"];
  348. $(st)[0].appendChild(opt)
  349. }
  350. $(st).selectpicker("refresh");
  351. $('#TaskDiv').append($(tNode))
  352. }
  353. function saveTask() {
  354. let arr = []
  355. let valNum = 0
  356. let num = parseInt($('#modal-num').html())
  357. $('.group-item').each(function () {
  358. var selectId = $(this).find("select option:checked").val()
  359. var inputVal = $(this).find("input").val()
  360. valNum += parseInt(inputVal)
  361. if (inputVal === "" || valNum > num || inputVal === "0") {
  362. showTip("分发数量有问题")
  363. return
  364. }
  365. let tmp = {}
  366. for (let v in groupList) {
  367. if (groupList[v]["_id"] === selectId) {
  368. tmp["s_groupid"] = selectId
  369. tmp["s_groupname"] = groupList[v]["s_name"]
  370. tmp["s_personname"] = groupList[v]["s_personname"]
  371. tmp["i_givenum"] = inputVal
  372. break
  373. }
  374. }
  375. arr.push(tmp)
  376. })
  377. if (arr.length > 0) {
  378. console.log(arr)
  379. $.ajax({
  380. url: "/front/project/task/save",
  381. type: 'POST',
  382. data: {"s_projectid": projectid, "s_group": JSON.stringify(arr), "s_type": stype},
  383. success: function (r) {
  384. if (r.success) {
  385. location.reload()
  386. } else {
  387. showTip(r.msg, 3000);
  388. }
  389. }
  390. })
  391. }
  392. }
  393. // 收回
  394. function retrieveTask(id, sourceinfo, status, givenum) {
  395. if (status === "未开始" || status === "进行中") {
  396. showConfirm("确认要收回当前任务吗?", function () {
  397. $.ajax({
  398. url: "/front/project/task/retrieve",
  399. type: 'POST',
  400. data: { "s_sourceinfo": sourceinfo, "taskid": id, "i_givenum" :givenum},
  401. success: function (r) {
  402. if (r.success) {
  403. let msg = r.msg+"<br>"+"共收回"+r.count+"数据。"
  404. showTip(msg, 1500);
  405. location.reload()
  406. } else {
  407. showTip(r.msg);
  408. }
  409. }
  410. })
  411. })
  412. }else {
  413. showTip("操作不允许")
  414. }
  415. }
  416. // 打回
  417. function repulseTask(id, sourceinfo, status) {
  418. if (status === "已完成") {
  419. showConfirm("确认要打回当前任务吗?", function () {
  420. $.ajax({
  421. url: "/front/project/task/repulse",
  422. type: 'POST',
  423. data: {"s_sourceinfo": sourceinfo, "taskid": id},
  424. success: function (r) {
  425. if (r.success) {
  426. location.reload()
  427. } else {
  428. showTip(r.msg);
  429. }
  430. }
  431. })
  432. })
  433. }else {
  434. showTip("操作不允许")
  435. }
  436. }
  437. function closeTask(id, sourceinfo,status) {
  438. if (status === "未开始") {
  439. showConfirm("确认要关闭当前任务吗?", function () {
  440. $.ajax({
  441. url: "/front/project/task/close",
  442. type: 'POST',
  443. data: {"s_sourceinfo": sourceinfo, "taskid": id},
  444. success: function (r) {
  445. if (r.success) {
  446. let msg = r.msg+"<br>"+"收回数据"+r.count+"条"
  447. showTip(msg, 1500);
  448. location.reload()
  449. } else {
  450. showTip(r.msg);
  451. }
  452. }
  453. })
  454. })
  455. }else {
  456. showTip("操作不允许")
  457. }
  458. }
  459. function checkMethod(stype) {
  460. // if (stype === "all") {
  461. // if (num2 <= 0) {
  462. // showTip("没有可质检的数据")
  463. // return;
  464. // }
  465. // }else if (stype === "notag") {
  466. // if (num2 <= 0) {
  467. // showTip("没有可质检的数据")
  468. // return;
  469. // }
  470. // }else if (stype === "tag") {
  471. // if (num3 <= 0) {
  472. // showTip("没有可质检的数据")
  473. // return;
  474. // }
  475. // }
  476. if (stype === "all") {
  477. let num0 = {{ .T.allIsTagDataNum }} // 已标注
  478. if (num0 > 0) {
  479. sessionStorage.setItem("check", "project")
  480. window.location.href = "/front/jy/check/data?pid="+projectid+"&s_sourceinfo={{.T.s_sourceinfo}}"+"&stype="+stype
  481. }else {
  482. showTip("没有质检数据")
  483. }
  484. }else if (stype === "notag") {
  485. let num0 = {{ .T.okAllDataNum }}
  486. let num1 = {{ .T.okIsGiveDataNum }} // 达标 已分发
  487. let num2 = {{ .T.okNotGiveDataNum }} // 达标 待分发
  488. let num3 = {{ .T.okIsTagDataNum }} // 达标 已标注
  489. if (num0 > 0) {
  490. if (num1 > 0) {
  491. if (num3 > 0) {
  492. sessionStorage.setItem("check", "project")
  493. window.location.href = "/front/jy/check/data?pid="+projectid+"&s_sourceinfo={{.T.s_sourceinfo}}"+"&stype="+stype+"&datatype=2"
  494. }else {
  495. showTip("没有质检数据")
  496. }
  497. }else {
  498. if (num2 > 0) {
  499. showLoading("数据处理中...")
  500. $.ajax({
  501. url: "/front/check/excp/notag/data",
  502. type: 'POST',
  503. data: {"s_sourceinfo": sourceinfo},
  504. success: function (r) {
  505. hideLoading()
  506. if (r.success) {
  507. sessionStorage.setItem("check", "project")
  508. window.location.href = "/front/jy/check/data?pid="+projectid+"&s_sourceinfo={{.T.s_sourceinfo}}"+"&stype="+stype+"&datatype=1"
  509. } else {
  510. showTip(r.msg);
  511. }
  512. }
  513. })
  514. }else {
  515. showTip("没有质检数据")
  516. }
  517. }
  518. }else {
  519. showTip("没有质检数据")
  520. }
  521. }else {
  522. let num0 = {{ .T.IsNotOkIsTagDataNum }}
  523. if (num0 > 0) {
  524. sessionStorage.setItem("check", "project")
  525. window.location.href = "/front/jy/check/data?pid="+projectid+"&s_sourceinfo={{.T.s_sourceinfo}}"+"&stype="+stype
  526. }else {
  527. showTip("没有质检数据")
  528. }
  529. }
  530. }
  531. function checkSuc() {
  532. let num1 = {{ .T.okIsGiveDataNum }} // 达标 已分发
  533. let num2 = {{ .T.okNotGiveDataNum }} // 达标 待分发
  534. let num3 = {{ .T.okIsTagDataNum }} // 达标 已标注
  535. if (num2 > 0 && num1 === 0 && num3 > 0) {
  536. showConfirm("确认达标数据通过质检?确认后,达标数据将无法进行标注、分发,默认完成标注。", function () {
  537. $.ajax({
  538. url: "/front/project/check/success",
  539. type: 'POST',
  540. data: {"s_sourceinfo": sourceinfo},
  541. success: function (r) {
  542. if (r.success) {
  543. location.reload()
  544. } else {
  545. showTip(r.msg);
  546. }
  547. }
  548. })
  549. })
  550. }else {
  551. showTip("操作不允许", 500)
  552. }
  553. }
  554. function checkAllSuc() {
  555. let num0 = {{ .T.allGiveDataNum }} // 已分发
  556. if (num0 === 0) {
  557. showConfirm("确认要通过数据吗?确认后,项目下未标注数据将无法进行标注、分发,默认完成标注。", function () {
  558. $.ajax({
  559. url: "/front/project/pass/success",
  560. type: 'POST',
  561. data: {"s_sourceinfo": sourceinfo},
  562. success: function (r) {
  563. if (r.success) {
  564. location.reload()
  565. } else {
  566. showTip(r.msg);
  567. }
  568. }
  569. })
  570. })
  571. }else {
  572. showTip("操作不允许", 500)
  573. }
  574. }
  575. function checkMethod1(pid, tid, sourceinfo) {
  576. sessionStorage.setItem("check", "project")
  577. window.location.href = "/front/jy/check/data?pid="+pid+"&tid="+tid+"&s_sourceinfo="+sourceinfo+"&stype=group"
  578. }
  579. </script>