jy_jc.js 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726
  1. //@ sourceURL=jy_jc.js
  2. var LODOP; //声明为全局变量
  3. //默认打印机下标
  4. var printIndex = -1;
  5. //是否有检查内容可以打印
  6. var canBePrintJc = false;
  7. //是否有检验内容可以打印
  8. var canBePrintJy = false;
  9. $(function () {
  10. //默认光标在卡号输入框
  11. $("#cardNo").focus();
  12. init_daterangepicker();
  13. //卡号输入改变事件
  14. cardNoChange();
  15. initJcJyTable();
  16. //重置查询参数
  17. $('#btn_clean').click(function () {
  18. cleanParams();
  19. });
  20. //初始化页面上面的按钮事件
  21. //查询
  22. $('#btn_query').click(function () {
  23. initJcJyTable();
  24. });
  25. //打印检查检验报告单
  26. $('#btn_print').click(function () {
  27. printJyJcReport(1);
  28. });
  29. //打印设置检查检验报告单
  30. $('#btn_print_setup').click(function () {
  31. printJyJcReport(2);
  32. });
  33. });
  34. /**
  35. * 列表类型按钮切换事件
  36. * @param object
  37. */
  38. function payMarkButtonChange(object) {
  39. $("#pay_mark_group").find("button").each(function (index, element) {
  40. if ($(element).hasClass("btn-primary")) {
  41. $(element).removeClass("btn-primary").addClass("btn-default");
  42. }
  43. });
  44. $(object).removeClass("btn-default").addClass("btn-primary");
  45. initJcJyTable();
  46. }
  47. /**
  48. * 初始化检查检验报告列表
  49. */
  50. function initJcJyTable() {
  51. var typeIndex = getIndex("pay_mark_group");
  52. if (typeIndex == 0) {
  53. //检查
  54. $('#tb_jy_pName_table_list').bootstrapTable("destroy");
  55. $('#tb_jy_table_list').bootstrapTable("destroy");
  56. initJcListTable();
  57. $("#jy_detail").removeClass("in").addClass("hide");
  58. $("#jc_detail").removeClass("hide").addClass("in");
  59. } else {
  60. $('#tb_table_list').bootstrapTable("destroy");
  61. initJyListTable();
  62. $("#jc_detail").removeClass("in").addClass("hide");
  63. $("#jy_detail").removeClass("hide").addClass("in");
  64. }
  65. }
  66. /**
  67. * 初始化检查报告列表
  68. */
  69. function initJcListTable() {
  70. $('#tb_table_list').bootstrapTable("destroy");
  71. $('#tb_table_list').bootstrapTable({
  72. url: '/thmz/getJcJyList', //请求后台的URL(*)
  73. method: 'post', //请求方式(*)
  74. toolbar: '#toolbar', //工具按钮用哪个容器
  75. striped: true, //是否显示行间隔色
  76. cache: false, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
  77. pagination: true, //是否显示分页(*)
  78. sortable: true, //是否启用排序
  79. sortOrder: "asc", //排序方式
  80. queryParams: queryParams, //传递参数(*)
  81. sidePagination: "server", //分页方式:client客户端分页,server服务端分页(*)
  82. pageNumber: 1, //初始化加载第一页,默认第一页
  83. pageSize: 10, //每页的记录行数(*)
  84. pageList: [5, 10, 25, 50, 100], //可供选择的每页的行数(*)
  85. search: false, //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
  86. strictSearch: true,
  87. showColumns: false, //是否显示所有的列
  88. showRefresh: false, //是否显示刷新按钮
  89. minimumCountColumns: 2, //最少允许的列数
  90. clickToSelect: true, //是否启用点击选中行
  91. uniqueId: "ID", //每一行的唯一标识,一般为主键列
  92. showToggle: false, //是否显示详细视图和列表视图的切换按钮
  93. cardView: false, //是否显示详细视图
  94. detailView: false,
  95. //rowStyle:rowStyle,//通过自定义函数设置行样式
  96. ajaxOptions: {
  97. headers: {
  98. 'Accept': 'application/json',
  99. 'Authorization': 'Bearer ' + localStorage.getItem("token")
  100. }
  101. },
  102. columns: [
  103. {
  104. field: 'patientId',
  105. title: '门诊ID',
  106. align: "center",
  107. valign: 'middle',
  108. }, {
  109. field: 'patientName',
  110. title: '病人姓名',
  111. align: "center",
  112. valign: 'middle',
  113. }, {
  114. field: 'groupName',
  115. title: '项目名称',
  116. align: "center",
  117. valign: 'middle',
  118. }, {
  119. field: 'reqDate',
  120. title: '申请时间',
  121. align: "center",
  122. valign: 'middle',
  123. formatter: function (value, row, index) {
  124. if (value == null || value == "") {
  125. return "";
  126. }
  127. return format(value, "yyyy-MM-dd HH:mm:ss");
  128. }
  129. }
  130. ],
  131. onClickRow: function (row) {
  132. clearJcDetail();
  133. $("#patientId_t").text(row.patientId);
  134. $("#name_t").text(row.patientName);
  135. $("#date_t").text(format(row.reqDate, "yyyy-MM-dd HH:mm:ss"));
  136. fitJcDetail(row.reqNo,row.patientId);
  137. },
  138. responseHandler: function (res) {
  139. if (res == '401' || res == 401) {
  140. window.location.href = '/thmz/login/view'
  141. return;
  142. }
  143. var ress = eval(res);
  144. if (ress.code == -1) {
  145. if (ress.message != null && ress.message != '') {
  146. errorMesage(ress);
  147. }
  148. return {
  149. "total": 0,//总页数
  150. "rows": {} //数据
  151. };
  152. }
  153. return {
  154. "total": ress.count,//总页数
  155. "rows": ress.data //数据
  156. };
  157. },
  158. onLoadSuccess: function (data) {
  159. $(".pagination-detail").css("display", "none");
  160. }
  161. });
  162. }
  163. /**
  164. * 构建列表查询参数
  165. * @param params
  166. * @returns {{mzChargeDetail: {patientId: string | number | string[] | undefined | jQuery, warnDept: string | number | string[] | undefined | jQuery, doctorCode: string | number | string[] | undefined | jQuery, name: string | number | string[] | undefined | jQuery, payMark: number}, beginTime: Date, endTime: Date, pageSize: *, pageIndex: number}}
  167. */
  168. function queryParams(params) {
  169. var rePortRangeArr = getRePortRangeArr();
  170. return {
  171. patientName: $("#cardNo").val(),
  172. reqType: "3",
  173. beginTime: rePortRangeArr[0],
  174. endTime: rePortRangeArr[1],
  175. pageSize: params.limit, //页面大小
  176. pageIndex: params.offset / params.limit //页码
  177. };
  178. };
  179. /**
  180. * 加载检查明细
  181. * @param reqNo
  182. */
  183. function fitJcDetail(reqNo,patientId) {
  184. $.ajax({
  185. type: "GET",
  186. url: '/thmz/getYjJcRecordReport?hisReqNo=' + reqNo+"&patientId="+patientId,
  187. contentType: "application/json;charset=UTF-8",
  188. dataType: "json",
  189. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  190. success: function (res) {
  191. if (res == '401' || res == 401) {
  192. window.location.href = '/thmz/login/view'
  193. return;
  194. }
  195. if (res.code == 0) {
  196. canBePrintJc = true;
  197. $("#jy_detail").removeClass("in").addClass("hide");
  198. $("#jc_detail").removeClass("hide").addClass("in");
  199. var mzPatientMi = res.data.mzPatientMi;
  200. $("#gender_jc").text(mzPatientMi.gender);
  201. $("#age_jc").text(mzPatientMi.age);
  202. var yjJcRecordReport = res.data.yjJcRecordReport;
  203. $("#groupName").text(res.data.groupName);
  204. $("#textJc").text(yjJcRecordReport.textJc);
  205. $("#textZd").text(yjJcRecordReport.textZd);
  206. var jcRecord = res.data.jcRecord;
  207. $("#report_no").text(jcRecord.reportNo);
  208. $("#reportId").text(jcRecord.reportId);
  209. if (jcRecord.reportDate == null || jcRecord.reportDate == "") {
  210. $("#reportDate").html("                                 ");
  211. } else {
  212. $("#reportDate").text(format(jcRecord.reportDate, "yyyy-MM-dd HH:mm:ss"));
  213. }
  214. $("#confirmId").text(jcRecord.confirmId);
  215. if (jcRecord.confirmDate == null || jcRecord.confirmDate == "") {
  216. $("#confirmDate").html("                                 ");
  217. } else {
  218. $("#confirmDate").text(format(jcRecord.confirmDate, "yyyy-MM-dd HH:mm:ss"));
  219. }
  220. } else {
  221. errorMesage(res);
  222. }
  223. }
  224. });
  225. }
  226. /**
  227. * 清空检查明细
  228. * @param reqNo
  229. */
  230. function clearJcDetail() {
  231. canBePrintJc = false;
  232. $("#patientId_t").text("");
  233. $("#name_t").text("");
  234. $("#date_t").text("");
  235. $("#gender_jc").text("");
  236. $("#age_jc").text("");
  237. $("#groupName").text("");
  238. $("#textJc").text("");
  239. $("#textZd").text("");
  240. $("#report_no").text("");
  241. $("#reportId").text("");
  242. $("#reportDate").html("                                 ");
  243. $("#confirmId").text("");
  244. $("#confirmDate").html("                                 ");
  245. }
  246. /**
  247. * 初始化检验报告列表
  248. */
  249. function initJyListTable() {
  250. $('#tb_jy_pName_table_list').bootstrapTable("destroy");
  251. $('#tb_jy_table_list').bootstrapTable("destroy");
  252. $('#tb_jy_pName_table_list').bootstrapTable({
  253. url: '/thmz/getJyPNameList', //请求后台的URL(*)
  254. method: 'post', //请求方式(*)
  255. toolbar: '#toolbar', //工具按钮用哪个容器
  256. striped: true, //是否显示行间隔色
  257. cache: false, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
  258. pagination: true, //是否显示分页(*)
  259. sortable: true, //是否启用排序
  260. sortOrder: "asc", //排序方式
  261. queryParams: queryJyPNameParams, //传递参数(*)
  262. sidePagination: "server", //分页方式:client客户端分页,server服务端分页(*)
  263. pageNumber: 1, //初始化加载第一页,默认第一页
  264. pageSize: 10, //每页的记录行数(*)
  265. pageList: [5, 10, 25, 50, 100], //可供选择的每页的行数(*)
  266. search: false, //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
  267. strictSearch: true,
  268. showColumns: false, //是否显示所有的列
  269. showRefresh: false, //是否显示刷新按钮
  270. minimumCountColumns: 2, //最少允许的列数
  271. clickToSelect: true, //是否启用点击选中行
  272. uniqueId: "ID", //每一行的唯一标识,一般为主键列
  273. showToggle: false, //是否显示详细视图和列表视图的切换按钮
  274. cardView: false, //是否显示详细视图
  275. detailView: false,
  276. //rowStyle:rowStyle,//通过自定义函数设置行样式
  277. ajaxOptions: {
  278. headers: {
  279. 'Accept': 'application/json',
  280. 'Authorization': 'Bearer ' + localStorage.getItem("token")
  281. }
  282. },
  283. columns: [
  284. {
  285. field: 'patientId',
  286. title: '门诊ID',
  287. align: "center",
  288. valign: 'middle',
  289. }, {
  290. field: 'patientName',
  291. title: '病人姓名',
  292. align: "center",
  293. valign: 'middle',
  294. }
  295. ],
  296. onClickRow: function (row) {
  297. initInspectionsIndexTable(row.patientId);
  298. },
  299. responseHandler: function (res) {
  300. if (res == '401' || res == 401) {
  301. window.location.href = '/thmz/login/view'
  302. return;
  303. }
  304. var ress = eval(res);
  305. if (ress.code == -1) {
  306. if (ress.message != null && ress.message != '') {
  307. errorMesage(ress);
  308. }
  309. return {
  310. "total": 0,//总页数
  311. "rows": {} //数据
  312. };
  313. }
  314. return {
  315. "total": ress.count,//总页数
  316. "rows": ress.data //数据
  317. };
  318. },
  319. onLoadSuccess: function (data) {
  320. $("#pName_table_div").find(".pagination-detail").css("display", "none");
  321. var pageItems = $("#pName_table_div").find(".page-item");
  322. if (pageItems != null && pageItems.length > 0) {
  323. for (var i = 1; i < pageItems.length - 1; i++) {
  324. $(pageItems[i]).css("display", "none");
  325. }
  326. }
  327. }
  328. });
  329. }
  330. /**
  331. * 构建列表查询参数
  332. * @param params
  333. * @returns {{mzChargeDetail: {patientId: string | number | string[] | undefined | jQuery, warnDept: string | number | string[] | undefined | jQuery, doctorCode: string | number | string[] | undefined | jQuery, name: string | number | string[] | undefined | jQuery, payMark: number}, beginTime: Date, endTime: Date, pageSize: *, pageIndex: number}}
  334. */
  335. function queryJyPNameParams(params) {
  336. var rePortRangeArr = getRePortRangeArr();
  337. return {
  338. patientName: $("#cardNo").val(),
  339. reqType: "2",
  340. beginTime: rePortRangeArr[0],
  341. endTime: rePortRangeArr[1],
  342. pageSize: params.limit, //页面大小
  343. pageIndex: params.offset / params.limit //页码
  344. };
  345. };
  346. /**
  347. * 加载检验列表 包含检验单id
  348. * @param patientId
  349. */
  350. function initInspectionsIndexTable(patientId) {
  351. var rePortRangeArr = getRePortRangeArr();
  352. $('#tb_jy_table_list').bootstrapTable("destroy");
  353. $('#tb_jy_table_list').bootstrapTable({
  354. url: '/thmz/getJyList?patientId=' + patientId + "&beginTime=" + rePortRangeArr[0] + "&endTime=" + rePortRangeArr[1], //请求后台的URL(*)
  355. method: 'get', //请求方式(*)
  356. toolbar: '#toolbar', //工具按钮用哪个容器
  357. striped: true, //是否显示行间隔色
  358. cache: false, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
  359. pagination: true, //是否显示分页(*)
  360. sortable: true, //是否启用排序
  361. sortOrder: "asc", //排序方式
  362. //queryParams: queryJyPNameParams, //传递参数(*)
  363. sidePagination: "client", //分页方式:client客户端分页,server服务端分页(*)
  364. pageNumber: 1, //初始化加载第一页,默认第一页
  365. pageSize: 10, //每页的记录行数(*)
  366. pageList: [5, 10, 25, 50, 100], //可供选择的每页的行数(*)
  367. search: false, //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
  368. strictSearch: true,
  369. showColumns: false, //是否显示所有的列
  370. showRefresh: false, //是否显示刷新按钮
  371. minimumCountColumns: 2, //最少允许的列数
  372. clickToSelect: true, //是否启用点击选中行
  373. uniqueId: "ID", //每一行的唯一标识,一般为主键列
  374. showToggle: false, //是否显示详细视图和列表视图的切换按钮
  375. cardView: false, //是否显示详细视图
  376. detailView: false,
  377. //rowStyle:rowStyle,//通过自定义函数设置行样式
  378. ajaxOptions: {
  379. headers: {
  380. 'Accept': 'application/json',
  381. 'Authorization': 'Bearer ' + localStorage.getItem("token")
  382. }
  383. },
  384. columns: [
  385. {
  386. field: 'aply_CTNT',
  387. title: '检验名称',
  388. align: "center",
  389. valign: 'middle',
  390. }, {
  391. field: 'ordr_CREATE_DATE',
  392. title: '检验时间',
  393. align: "center",
  394. valign: 'middle',
  395. formatter: function (value, row, index) {
  396. if (value == null || value == "") {
  397. return "";
  398. }
  399. return format(value, "yyyy-MM-dd HH:mm:ss");
  400. }
  401. }
  402. ],
  403. onClickRow: function (row) {
  404. queryInspectionDetail(row.ordr_ID);
  405. },
  406. responseHandler: function (res) {
  407. if (res == '401' || res == 401) {
  408. window.location.href = '/thmz/login/view'
  409. return;
  410. }
  411. var ress = eval(res);
  412. if (ress.code == -1) {
  413. if (ress.message != null && ress.message != '') {
  414. errorMesage(ress);
  415. }
  416. return {
  417. "total": 0,//总页数
  418. "rows": {} //数据
  419. };
  420. }
  421. return {
  422. "total": ress.data.length,//总页数
  423. "rows": ress.data //数据
  424. };
  425. },
  426. onLoadSuccess: function (data) {
  427. $("#jy_table_table_div").find(".pagination-detail").css("display", "none");
  428. }
  429. });
  430. }
  431. /**
  432. * 清空检验明细
  433. * @param orderId
  434. */
  435. function clearInspectionDetail() {
  436. canBePrintJy = false;
  437. $("#patientId_t_jy").text("");
  438. $("#name_t_jy").text("");
  439. $("#gender_jy").text("");
  440. $("#age_jy").text("");
  441. $("#reqDept_t_jy").text("");
  442. $("#bed_no_jy").text("");
  443. $("#smpl_jy").text("");
  444. $("#item_jy").text("");
  445. $("#applyDate").text("");
  446. $("#orderCreateDate").text("");
  447. $("#auditTime").text("");
  448. $("#orderUsrName").text("");
  449. $("#testUsrName").text("");
  450. $("#auditUsrName").text("");
  451. $("#jyBody").html("");
  452. }
  453. /**
  454. * 加载检验明细
  455. * @param orderId
  456. */
  457. function queryInspectionDetail(orderId) {
  458. clearInspectionDetail();
  459. $.ajax({
  460. type: "GET",
  461. url: '/thmz/getInspectionDetail?orderId=' + orderId,
  462. contentType: "application/json;charset=UTF-8",
  463. dataType: "json",
  464. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  465. success: function (res) {
  466. if (res == '401' || res == 401) {
  467. window.location.href = '/thmz/login/view'
  468. return;
  469. }
  470. if (res.code == 0) {
  471. canBePrintJy = true;
  472. $("#jc_detail").removeClass("in").addClass("hide");
  473. $("#jy_detail").removeClass("hide").addClass("in");
  474. var mzPatientMi = res.mzPatientMi;
  475. $("#patientId_t_jy").text(mzPatientMi.patientId);
  476. $("#name_t_jy").text(mzPatientMi.name);
  477. $("#gender_jy").text(mzPatientMi.gender);
  478. $("#age_jy").text(mzPatientMi.age);
  479. var html = "";
  480. if (res.data != null) {
  481. var inspectionHeader = res.data.inspectionHeader;
  482. $("#reqDept_t_jy").text(inspectionHeader.dept_NAME);
  483. $("#bed_no_jy").text(inspectionHeader.ptnt_BED_NO);
  484. $("#smpl_jy").text(inspectionHeader.smpl_NAME);
  485. $("#item_jy").text(inspectionHeader.aply_CNTN);
  486. $("#applyDate").text(format(inspectionHeader.aply_DATE, "yyyy-MM-dd HH:mm:ss"));
  487. $("#orderCreateDate").text(format(inspectionHeader.ordr_CREATE_DATE, "yyyy-MM-dd HH:mm:ss"));
  488. $("#auditTime").text(format(inspectionHeader.audt_TIME, "yyyy-MM-dd HH:mm:ss"));
  489. $("#orderUsrName").text(inspectionHeader.ordr_USR_NAME);
  490. $("#testUsrName").text(inspectionHeader.test_USR_NAME);
  491. $("#auditUsrName").text(inspectionHeader.audt_USR_NAME);
  492. var inspectionItems = res.data.inspectionItems;
  493. if (inspectionItems != null && inspectionItems.length > 0) {
  494. for (var i = 0; i < inspectionItems.length; i++) {
  495. html += "<tr>";
  496. var obj = inspectionItems[i];
  497. var itm_VALUE =obj.itm_VALUE;
  498. if(itm_VALUE==null || itm_VALUE=="null"){
  499. itm_VALUE="";
  500. }
  501. itm_VALUE+= (obj.itm_STR_VALUE == null || obj.itm_STR_VALUE == "null") ? "" : obj.itm_STR_VALUE;
  502. var range =obj.range;
  503. if(range==null || range=="null"){
  504. range="";
  505. }
  506. range+= (obj.range_STR == null || obj.range_STR == "null") ? "" : obj.range_STR;
  507. html += "<td width='25%'>" + obj.itm_NAME + "</td>";
  508. html += "<td width='16.66%'>" + itm_VALUE + "</td>";
  509. html += "<td width='16.66%'>" + obj.itm_UNIT + "</td>";
  510. if(obj.itm_ALERT==null || obj.itm_ALERT==""){
  511. html += "<td width='16.66%'><span style=\"color:#67C23A;font-weight:bold\"></span></td>";
  512. }else if(obj.itm_ALERT=="H"){
  513. html += "<td width='16.66%'><span style=\"color:#F56C6C;font-weight:bold\">↑</span></td>";
  514. }else if(obj.itm_ALERT=="L"){
  515. html += "<td width='16.66%'><span style=\"color:#F56C6C;font-weight:bold\">↓</span></td>";
  516. }
  517. html += "<td width='25%'>" + range + "</td>";
  518. html += "</tr>";
  519. }
  520. }
  521. }
  522. $("#jyBody").html(html);
  523. } else {
  524. errorMesage(res);
  525. }
  526. }
  527. });
  528. }
  529. /**
  530. * 卡号输入改变事件
  531. */
  532. function cardNoChange() {
  533. if (window.ActiveXObject || "ActiveXObject" in window) {
  534. $("#cardNo").on('input propertychange', function () {
  535. queryUserInfoByCardNo();
  536. });
  537. } else {
  538. $("#cardNo").on('input οninput', function () {
  539. queryUserInfoByCardNo();
  540. });
  541. }
  542. }
  543. /**
  544. * 卡号有变化后查询病人信息
  545. */
  546. function queryUserInfoByCardNo() {
  547. var cardNo = $("#cardNo").val();
  548. var index = cardNo.indexOf("-");
  549. if (index > 0 && index == cardNo.length - 2) {
  550. $("#patientId").val(cardNo);
  551. initJcJyTable();
  552. } else if (cardNo == '120' || cardNo.length == 8) {
  553. $("#cardNo").attr("title", cardNo);
  554. $.ajax({
  555. type: "GET",
  556. url: '/thmz/getByIcCardNo?icCardNo=' + cardNo,
  557. contentType: "application/json;charset=UTF-8",
  558. dataType: "json",
  559. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  560. success: function (res) {
  561. if (res == '401' || res == 401) {
  562. window.location.href = '/thmz/login/view'
  563. return;
  564. }
  565. if (res.code == 0) {
  566. if (res.data != null) {
  567. $("#cardNo").val(res.data.patientId);
  568. initJcJyTable();
  569. }
  570. } else {
  571. errorMesage(res);
  572. }
  573. }
  574. });
  575. } else if (cardNo == null || cardNo == "") {
  576. cleanParams();
  577. }
  578. }
  579. /**
  580. * 获取按钮组选择的下标
  581. * @param id
  582. * @returns {number}
  583. */
  584. function getIndex(id) {
  585. var index = 0;
  586. var item = $("#" + id).find("button");
  587. for (var i = 0; i <= item.length; i++) {
  588. if ($(item[i]).hasClass("btn-primary")) {
  589. index = i;
  590. break;
  591. }
  592. }
  593. return index;
  594. }
  595. /**
  596. * 获取时间选择器的时间数组
  597. * @returns {string[]}
  598. */
  599. function getRePortRangeArr() {
  600. var rePortRange = $('#reportrange span').html();
  601. var rePortRangeArr = rePortRange.split(" - ");
  602. rePortRangeArr[0] = rePortRangeArr[0] + " 00:00:00"
  603. rePortRangeArr[1] = rePortRangeArr[1] + " 23:59:59"
  604. return rePortRangeArr;
  605. }
  606. /**
  607. * 清空查询条件
  608. */
  609. function cleanParams() {
  610. $("#cardNo").val(null);
  611. $('#reportrange span').html(moment().format('YYYY-MM-DD') + ' - ' + moment().format('YYYY-MM-DD'));
  612. initJcJyTable();
  613. }
  614. /**
  615. * 查询默认打印机
  616. */
  617. function setPrint() {
  618. if (printIndex >= 0) {
  619. return;
  620. }
  621. $.ajax({
  622. type: "GET",
  623. url: '/thmz/getLastWindowsByCurrentUser',
  624. contentType: "application/json;charset=UTF-8",
  625. dataType: "json",
  626. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  627. async: false,
  628. success: function (res) {
  629. if (res == '401' || res == 401) {
  630. window.location.href = '/thmz/login/view'
  631. return;
  632. }
  633. if (res.code == 0) {
  634. printIndex = res.data.cgPrintIndex;
  635. } else {
  636. printIndex = -1;
  637. }
  638. }
  639. });
  640. }
  641. /**
  642. * 打印检查检验报告单
  643. * @param printType 打印模式 1 预览打印 2 打印设置
  644. */
  645. function printJyJcReport(printType) {
  646. var typeIndex = getIndex("pay_mark_group");
  647. var title = "检查报告单";
  648. if (typeIndex == 1) {
  649. title = "检验报告单"
  650. if (!canBePrintJy) {
  651. warningMesageSimaple("没有任何【" + title + "】可供打印!");
  652. return;
  653. }
  654. } else {
  655. if (!canBePrintJc) {
  656. warningMesageSimaple("没有任何【" + title + "】可供打印!");
  657. return;
  658. }
  659. }
  660. setPrint();
  661. LODOP = getLodop();
  662. LODOP.PRINT_INITA(6, 0, "148mm", "210mm", "长沙泰和医院" + title);
  663. LODOP.SET_PRINT_STYLE("FontSize", 7); //字体大小
  664. //设置默认打印机
  665. LODOP.SET_PRINTER_INDEX(printIndex);
  666. LODOP.SET_SHOW_MODE("BKIMG_WIDTH", "148mm");
  667. LODOP.SET_SHOW_MODE("BKIMG_HEIGHT", "210mm");
  668. LODOP.SET_PRINT_PAGESIZE(1, "148mm", "210mm", "CreateCustomPage");
  669. LODOP.SET_PRINT_MODE("CREATE_CUSTOM_PAGE_NAME", title);//对新建的纸张重命名
  670. //intDispMode:预览比例,数字型,0-适高 1-正常大小 2-适宽
  671. //intToolMode:工具条和按钮,数字型 0-显示(上方)工具栏 1-显示(下方)按钮栏 2-两个都显示 3-两个都不显示
  672. //blDirectPrint: 打印按钮是否“直接打印” 1-是 0-否(弹出界面“选机打印”)
  673. //intWidth,intHeight 窗口的宽和高,整数型,单位是px
  674. //strTitleButtonCaptoin 预览窗口和打印按钮的名称组合,字符型,用“点”分隔
  675. //LODOP.SET_PREVIEW_WINDOW(intDispMode,intToolMode,blDirectPrint,intWidth,intHeight,strTitleButtonCaptoin)
  676. LODOP.SET_PREVIEW_WINDOW(0, 2, 0, 700, 900, "");
  677. //LODOP.SET_PRINT_STYLE("FontSize", 8); //字体大小
  678. var strStyle = "<style>table{width: 96%;} #jy_detail_content thead {border-bottom: 1px solid black;border-collapse: collapse;}</style>";
  679. if (typeIndex == 0) {
  680. LODOP.ADD_PRINT_HTM("0mm", "5mm", "140mm", "200mm", strStyle + document.getElementById("jc_detail").innerHTML);
  681. }
  682. if (typeIndex == 1) {
  683. LODOP.ADD_PRINT_TABLE("37mm", "5mm", "130mm", "138mm", strStyle + document.getElementById("jy_detail_content").innerHTML);
  684. LODOP.SET_PRINT_STYLEA(0, "Vorient", 3);
  685. LODOP.ADD_PRINT_HTM("0mm", "5mm", "130mm", "200mm", strStyle + document.getElementById("jy_detail_title").innerHTML);
  686. LODOP.SET_PRINT_STYLEA(0, "ItemType", 1);
  687. LODOP.SET_PRINT_STYLEA(0, "LinkedItem", 1);
  688. LODOP.ADD_PRINT_HTM("177mm", "5mm", "130mm", "200mm", strStyle + document.getElementById("jy_detail_foot").innerHTML);
  689. LODOP.SET_PRINT_STYLEA(0, "ItemType", 1);
  690. LODOP.SET_PRINT_STYLEA(0, "LinkedItem", 1);
  691. }
  692. if (printType == 1) {
  693. LODOP.PREVIEW();
  694. } else if (printType == 2) {
  695. LODOP.PRINT_SETUP();
  696. }
  697. }