creatCheckTask.js 23 KB

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