mukuai.js 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629
  1. const $ = require('jquery');
  2. require("../css/mukuai.less");
  3. require('./../resource/jquery-ui/jquery-ui.min.js');
  4. require('./modal.js');
  5. const {api} = require('./api.js')
  6. const {post,getCookie,setCookie,getUrlArgObjectNew,emptyBox,setDatePicker,getPickerDate,expJson,listenScroll,downloadExportedData} = require('./utils.js')
  7. const switchIconOpen = require("./../images/btn_open.png")
  8. const switchIconClose = require("./../images/btn_close.png")
  9. const iconDown= require("./../images/arrow_down.png")
  10. const iconUp = require("./../images/arrow_up.png")
  11. const arrowLeft= require("./../images/arrow_left.png")
  12. const arrowRight = require("./../images/arrow_right.png")
  13. listenScroll('.mukuai')
  14. let casesId="", name="", isReject ="", isUsed ="",casesIdTemp="", nameTemp="", isRejectTemp ="",data_asc=[], data_desc=['percent'], isUsedTemp ="",from="",deptIdTemp="",deptItemId="",deptId=""
  15. $(".selectModuleType").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  16. $(".selectReject").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  17. $(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  18. $(".selectUsed").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  19. let isPlacefile = getCookie('isPlacefile')||1
  20. setCookie('excelName', "各模块缺陷占比");
  21. let deptList = JSON.parse(localStorage.getItem('deptList')) || []
  22. $(function(){
  23. dateChange()
  24. let srcUrl = $("#contentIframe",parent.document).attr("src")
  25. isReject = getUrlArgObjectNew("dateType",srcUrl)||""
  26. deptId = deptIdTemp = getUrlArgObjectNew("deptName",srcUrl)||""
  27. from = getUrlArgObjectNew("from",srcUrl)||""
  28. name =nameTemp = getUrlArgObjectNew("name",srcUrl)||""
  29. let startDateParam = getUrlArgObjectNew("startDateParam",srcUrl)||""
  30. let endDateParam = getUrlArgObjectNew("endDateParam",srcUrl)||""
  31. if(name){
  32. $(".moduleItemInp").val(name)
  33. }
  34. if(isReject == 1){
  35. $(".monthYear .mon").css({
  36. backgroundColor:'#00A1FF',
  37. color:'#fff'
  38. }).siblings().css({
  39. color:'#00A1FF',
  40. backgroundColor:'#fff'
  41. })
  42. setDatePicker($("#datepicker"),$("#datepicker2"),1)
  43. }else if(isReject == 2){
  44. $(".monthYear .year").css({
  45. backgroundColor:'#00A1FF',
  46. color:'#fff'
  47. }).siblings().css({
  48. color:'#00A1FF',
  49. backgroundColor:'#fff'
  50. })
  51. setDatePicker($("#datepicker"),$("#datepicker2"),2)
  52. }else if(isReject == 3){
  53. setDatePicker($("#datepicker"),$("#datepicker2"),3,new Date(startDateParam),new Date(endDateParam))
  54. }else{
  55. setDatePicker($("#datepicker"),$("#datepicker2"),"default")
  56. }
  57. if(!isReject){
  58. setDatePicker($("#datepicker"),$("#datepicker2"),"default")
  59. }
  60. if(deptId){
  61. $(".selectDept").html(deptId).attr({
  62. "data-id":deptId,
  63. "title":deptId
  64. }).append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  65. getDeptList()
  66. }else{
  67. getDeptList(1)
  68. }
  69. $(".partTitle a").click(function(){
  70. //初始菜单选中
  71. focusMenuItem('YH-KZTKS')
  72. $(".container",parent.document).addClass("console-cont");
  73. })
  74. $(".abnormalClear").click(function(){
  75. setDatePicker($("#datepicker"),$("#datepicker2"),"default")
  76. deptId =deptIdTemp= deptList[0]&&deptList[0].deptName
  77. name = ""
  78. data_asc=[],
  79. data_desc=['percent']
  80. $("th[code]").removeClass("asc desc").addClass("desc");
  81. $(".patientNumInp").val("")
  82. $(".selectModuleType ").val("全部").attr({
  83. "data-id":'',
  84. "title":''
  85. })
  86. $(".selectDept").html(deptId).attr({
  87. "data-id":deptId,
  88. "title":deptId
  89. }).append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  90. getTabData(1)
  91. })
  92. getTabData(1)//条目缺陷
  93. })
  94. function focusMenuItem(code){
  95. const ele = $(parent.document).find(".menu .page[code="+code+"]");
  96. const parEle = ele.parents(".list-1");
  97. if(!parEle.is(".list-1-show")){
  98. parEle.click();
  99. }
  100. //console.log($(parent.document).find(".menu .page[code='YH-ZKK-GMKQXZB_XQ']"))
  101. ele.click();
  102. }
  103. bindDeptSelect()
  104. //科室选择
  105. function bindDeptSelect(){
  106. $(document).on("click",'.deptItem',function(){
  107. const deptItemName = $(this).attr("data-name")||''
  108. const deptItemId = $(this).attr("data-id")
  109. deptIdTemp =deptItemId
  110. if(deptItemName.length > 10){
  111. $('.selectDept').html(deptItemName.substring(0,8)+'...')
  112. }else{
  113. $('.selectDept').html(deptItemName)
  114. }
  115. $('.selectDept ').attr({'title':deptItemName,'data-id':deptItemName})
  116. $(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  117. $(".deptList").css("display", "none")
  118. })
  119. }
  120. //全选绑定
  121. $('.selectDept').on("click", function(e){
  122. e.stopPropagation()
  123. $(".levelList ").css("display","none")
  124. $(".selectLevel .arrow").attr("src",iconDown)
  125. const showList = $(".deptList ").css("display")
  126. if(showList == "none" ||!showList){
  127. $(".deptList ").css("display","block")
  128. $(".selectDept .arrow").attr("src",iconUp)
  129. }else{
  130. $(".deptList ").css("display", "none")
  131. $(".selectDept .arrow").attr("src",iconDown)
  132. }
  133. })
  134. //排序
  135. $("th[code]").on("click",function(e){
  136. const code=$(this).attr("code");
  137. if(data_asc[0]===code){
  138. data_desc=[code];
  139. data_asc=[];
  140. $("th[code]").removeClass("asc desc");
  141. $(this).addClass("desc");
  142. }else{
  143. data_desc=[];
  144. data_asc=[code];
  145. $("th[code]").removeClass("asc desc");
  146. $(this).addClass("asc");
  147. }
  148. getTabData(1);
  149. // console.log(code)
  150. });
  151. //科室处理
  152. getDeptList()
  153. function getDeptList(){
  154. let str = ``
  155. if(deptList.length<=0)return
  156. $(".mukuai .selectDept").attr("data-id",deptList[0].deptName).find("i").html(deptList[0].deptName)
  157. for(let i = 0;i < deptList.length;i++){
  158. let tmp = deptList[i]
  159. str += `<li class="deptItem ellipsis" title="${tmp.deptName}" data-id="${tmp.deptName}" data-name="${tmp.deptName}">${tmp.deptName}</li>`
  160. }
  161. $(".mukuai .filterDropList").html(str)
  162. }
  163. //判断有无某一权限
  164. function hasData(data){
  165. let lis = JSON.parse(getCookie("codeLis"))||[]
  166. if(lis.indexOf(data)>-1){//有权限
  167. return true
  168. }
  169. return false;
  170. }
  171. //所有数据切换日期筛选
  172. function dateChange(){
  173. $(".monthYear .mon").click(function(){
  174. $(this).css({
  175. backgroundColor:'#00A1FF',
  176. color:'#fff'
  177. }).siblings().css({
  178. color:'#00A1FF',
  179. backgroundColor:'#fff'
  180. })
  181. isReject = isRejectTemp = 1
  182. setDatePicker($("#datepicker"),$("#datepicker2"),1)
  183. getTabData(1)
  184. })
  185. $(".monthYear .year").click(function(){
  186. $(this).css({
  187. backgroundColor:'#00A1FF',
  188. color:'#fff'
  189. }).siblings().css({
  190. color:'#00A1FF',
  191. backgroundColor:'#fff'
  192. })
  193. isReject = isRejectTemp = 2
  194. setDatePicker($("#datepicker"),$("#datepicker2"),2)
  195. getTabData(1)
  196. })
  197. }
  198. //获取表格数据
  199. function getTabData(activePage){
  200. const dateStatrt = getPickerDate($("#datepicker"),1)
  201. const dateEnd = getPickerDate($("#datepicker2"),2)
  202. const start = new Date(dateStatrt).getTime()
  203. const end = new Date(dateEnd).getTime()
  204. if(start > end){
  205. $.alerModal({"message":'开始时间不能大于结束时间~',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
  206. return
  207. }
  208. const param = {
  209. current:activePage,
  210. type: 0, //1-本月,2-本年,0-自定义时间(现在 都是自定义时间,都会传具体时间进去)
  211. name: name, //条目名
  212. deptName: deptId||(deptList.length>0?deptList[0].deptName:''), //科室名
  213. size: 15,
  214. asc:data_asc, //升序
  215. desc: data_desc, //降序
  216. "startDate":dateStatrt,
  217. "endDate":dateEnd
  218. }
  219. startDateParam = dateStatrt
  220. endDateParam = dateEnd
  221. post(from == 1?api.entryCountGroupByCasePage:api.entryCountGroupByCaseAndDeptPage,param).then(res =>{
  222. if(res.data.code == '0'){
  223. const data = res.data.data.records
  224. const totalPage = res.data.data.pages
  225. const totalNum = res.data.data.total
  226. renderTab(data,activePage)
  227. if(totalPage > 1){
  228. renderPagination(totalPage,Number(activePage),totalNum)
  229. } else{
  230. $('.pagination').html("")
  231. }
  232. }else{}
  233. }).catch((e) =>{})
  234. }
  235. $(".moduleItemInp").on("input", function(e){
  236. const val = $(this).val().trim()
  237. nameTemp = val
  238. })
  239. $(".filter").on("click", function(e){
  240. casesId=casesIdTemp, name=nameTemp, isReject =isRejectTemp, isUsed =isUsedTemp,deptId = deptIdTemp
  241. getTabData(1)
  242. })
  243. $(".filterclear").on("click", function(e){
  244. nameTemp = ""
  245. $(".moduleItemInp").val("")
  246. })
  247. // $('.selectModuleType').on("click", function(e){
  248. // e.stopPropagation()
  249. // $(".rejectList ").css("display","none")
  250. // $(".usedList ").css("display", "none")
  251. // $(".selectReject .arrow").attr("src",iconDown)
  252. // $(".selectUsed .arrow").attr("src",iconDown)
  253. // const showList = $(".moduleTypeList ").css("display")
  254. // if(showList == "none" ||!showList){
  255. // $(".moduleTypeList ").css("display","block")
  256. // $(".selectModuleType .arrow").attr("src",iconUp)
  257. // }else{
  258. // $(".moduleTypeList ").css("display", "none")
  259. // $(".selectModuleType .arrow").attr("src",iconDown)
  260. // }
  261. // })
  262. $('.selectReject').on("click", function(e){
  263. e.stopPropagation()
  264. $(".moduleTypeList ").css("display", "none")
  265. $(".usedList ").css("display", "none")
  266. $(".selectModuleType .arrow").attr("src",iconDown)
  267. $(".selectUsed .arrow").attr("src",iconDown)
  268. const showList = $(".rejectList ").css("display")
  269. if(showList == "none" ||!showList){
  270. $(".rejectList ").css("display","block")
  271. $(".selectUsed .arrow").attr("src",iconUp)
  272. }else{
  273. $(".rejectList ").css("display", "none")
  274. $(".selectUsed .arrow").attr("src",iconDown)
  275. }
  276. })
  277. $('.selectUsed').on("click", function(e){
  278. e.stopPropagation()
  279. $(".moduleTypeList ").css("display", "none")
  280. $(".rejectList ").css("display","none")
  281. $(".selectModuleType .arrow").attr("src",iconDown)
  282. $(".selectReject .arrow").attr("src",iconDown)
  283. const showList = $(".usedList ").css("display")
  284. if(showList == "none" ||!showList){
  285. $(".usedList ").css("display","block")
  286. $(".selectUsed .arrow").attr("src",iconUp)
  287. }else{
  288. $(".usedList ").css("display", "none")
  289. $(".selectUsed .arrow").attr("src",iconDown)
  290. }
  291. })
  292. // bindRejectSelect()
  293. // bindUsedSelect()
  294. // getmoduleTypeList()
  295. function renderTab(data,activePage){
  296. let str = ``;
  297. const cls = hasData("FUNC000007")?"editItem":"editItemDis";
  298. for(let i = 0; i < data.length; i++){
  299. const item = data[i]
  300. str += `
  301. <tr data-id=${item.id} data-index=${i}>
  302. <td class="textCenter">${(activePage-1)*15 + i+1}</td>
  303. <td class="goHomeDetail" data-model="${item.name}">${item.name}</td>
  304. <td class="textCenter">${item.percentStr}</td>
  305. </tr>
  306. `
  307. }
  308. $('.tbody').html(str?str:emptyBox())
  309. bindEdit(data,activePage)
  310. $(".goHomeDetail").click(function(){
  311. let model = $(this).attr("data-model")
  312. focusMenuItem("YH-KSZR-TMQXZB_XQ");
  313. let deptName = deptId||(deptList.length>0?deptList[0].deptName:'')
  314. $(parent.document).find("#contentIframe").attr("src","./singleVeto.html?from=2&deptName="+deptName+"&special=1&model="+model+"&shijian=8"+"&startDateParam="+startDateParam+"&endDateParam="+endDateParam)
  315. })
  316. // initScroll("mukuai","Y",1)
  317. }
  318. function bindEdit(data,activePage){
  319. if(!hasData('FUNC000007')){
  320. return
  321. }
  322. $('.editItem').click(function(e){
  323. const index = $(this).parent().attr('data-index')
  324. editItem(data[index],activePage)
  325. })
  326. }
  327. //修改
  328. function editItem(item,activePage){
  329. const itemCpoy = JSON.parse(JSON.stringify(item))
  330. $('.pop-box').remove()
  331. $('.container').append('<div class="pop-box"></div>')
  332. const str = `
  333. <div class="itemMsgBox">
  334. <div class="mask"></div>
  335. <div class="itemMsgContent">
  336. <p class="itemMsgTitle">修改 <img class="iconClose" src=${require('./../images/icon_close_default.png')} alt="关闭" /></p>
  337. <div class="itemMsgContentBox">
  338. <div class="itemMsgInfoBox"><span class="itemMsgLab">模块名称:</span> <span class="itemInfoRight">${itemCpoy.casesName}</span></div>
  339. <div class="itemMsgInfoBox"><span class="itemMsgLab">条目名称:</span> <span class="itemInfoRight"> ${itemCpoy.name}</span></div>
  340. <div class="itemMsgInfoBox"><span class="itemMsgLab">提示信息:</span> <span class="itemInfoRight"> <input class="itemTipMsg" value="${itemCpoy.msg}" /></span></div>
  341. <div class="itemMsgInfoBox"><span class="itemMsgLab">
  342. 分值:
  343. </span> <span class="itemInfoRight">
  344. <input class="itemScore" type="number" min="0" value=${itemCpoy.score} />
  345. </span>
  346. <p class="itemMsgInfoTips">支持≥0的数字输入,最多保留小数点后1位~</p>
  347. </div>
  348. <div class="itemMsgInfoBox"><span class="itemMsgLab">单项否决:</span><span class="itemInfoRight itemReject">${item.isReject == '1' ? `<img class="switchImg" src=${switchIconOpen} /><span class="imgInfo"> 是</span>`:`<img class="switchImg" src=${switchIconClose} /> <span class="imgInfo"> 否</span>`}</span></div>
  349. <div class="itemMsgInfoBox"><span class="itemMsgLab">启用:</span><span class=" temInfoRight itemUsed">${item.isUsed == '1' ? `<img class="switchImg" src=${switchIconOpen} /><span class="imgInfo"> 是</span>`:`<img class="switchImg" src=${switchIconClose} /> <span class="imgInfo"> 否</span>`}</span></div>
  350. </div>
  351. <div class="confirmEditBox"><span class="confirmEdit">保存</span></div>
  352. </div>
  353. </div>
  354. `
  355. $("#mainBox", parent.document).append(str)
  356. $("#mainBox .itemMsgBox .iconClose", parent.document).on("click", function(e){
  357. $("#mainBox .itemMsgBox", parent.document).remove()
  358. })
  359. $("#mainBox .itemMsgBox .itemTipMsg", parent.document).on("input", function(e){
  360. const val = $(this).val().trim()
  361. itemCpoy.msg = val
  362. })
  363. $("#mainBox .itemMsgBox .itemScore", parent.document).on("keypress", function(e){
  364. return (/[0-9\.]/.test(String.fromCharCode(e.keyCode)))
  365. })
  366. $("#mainBox .itemMsgBox .itemScore", parent.document).on("input", function(e){
  367. const val = $(this).val()
  368. itemCpoy.score = val
  369. })
  370. $("#mainBox .itemMsgBox .itemReject", parent.document).on("click", function(e){
  371. itemCpoy.isReject = itemCpoy.isReject == 1 ? 0 : 1
  372. $('#mainBox .itemMsgBox', parent.document).remove()
  373. editItem(itemCpoy,activePage)
  374. })
  375. $("#mainBox .itemMsgBox .itemUsed", parent.document).on("click", function(e){
  376. itemCpoy.isUsed = itemCpoy.isUsed == 1 ? 0 : 1
  377. $('#mainBox .itemMsgBox', parent.document).remove()
  378. editItem(itemCpoy,activePage)
  379. })
  380. $("#mainBox .itemMsgBox .confirmEdit", parent.document).on("click", function(){
  381. var reg = new RegExp(/^\d+(\.\d)?$/);
  382. if(reg.test(itemCpoy.score)){
  383. // console.log('itemCopy', itemCpoy)
  384. if(!itemCpoy.msg.trim()){
  385. $.alerModal({"message":"提示信息不能为空~",type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
  386. return
  387. }
  388. saveEdit(itemCpoy,activePage)
  389. $("#mainBox .itemMsgBox .itemMsgInfoTips", parent.document).css("display","none")
  390. $('#mainBox .itemMsgBox', parent.document).remove()
  391. return
  392. }else{
  393. $("#mainBox .itemMsgBox .itemMsgInfoTips", parent.document).css("display","block")
  394. return
  395. }
  396. })
  397. }
  398. //保存修改
  399. function saveEdit(item,activePage){
  400. const param = {
  401. id: item.id,
  402. isReject: item.isReject,
  403. isUsed: item.isUsed,
  404. msg: item.msg,
  405. score: item.score
  406. }
  407. post(api.updataQcCasesEntry,param).then(res =>{
  408. if(res.data.code == '0'){
  409. // const data = res.data.data
  410. $.alerModal({"message":"修改成功",type:"tip",time:'1000',isFather: true,win: true, fatherWrapper: $("#mainBox", parent.document)});
  411. getTabData(activePage)
  412. }else{
  413. $.alerModal({"message":'修改失败,请重试~',type:"tip",time:'1000',isFather: true,win: 'default', fatherWrapper: $("#mainBox", parent.document)});
  414. }
  415. }).catch((e) =>{
  416. $.alerModal({"message":'修改失败,请重试~',type:"tip",time:'1000',isFather: true,win: 'default', fatherWrapper: $("#mainBox", parent.document)});
  417. })
  418. }
  419. $('.selectModuleType').on("focus", function(e){
  420. e.stopPropagation()
  421. $(".rejectList ").css("display","none")
  422. $(".usedList ").css("display", "none")
  423. $(".selectReject .arrow").attr("src",iconDown)
  424. $(".selectUsed .arrow").attr("src",iconDown)
  425. $(".moduleTypeList ").css("display","block")
  426. })
  427. $('.selectModuleType').on("blur", function(e){
  428. $(".moduleTypeList ").css("display","none")
  429. })
  430. $('.selectModuleType').on("input", function(e){
  431. let val = $(this).val().trim()
  432. casesName = casesNameTemp = val
  433. getmoduleTypeList(val)
  434. })
  435. getmoduleTypeList()
  436. //获取模块类型
  437. function getmoduleTypeList(val){
  438. post(api.getQcCasesAll,{casesName:val=="全部"?"":val||""}).then(res =>{
  439. if(res.data.code == '0'){
  440. const moduleTypeList = res.data.data
  441. renderModuleTypeList(moduleTypeList)
  442. }else{
  443. renderModuleTypeList([])
  444. }
  445. }).catch((e) =>{
  446. })
  447. }
  448. function renderModuleTypeList(moduleTypeList){
  449. if(moduleTypeList.length == 0){
  450. $('.moduleTypeList').html("")
  451. return
  452. }
  453. let str = `<li class="modeTypeItem " data-id=" " data-name="全部">全部</li>`
  454. for(let i = 0; i < moduleTypeList.length; i++){
  455. str += `<li class="modeTypeItem ellipsis" title=${moduleTypeList[i].name} data-id=${moduleTypeList[i].id} data-name=${moduleTypeList[i].name}> ${moduleTypeList[i].name}</li>`
  456. }
  457. $('.moduleTypeList').html(str)
  458. bindModuleTypeSelect()
  459. }
  460. //模块类型选择
  461. function bindModuleTypeSelect(){
  462. $('.modeTypeItem').on("mousedown",function(){
  463. const modeTypeItemName = $(this).attr("data-name")
  464. const modeTypeItemId = $(this).attr("data-id")
  465. name=nameTemp = modeTypeItemName=="全部"?"":modeTypeItemName;
  466. $('.selectModuleType').val(modeTypeItemName).attr("title",modeTypeItemName)
  467. $(".moduleTypeList ").css("display", "none")
  468. })
  469. }
  470. //单项否决选择
  471. function bindRejectSelect(){
  472. $('.rejectItem').on("click",function(){
  473. const rejectItemName = $(this).attr("data-name")
  474. const rejectItemId = $(this).attr("data-id")
  475. isRejectTemp=rejectItemId
  476. $('.selectReject').html(rejectItemName)
  477. $(".rejectList ").css("display", "none")
  478. $(".selectReject").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  479. })
  480. }
  481. //是否启用选择
  482. function bindUsedSelect(){
  483. $('.usedItem').on("click",function(){
  484. const usedItemName = $(this).attr("data-name")
  485. const usedItemItemId = $(this).attr("data-id")
  486. isUsedTemp =usedItemItemId
  487. $('.selectUsed').html(usedItemName)
  488. $(".usedList").css("display", "none")
  489. $(".selectUsed").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  490. })
  491. }
  492. //分页渲染
  493. function renderPagination(totalPage,activePage,totalNum){
  494. let str = `<span class="totalSum">共${totalPage}页/${totalNum}条数据</span><span class="prePage"><img class="arrowPage" src=${arrowLeft} /></span>`
  495. if(totalPage <= 6){
  496. for(let i = 1; i <= totalPage; i++){
  497. str += `<span class="pageNum ${'page'+i}" data-page=${i}>${i}</span>`
  498. }
  499. }else{
  500. if(activePage <= 3){ //选中页数小于4
  501. for(let i = 1; i <= 4; i++){
  502. str += `<span class="pageNum ${'page'+i}" data-page=${i}>${i}</span>`
  503. }
  504. str += `<span class="more" >...</span>`
  505. str += `<span class="pageNum ${'page'+totalPage}" data-page=${totalPage}>${totalPage}</span>`
  506. } else if(activePage > totalPage -3){
  507. str += `<span class="pageNum page1" data-page=1>1</span>`
  508. str += `<span class="more" >...</span>`
  509. str += `<span class="pageNum ${'page'+(totalPage-3)}" data-page=${totalPage -3}>${totalPage -3}</span>`
  510. str += `<span class="pageNum ${'page'+(totalPage-2)}" data-page=${totalPage -2}>${totalPage -2}</span>`
  511. str += `<span class="pageNum ${'page'+(totalPage-1)}" data-page=${totalPage -1}>${totalPage -1}</span>`
  512. str += `<span class="pageNum ${'page'+totalPage}" data-page=${totalPage}>${totalPage}</span>`
  513. } else {
  514. str += `<span class="pageNum page1" data-page=1>1</span>`
  515. str += `<span class="more" >...</span>`
  516. str += `<span class="pageNum ${'page'+(activePage -1)}" data-page=${activePage -1}>${activePage -1}</span>`
  517. str += `<span class="pageNum ${'page'+activePage}" data-page=${activePage}>${activePage}</span>`
  518. str += `<span class="pageNum ${'page'+(activePage +1)}" data-page=${activePage +1}>${activePage +1}</span>`
  519. str += `<span class="more" >...</span>`
  520. str += `<span class="pageNum ${'page'+totalPage}" data-page=${totalPage}>${totalPage}</span>`
  521. }
  522. }
  523. str += `<span class="nextPage"><img class="arrowPage" src=${arrowRight} /></span>`
  524. $('.pagination').html(str)
  525. $('.page' + activePage).addClass('activePage')
  526. $(".pageNum").on("click", function(e){
  527. const activePageNow = Number($(this).attr('data-page'))
  528. getTabData(activePageNow)
  529. // renderPagination(totalPage,activePageNow,totalNum)
  530. })
  531. $(".prePage").on("click", function(e){
  532. let activePageNow = Number($(".activePage").attr('data-page'))
  533. if(activePageNow > 1){
  534. activePageNow--
  535. getTabData(activePageNow)
  536. // renderPagination(totalPage,activePageNow,totalNum)
  537. }
  538. })
  539. $(".nextPage").on("click", function(e){
  540. let activePageNow = Number($(".activePage").attr('data-page'))
  541. if(activePageNow < totalPage){
  542. activePageNow++
  543. getTabData(activePageNow)
  544. // renderPagination(totalPage,activePageNow,totalNum)
  545. }
  546. })
  547. }
  548. $(document).on("click", function(){
  549. // $(".moduleTypeList ").css("display", "none")
  550. $(".rejectList ").css("display","none")
  551. $(".usedList ").css("display", "none")
  552. $(".selectModuleType .arrow").attr("src",iconDown)
  553. $(".selectReject .arrow").attr("src",iconDown)
  554. $(".selectUsed .arrow").attr("src",iconDown)
  555. $(".deptList").css("display", "none")
  556. $(".selectDept .arrow").attr("src",iconDown)
  557. })
  558. $(function() {
  559. const iconCalenBlue= require("./../images/darkDate.png")
  560. const iconCalenGrey= require("./../images/icon_calen_grey.png")
  561. $('.datapickerBox').append(`<img class="iconCalen" src=${iconCalenGrey} />`)
  562. $('.iconCalen').on("mouseenter", function(e){
  563. $(this).attr("src", iconCalenBlue)
  564. })
  565. $('.iconCalen').on("mouseleave", function(e){
  566. $(this).attr("src", iconCalenGrey)
  567. })
  568. $('.iconCalen').on("click", function(e){
  569. $(this).parent().find("input").focus()
  570. })
  571. $('.exportData').click(function(){
  572. const start = new Date(startDateParam).getTime()
  573. const end = new Date(endDateParam).getTime()
  574. if(start > end){
  575. $.alerModal({"message":'开始时间不能大于结束时间~',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
  576. return
  577. }
  578. const param = {
  579. type: 0, //1-本月,2-本年,0-自定义时间(现在 都是自定义时间,都会传具体时间进去)
  580. name: name, //条目名
  581. deptName: deptId||(deptList.length>0?deptList[0].deptName:''), //科室名
  582. "startDate":startDateParam,
  583. "endDate":endDateParam,
  584. asc:data_asc, //升序
  585. desc: data_desc, //降序
  586. "isPlacefile":isPlacefile
  587. }
  588. expJson(api.entryGroupExportByDeptCase,param).then(res =>{
  589. downloadExportedData(res.data, "各模块缺陷占比.xls")
  590. })
  591. })
  592. });