utils.js 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621
  1. const qs = require('qs');
  2. const $ = require('jquery');
  3. const axios = require('axios');
  4. var Utils = require('./rePromise');
  5. const {ywCheckApi} = require('./api.js')
  6. require('./scrollBar.js');
  7. const baseUrl = '';
  8. //页面映射
  9. const pageMap = {
  10. 'YH-KZT': 'console.html',
  11. 'YH-KZTKS': 'deptConsole.html',
  12. 'YH-JCSJWH-MKSJWH': 'moduleManager.html',
  13. 'YH-JCSJWH-TMSJWH': 'itemManager.html',
  14. 'YH-BLZK-ZKPF': 'qcList.html',
  15. 'YH-BLZK-ZKPFKS': 'qcListDept.html',
  16. 'YH-BLZK-ZKPFGR': 'qcListPerson.html',
  17. 'YH-TJFX': 'statistics.html',
  18. 'YH-QXGL-YHGL': 'userManager.html',
  19. 'YH-QXGL-JSGL': 'roleManager.html',
  20. 'YH-KSZR-GMKQXZB_XQ': 'mukuai.html?from=2',
  21. 'YH-KSZR-TMQXZB_XQ': 'singleVeto.html?from=2&special=1',
  22. 'YH-ZKK-GMKQXZB_XQ': 'mukuaiControl.html?from=1',
  23. 'YH-ZKK-TMQXZB_XQ': 'singleVeto.html?from=1&special=1',
  24. 'YH-YCSJJK': 'abnormal.html',
  25. 'YH-ZKK-KSPJZYTS_XQ': 'dayDetail.html',
  26. 'YH-ZKK-KSPJZYHF_XQ': 'payDetail.html',
  27. 'YH-ZKK-GKSQXZB': 'deptScoreDetailControl.html',
  28. 'YH-ZKK-GKSZKPJF_XQ': 'deptScoreDetailControl.html',
  29. 'YH-JCSJWH': 'deptScoreDetailControl.html',
  30. 'YH-ZKK-GKSQXZB_XQ': 'deptScoreDetailControl.html',
  31. 'YH-KSZR-KSQXZB_XQ': 'deptScoreDetailControlDept.html?from=2',
  32. 'YH-ZKK-GKSJJBLZB_XQ': 'jiaji.html',
  33. 'YH-ZKK-BASYHGLZB_XQ': 'partDetailControl.html',
  34. 'YH-KSZR-BASYHGLZB_XQ': 'partDetailControlDept.html',
  35. 'YH-ZKK-ZKHCTJ': 'checkControl.html',
  36. 'YH-KSZR-ZKHCTJ_XQ': 'checkControlDept.html',
  37. 'YH-KSZR-SXXXGTJ_XQ': 'uncorrectedCasesStatisticsDept.html',
  38. 'YH-KSZR-31TZRYRS_XQ': 'readmissionDept.html',
  39. 'YH-KSZR-ZMBLJCS_XQ': 'uncorrectedCopyDept.html',
  40. 'YH-KSZR-YXBLJCS_XQ': 'uncorrectedCopyDept.html',
  41. 'YH-JCSJWH-ZKLXWH': 'assertType.html',
  42. 'YH-BLZK-ZKPFYLZ': 'qcListDocteam.html',
  43. 'YH-ZKK-GJTMQXZB': 'keyItemFlawControl.html',
  44. 'YH-ZKK-BASYHGLYSZB_XQ': 'qualifiedPhysician.html',
  45. 'YH-KSZR-BASYHGLYSZB_XQ': 'deptQualifiedPhysician.html',
  46. 'YH-ZKK-CYRSTJ': 'qcListOutHospital.html',
  47. 'YH-ZKK-RYRSTJ': 'qcListOutHospital.html?inner=2',
  48. 'YH-ZKK-WZGBLTJ': 'uncorrectedCasesStatistics.html',
  49. 'YH-ZKK-31TZRYRS': 'readmission.html',
  50. 'YH-ZKK-YXBLJCB': 'uncorrectedCopy.html',
  51. 'YH-ZKK-ZMBLJCB': 'uncorrectedCopy.html',
  52. 'YH-KSZR-GJTMQXZB_XQ': 'keyItemFlawControlDept.html',
  53. 'YH-KSZR-CYRSTJ_XQ': 'qcListOutHospitalDept.html?from=2',
  54. 'YH-KSZR-RYRSTJ_XQ': 'qcListOutHospitalDept.html?inner=2&from=2',
  55. 'YH-ZKK-BLZK_XQ':'qcListYw.html',
  56. 'YH-KSZR-BLZK_XQ':'qcListDeptYw.html',
  57. 'YH-ZKHC-SCHCRW':'creatCheckTask.html', //义乌-生成核查任务
  58. 'YH-ZKHC-FPHCRW':'allotCheckTask.html', //义乌-分配核查任务
  59. 'YH-ZKHC-HCRWLB':'checkTaskList.html', //义乌-核查任务列表
  60. 'YH-ZKK-YLZLKZZB_XQ': 'qualityControl.html',
  61. 'YH-SJBJ':'editableDetail.html' //数据编辑
  62. };
  63. //导出时间天数
  64. const exportTimeLimit = {
  65. defectTime: 90,
  66. normalTime: 7,
  67. yiwuTime:30,
  68. };
  69. //重写assign方法
  70. if (typeof Object.assign != 'function') {
  71. Object.assign = function(target) {
  72. 'use strict';
  73. if (target == null) {
  74. throw new TypeError('Cannot convert undefined or null to object');
  75. }
  76. target = Object(target);
  77. for (var index = 1; index < arguments.length; index++) {
  78. var source = arguments[index];
  79. if (source != null) {
  80. for (var key in source) {
  81. if (Object.prototype.hasOwnProperty.call(source, key)) {
  82. target[key] = source[key];
  83. }
  84. }
  85. }
  86. }
  87. return target;
  88. };
  89. }
  90. window.console =
  91. window.console ||
  92. (function() {
  93. var c = {};
  94. c.log = c.warn = c.debug = c.info = c.error = c.time = c.dir = c.profile = c.clear = c.exception = c.trace = c.assert = function() {};
  95. return c;
  96. })();
  97. const getUrlArgObject = function getQueryString(name) {
  98. var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
  99. var reg_rewrite = new RegExp('(^|/)' + name + '/([^/]*)(/|$)', 'i');
  100. var r = window.location.search.substr(1).match(reg);
  101. var q = window.location.pathname.substr(1).match(reg_rewrite);
  102. if (r != null) {
  103. return decodeURIComponent(r[2]);
  104. } else if (q != null) {
  105. return decodeURIComponent(q[2]);
  106. } else {
  107. return null;
  108. }
  109. };
  110. const getUrlArgObjectNew = function(name, srcUrl) {
  111. if (srcUrl.indexOf('?') == -1) {
  112. return '';
  113. }
  114. var r = srcUrl.split('?')[1].split('&'),
  115. obj = {};
  116. for (let i = 0; i < r.length; i++) {
  117. let tmp = r[i].split('=');
  118. obj[tmp[0]] = tmp[1];
  119. }
  120. return obj[name];
  121. };
  122. window.abortAjax = '';
  123. const post = function(url, data) {
  124. let isPlacefile = getCookie('isPlacefile') || 1;
  125. const token = getCookie('accessToken') || localStorage.getItem('accessToken');
  126. if (!token && window.location.href.indexOf('login') == -1) {
  127. setCookie('behosDateStart', '');
  128. setCookie('behosDateEnd', '');
  129. window.location.href = '../login.html';
  130. }
  131. for (let i = 0; i < $('.typeFilter').children().length; i++) {
  132. if (
  133. $('.typeFilter')
  134. .children()
  135. .eq(i)
  136. .html() == '出院日期:' &&
  137. isPlacefile == 0
  138. ) {
  139. $('.typeFilter')
  140. .children()
  141. .eq(i)
  142. .html('入院日期:');
  143. }
  144. }
  145. let need = window.location.href.indexOf('localhost') != -1;
  146. return new Utils((resolve, reject) => {
  147. abortAjax = $.ajax({
  148. method: 'post',
  149. url: (need ? baseUrl : '') + url,
  150. async: true,
  151. cache: false,
  152. processData: false,
  153. data: JSON.stringify(Object.assign({}, data, { isPlacefile: isPlacefile })),
  154. contentType: 'application/json; charset=UTF-8',
  155. beforeSend: function(xmlHttp) {
  156. xmlHttp.setRequestHeader('If-Modified-Since', '0');
  157. xmlHttp.setRequestHeader('Cache-Control', 'no-cache');
  158. xmlHttp.setRequestHeader('Authorization', token ? 'Bearer ' + token : '');
  159. },
  160. success: function(res) {
  161. resolve({ data: res });
  162. },
  163. error: function(error) {
  164. const wd = window.parent.window || window;
  165. if (error.status === 403 || error.status === 401) {
  166. setCookie('behosDateStart', '');
  167. setCookie('behosDateEnd', '');
  168. $.alerModal({"message":"没有该权限",type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
  169. // wd.location.href = "../login.html";
  170. } else if (error.status === 500 || error.status === 501 || error.status === 404) {
  171. $.alerModal({"message":'接口错误',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
  172. // wd.location.href = '../error.html?code=' + error.status;
  173. }
  174. reject(error);
  175. },
  176. });
  177. });
  178. };
  179. // 导出
  180. const expJson = (url, data) => {
  181. const token = getCookie('accessToken') || localStorage.getItem('accessToken');
  182. if (!token && window.location.href.indexOf('login') == -1) {
  183. setCookie('behosDateStart', '');
  184. setCookie('behosDateEnd', '');
  185. window.location.href = '../login.html';
  186. }
  187. let need = window.location.href.indexOf('localhost') != -1;
  188. return axios({
  189. method: 'post',
  190. url: (need ? baseUrl : '') + url,
  191. data: data,
  192. contentType: 'application/vnd.ms-excel',
  193. responseType: 'blob', //必须添加,否则会乱码
  194. headers: {
  195. Authorization: 'Bearer ' + token,
  196. },
  197. });
  198. };
  199. //导出接口返回流下载
  200. function downloadExportedData(data, fileName) {
  201. var blob = new Blob([data], {
  202. type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8',
  203. }); //application/vnd.openxmlformats-officedocument.spreadsheetml.sheet这里表示xlsx类型
  204. var downloadElement = document.createElement('a');
  205. var href = window.URL.createObjectURL(blob); //创建下载的链接
  206. downloadElement.href = href;
  207. downloadElement.download = fileName; //下载后文件名
  208. document.body.appendChild(downloadElement);
  209. downloadElement.click(); //点击下载
  210. document.body.removeChild(downloadElement); //下载完成移除元素
  211. window.URL.revokeObjectURL(href);
  212. }
  213. //判断浏览器是否为Ie8
  214. const isIe8 = function() {
  215. var DEFAULT_VERSION = 8.0;
  216. var ua = navigator.userAgent.toLowerCase();
  217. var isIE = ua.indexOf('msie') > -1;
  218. var safariVersion;
  219. if (isIE) {
  220. safariVersion = ua.match(/msie ([\d.]+)/)[1];
  221. }
  222. if (safariVersion <= DEFAULT_VERSION) {
  223. return true;
  224. }
  225. };
  226. const setCookie = function(name, value) {
  227. let Days = 30;
  228. let exp = new Date();
  229. exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000);
  230. document.cookie = name + '=' + escape(value) + ';expires=' + exp.toGMTString();
  231. };
  232. //读取cookies
  233. const getCookie = function(name) {
  234. let arr,
  235. reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)');
  236. if ((arr = document.cookie.match(reg))) return unescape(arr[2]);
  237. else return null;
  238. };
  239. const setLocal = function(name, value) {
  240. localStorage.setItem(name, value);
  241. };
  242. //读取cookies
  243. const getLocal = function(name) {
  244. return localStorage.getItem(name);
  245. };
  246. //删除cookies
  247. const delCookie = function(name) {
  248. let exp = new Date();
  249. exp.setTime(exp.getTime() - 1);
  250. let cval = getCookie(name);
  251. if (cval != null) document.cookie = name + '=' + cval + ';expires=' + exp.toGMTString();
  252. };
  253. //弹窗关闭事件
  254. $('.modal .close').click(function() {
  255. $('.modal').hide();
  256. });
  257. //计算容器高度
  258. function setBoxHeight() {
  259. const ht = window.innerHeight;
  260. const hw = window.innerWidth;
  261. if(hw<1169){
  262. $('.content-box').height(ht - 110 + 'px');
  263. }else{
  264. $('.content-box').height(ht - 60 + 'px');
  265. }
  266. //$('.content-box').height(ht - 60 + 'px');
  267. $('.flaw-table').height(ht - 70 + 'px');
  268. $('.content-ht').height(ht - 120 + 'px');
  269. $('.scroll-table tbody').css('max-height', ht - 210 + 'px');
  270. }
  271. setBoxHeight();
  272. $(window).resize(function() {
  273. setBoxHeight();
  274. });
  275. //判断有无某一权限
  276. function hasData(data) {
  277. let lis = JSON.parse(getCookie('codeLis')) || [];
  278. if (lis.indexOf(data) > -1) {
  279. //有权限
  280. return true;
  281. }
  282. return false;
  283. }
  284. //定位对应明细菜单
  285. function focusMenuItem(code) {
  286. const ele = $(parent.document).find('.menu .page[code=' + code + ']');
  287. const parEle = ele.parents('.list-1');
  288. if (!parEle.is('.list-1-show')) {
  289. parEle.click();
  290. }
  291. //console.log($(parent.document).find(".menu .page[code='YH-ZKK-GMKQXZB_XQ']"))
  292. ele.click();
  293. }
  294. function emptyBox(name, showNum, type) {
  295. let showNumer = showNum || 30;
  296. let str = `<tr><td colspan="${showNumer}" style="text-align: center;color: #aaa">
  297. <img style="margin-top:50px;width:${type ? '110' : '140'}px;" src="${
  298. type ? require('../images/dataing.png') : require('../images/empty1.png')
  299. }" />
  300. <p style="margin-top:20px;margin-bottom:30px;color:#ccc;position:relative;left:5px;">${name ||
  301. '暂无数据~'}</p>
  302. </td></tr>`;
  303. return str;
  304. }
  305. function picEmptyData(dom, str) {
  306. let empty = `<div class="emptyBoxHome">
  307. <img src="${require('../images/emptyHome.png')}">
  308. <p>${str || '暂无数据~'}</p>
  309. </div>
  310. `;
  311. $(dom)
  312. .css({ position: 'relative', display: 'block' })
  313. .html(empty);
  314. }
  315. function setTitleTxt(dom, from) {
  316. if (!from) {
  317. $(dom ? dom : '.partTitle')
  318. .find('a')
  319. .remove();
  320. }
  321. }
  322. //mode=1:本月,mode=2:本年,mode="default":默认情况(1周) startDateDefault:mode不等于1和2开始日期,endDateDefault:mode不等于1和2结束日期
  323. function setDatePicker(picker1, picker2, mode, startDateDefault, endDateDefault) {
  324. $.datepicker.regional['zh-CN'] = {
  325. clearText: '清除',
  326. clearStatus: '清除已选e799bee5baa6e59b9ee7ad9431333361303131日期',
  327. closeText: '关闭',
  328. closeStatus: '不改变当前选择',
  329. prevText: '<上月',
  330. prevStatus: '显示上月',
  331. prevBigText: '<<',
  332. prevBigStatus: '显示上一年',
  333. nextText: '下月>',
  334. nextStatus: '显示下月',
  335. nextBigText: '>>',
  336. nextBigStatus: '显示下一年',
  337. currentText: '今天',
  338. currentStatus: '显示本月',
  339. monthNames: [
  340. '一月',
  341. '二月',
  342. '三月',
  343. '四月',
  344. '五月',
  345. '六月',
  346. '七月',
  347. '八月',
  348. '九月',
  349. '十月',
  350. '十一月',
  351. '十二月',
  352. ],
  353. monthNamesShort: [
  354. '一月',
  355. '二月',
  356. '三月',
  357. '四月',
  358. '五月',
  359. '六月',
  360. '七月',
  361. '八月',
  362. '九月',
  363. '十月',
  364. '十一月',
  365. '十二月',
  366. ],
  367. yearNamesShort: [
  368. '一月',
  369. '二月',
  370. '三月',
  371. '四月',
  372. '五月',
  373. '六月',
  374. '七月',
  375. '八月',
  376. '九月',
  377. '十月',
  378. '十一月',
  379. '十二月',
  380. ],
  381. monthStatus: '选择月份',
  382. yearStatus: '选择年份',
  383. weekHeader: '周',
  384. weekStatus: '年内周次',
  385. dayNames: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'],
  386. dayNamesShort: ['周日', '周一', '周二', '周三', '周四', '周五', '周六'],
  387. dayNamesMin: ['日', '一', '二', '三', '四', '五', '六'],
  388. dayStatus: '设置 DD 为一周起始',
  389. dateStatus: '选择 m月 d日, DD',
  390. dateFormat: 'yy-mm-dd',
  391. firstDay: 1,
  392. initStatus: '请选择日期',
  393. isRTL: false,
  394. };
  395. $.datepicker.setDefaults($.datepicker.regional['zh-CN']);
  396. let startDate = '',
  397. endDate = new Date();
  398. let year = new Date().getFullYear();
  399. let month = new Date().getMonth() + 1;
  400. if (mode == '1') {
  401. startDate = new Date(`${year}-${month}-01`);
  402. } else if (mode == '2') {
  403. startDate = new Date(`${year}-01-01`);
  404. } else if (mode == 'default') {
  405. startDate = new Date(`${year}-01-01`);
  406. } else {
  407. startDate = startDateDefault || new Date();
  408. endDate = endDateDefault || new Date();
  409. }
  410. if (picker1) {
  411. picker1
  412. .datepicker({
  413. yearRange: '2015:' + year,
  414. changeMonth: true,
  415. changeYear: true,
  416. dateFormat: 'yy/mm/dd',
  417. })
  418. .datepicker('setDate', startDate);
  419. }
  420. if (picker2) {
  421. picker2
  422. .datepicker({
  423. yearRange: '2015:' + year,
  424. changeMonth: true,
  425. changeYear: true,
  426. dateFormat: 'yy/mm/dd',
  427. })
  428. .datepicker('setDate', endDate);
  429. }
  430. }
  431. //mode=1获取开始时间,mode=1获取结束时间
  432. function getPickerDate(picker, mode) {
  433. if (!picker) {
  434. return;
  435. }
  436. let date = picker.val();
  437. if (mode == 1) {
  438. return date + ' 00:00:00';
  439. // return date.replace(/\//g,'-') + ' 00:00:00'
  440. } else if (mode == 2) {
  441. return date + ' 23:59:59';
  442. // return date.replace(/\//g,'-') + ' 23:59:59'
  443. }
  444. }
  445. function isMac() {
  446. var isMac = /macintosh|mac os x/i.test(navigator.userAgent);
  447. return isMac;
  448. }
  449. function initScroll(el, sliderDir, sliderMode, top) {
  450. if (!$('.' + el + '_scroll_cont')[0]) {
  451. $('.' + el).addClass('scroll_cont');
  452. $('.' + el).addClass(el + '_scroll_cont');
  453. $('.' + el).wrap(`<div class="scroll_wrap ${el + '_scroll_wrap'}"></div>`);
  454. $(`${'.' + el + '_scroll_wrap'}`).append(`<div class="scroll_bar ${el + '_scroll_bar'}">
  455. <div class="scroll_slider ${el + '_scroll_slider'}"></div>
  456. </div>`);
  457. if (sliderDir === 'YX') {
  458. $(`${'.' + el + '_scroll_wrap'}`).append(`<div class="scroll_bar ${el + '_scroll_bar2'}">
  459. <div class="scroll_slider ${el + '_scroll_slider2'}"></div>
  460. </div>`);
  461. }
  462. }
  463. if (sliderDir == 'YX') {
  464. new CusScrollBar({
  465. contentSelector: `${'.' + el + '_scroll_cont'}`, //滚动内容区
  466. barSelector: `${'.' + el + '_scroll_bar'}`, //滚动条
  467. sliderSelector: `${'.' + el + '_scroll_slider'}`, //滚动滑块
  468. scrollDir: 'Y',
  469. sliderMode: sliderMode || 1,
  470. top: top || '0px',
  471. });
  472. new CusScrollBar({
  473. contentSelector: `${'.' + el + '_scroll_cont'}`, //滚动内容区
  474. barSelector: `${'.' + el + '_scroll_bar2'}`, //滚动条
  475. sliderSelector: `${'.' + el + '_scroll_slider2'}`, //滚动滑块
  476. scrollDir: 'X',
  477. sliderMode: sliderMode || 1,
  478. });
  479. } else {
  480. new CusScrollBar({
  481. contentSelector: `${'.' + el + '_scroll_cont'}`, //滚动内容区
  482. barSelector: `${'.' + el + '_scroll_bar'}`, //滚动条
  483. sliderSelector: `${'.' + el + '_scroll_slider'}`, //滚动滑块
  484. scrollDir: sliderDir || 'Y',
  485. sliderMode: sliderMode || 1,
  486. top: top || '0px',
  487. });
  488. }
  489. }
  490. //获取筛选分值、任务来源列表
  491. function getScoreTabList(fn,isSource){
  492. /*let val='';
  493. if(isSource){
  494. val = localStorage.getItem('sourceList');
  495. }else{
  496. val = localStorage.getItem('valueList');
  497. }
  498. if((val||'').trim()){
  499. fn(isSource?JSON.parse(val):val.split(","));
  500. return;
  501. }*/
  502. post(ywCheckApi.getCheckType).then(res =>{
  503. if(res.data.code == '0'){
  504. const data = res.data.data;
  505. //localStorage.setItem('sourceList',JSON.stringify(data.source));
  506. //localStorage.setItem('valueList',data.value.join(","));
  507. fn(isSource?data.source:data.value)
  508. }else{
  509. $.alerModal({"message":res.data.msg,type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
  510. }
  511. }).catch((e) =>{
  512. $.alerModal({"message":'获取任务来源及筛选分值数据失败',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
  513. })
  514. }
  515. function listenScroll(dom) {
  516. $(dom ? dom : '.container').scroll(() => {
  517. $.datepicker._hideDatepicker($('#datepicker')[0]);
  518. $.datepicker._hideDatepicker($('#datepicker2')[0]);
  519. $.datepicker._hideDatepicker($('#datepickerFp1')[0]);
  520. $.datepicker._hideDatepicker($('#datepickerFp2')[0]);
  521. $.datepicker._hideDatepicker($('#datepickerQc1')[0]);
  522. $.datepicker._hideDatepicker($('#datepickerQc2')[0]);
  523. $('#datepicker').trigger('blur');
  524. $('#datepicker2').trigger('blur');
  525. $('#datepickerFp1').trigger('blur');
  526. $('#datepickerFp2').trigger('blur');
  527. $('#datepickerQc1').trigger('blur');
  528. $('#datepickerQc2').trigger('blur');
  529. });
  530. }
  531. //获取隐藏/替换logo参数
  532. function getLogoParam() {
  533. const otherLogo = window.parent.location.search.indexOf("adLg=")>-1;
  534. const hideLogo = window.parent.location.search.indexOf("hideLg=")>-1;
  535. const otherLogoPm = otherLogo ? '&adLg=1' : '';
  536. const hideLogoPm = hideLogo ? '&hideLg=1' : '';
  537. return otherLogoPm+hideLogoPm;
  538. }
  539. function toast(msg) {
  540. return $.alerModal({ "message": msg, type: "tip", time: '1000', isFather: true, fatherWrapper: $("#mainBox", parent.document) });
  541. }
  542. const explainTitle = {
  543. 科室编码: 'deptId',
  544. 科室: 'deptName',
  545. 医疗组: 'doctorName',
  546. 入院记录24小时内: 'ryjlw_24',
  547. 首次病程记录8小时内: 'scbcjlw_8h',
  548. '副主任/主任医师首次查房72小时内完成': 'zrsccfw_72h',
  549. '入院后连记3天病程(不包括术后首程)': 'ryhljbcw_3d',
  550. '每周至少2次副主任/主任医师查房': 'zrcfw_2w',
  551. 每周至少3次主治医师查房记录: 'zzcfw_3w',
  552. 抢救记录6小时内完成: 'qjjlw_6h',
  553. 会诊记录在会诊申请后24小时完成: 'hzjlw_24h',
  554. '术前讨论、术前小结完成': 'sqtlxjw',
  555. 手术记录术后24小时内完成: 'sxjlsw_24h',
  556. 术后首程在术后30分钟内完成: 'xhscw_30m',
  557. 术后主刀查房24小时内完成: 'shzdcfw_24h',
  558. '术后连记3天病程(包括术后首程)': 'shjbcw_3d',
  559. '转科后连记3天病程(包括专科记录)': 'zkjbcw_3d',
  560. 转接科记录专科后24小时内完成: 'zkjlw_24',
  561. '病危/重患者每日记录病程': 'bwzhjlbcw_md',
  562. 输血后完成输血记录: 'sxhwjl',
  563. '24小时完成输血后评价': 'sxpjw_24',
  564. 危急值记录: 'wjzwjl',
  565. 住院30天阶段小结: 'wywwcxj',
  566. };
  567. module.exports = {
  568. pageMap,
  569. exportTimeLimit,
  570. post,
  571. getUrlArgObject,
  572. getUrlArgObjectNew,
  573. isIe8,
  574. setCookie,
  575. getCookie,
  576. delCookie,
  577. getLocal,
  578. setLocal,
  579. setBoxHeight,
  580. hasData,
  581. focusMenuItem,
  582. emptyBox,
  583. picEmptyData,
  584. setTitleTxt,
  585. downloadExportedData,
  586. expJson,
  587. setDatePicker,
  588. getPickerDate,
  589. isMac,
  590. initScroll,
  591. listenScroll,
  592. explainTitle,
  593. getScoreTabList,
  594. getLogoParam,
  595. toast
  596. };