creatCheckTask.js 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681
  1. const $ = require('jquery');
  2. require("../css/creatCheckTask.less");
  3. require('./modal.js');
  4. const { api, ywCheckApi } = require('./api.js')
  5. const { post, getCookie, emptyBox, listenScroll, getScoreTabList } = require('./utils.js')
  6. require('./../resource/jquery-ui/jquery-ui.min.js');
  7. require('./../resource/jquery-ui/jquery-ui.min.css');
  8. const iconCheck = require("./../images/icon_check.png")
  9. const iconUnCheck = require("./../images/icon_unchecked.png")
  10. const iconDisCheck = require("./../images/icon_dis.png")
  11. const iconCalenBlue = require("./../images/icon_calen_blue.png")
  12. const iconCalenGrey = require("./../images/icon_calen_grey.png")
  13. const iconDown = require("./../images/arrow_down.png")
  14. const iconUp = require("./../images/arrow_up.png")
  15. const loadingImg = require("./../images/loading.gif")
  16. const arrowLeft = require("./../images/arrow_left.png")
  17. const arrowRight = require("./../images/arrow_right.png")
  18. listenScroll()
  19. let tabList = [], global_level = "", global_status = "0",
  20. global_deptId = [], global_deptName = "", global_score = '',
  21. data_desc = ["leaveHospitalDate"], data_asc = [], global_taskList = [], global_delOrAdd = 1;//1生成0取消
  22. let global_activeTabCode = '0'; //激活的tab code
  23. let isPlacefile = getCookie('isPlacefile') || 1
  24. $(function () {
  25. $(window.parent.document).find(".modaltip").hide();//切换页面过快时toast隐藏
  26. const checkAuth = getCookie('checkAuth');
  27. /*if(!checkAuth){
  28. $(".tabs").hide();
  29. toast("没有质控核查权限!");
  30. return
  31. }*/
  32. const tabs = checkAuth.replace(/[^456]/g, '');
  33. if (tabs.length === 0) {
  34. //$(".tabs").hide();
  35. toast("没有质控核查权限!");
  36. return;
  37. } else if (tabs.length > 1) {
  38. //多于一个权限,显示tab切换
  39. $(".tabs").show();
  40. const last = "456".replace(tabs, '');
  41. $(".tabs [data-code=" + (last - 4) + "]").parent().hide();
  42. }
  43. global_activeTabCode = tabs.substr(0, 1) - 4;
  44. //获取科室列表
  45. if (global_activeTabCode == "0") {
  46. getSubDeptList();
  47. } else {
  48. getDeptList();
  49. }
  50. $(".tabs [data-code=" + global_activeTabCode + "]").addClass("active");
  51. $('.datapickerBox').append(`<img class="iconCalen" src=${iconCalenGrey} />`)
  52. $('.iconCalen').on("mouseenter", function (e) {
  53. $(this).attr("src", iconCalenBlue)
  54. })
  55. $('.iconCalen').on("mouseleave", function (e) {
  56. $(this).attr("src", iconCalenGrey)
  57. })
  58. $('.iconCalen').on("click", function (e) {
  59. $(this).parent().find("input").focus()
  60. })
  61. $(".menu .page", parent.document).removeClass("active")
  62. $(parent.document).find(".menu .page[code=YH-ZKHC-SCHCRW]").addClass("active")
  63. $(".filter").on("click", function (e) {
  64. global_taskList = [];
  65. const isCreated = (global_status == "1");
  66. const text = isCreated ? '取消' : '生成';
  67. $(".modal-body p").text("确定要" + text + "这些任务吗?");
  68. $("th[code]").removeClass("asc desc");
  69. if (isCreated) {
  70. $(".creatTask").addClass("disabled");
  71. $(".cancelTask").removeClass("disabled");
  72. } else {
  73. $(".creatTask").removeClass("disabled");
  74. $(".cancelTask").addClass("disabled");
  75. }
  76. //已生成筛选时按生成日期倒序筛选
  77. if (isCreated) {
  78. global_delOrAdd = 0;
  79. data_desc = ["jobCreateTime"];
  80. $("th[code=jobCreateTime]").addClass("desc");
  81. $("th[code=leaveHospitalDate]").removeClass("desc");
  82. } else {
  83. global_delOrAdd = 1;
  84. data_desc = ["leaveHospitalDate"];
  85. $("th[code=leaveHospitalDate]").addClass("desc");
  86. $("th[code=jobCreateTime]").removeClass("desc");
  87. }
  88. getTabData(1)
  89. })
  90. $(".abnormalClear").on("click", function (e) {
  91. clearFilter();
  92. getTabData(1)
  93. })
  94. //切换tab
  95. $(".tabBox .tabs button").on("click", (e) => {
  96. const me = e.target;
  97. $('.selectDept i').text('全部')
  98. $(".deptItem.active").removeClass("active");
  99. $(".deptList").css("display", "none")
  100. global_deptId = [];
  101. global_deptName = "";
  102. global_activeTabCode = $(me).attr("data-code");
  103. if (global_activeTabCode == "0") {
  104. getSubDeptList();
  105. } else {
  106. getDeptList();
  107. }
  108. $(".tabBox .tabs button").removeClass("active");
  109. $(me).addClass("active");
  110. //更新列表并重置筛选条件
  111. $(".filter").click();
  112. });
  113. //选择生成状态
  114. $('.selectStatus').on("click", function (e) {
  115. e.stopPropagation()
  116. const showList = $(".statusList ").css("display")
  117. if (showList == "none" || !showList) {
  118. $(".levelList ").css("display", "none")
  119. $(".deptList ").css("display", "none")
  120. $(".scoreList ").css("display", "none")
  121. $(".statusList ").css("display", "block")
  122. } else {
  123. $(".statusList ").css("display", "none")
  124. }
  125. })
  126. //选择病历等级
  127. $('.selectLevel').on("click", function (e) {
  128. e.stopPropagation()
  129. $(".deptList ").css("display", "none")
  130. const showList = $(".levelList ").css("display")
  131. if (showList == "none" || !showList) {
  132. $(".deptList ").css("display", "none")
  133. $(".statusList ").css("display", "none")
  134. $(".scoreList ").css("display", "none")
  135. $(".levelList ").css("display", "block")
  136. } else {
  137. $(".levelList ").css("display", "none")
  138. }
  139. })
  140. //科室选择
  141. $('.selectDept').on("click", function (e) {
  142. e.stopPropagation();
  143. $(".levelList ").css("display", "none")
  144. $(".statusList ").css("display", "none")
  145. $(".scoreList ").css("display", "none")
  146. $(".deptList ").css("display", "block")
  147. })
  148. //筛选分值选择
  149. $('.selectScore').on("click", function (e) {
  150. e.stopPropagation();
  151. $(".levelList ").css("display", "none")
  152. $(".deptList ").css("display", "none")
  153. $(".statusList ").css("display", "none")
  154. $(".scoreList ").css("display", "block")
  155. })
  156. $(".creatTask,.cancelTask").click(function () {
  157. if ($(this).is(".disabled")) {
  158. return;
  159. }
  160. if (!global_taskList.join("").length) {
  161. toast("至少勾选一个任务");
  162. return;
  163. }
  164. $(".modal-container").show();
  165. });
  166. $(".modal-container .confirm").click(function () {
  167. creatTask(global_delOrAdd)
  168. });
  169. $(".modal-container .cancel,.modal-container .close").click(function () {
  170. /*if(global_delOrAdd==0){
  171. global_taskList=[];
  172. }*/
  173. $(".modal-container").hide();
  174. })
  175. //出院日期初始化
  176. $.datepicker.regional['zh-CN'] = {
  177. clearText: '清除',
  178. clearStatus: '清除已选日期',
  179. closeText: '关闭',
  180. closeStatus: '不改变当前选择',
  181. prevText: '<上月',
  182. prevStatus: '显示上月',
  183. prevBigText: '<<',
  184. prevBigStatus: '显示上一年',
  185. nextText: '下月>',
  186. nextStatus: '显示下月',
  187. nextBigText: '>>',
  188. nextBigStatus: '显示下一年',
  189. currentText: '今天',
  190. currentStatus: '显示本月',
  191. monthNames: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],
  192. monthNamesShort: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],
  193. yearNamesShort: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],
  194. monthStatus: '选择月份',
  195. yearStatus: '选择年份',
  196. weekHeader: '周',
  197. weekStatus: '年内周次',
  198. dayNames: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'],
  199. dayNamesShort: ['周日', '周一', '周二', '周三', '周四', '周五', '周六'],
  200. dayNamesMin: ['日', '一', '二', '三', '四', '五', '六'],
  201. dayStatus: '设置 DD 为一周起始',
  202. dateStatus: '选择 m月 d日, DD',
  203. dateFormat: 'yy-mm-dd',
  204. firstDay: 1,
  205. initStatus: '请选择日期',
  206. isRTL: false
  207. };
  208. const days = new Date().getDate() - 1;
  209. let startDate = "-" + days + "d", endDate = new Date();
  210. $.datepicker.setDefaults($.datepicker.regional['zh-CN']);
  211. $("#datepicker").datepicker({
  212. changeMonth: true,
  213. changeYear: true,
  214. dateFormat: "yy-mm-dd",
  215. }).datepicker("setDate", startDate);
  216. $("#datepicker2").datepicker({
  217. changeMonth: true,
  218. changeYear: true,
  219. dateFormat: "yy-mm-dd"
  220. }).datepicker("setDate", endDate);
  221. getScoreTabList((data) => { rendeScoreList(data) })
  222. //获取列表数据
  223. getTabData(1)
  224. //状态选择
  225. bindStatusSelect()
  226. //等级选择
  227. bindLeveldSelect()
  228. //关闭下拉
  229. $(document).on("click", function () {
  230. $(".levelList ").css("display", "none")
  231. $(".deptList ").css("display", "none")
  232. $(".statusList ").css("display", "none")
  233. $(".scoreList ").css("display", "none")
  234. })
  235. });
  236. //判断有无某一权限
  237. function hasData(data) {
  238. let trdObj = JSON.parse(getLocal("trdObj"))
  239. let lis = trdObj['YH-ZKHC-SCRW']
  240. if (!lis) {
  241. return false
  242. }
  243. if (lis.indexOf(data) > -1) {//有权限
  244. return true
  245. }
  246. return false;
  247. }
  248. function rendeScoreList(list) {
  249. if (list.length == 0) {
  250. $('.scoreList').html("")
  251. return
  252. }
  253. let str = `<li class="scoreItem ellipsis" data-id=" " data-name="全部">全部</li>`;
  254. for (let i = 0; i < list.length; i++) {
  255. str += `<li class="scoreItem ellipsis" data-id=${list[i]} data-name=${list[i]}> ${list[i]}</li>`
  256. }
  257. $('.scoreList').html(str)
  258. bindScoreSelect()
  259. }
  260. function bindScoreSelect() {
  261. $('.scoreItem').on("click", function () {
  262. const scoreItemName = $(this).attr("data-name")
  263. const scoreItemItemId = $(this).attr("data-id")
  264. global_score = scoreItemItemId;
  265. $('.selectScore i').html(scoreItemName)
  266. $(".scoreList").css("display", "none")
  267. })
  268. }
  269. //排序事件
  270. function bindOrder() {
  271. $("th[code]").off("click").on("click", function (e) {
  272. const code = $(this).attr("code");
  273. if (data_asc[0] === 'age') {
  274. } else {
  275. }
  276. if ((data_asc[0] === code && code !== 'age') || (data_desc[0] === 'birthday' && code == 'age')) {
  277. if (code == 'age') {
  278. $("th[code]").removeClass("asc desc");
  279. $(this).addClass("desc");
  280. data_desc = [];
  281. data_asc = ['birthday'];
  282. } else {
  283. $("th[code]").removeClass("asc desc");
  284. $(this).addClass("desc");
  285. data_desc = [code];
  286. data_asc = [];
  287. }
  288. } else {
  289. if (code == 'age') {
  290. $("th[code]").removeClass("asc desc");
  291. $(this).addClass("asc");
  292. data_desc = ['birthday'];
  293. data_asc = [];
  294. } else {
  295. $("th[code]").removeClass("asc desc");
  296. $(this).addClass("asc");
  297. data_desc = [];
  298. data_asc = [code];
  299. }
  300. }
  301. getTabData(1);
  302. });
  303. }
  304. function bindCancelTaskEvent() {
  305. $(".taskCancel").unbind("click").click(function () {
  306. global_delOrAdd = 0;
  307. global_taskList = [$(this).attr("code")];
  308. $(".modal-container .modal-body p").text("确定要取消该任务吗?");
  309. $(".modal-container").show();
  310. });
  311. }
  312. //生成任务
  313. function creatTask() {
  314. const param = {
  315. behospitalCodeList: global_taskList,
  316. jobType: global_activeTabCode,
  317. checkStatus: global_delOrAdd,
  318. };
  319. post(ywCheckApi.addCheck, param).then(res => {
  320. if (res.data.code == '0') {
  321. global_taskList = [];
  322. $(".modal-container").hide();
  323. toast("操作成功!");
  324. getTabData(1)
  325. } else {
  326. toast(res.data.msg);
  327. }
  328. }).catch((e) => {
  329. })
  330. }
  331. function getTabData(activePage) {
  332. const filterData = getFilterData();
  333. const { smallDay, bigDay, startDate, endDate } = filterData;
  334. if (+smallDay > +bigDay) {
  335. toast("住院天数区间有误~");
  336. return;
  337. }
  338. if (new Date(startDate).getTime() > new Date(endDate).getTime()) {
  339. toast("出院日期开始时间不能大于结束时间~");
  340. return;
  341. }
  342. const param = {
  343. jobType: global_activeTabCode, //科室/质控科/院级
  344. creatStatus: global_status,
  345. current: activePage,
  346. hospitalId: '',
  347. level: global_level,//病历等级
  348. values: global_score.trim() ? [global_score] : [],
  349. department: global_deptId,
  350. asc: data_asc, //升序
  351. desc: data_desc, //降序
  352. size: 15,
  353. ...filterData,
  354. startDate: filterData.startDate + " 00:00:00",
  355. endDate: filterData.endDate + " 23:59:59",
  356. }
  357. $('.pagination').html("")
  358. $('.tbody').html(emptyBox('努力加载中...', '', 17))
  359. return post(ywCheckApi.getTaskList, param).then(res => {
  360. if (res.data.code == '0') {
  361. const data = res.data.data;
  362. tabList = data.records;
  363. const totalPage = data.pages;
  364. const totalNum = data.total;
  365. renderTab(tabList, data.hospitalId);
  366. renderPagination(totalPage, Number(activePage), totalNum)
  367. if (totalPage > 0) {
  368. renderPagination(totalPage, Number(activePage), totalNum)
  369. } else {
  370. $('.pagination').html("")
  371. }
  372. } else {
  373. const token = localStorage.getItem('accessToken');
  374. if (!token && window.location.href.indexOf('login') == -1) {
  375. //alert('无token判断,跳回登录')
  376. } else {
  377. toast(res.data.msg);
  378. }
  379. }
  380. }).catch((e) => {
  381. })
  382. }
  383. function toast(msg) {
  384. $.alerModal({ "message": msg, type: "tip", time: '1000', isFather: true, fatherWrapper: $("#mainBox", parent.document) });
  385. }
  386. function renderTab(data) {
  387. let str = ``, code = "";
  388. let hasSelectAll = true;
  389. if (data.length === 0) {
  390. $('.tbody').html(emptyBox(null, 17))
  391. // initScroll("qcList","YX",1)
  392. return;
  393. }
  394. const titles = $(".tabTitle th[code]");
  395. for (let i = 0; i < data.length; i++) {
  396. const item = data[i]
  397. str += `
  398. <tr data-index=${i}>
  399. <td class="operaItem taskCheck textCenter"><img code="${item.behospitalCode}" src="${iconUnCheck}" alt=""></td>`;
  400. for (let i = 0; i < titles.length; i++) {
  401. code = $(titles[i]).attr('code');
  402. str += `<td class="textCenter"><span data-index=${i}>${item[code] || "-"}<span></td>`
  403. }
  404. str += `<td class="operaItem textCenter ${(item.creatStatus == '已生成' && item.delFlag) ? 'taskCancel' : 'disable'}" code="${item.behospitalCode}">取消</td></tr>`
  405. }
  406. if (data.length === 0) {
  407. hasSelectAll = false
  408. }
  409. if (hasSelectAll) {
  410. $('.scoreOpera img').attr("src", iconCheck)
  411. $('.scoreOpera').attr("data-selectall", true)
  412. } else {
  413. $('.scoreOpera img').attr("src", iconUnCheck)
  414. $('.scoreOpera').attr("data-selectall", false)
  415. }
  416. $('.tbody').html(str)
  417. $(".allCheck img").attr("src", iconUnCheck); //全选改为可用状态
  418. bindOrder();
  419. bindTaskCheckEvent();
  420. bindCancelTaskEvent();
  421. }
  422. function bindTaskCheckEvent() {
  423. $(".taskCheck img").unbind("click").click(function () {
  424. const code = $(this).attr("code");
  425. if ($(this).is(".active")) {
  426. let str = global_taskList.join(",") + ",";
  427. str = str.replace(code + ",", "").replace(/^,|,$/, '');
  428. global_taskList = str.split(",");
  429. $(".allCheck img").attr('src', iconUnCheck).removeClass("active");
  430. $(this).attr('src', iconUnCheck).removeClass("active");
  431. } else {
  432. global_taskList.push(code);
  433. $(this).attr('src', iconCheck).addClass("active");
  434. }
  435. });
  436. //全选
  437. $(".allCheck img").unbind("click").click(function () {
  438. const checks = $(".taskCheck img");
  439. if ($(this).is(".active")) {
  440. $(this).attr("src", iconUnCheck).removeClass("active");
  441. checks.attr("src", iconUnCheck).removeClass("active");
  442. global_taskList = [];
  443. } else {
  444. $(this).attr("src", iconCheck).addClass("active");
  445. checks.attr("src", iconCheck).addClass("active");
  446. let codes = [];
  447. checks.map((i) => {
  448. codes.push($(checks[i]).attr("code"));
  449. });
  450. global_taskList = codes;
  451. }
  452. console.log(global_taskList)
  453. });
  454. }
  455. //列表获取筛选值
  456. function getFilterData() {
  457. const obj = {};
  458. $(".filterBox input[code]").map((i, it) => {
  459. obj[$(it).attr("code")] = $(it).val()
  460. })
  461. return obj;
  462. }
  463. //生成状态选择
  464. function bindStatusSelect() {
  465. $('.statusItem').on("click", function () {
  466. const statusItemName = $(this).attr("data-name")
  467. global_status = $(this).attr("data-id")
  468. $('.selectStatus i').html(statusItemName)
  469. $(".statusList").css("display", "none")
  470. $('.selectStatus').removeClass('unSelect')
  471. })
  472. }
  473. //病历等级选择
  474. function bindLeveldSelect() {
  475. $('.levelItem').on("click", function () {
  476. const levelItemName = $(this).attr("data-name")
  477. const levelItemItemId = $(this).attr("data-id")
  478. global_level = levelItemItemId
  479. $('.selectLevel i').html(levelItemName)
  480. $(".levelList").css("display", "none")
  481. //$(".selectLevel").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  482. })
  483. }
  484. //获取科室任务对应的列表
  485. function getSubDeptList() {
  486. post(api.getDept, {}).then(res => {
  487. if (res.data.code == '0') {
  488. const deptList = res.data.data || []
  489. rendeDeptList(deptList)
  490. } else { rendeDeptList([]) }
  491. }).catch((e) => {
  492. })
  493. }
  494. //科室列表
  495. function getDeptList() {
  496. post(api.getDeptList, {}).then(res => {
  497. if (res.data.code == '0') {
  498. const deptList = res.data.data || []
  499. rendeDeptList(deptList)
  500. } else { rendeDeptList([]) }
  501. }).catch((e) => {
  502. })
  503. }
  504. function rendeDeptList(deptList) {
  505. if (deptList.length == 0) {
  506. $('.deptList').html("")
  507. return
  508. }
  509. let str = `<li class="deptItem ellipsis" data-id=" " data-name="全部">全部</li>`;
  510. for (let i = 0; i < deptList.length; i++) {
  511. str += `<li class="deptItem ellipsis" title=${deptList[i].deptName} data-id=${deptList[i].deptId} data-name=${deptList[i].deptName}> ${deptList[i].deptName}</li>`
  512. }
  513. $('.deptList').html(str)
  514. bindDeptSelect()
  515. }
  516. //科室选择
  517. function bindDeptSelect() {
  518. $('.deptItem').on("click", function (e) {
  519. e.stopPropagation();
  520. const deptItemName = $(this).attr("data-name");
  521. let str = global_deptId.join(",") + ",";
  522. const code = $(this).attr("data-id")
  523. if (!code.trim()) {
  524. $(".deptItem").removeClass("active");
  525. global_deptId = [];
  526. global_deptName = "";
  527. $('.selectDept i').text('全部')
  528. $('.selectDept').attr('title', '全部')
  529. return;
  530. }
  531. if ($(this).is(".active")) {
  532. global_deptName = global_deptName.replace(deptItemName + ",", '');
  533. str = str.replace(code + ",", "").replace(/^,|,$/, '');
  534. global_deptId = str.split(",");
  535. } else {
  536. global_deptName = global_deptName + deptItemName + ",";
  537. global_deptId.push(code);
  538. }
  539. $(this).toggleClass("active");
  540. const name = global_deptName.replace(/,$/, '');
  541. $('.selectDept i').text(name)
  542. $('.selectDept').attr('title', name)
  543. })
  544. }
  545. function loading() {
  546. const str = `
  547. <div class="loadingBox">
  548. <div class="mask"></div>
  549. <img class="loadingImg" src=${loadingImg} alt="loading" />
  550. </div>
  551. `
  552. $("#mainBox", parent.document).append(str)
  553. }
  554. function hideLoading() {
  555. $("#mainBox .loadingBox", parent.document).remove()
  556. }
  557. function clearFilter() {
  558. const days = new Date().getDate() - 1;
  559. let startDate = "-" + days + "d", endDate = new Date();
  560. $(".creatTask").removeClass("disabled");
  561. $(".cancelTask").addClass("disabled");
  562. $(".filterBox input").val("");
  563. data_desc = ["leaveHospitalDate"];
  564. //默认日期为本月
  565. $("#datepicker").datepicker({
  566. changeMonth: true,
  567. changeYear: true,
  568. dateFormat: "yy-mm-dd",
  569. }).datepicker("setDate", startDate);
  570. $("#datepicker2").datepicker({
  571. changeMonth: true,
  572. changeYear: true,
  573. dateFormat: "yy-mm-dd"
  574. }).datepicker("setDate", endDate);
  575. $('.selectDept i').text('全部')
  576. $(".deptItem.active").removeClass("active");
  577. $(".deptList").css("display", "none")
  578. global_deptId = [];
  579. global_deptName = "";
  580. $('.selectLevel i').html('全部')
  581. $(".levelList").css("display", "none")
  582. global_level = "";
  583. $('.selectStatus i').html('未生成')
  584. $(".statusList").css("display", "none")
  585. $('.selectScore i').html('全部')
  586. $(".scoreList").css("display", "none")
  587. global_score = '';
  588. global_status = '0'
  589. $("th[code]").removeClass("asc desc")
  590. }
  591. //分页渲染
  592. function renderPagination(totalPage, activePage, totalNum) {
  593. let str = `<span class="totalSum">共${totalPage}页/${totalNum}条数据</span><span class="prePage"><img class="arrowPage" src=${arrowLeft} /></span>`
  594. if (totalPage <= 6) {
  595. for (let i = 1; i <= totalPage; i++) {
  596. str += `<span class="pageNum ${'page' + i}" data-page=${i}>${i}</span>`
  597. }
  598. } else {
  599. if (activePage <= 3) { //选中页数小于4
  600. for (let i = 1; i <= 4; i++) {
  601. str += `<span class="pageNum ${'page' + i}" data-page=${i}>${i}</span>`
  602. }
  603. str += `<span class="more" >...</span>`
  604. str += `<span class="pageNum ${'page' + totalPage}" data-page=${totalPage}>${totalPage}</span>`
  605. } else if (activePage > totalPage - 3) {
  606. str += `<span class="pageNum page1" data-page=1>1</span>`
  607. str += `<span class="more" >...</span>`
  608. str += `<span class="pageNum ${'page' + (totalPage - 3)}" data-page=${totalPage - 3}>${totalPage - 3}</span>`
  609. str += `<span class="pageNum ${'page' + (totalPage - 2)}" data-page=${totalPage - 2}>${totalPage - 2}</span>`
  610. str += `<span class="pageNum ${'page' + (totalPage - 1)}" data-page=${totalPage - 1}>${totalPage - 1}</span>`
  611. str += `<span class="pageNum ${'page' + totalPage}" data-page=${totalPage}>${totalPage}</span>`
  612. } else {
  613. str += `<span class="pageNum page1" data-page=1>1</span>`
  614. str += `<span class="more" >...</span>`
  615. str += `<span class="pageNum ${'page' + (activePage - 1)}" data-page=${activePage - 1}>${activePage - 1}</span>`
  616. str += `<span class="pageNum ${'page' + activePage}" data-page=${activePage}>${activePage}</span>`
  617. str += `<span class="pageNum ${'page' + (activePage + 1)}" data-page=${activePage + 1}>${activePage + 1}</span>`
  618. str += `<span class="more" >...</span>`
  619. str += `<span class="pageNum ${'page' + totalPage}" data-page=${totalPage}>${totalPage}</span>`
  620. }
  621. }
  622. str += `<span class="nextPage"><img class="arrowPage" src=${arrowRight} /></span>`
  623. $('.pagination').html(str)
  624. $('.page' + activePage).addClass('activePage')
  625. $(".pageNum").on("click", function (e) {
  626. const activePageNow = Number($(this).attr('data-page'))
  627. getTabData(activePageNow)
  628. // renderPagination(totalPage,activePageNow,totalNum)
  629. })
  630. $(".prePage").on("click", function (e) {
  631. let activePageNow = Number($(".activePage").attr('data-page'))
  632. if (activePageNow > 1) {
  633. activePageNow--
  634. getTabData(activePageNow)
  635. // renderPagination(totalPage,activePageNow,totalNum)
  636. }
  637. })
  638. $(".nextPage").on("click", function (e) {
  639. let activePageNow = Number($(".activePage").attr('data-page'))
  640. if (activePageNow < totalPage) {
  641. activePageNow++
  642. getTabData(activePageNow)
  643. // renderPagination(totalPage,activePageNow,totalNum)
  644. }
  645. })
  646. }