appealCheck.js 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888
  1. const $ = require('jquery');
  2. require("../css/appealCheck.less");
  3. require('./modal.js');
  4. const { api } = require('./api.js')
  5. const { post, getCookie, getUrlArgObjectNew, emptyBox, downloadExportedData, expJson, setDatePicker, listenScroll, getPickerDate, exportTimeLimit } = 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 iconCalenBlue = require("./../images/icon_calen_blue.png")
  11. const iconCalenGrey = require("./../images/icon_calen_grey.png")
  12. const iconDown = require("./../images/arrow_down.png")
  13. const iconUp = require("./../images/arrow_up.png")
  14. const arrowLeft = require("./../images/arrow_left.png")
  15. const arrowRight = require("./../images/arrow_right.png")
  16. const goUpG = require("./../images/arrow_up_grey.png")
  17. const goUpB = require("./../images/arrow_up_blue.png")
  18. const goDownG = require("./../images/arrow_down_grey.png")
  19. const goDownB = require("./../images/arrow_down_blue.png")
  20. listenScroll()
  21. let pageSet = [], pageSetCopy = [], showNum = 0, scrollTop = 0;
  22. $(".selectModular").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  23. $(".selectType").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  24. $(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  25. $(".fpSelectCheck").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  26. $(".qcSelectCheck").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  27. let srcUrl = $("#contentIframe", parent.document).attr("src")
  28. let statisticsType = getUrlArgObjectNew("dateType", srcUrl) || getUrlArgObjectNew("shijian", srcUrl) || ""
  29. let startDateParam = getUrlArgObjectNew("startDateParam", srcUrl) || ""
  30. let endDateParam = getUrlArgObjectNew("endDateParam", srcUrl) || ""
  31. let page = getUrlArgObjectNew("page", srcUrl) || 1
  32. let behosDateStart = getUrlArgObjectNew("behosDateStart", srcUrl) || ""
  33. let behosDateEnd = getUrlArgObjectNew("behosDateEnd", srcUrl) || ""
  34. let deptId = getUrlArgObjectNew("deptId", srcUrl) || ""
  35. let deptName = getUrlArgObjectNew("deptName", srcUrl) || ""
  36. let moduleName = getUrlArgObjectNew("moduleName", srcUrl) || ""
  37. let name = getUrlArgObjectNew("name", srcUrl) || ""
  38. let operationType = getUrlArgObjectNew("operationType", srcUrl) || ""
  39. let state = getUrlArgObjectNew("state", srcUrl) || ""
  40. let tabList = [], deptNameTemp = "", typeList,
  41. deptIdTemp = "",
  42. fpCheckStatusTemp = "", fpCheckNameTemp = "", qcCheckNameTemp = "";
  43. let isPlacefile = getCookie('isPlacefile') || 1
  44. $('.datapickerBox').append(`<img class="iconCalen" src=${iconCalenGrey} />`)
  45. $('.iconCalen').on("mouseenter", function (e) {
  46. $(this).attr("src", iconCalenBlue)
  47. })
  48. $('.iconCalen').on("mouseleave", function (e) {
  49. $(this).attr("src", iconCalenGrey)
  50. })
  51. $('.iconCalen').on("click", function (e) {
  52. $(this).parent().find("input").focus()
  53. })
  54. $(".menu .page", parent.document).removeClass("active")
  55. $(parent.document).find(".menu .page[code=YH-SSXX-SSSH]").addClass("active")
  56. if (deptName) {
  57. $('.selectDept').html(deptName).attr("title", deptName)
  58. $(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  59. }
  60. if (moduleName) {
  61. $('.selectModular').html(moduleName).attr("title", moduleName)
  62. $(".selectModular").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  63. }
  64. if (operationType) {
  65. $('.selectType').html(operationType).attr("title", operationType)
  66. $(".selectType").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  67. }
  68. if (state) {
  69. $('.qcSelectCheck').html(state).attr("title", state)
  70. $(".qcSelectCheck").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  71. }
  72. if (name) {
  73. $('.name').val(name)
  74. }
  75. $(".name").on("input", function (e) {
  76. const val = $(this).val().trim()
  77. name = val
  78. })
  79. function getTabData(activePage) {
  80. behosDateStart = getPickerDate($("#datepicker"), 1)
  81. behosDateEnd = getPickerDate($("#datepicker2"), 2)
  82. const param = {
  83. current: activePage,
  84. deptId: deptId.trim(),
  85. deptName: deptName == "全部" ? "" : deptName || '',
  86. modeName: moduleName == "全部" ? "" : moduleName || '',
  87. operationType: operationType,
  88. state: state,
  89. size: 15,
  90. name: name,
  91. complaintDateEnd: behosDateEnd.replace(/\//g, '-'),
  92. complaintDateStart: behosDateStart.replace(/\//g, '-'),
  93. "desc": ['claimant_gmt_create']
  94. }
  95. $('.pagination').html("")
  96. $('.tbody').html(emptyBox('努力加载中...', '',))
  97. return post(api.getAppealReview, param).then(res => {
  98. if (res.data.code == '0') {
  99. tabList = res.data.data.records
  100. const totalPage = res.data.data.pages
  101. const totalNum = res.data.data.total
  102. renderTab(tabList)
  103. renderPagination(totalPage, Number(activePage), totalNum)
  104. if (totalPage > 1) {
  105. renderPagination(totalPage, Number(activePage), totalNum)
  106. } else {
  107. $('.pagination').html("")
  108. }
  109. } else {
  110. const token = localStorage.getItem('accessToken');
  111. if (!token && window.location.href.indexOf('login') == -1) {
  112. //alert('无token判断,跳回登录')
  113. } else {
  114. $.alerModal({ "message": res.data.msg, type: "tip", time: '1000', isFather: true, fatherWrapper: $("#mainBox", parent.document) });
  115. }
  116. }
  117. }).catch((e) => {
  118. })
  119. }
  120. getAuditNumber()
  121. //获取待审核数量
  122. function getAuditNumber() {
  123. let isPlacefile = getCookie('isPlacefile') || 1
  124. return post(api.getAuditNumber, { analyzeType: isPlacefile }).then(res => {
  125. if (res.data.code == '0') {
  126. auditNumber = res.data.data > 99 ? '99+' : res.data.data
  127. if (auditNumber == 0) {
  128. $(".menu .page", parent.document).children('.reds').hide()
  129. $(".menu .dian", parent.document).hide()
  130. $(".menu-mini .page", parent.document).children('.reds').hide()
  131. $(".menu-mini .dian", parent.document).hide()
  132. } else {
  133. $(".menu .page", parent.document).children('.reds').html(auditNumber)
  134. $(".menu-mini .page", parent.document).children('.reds').html(auditNumber)
  135. }
  136. } else {
  137. const token = localStorage.getItem('accessToken');
  138. if (!token && window.location.href.indexOf('login') == -1) {
  139. //alert('无token判断,跳回登录')
  140. } else {
  141. $.alerModal({ "message": res.data.msg, type: "tip", time: '1000', isFather: true, fatherWrapper: $("#mainBox", parent.document) });
  142. }
  143. }
  144. }).catch((e) => {
  145. })
  146. }
  147. $(".filter").on("click", function (e) {
  148. behosDateStart = $("#datepicker").val()
  149. behosDateEnd = $("#datepicker2").val()
  150. const behosDateStartTime = new Date(behosDateStart).getTime()
  151. const behosDateEndTime = new Date(behosDateEnd).getTime()
  152. if (behosDateStartTime > behosDateEndTime) {
  153. $.alerModal({ "message": '申诉时间开始时间不能大于结束时间~', type: "tip", time: '1000', isFather: true, fatherWrapper: $("#mainBox", parent.document) });
  154. return
  155. }
  156. // if (behosDateStart) {
  157. // behosDateStart = behosDateStart.replace(/\//g, '-') + ' 00:00:00'
  158. // }
  159. // if (behosDateEnd) {
  160. // behosDateEnd = behosDateEnd.replace(/\//g, '-') + ' 23:59:59'
  161. // }
  162. deptId = deptIdTemp
  163. deptName = deptNameTemp
  164. fpCheckName = fpCheckNameTemp
  165. qcCheckName = qcCheckNameTemp
  166. fpCheckStatus = fpCheckStatusTemp
  167. qcCheckStatus = state
  168. page = 1
  169. getTabData(1)
  170. })
  171. $(".abnormalClear").on("click", function (e) {
  172. page = 1
  173. tabList = [];
  174. behospitalCode = "";
  175. scoreSum = 0;
  176. nameTemp = "";
  177. deptId = "";
  178. deptIdTemp = "";
  179. deptName = deptNameTemp = "";
  180. fpCheckName = "";
  181. qcCheckName = "";
  182. qcCheckMain = "";
  183. fpCheckNameTemp = "";
  184. qcCheckNameTemp = "";
  185. qcCheckMainTemp = "";
  186. fpCheckStatus = "";
  187. fpCheckStatusTemp = "";
  188. qcCheckStatus = "";
  189. state = ""
  190. moduleName = ""
  191. operationType = ""
  192. name = ""
  193. $('.name').val(''),
  194. data_desc = ["leave_hospital_date"]
  195. if (isPlacefile != 1) {
  196. data_desc = ["behospital_date"]
  197. }
  198. data_asc = [];
  199. // $('#datepicker').val('')
  200. // $('#datepicker2').val('')
  201. //默认日期为近一周
  202. $("#datepicker").datepicker({
  203. changeMonth: true,
  204. changeYear: true,
  205. dateFormat: "yy/mm/dd",
  206. }).datepicker("setDate", "-6d");
  207. $("#datepicker2").datepicker({
  208. changeMonth: true,
  209. changeYear: true,
  210. dateFormat: "yy/mm/dd"
  211. }).datepicker("setDate", new Date());
  212. $("#datepickerFp1").datepicker({
  213. changeMonth: true,
  214. changeYear: true,
  215. dateFormat: "yy/mm/dd",
  216. }).datepicker("setDate", "");
  217. $("#datepickerFp2").datepicker({
  218. changeMonth: true,
  219. changeYear: true,
  220. dateFormat: "yy/mm/dd"
  221. }).datepicker("setDate", "");
  222. $("#datepickerQc1").datepicker({
  223. changeMonth: true,
  224. changeYear: true,
  225. dateFormat: "yy/mm/dd",
  226. }).datepicker("setDate", "");
  227. $("#datepickerQc2").datepicker({
  228. changeMonth: true,
  229. changeYear: true,
  230. dateFormat: "yy/mm/dd"
  231. }).datepicker("setDate", "");
  232. $('.selectDept ').html('全部')
  233. $(".deptList").css("display", "none")
  234. $(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  235. // $('.selectDept ').addClass('unSelect')
  236. $('.selectModular').html('全部')
  237. $(".modularList").css("display", "none")
  238. $(".selectModular").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  239. // $('.selectModular ').addClass('unSelect')
  240. $('.selectType').html('全部')
  241. $(".typeList ").css("display", "none")
  242. $(".selectType").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  243. $('.qcSelectCheck').html('全部')
  244. $(".qcCheckList").css("display", "none")
  245. $(".qcSelectCheck").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  246. $("th[code]").removeClass("asc desc")
  247. if (isPlacefile == 1) {
  248. $(".leaveHospitalDate").addClass(" desc")
  249. } else {
  250. $(".behospitalDate").addClass(" desc")
  251. }
  252. behosDateStart = $("#datepicker").val()
  253. behosDateEnd = $("#datepicker2").val()
  254. if (behosDateStart) {
  255. behosDateStart = behosDateStart.replace(/\//g, '-') + ' 00:00:00'
  256. }
  257. if (behosDateEnd) {
  258. behosDateEnd = behosDateEnd.replace(/\//g, '-') + ' 23:59:59'
  259. }
  260. getTabData(page)
  261. })
  262. function renderTab(data) {
  263. let str = ``
  264. if (data.length === 0) {
  265. $('.tbody').html(emptyBox(null, showNum + 12))
  266. return;
  267. }
  268. for (let i = 0; i < data.length; i++) {
  269. const item = data[i]
  270. str += `
  271. <tr data-index=${i} data-doc="${item.doctorName || ""}" >
  272. <td >${item.claimantName || "-"}</td>
  273. <td >${item.behDeptName || "-"}</td>
  274. <td >${item.claimantGmtCreate}</td>
  275. <td >${item.behospitalCode}</td>
  276. <td >${item.name || "-"}</td>
  277. <td >${item.modeName || "-"}</td>
  278. ${item.qcresultDetailMsg && item.qcresultDetailMsg.length > 30 ? `<td title=${item.qcresultDetailMsg}>${item.qcresultDetailMsg.substring(0,30)+'...' || "-"}</td>` : `<td>${item.qcresultDetailMsg || "-"}</td>`}
  279. <td >${item.checkName || "-"}</td>
  280. <td >${item.checkGmtCreate || "-"}</td>
  281. <td >${item.appealOperationType == 0 ? '删改条目' : item.appealOperationType == 1 ? '新增已有条目' : item.appealOperationType == 2 ? '新增缺失条目' : '恢复条目'}</td>
  282. <td >${item.exampleStatus == 0 ? '<span class="review"><i></i>待审核</span>' : item.exampleStatus == 1 ? '<span class="rejected"><i></i>已驳回</span>' : '<span class="approved"><i></i>审核通过</span>'}</td>
  283. <td data-id="${item.id || ""}" data-hos="${item.hospitalId || ""}" data-behospitalCode="${item.behospitalCode || ""}" data-casesEntryId="${item.casesEntryId || ""}" data-qcresultDetailId="${item.qcresultDetailId || ""}" data-appealOperationType="${item.appealOperationType || ""}">
  284. ${item.exampleStatus == 0 ? `<span class="appealBtn goExamine">审核</span><span class="appealBtn goHomeDetail1">查看</span>` : ''}
  285. ${item.exampleStatus == 1 || item.exampleStatus == 2 ? `<span class="appealBtn goHomeDetail1">查看</span>` : ''}
  286. </td>
  287. </tr>
  288. `
  289. }
  290. $('.tbody').html(str)
  291. $(".goExamine").click(function () {
  292. let id = $(this).parent().attr("data-id")
  293. let hospitalId = $(this).parent().attr("data-hos")
  294. let behospitalCode = $(this).parent().attr("data-behospitalCode")
  295. let casesEntryId = $(this).parent().attr("data-casesEntryId")
  296. let qcresultDetailId = $(this).parent().attr("data-qcresultDetailId")
  297. let appealOperationType = $(this).parent().attr("data-appealOperationType")
  298. $(parent.document).find("#contentIframe").attr("src", "appealExamine.html?id=" + id + "&name=" + name + "&operationType=" + operationType + "&state=" + state + "&hospitalId=" + hospitalId + "&behospitalCode=" + behospitalCode + "&casesEntryId=" + casesEntryId + "&qcresultDetailId=" + qcresultDetailId + "&appealOperationType=" + appealOperationType + "&page=" + page + "&behosDateStart=" + behosDateStart + "&behosDateEnd=" + behosDateEnd + "&deptId=" + deptId + "&deptName=" + deptName + "&moduleName=" + moduleName + "&form=" + 1)
  299. })
  300. $(".goHomeDetail1").click(function () {
  301. let id = $(this).parent().attr("data-id")
  302. let hospitalId = $(this).parent().attr("data-hos")
  303. let behospitalCode = $(this).parent().attr("data-behospitalCode")
  304. let casesEntryId = $(this).parent().attr("data-casesEntryId")
  305. let qcresultDetailId = $(this).parent().attr("data-qcresultDetailId")
  306. let appealOperationType = $(this).parent().attr("data-appealOperationType")
  307. $(parent.document).find("#contentIframe").attr("src", "appealExamine.html?id=" + id + "&name=" + name + "&operationType=" + operationType + "&state=" + state + "&hospitalId=" + hospitalId + "&behospitalCode=" + behospitalCode + "&casesEntryId=" + casesEntryId + "&qcresultDetailId=" + qcresultDetailId + "&appealOperationType=" + appealOperationType + "&page=" + page + "&behosDateStart=" + behosDateStart + "&behosDateEnd=" + behosDateEnd + "&deptId=" + deptId + "&deptName=" + deptName + "&moduleName=" + moduleName + "&form=" + 2)
  308. })
  309. }
  310. //选择病历等级
  311. $('.selectModular').on("click", function (e) {
  312. e.stopPropagation()
  313. $(".selectDept .arrow").attr("src", iconDown)
  314. $(".deptList").css("display", "none")
  315. $(".selectType .arrow").attr("src", iconDown)
  316. $(".typeList").css("display", "none")
  317. $(".qcSelectCheck .arrow").attr("src", iconDown)
  318. $(".qcCheckList").css("display", "none")
  319. const showList = $(".modularList ").css("display")
  320. if (showList == "none" || !showList) {
  321. $(".modularList ").css("display", "block")
  322. $(".selectModular .arrow").attr("src", iconUp)
  323. } else {
  324. $(".modularList ").css("display", "none")
  325. $(".selectModular .arrow").attr("src", iconDown)
  326. }
  327. })
  328. //操作类型
  329. $('.selectType').on("click", function (e) {
  330. e.stopPropagation()
  331. $(".selectDept .arrow").attr("src", iconDown)
  332. $(".deptList").css("display", "none")
  333. $(".selectModular .arrow").attr("src", iconDown)
  334. $(".modularList ").css("display", "none")
  335. $(".qcSelectCheck .arrow").attr("src", iconDown)
  336. $(".qcCheckList").css("display", "none")
  337. const showList = $(".typeList ").css("display")
  338. if (showList == "none" || !showList) {
  339. $(".typeList ").css("display", "block")
  340. $(".selectType .arrow").attr("src", iconUp)
  341. } else {
  342. $(".typeList ").css("display", "none")
  343. $(".selectType .arrow").attr("src", iconDown)
  344. }
  345. })
  346. //选择状态
  347. $('.qcSelectCheck').on("click", function (e) {
  348. e.stopPropagation()
  349. $(".selectDept .arrow").attr("src", iconDown)
  350. $(".deptList").css("display", "none")
  351. $(".selectModular .arrow").attr("src", iconDown)
  352. $(".modularList ").css("display", "none")
  353. $(".selectType .arrow").attr("src", iconDown)
  354. $(".typeList").css("display", "none")
  355. const showList = $(".qcCheckList ").css("display")
  356. if (showList == "none" || !showList) {
  357. $(".qcCheckList ").css("display", "block")
  358. $(".qcSelectCheck .arrow").attr("src", iconUp)
  359. } else {
  360. $(".qcCheckList ").css("display", "none")
  361. $(".qcSelectCheck .arrow").attr("src", iconDown)
  362. }
  363. })
  364. getmoduleList()
  365. //获取模块类型
  366. function getmoduleList() {
  367. post(api.getAppealMode, { pageType: 2 }).then(res => {
  368. if (res.data.code == '0') {
  369. const moduleTypeList = res.data.data
  370. renderModuleList(moduleTypeList)
  371. } else { }
  372. }).catch((e) => {
  373. })
  374. }
  375. function renderModuleList(moduleTypeList) {
  376. let str = `<li class="modularItem " data-id="" data-name="全部">全部</li>`
  377. for (let i = 0; i < moduleTypeList.length; i++) {
  378. str += `<li class="modularItem ellipsis" title=${moduleTypeList[i].modeName} data-id=${moduleTypeList[i].modeId} data-name=${moduleTypeList[i].modeName}> ${moduleTypeList[i].modeName}</li>`
  379. }
  380. $('.modularList').html(str)
  381. bindModuleSelect()
  382. }
  383. //模块类型选择
  384. function bindModuleSelect() {
  385. $('.modularItem').on("click", function () {
  386. const modularItemName = $(this).attr("data-name")
  387. const modularItemItemId = $(this).attr("data-id")
  388. moduleName = modularItemName
  389. $('.selectModular').html(modularItemName)
  390. $(".modularList").css("display", "none")
  391. $(".selectModular").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  392. $('.selectModular').removeClass('unSelect')
  393. })
  394. }
  395. getAppealReviewDictionary()
  396. //获取操作类型
  397. function getAppealReviewDictionary() {
  398. post(api.getAppealReviewDictionary).then(res => {
  399. if (res.data.code == '0') {
  400. const typeList = res.data.data['操作类型']
  401. const statusList = res.data.data['状态']
  402. renderTypeList(typeList)
  403. renderStatusList(statusList)
  404. } else { }
  405. }).catch((e) => {
  406. })
  407. }
  408. function renderTypeList(data) {
  409. let str = `<li class="typeItem " data-id="" data-name="全部">全部</li>`
  410. for (var i in data) {
  411. str += `<li class="typeItem ellipsis" title=${data[i]} data-id=${i} data-name=${data[i]}> ${data[i]}</li>`
  412. }
  413. $('.typeList').html(str)
  414. if (operationType) {
  415. $('.selectType').html(data[operationType]).attr("title", data[operationType])
  416. $(".selectType").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  417. }
  418. bindTypedSelect()
  419. }
  420. //操作类型选择
  421. function bindTypedSelect() {
  422. $('.typeItem').on("click", function () {
  423. const typeItemName = $(this).attr("data-name")
  424. const typeItemItemId = $(this).attr("data-id")
  425. operationType = typeItemItemId
  426. $('.selectType').html(typeItemName)
  427. $(".typeList").css("display", "none")
  428. $(".selectType").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  429. $('.selectType').removeClass('unSelect')
  430. })
  431. }
  432. function renderStatusList(data) {
  433. let str = `<li class="qcCheckItem " data-id="" data-name="全部">全部</li>`
  434. for (var i in data) {
  435. str += `<li class="qcCheckItem ellipsis" title=${data[i]} data-id=${i} data-name=${data[i]}> ${data[i]}</li>`
  436. }
  437. $('.qcCheckList').html(str)
  438. bindCheckedSelectQc()
  439. if (state) {
  440. $('.qcSelectCheck').html(data[state]).attr("title", data[state])
  441. $(".qcSelectCheck").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  442. }
  443. }
  444. //状态
  445. function bindCheckedSelectQc() {
  446. $('.qcCheckItem').on("click", function () {
  447. const qcCheckItemName = $(this).attr("data-name")
  448. const qcCheckItemItemId = $(this).attr("data-id") || ""
  449. state = qcCheckItemItemId
  450. $('.qcSelectCheck').html(qcCheckItemName)
  451. $(".qcCheckList").css("display", "none")
  452. $(".qcSelectCheck").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  453. $('.qcSelectCheck').removeClass('unSelect')
  454. })
  455. }
  456. $('.selectDept').on("click", function (e) {
  457. e.stopPropagation()
  458. $(".selectModular .arrow").attr("src", iconDown)
  459. $(".modularList ").css("display", "none")
  460. $(".selectType .arrow").attr("src", iconDown)
  461. $(".typeList").css("display", "none")
  462. $(".qcSelectCheck .arrow").attr("src", iconDown)
  463. $(".qcCheckList").css("display", "none")
  464. const showList = $(".deptList ").css("display")
  465. if (showList == "none" || !showList) {
  466. $(".deptList ").css("display", "block")
  467. $(".selectDept .arrow").attr("src", iconUp)
  468. } else {
  469. $(".deptList ").css("display", "none")
  470. $(".selectDept .arrow").attr("src", iconDown)
  471. }
  472. })
  473. //获取科室列表
  474. getDeptList()
  475. function getDeptList() {
  476. post(api.getAppealDept, { inputStr: "", pageType: 2 }).then(res => {
  477. if (res.data.code == '0') {
  478. const deptList = res.data.data
  479. rendeDeptList(deptList)
  480. } else { }
  481. }).catch((e) => {
  482. })
  483. }
  484. function rendeDeptList(deptList) {
  485. let str = `<li class="deptItem ellipsis" data-id=" " data-name="全部">全部</li>`
  486. for (let i = 0; i < deptList.length; i++) {
  487. str += `<li class="deptItem ellipsis" title=${deptList[i].deptName} data-id=${deptList[i].deptId} data-name=${deptList[i].deptName}> ${deptList[i].deptName}</li>`
  488. }
  489. $('.deptList').html(str)
  490. bindDeptSelect()
  491. }
  492. //科室选择
  493. function bindDeptSelect() {
  494. $('.deptItem').on("click", function () {
  495. const deptItemName = $(this).attr("data-name")
  496. const deptItemId = $(this).attr("data-id")
  497. deptIdTemp = deptItemId
  498. deptName = deptNameTemp = deptItemName
  499. if (deptItemName.length > 10) {
  500. $('.selectDept').html(deptItemName.substring(0, 8) + '...')
  501. } else {
  502. $('.selectDept').html(deptItemName)
  503. }
  504. $('.selectDept ').attr('title', deptItemName)
  505. $(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  506. $('.selectDept').removeClass('unSelect')
  507. $(".deptList").css("display", "none")
  508. })
  509. }
  510. function renderColSet(list) {
  511. let pageSetList = list || pageSetCopy
  512. let allSelect = true
  513. for (let i = 0; i < pageSetList.length; i++) {
  514. if (pageSetList[i].status != 1) {
  515. allSelect = false
  516. }
  517. }
  518. let str = `<div class='colSetBox'>
  519. <div class='mask'></div>
  520. <div class='cloInfobox'>
  521. <div class='cloInfoTitle'><span class='cloInfoTitleTxt'>列显示设置</span> <img class="iconClose" src=${require('./../images/icon_close_default.png')} alt="关闭" /></div>
  522. <div class='cloInfo'></div>
  523. <div class='btnBox'><span class='defaultColSet'>恢复默认</span> <span class='cancalColSet'>取消</span> <span class='saveColSet'>保存设置</span></div>
  524. </div>
  525. </div>`
  526. let infoStr = `<div class='colTabTitle' ><span class='colOpera toggleSelectColAll' data-select=${allSelect}>${allSelect ? `<img src=${iconCheck} />` : `<img src=${iconUnCheck} />`}全选</span><span class='colName'>列名</span></div><div class='colTabInfoBox' >`
  527. for (let i = 0; i < pageSetList.length; i++) {
  528. infoStr += `<div class='colTabInfo' data-index=${i}>
  529. <span class='colOpera' data-index=${i}>${pageSetList[i].status == 1 ? `<img class="toggleSelectCol" src=${iconCheck} />` : `<img class="toggleSelectCol" src=${iconUnCheck} />`}</span>
  530. <span class='colName'>
  531. <span>${pageSetList[i].name}</span>
  532. <span class="pageOrder">
  533. <span class="pageSetUpBox">${i === 0 ? '' : `<img class="pageSetUp" src=${goUpG} />`}</span>
  534. <span class="pageSetDownBox">${i === pageSetList.length - 1 ? '' : `<img class="pageSetDown" src=${goDownG} />`}</span>
  535. </span>
  536. </span>
  537. </div>`
  538. }
  539. infoStr += "</div>"
  540. // $(".main-body").append(str)
  541. if (!$("#mainBox .colSetBox", parent.document).length) {
  542. $("#mainBox", parent.document).append(str)
  543. }
  544. $("#mainBox .colSetBox .cloInfo", parent.document).html(infoStr)
  545. $(".colTabInfoBox", parent.document).scrollTop(scrollTop)
  546. scrollTop = 0
  547. bindSelectCol()
  548. bindColOrder()
  549. bindSaveColSet()
  550. bindDefaultColset()
  551. bindCloseColSet()
  552. bindImgEnter()
  553. }
  554. function bindDefaultColset() {
  555. $('.defaultColSet', parent.document).off("hover").hover(function () {
  556. $(this).css('color', '#00A1FF')
  557. }, function () {
  558. $(this).css('color', '#777777')
  559. })
  560. $('.defaultColSet', parent.document).off("click").on('click', function () {
  561. return post(api.getDefaultPageSet, { pageType: 1 }).then(res => {
  562. if (res.data.code == '0') {
  563. pageSet = res.data.data
  564. pageSetCopy = JSON.parse(JSON.stringify(pageSet))
  565. renderColSet(pageSetCopy)
  566. } else { }
  567. }).catch((e) => {
  568. })
  569. // closeColSet()
  570. })
  571. }
  572. function bindImgEnter() {
  573. $(".pageSetUpBox img", parent.document).off("mouseenter").on("mouseenter", function () {
  574. $(this).attr('src', goUpB)
  575. })
  576. $(".pageSetDownBox img", parent.document).off("mouseenter").on("mouseenter", function () {
  577. $(this).attr('src', goDownB)
  578. })
  579. $(".pageSetUpBox img", parent.document).off("mouseout").on("mouseout", function () {
  580. $(this).attr('src', goUpG)
  581. })
  582. $(".pageSetDownBox img", parent.document).off("mouseout").on("mouseout", function () {
  583. $(this).attr('src', goDownG)
  584. })
  585. }
  586. function bindSelectCol() {
  587. $(".toggleSelectCol", parent.document).off("click").on("click", function () {
  588. const index = $(this).parent().attr("data-index")
  589. pageSetCopy[index].status = pageSetCopy[index].status == 1 ? 0 : 1
  590. scrollTop = $(".colTabInfoBox", parent.document).scrollTop()
  591. renderColSet(pageSetCopy)
  592. })
  593. $(".toggleSelectColAll", parent.document).off("click").on("click", function () {
  594. const hasSelectAll = $(this).attr("data-select")
  595. for (let i = 0; i < pageSetCopy.length; i++) {
  596. if (hasSelectAll == "true") {
  597. pageSetCopy[i].status = 0
  598. } else {
  599. pageSetCopy[i].status = 1
  600. }
  601. }
  602. scrollTop = $(".colTabInfoBox", parent.document).scrollTop()
  603. renderColSet(pageSetCopy)
  604. })
  605. }
  606. function closeColSet() {
  607. pageSetCopy = JSON.parse(JSON.stringify(pageSet))
  608. $("#mainBox .colSetBox", parent.document).remove()
  609. }
  610. function bindCloseColSet() {
  611. $(".colSetBox .iconClose", parent.document).off("click").on("click", function () {
  612. closeColSet()
  613. })
  614. $(".colSetBox .cancalColSet", parent.document).off("click").on("click", function () {
  615. closeColSet()
  616. })
  617. }
  618. function bindSaveColSet() {
  619. $(".saveColSet", parent.document).off("click").on("click", function () {
  620. let showNumSet = 0
  621. let sysUserPagesetVOList = []
  622. for (let i = 0; i < pageSetCopy.length; i++) {
  623. const item = pageSetCopy[i]
  624. sysUserPagesetVOList.push({
  625. name: item.name,
  626. orderNo: i,
  627. status: item.status,
  628. val: item.val
  629. })
  630. if (item.status == 1) {
  631. showNumSet++
  632. }
  633. }
  634. if (showNumSet === 0) {
  635. $.alerModal({ "message": '最少显示一列', type: "tip", time: '1000', isFather: true, fatherWrapper: $("#mainBox", parent.document) });
  636. return
  637. }
  638. return post(api.saveQcListPageSet, { pageType: 1, sysUserPagesetVOList: sysUserPagesetVOList }).then(res => {
  639. if (res.data.code == '0') {
  640. closeColSet()
  641. } else {
  642. $("#mainBox .colSetBox", parent.document).remove()
  643. $.alerModal({ "message": '保存失败,请重试~', type: "tip", time: '1000', isFather: true, fatherWrapper: $("#mainBox", parent.document) });
  644. }
  645. }).catch((e) => {
  646. $("#mainBox .colSetBox", parent.document).remove()
  647. $.alerModal({ "message": '保存失败,请重试~', type: "tip", time: '1000', isFather: true, fatherWrapper: $("#mainBox", parent.document) });
  648. })
  649. })
  650. }
  651. function bindColOrder() {
  652. $(".pageSetUp", parent.document).off("click").on("click", function () {
  653. const index = parseInt($(this).parent().parent().parent().parent().attr("data-index"))
  654. if (index != 0) {
  655. const upItem = pageSetCopy[index]
  656. const upItemPre = pageSetCopy[index - 1]
  657. pageSetCopy.splice(index - 1, 2, upItem, upItemPre)
  658. scrollTop = $(".colTabInfoBox", parent.document).scrollTop()
  659. renderColSet(pageSetCopy)
  660. } else {
  661. return
  662. }
  663. })
  664. $(".pageSetDown", parent.document).off("click").on("click", function () {
  665. const index = parseInt($(this).parent().parent().parent().parent().attr("data-index"))
  666. if (index == pageSetCopy.length - 1) {
  667. return
  668. } else {
  669. const downItem = pageSetCopy[index]
  670. const downItemBack = pageSetCopy[index + 1]
  671. pageSetCopy.splice(index, 2, downItemBack, downItem)
  672. scrollTop = $(".colTabInfoBox", parent.document).scrollTop()
  673. renderColSet(pageSetCopy)
  674. }
  675. })
  676. }
  677. $(function () {
  678. $.datepicker.regional['zh-CN'] = {
  679. clearText: '清除',
  680. clearStatus: '清除已选e799bee5baa6e59b9ee7ad9431333361303131日期',
  681. closeText: '关闭',
  682. closeStatus: '不改变当前选择',
  683. prevText: '<上月',
  684. prevStatus: '显示上月',
  685. prevBigText: '<<',
  686. prevBigStatus: '显示上一年',
  687. nextText: '下月>',
  688. nextStatus: '显示下月',
  689. nextBigText: '>>',
  690. nextBigStatus: '显示下一年',
  691. currentText: '今天',
  692. currentStatus: '显示本月',
  693. monthNames: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],
  694. monthNamesShort: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],
  695. yearNamesShort: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],
  696. monthStatus: '选择月份',
  697. yearStatus: '选择年份',
  698. weekHeader: '周',
  699. weekStatus: '年内周次',
  700. dayNames: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'],
  701. dayNamesShort: ['周日', '周一', '周二', '周三', '周四', '周五', '周六'],
  702. dayNamesMin: ['日', '一', '二', '三', '四', '五', '六'],
  703. dayStatus: '设置 DD 为一周起始',
  704. dateStatus: '选择 m月 d日, DD',
  705. dateFormat: 'yy-mm-dd',
  706. firstDay: 1,
  707. initStatus: '请选择日期',
  708. isRTL: false
  709. };
  710. $.datepicker.setDefaults($.datepicker.regional['zh-CN']);
  711. let startDate = "", endDate = new Date()
  712. let year = new Date().getFullYear()
  713. let month = new Date().getMonth() + 1
  714. if (statisticsType == '1') {
  715. startDate = new Date(`${year}-${month}-01`)
  716. } else if (statisticsType == '2') {
  717. startDate = new Date(`${year}-01-01`)
  718. } else if (statisticsType == '3') {
  719. startDate = new Date(startDateParam)
  720. endDate = new Date(endDateParam)
  721. } else {
  722. startDate = "-6d"
  723. }
  724. if (behosDateStart && behosDateEnd) {
  725. startDate = new Date(behosDateStart)
  726. endDate = new Date(behosDateEnd)
  727. }
  728. $("#datepicker").datepicker({
  729. changeMonth: true,
  730. changeYear: true,
  731. dateFormat: "yy/mm/dd",
  732. }).datepicker("setDate", startDate);
  733. $("#datepicker2").datepicker({
  734. changeMonth: true,
  735. changeYear: true,
  736. dateFormat: "yy/mm/dd"
  737. }).datepicker("setDate", endDate);
  738. getTabData(page)
  739. });
  740. //分页渲染
  741. function renderPagination(totalPage, activePage, totalNum) {
  742. let str = `<span class="totalSum">共${totalPage}页/${totalNum}条数据</span><span class="prePage"><img class="arrowPage" src=${arrowLeft} /></span>`
  743. if (totalPage <= 6) {
  744. for (let i = 1; i <= totalPage; i++) {
  745. str += `<span class="pageNum ${'page' + i}" data-page=${i}>${i}</span>`
  746. }
  747. } else {
  748. if (activePage <= 3) { //选中页数小于4
  749. for (let i = 1; i <= 4; i++) {
  750. str += `<span class="pageNum ${'page' + i}" data-page=${i}>${i}</span>`
  751. }
  752. str += `<span class="more" >...</span>`
  753. str += `<span class="pageNum ${'page' + totalPage}" data-page=${totalPage}>${totalPage}</span>`
  754. } else if (activePage > totalPage - 3) {
  755. str += `<span class="pageNum page1" data-page=1>1</span>`
  756. str += `<span class="more" >...</span>`
  757. str += `<span class="pageNum ${'page' + (totalPage - 3)}" data-page=${totalPage - 3}>${totalPage - 3}</span>`
  758. str += `<span class="pageNum ${'page' + (totalPage - 2)}" data-page=${totalPage - 2}>${totalPage - 2}</span>`
  759. str += `<span class="pageNum ${'page' + (totalPage - 1)}" data-page=${totalPage - 1}>${totalPage - 1}</span>`
  760. str += `<span class="pageNum ${'page' + totalPage}" data-page=${totalPage}>${totalPage}</span>`
  761. } else {
  762. str += `<span class="pageNum page1" data-page=1>1</span>`
  763. str += `<span class="more" >...</span>`
  764. str += `<span class="pageNum ${'page' + (activePage - 1)}" data-page=${activePage - 1}>${activePage - 1}</span>`
  765. str += `<span class="pageNum ${'page' + activePage}" data-page=${activePage}>${activePage}</span>`
  766. str += `<span class="pageNum ${'page' + (activePage + 1)}" data-page=${activePage + 1}>${activePage + 1}</span>`
  767. str += `<span class="more" >...</span>`
  768. str += `<span class="pageNum ${'page' + totalPage}" data-page=${totalPage}>${totalPage}</span>`
  769. }
  770. }
  771. str += `<span class="nextPage"><img class="arrowPage" src=${arrowRight} /></span>`
  772. $('.pagination').html(str)
  773. $('.page' + activePage).addClass('activePage')
  774. $(".pageNum").on("click", function (e) {
  775. const activePageNow = Number($(this).attr('data-page'))
  776. page = activePageNow
  777. getTabData(activePageNow)
  778. // renderPagination(totalPage,activePageNow,totalNum)
  779. })
  780. $(".prePage").on("click", function (e) {
  781. let activePageNow = Number($(".activePage").attr('data-page'))
  782. page = activePageNow
  783. if (activePageNow > 1) {
  784. activePageNow--
  785. getTabData(activePageNow)
  786. // renderPagination(totalPage,activePageNow,totalNum)
  787. }
  788. })
  789. $(".nextPage").on("click", function (e) {
  790. let activePageNow = Number($(".activePage").attr('data-page'))
  791. page = activePageNow
  792. if (activePageNow < totalPage) {
  793. activePageNow++
  794. getTabData(activePageNow)
  795. // renderPagination(totalPage,activePageNow,totalNum)
  796. }
  797. })
  798. }
  799. $(document).on("click", function () {
  800. $(".selectDept .arrow").attr("src", iconDown)
  801. $(".deptList").css("display", "none")
  802. $(".selectModular .arrow").attr("src", iconDown)
  803. $(".modularList ").css("display", "none")
  804. $(".selectType .arrow").attr("src", iconDown)
  805. $(".typeList").css("display", "none")
  806. $(".qcSelectCheck .arrow").attr("src", iconDown)
  807. $(".qcCheckList").css("display", "none")
  808. })
  809. let radioCheck = 1;
  810. $((function ($) {
  811. $('.export').click(function () {
  812. const behosDateStartTime = new Date(behosDateStart).getTime()
  813. const behosDateEndTime = new Date(behosDateEnd).getTime()
  814. if (behosDateStartTime > behosDateEndTime) {
  815. $.alerModal({ "message": '开始时间不能大于结束时间~', type: "tip", time: '1000', isFather: true, fatherWrapper: $("#mainBox", parent.document) });
  816. return
  817. }
  818. const param = {
  819. deptId: deptId.trim(),
  820. deptName: deptName == "全部" ? "" : deptName || '',
  821. modeName: moduleName == "全部" ? "" : moduleName || '',
  822. operationType: operationType,
  823. state: state,
  824. isPlacefile: isPlacefile,
  825. size: 15,
  826. name: name,
  827. complaintDateEnd: behosDateEnd.replaceAll("/", "-"),
  828. complaintDateStart: behosDateStart.replaceAll("/", "-"),
  829. "desc": ['claimant_gmt_create']
  830. }
  831. expJson(api.getAppealReviewExport, param).then(res => {
  832. downloadExportedData(res.data, "申诉审核.xls")
  833. })
  834. })
  835. })($));