assist.js 26 KB

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