registration.js 70 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064
  1. //@ sourceURL=registration.js
  2. var $dataTableHot;
  3. //判断病人列表是否在加载中,防止重复加载
  4. var msg_list_loading = false;
  5. //挂号卡片列表页面下标
  6. var pageIndex = 0;
  7. var LODOP; //声明为全局变量
  8. //默认打印机下标
  9. var printIndex = -1;
  10. var TableInit = function () {
  11. var oTableInit = new Object();
  12. //初始化Table
  13. oTableInit.Init = function () {
  14. $dataTableHot = $('#tb_fee_info').bootstrapTable({
  15. url: '', //请求后台的URL(*)
  16. method: 'post', //请求方式(*)
  17. toolbar: '#toolbar', //工具按钮用哪个容器
  18. striped: true, //是否显示行间隔色
  19. cache: false, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
  20. pagination: false, //是否显示分页(*)
  21. sortable: true, //是否启用排序
  22. sortOrder: "asc", //排序方式
  23. //queryParams: oTableInit.queryParams,//传递参数(*)
  24. sidePagination: "server", //分页方式:client客户端分页,server服务端分页(*)
  25. pageNumber: 1, //初始化加载第一页,默认第一页
  26. pageSize: 10, //每页的记录行数(*)
  27. pageList: [10, 25, 50, 100], //可供选择的每页的行数(*)
  28. search: false, //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
  29. strictSearch: true,
  30. showColumns: false, //是否显示所有的列
  31. showRefresh: false, //是否显示刷新按钮
  32. minimumCountColumns: 2, //最少允许的列数
  33. clickToSelect: true, //是否启用点击选中行
  34. uniqueId: "ID", //每一行的唯一标识,一般为主键列
  35. showToggle: false, //是否显示详细视图和列表视图的切换按钮
  36. cardView: false, //是否显示详细视图
  37. detailView: false,
  38. ajaxOptions: {
  39. headers: {
  40. 'Accept': 'application/json',
  41. 'Authorization': 'Bearer ' + localStorage.getItem("token")
  42. }
  43. },
  44. columns: [
  45. // {
  46. // checkbox: true
  47. // },
  48. {
  49. field: 'name',
  50. title: '名称',
  51. align: "center",
  52. valign: 'middle',
  53. //sortable: true
  54. }, {
  55. field: 'money',
  56. title: '金额(元)',
  57. align: "center",
  58. valign: 'middle',
  59. //sortable: true
  60. }, {
  61. field: 'moneyReceived',
  62. title: '实收金额(元)',
  63. align: "center",
  64. valign: 'middle',
  65. // sortable: true
  66. }],
  67. responseHandler: function (res) {
  68. if (res == '401' || res == 401) {
  69. window.location.href = '/thmz/login/view'
  70. return;
  71. }
  72. var ress = eval(res);
  73. if (ress.code == -1) {
  74. new PNotify({
  75. title: '错误提示',
  76. text: ress.message,
  77. type: 'error',
  78. hide: true,
  79. styling: 'bootstrap3'
  80. });
  81. return {
  82. "total": 0,//总页数
  83. "rows": {} //数据
  84. };
  85. }
  86. return {
  87. "total": ress.pageViewVO.total,//总页数
  88. "rows": ress.pageViewVO.data //数据
  89. };
  90. },
  91. });
  92. };
  93. return oTableInit;
  94. };
  95. $(function () {
  96. initGenderSelect();
  97. initResponceTypeSelect();
  98. initCertificateTypeSelect();
  99. // var birthDay = $('#birthDayGroup').datetimepicker({
  100. // format: 'yyyy-mm-dd',
  101. // language: 'zh-CN',
  102. // minView: "month",
  103. // }).on('changeDate', changeDate);
  104. // var editUserBirthDay = $('#editUserBirthDayGroup').datetimepicker({
  105. // format: 'yyyy-mm-dd',
  106. // language: 'zh-CN',
  107. // minView: "month",
  108. // });
  109. // //设置挂号窗口的高度
  110. // var width = $('#confirmFee').css("width");
  111. // var widthNum = parseInt(width);
  112. // widthNum -= 24;
  113. // $("#confirmFee").css("width", widthNum + "px");
  114. init_daterangepicker();
  115. //1.初始化Table
  116. var oTable = new TableInit();
  117. oTable.Init();
  118. formatCheck();
  119. //默认光标在卡号输入框
  120. $("#cardNo").focus();
  121. //根据病人姓名输入框内容动态加载病人列表
  122. //initUserList();
  123. //卡号输入改变事件
  124. cardNoChange();
  125. //病人姓名输入改变事件
  126. // userNameChange();
  127. //数据校验
  128. init_validator();
  129. //时间区间
  130. initMzWorkTime();
  131. //初始门诊收银方式下拉选
  132. initChequeType("payType");
  133. /**
  134. * 创建核酸检查处方并保存
  135. */
  136. $("#saveNucleicAcid").on("click", function (t) {
  137. saveNucleicAcid();
  138. });
  139. /**
  140. * 跳转到缴费界面
  141. */
  142. $("#chargeFeeNucleicAcid").on("click", function (t) {
  143. chargeFeeNucleicAcid();
  144. });
  145. /**
  146. * 创建核酸检查(混检)处方并保存
  147. */
  148. $("#saveHybridTest").on("click", function (t) {
  149. saveHybridTest();
  150. });
  151. /**
  152. * 跳转到(混检)缴费界面
  153. */
  154. $("#chargeFeeHybridTest").on("click", function (t) {
  155. chargeFeeHybridTest();
  156. });
  157. /**
  158. * 医保电子凭证读卡
  159. */
  160. $("#siReadCard").on("click", function (t) {
  161. siReadCard();
  162. });
  163. /**
  164. * 清空
  165. */
  166. $("#clearRegistration").on("click", function (t) {
  167. clearRegistration();
  168. });
  169. /**
  170. * 增加收款方式按钮事件
  171. */
  172. $("#addPayType").on("click", function (t) {
  173. var payTypeIndex = $("#payTypeIndex").val();
  174. var payTypeId = "payType_" + payTypeIndex;
  175. var html = '<div class="item form-group"><div class="col-md-12 col-sm-12 col-xs-12"><div class="col-md-2 col-sm-2 col-xs-12"></div><label class="col-md-3 col-sm-3 col-xs-12"><select class="form-control selectpicker show-tick" required="true" id="' + payTypeId + '"></select></label><div class="col-md-3 col-sm-3 col-xs-12"><input class="form-control col-md-5 col-xs-12" type="number" data-placement="bottom-right" min="0"></div><a style="line-height: 34px;cursor: pointer;" onclick="closeThisParent(this)"><i class="fa fa-close"></i></a></div></div>';
  176. $("#changeAmountParent").before(html);
  177. initChequeType(payTypeId)
  178. payTypeIndex = payTypeIndex + 1;
  179. $("#payTypeIndex").val(payTypeIndex);
  180. });
  181. // //当ic卡号输入框失去光标后,重置光标到卡号输入框
  182. // $("#cardNo").blur(function () {
  183. // var focus = !($("#userName").is(":focus") || $("#age").is(":focus") || $("#birthDay").is(":focus") || $("#phoneNum").is(":focus") || $("#idCard").is(":focus") || $("#address").is(":focus"));
  184. // if (focus && $("#cardNo").val() == null || $("#cardNo").val() == "") {
  185. // //默认光标在卡号输入框
  186. // $("#cardNo").focus();
  187. // }
  188. // });
  189. /**
  190. * 保存挂号信息
  191. */
  192. $("#saveConfirmFee").on("click", function (t) {
  193. $("#saveConfirmFee").attr("disabled", true);
  194. var cash = $("#cash").val();
  195. if (cash == null || cash == "") {
  196. new PNotify({
  197. title: '错误提示',
  198. text: "金额不能为空!",
  199. type: 'error',
  200. hide: false,
  201. styling: 'bootstrap3'
  202. });
  203. $("#saveConfirmFee").attr("disabled", false);
  204. return;
  205. }
  206. var realMoney = parseFloat($("#realMoney").val());
  207. realMoney = realMoney.toFixed(2);
  208. if (parseFloat(cash) < realMoney) {
  209. $("#saveConfirmFee").attr("disabled", false);
  210. return;
  211. }
  212. var patientId = $("#patientId").val();
  213. if (patientId == null || patientId == "") {
  214. savePatient(true);
  215. } else {
  216. saveMzyReqrec();
  217. }
  218. });
  219. // /**
  220. // * 设置窗口号
  221. // */
  222. // $("#editWindows").on("click", function (t) {
  223. // $.ajax({
  224. // type: "GET",
  225. // url: '/thmz/getLastWindowsByCurrentUser',
  226. // contentType: "application/json;charset=UTF-8",
  227. // dataType: "json",
  228. // headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  229. // success: function (res) {
  230. // if (res == '401' || res == 401) {
  231. // window.location.href = '/thmz/login/view'
  232. // return;
  233. // }
  234. // if (res.code == 0) {
  235. // $("#windowsNum").val(res.data.windowsNo)
  236. // } else {
  237. // new PNotify({
  238. // title: '错误提示',
  239. // text: res.message,
  240. // type: 'error',
  241. // hide: true,
  242. // styling: 'bootstrap3'
  243. // });
  244. // }
  245. // }
  246. // });
  247. // $("#editWindowsModal").modal();
  248. // });
  249. /**
  250. * 患者信息修改
  251. */
  252. $("#saveEditUser").on("click", function (t) {
  253. modifyPatient();
  254. });
  255. /**
  256. * 挂号列表中的科室和医生列表初始化
  257. */
  258. initListSelect();
  259. // $("#editPrint").on("click", function (t) {
  260. // CreatePrinterList();
  261. // $("#editPrintModal").modal();
  262. // });
  263. //每隔三秒读一次身份证
  264. setInterval(function () {
  265. new Device().startFun();
  266. }, 3000);
  267. // $("#birthDay").keypress(function () { // keypress:输入框每获取一个字符,就触发一次该事件。
  268. // var birthDay= $("#birthDay").val();
  269. // birthDay='19880613';
  270. //
  271. // });
  272. $("#birthDay").change(function (e) {
  273. setAge();
  274. $("#age").blur();
  275. });
  276. $("#editUserBirthDay").change(function (e) {
  277. var editUserBirthDay = $("#editUserBirthDay").val();
  278. if (editUserBirthDay.length == 8 && editUserBirthDay.indexOf("-") <= 0) {
  279. editUserBirthDay = editUserBirthDay.substring(0, 4) + "-" + editUserBirthDay.substring(4, 6) + "-" + editUserBirthDay.substring(6);
  280. $("#editUserBirthDay").val(editUserBirthDay);
  281. }
  282. var dateFormat = /^(\d{4})-(\d{2})-(\d{2})$/;
  283. if (!dateFormat.test(editUserBirthDay)) {
  284. new PNotify({
  285. title: '错误提示',
  286. text: '生日日期错误',
  287. type: 'error',
  288. hide: true,
  289. styling: 'bootstrap3'
  290. });
  291. }
  292. var arr = editUserBirthDay.split("-");
  293. if (!checkDate(arr[0], arr[1], arr[2])) {
  294. new PNotify({
  295. title: '错误提示',
  296. text: '生日日期错误',
  297. type: 'error',
  298. hide: true,
  299. styling: 'bootstrap3'
  300. });
  301. }
  302. var returnAge = jsGetAge(editUserBirthDay);
  303. $("#editUserAge").val(returnAge);
  304. });
  305. $("#idCard").change(function (e) {
  306. queryUserInfoBySocialNo();
  307. });
  308. $("#editUserIdCard").change(function (e) {
  309. var editUserIdCard = $("#editUserIdCard").val();
  310. if (editUserIdCard == null || editUserIdCard == "") {
  311. return;
  312. }
  313. var birthday = editUserIdCard.substring(6, 14);
  314. birthday = birthday.substring(0, 4) + "-" + birthday.substring(4, 6) + "-" + birthday.substring(6);
  315. $("#editUserBirthDay").val(birthday);
  316. var returnAge = jsGetAge(birthday);
  317. $("#editUserAge").val(returnAge);
  318. var gender = editUserIdCard.substring(16, 17);
  319. if (gender % 2 == 0) {
  320. $("#editUserGender").val(2);
  321. } else {
  322. $("#editUserGender").val(1);
  323. }
  324. $('#editUserGender').selectpicker('refresh');
  325. });
  326. $("#phoneNum").change(function (e) {
  327. queryUserInfoByphoneNo();
  328. });
  329. $("#userName").change(function (e) {
  330. queryUserInfoByName();
  331. });
  332. setTimeout(function () {
  333. getLodop();
  334. }, 800);
  335. });
  336. // function CreatePageList() {
  337. // LODOP = getLodop();
  338. // LODOP.PRINT_INITA(6, 0, "92mm", "120mm", "泰和门诊发票打印");
  339. // //获取纸张大小数,用于进行遍历
  340. // var strPageSizeList = LODOP.GET_PAGESIZES_LIST($('#printSelect').val(), "\n");
  341. // var html = "";
  342. // var arr = strPageSizeList.split("\n");
  343. // for (var i = 0; i < arr.length; i++) {
  344. // html += "<option value='" + arr[i] + "'>" + arr[i] + "</option>";
  345. // }
  346. // $('#pageSelect').html(html);
  347. // $('#pageSelect').selectpicker('refresh');
  348. // }
  349. /**
  350. * 初始化性别下拉选
  351. */
  352. function initGenderSelect() {
  353. $(".selectpicker").selectpicker({
  354. //设置菜单的上浮或者下浮
  355. dropuAuto: false
  356. });
  357. var gender = '<option value="1">男</option><option value="2">女</option><option value="0">未知</option>';
  358. $('#gender').html(gender);
  359. $('#gender').selectpicker('refresh');
  360. $('#editUserGender').html(gender);
  361. $('#editUserGender').selectpicker('refresh');
  362. }
  363. /**
  364. * 初始化病人身份类别下拉选
  365. */
  366. function initResponceTypeSelect() {
  367. $(".selectpicker").selectpicker({
  368. dropuAuto: false
  369. });
  370. $.ajax({
  371. type: "GET",
  372. url: '/thmz/getMzResponceType',
  373. contentType: "application/json;charset=UTF-8",
  374. dataType: "json",
  375. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  376. success: function (res) {
  377. if (res == '401' || res == 401) {
  378. window.location.href = '/thmz/login/view'
  379. return;
  380. }
  381. if (res.code == 0) {
  382. res.data.forEach(function (item, index) {
  383. var html = '<option value="' + item.code + '">' + item.name + '</option>';
  384. $('#patientsNature').append(html);
  385. $('#editUserPatientsNature').append(html);
  386. });
  387. $('#patientsNature').selectpicker('refresh');
  388. $('#editUserPatientsNature').selectpicker('refresh');
  389. } else {
  390. errorMesage(res);
  391. }
  392. }
  393. });
  394. }
  395. /**
  396. * 初始化证件类型下拉选
  397. */
  398. function initCertificateTypeSelect() {
  399. $.ajax({
  400. type: "GET",
  401. url: '/thmz/listCertificateType',
  402. contentType: "application/json;charset=UTF-8",
  403. dataType: "json",
  404. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  405. success: function (res) {
  406. if (res == '401' || res == 401) {
  407. window.location.href = '/thmz/login/view'
  408. return;
  409. }
  410. if (res.code == 0) {
  411. res.data.forEach(function (item, index) {
  412. var html = '<option value="' + item.code + '">' + item.name + '</option>';
  413. $('#certificateType').append(html);
  414. $('#editUserCertificateType').append(html);
  415. });
  416. $('#certificateType').selectpicker('refresh');
  417. $('#editUserCertificateType').selectpicker('refresh');
  418. $('#certificateType').selectpicker('val', '01');
  419. $('#certificateType').selectpicker('refresh');
  420. } else {
  421. errorMesage(res);
  422. }
  423. }
  424. });
  425. }
  426. /**
  427. * 初始科室下拉选
  428. * @param ampm 时间段区间
  429. */
  430. function initDeptPlus() {
  431. //科室列表
  432. $.ajax({
  433. type: "GET",
  434. url: '/thmz/getUnitCodeByRequestDay?ampm=' + $("#ampm").val(),
  435. dataType: "json",
  436. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  437. success: function (data) {
  438. if (data == '401' || data == 401) {
  439. window.location.href = '/thmz/login/view'
  440. return;
  441. }
  442. var html = '';
  443. $.each(data.data, function (commentIndex, comment) {
  444. html += '<option value="' + comment.code + '">' + comment.name + '(' + comment.pyCode + ')</option>';
  445. });
  446. $('#deptNo').empty();
  447. $('#deptNo').html(html);
  448. $('#deptNo').selectpicker('refresh');
  449. $('#chargeType').empty();
  450. $('#chargeType').selectpicker('refresh');
  451. emptyInput();
  452. }
  453. });
  454. }
  455. /**
  456. * 初始医生下拉选
  457. * @param ampm 时间段区间
  458. */
  459. function initEmployee() {
  460. //医生列表
  461. $.ajax({
  462. type: "GET",
  463. url: '/thmz/getDoctorCodeByRequestDay?unitCode=' + $('#deptNo').val() + "&ampm=" + $("#ampm").val() + "&chargeType=" + $("#chargeType").val(),
  464. dataType: "json",
  465. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  466. success: function (res) {
  467. if (res == '401' || res == 401) {
  468. window.location.href = '/thmz/login/view'
  469. return;
  470. }
  471. var html = '';
  472. var defaultCode = null;
  473. $.each(res.data, function (commentIndex, comment) {
  474. var employeeName = comment.employee.employeeName;
  475. if (comment.leftNum != null) {
  476. employeeName = employeeName + " 余号(" + comment.leftNum + ")"
  477. }
  478. html += '<option value="' + comment.employee.employeeCode + '" data-chargeType="' + comment.chargeType + '" data-checkFee="' + comment.checkFee + '" data-mzyRequestId="' + comment.mzyRequestId + '">' + employeeName + '</option>';
  479. if (res.data.length == 1) {
  480. //如果只有一个号别,默认选中
  481. defaultCode = comment.employee.employeeCode;
  482. }
  483. });
  484. $('#doctor').empty();
  485. $('#doctor').html(html);
  486. $('#doctor').selectpicker('refresh');
  487. //validator.checkAll($("#regi_form"));
  488. if (defaultCode != null) {
  489. //如果有无需选择医生的选项,默认选择
  490. $('#doctor').selectpicker('val', defaultCode);
  491. $('#doctor').selectpicker('refresh');
  492. fitFee();
  493. }
  494. }
  495. });
  496. }
  497. /**
  498. * 初始门诊时间区间下拉选
  499. */
  500. function initMzWorkTime() {
  501. $.ajax({
  502. type: "GET",
  503. url: '/thmz/getMzWorkTime',
  504. dataType: "json",
  505. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  506. success: function (res) {
  507. if (res == '401' || res == 401) {
  508. window.location.href = '/thmz/login/view'
  509. return;
  510. }
  511. var html = '';
  512. var ampm = null;
  513. $.each(res.data, function (commentIndex, comment) {
  514. html += '<option value="' + comment.code + '">' + comment.name + '</option>';
  515. if (ampm == null || (ampm != "a" && ampm != "p")) {
  516. var startTime = paseToFullTime(comment.startTime);
  517. var endTime = paseToFullTime(comment.endTime);
  518. if (range(startTime, endTime)) {
  519. ampm = comment.code;
  520. }
  521. }
  522. });
  523. $('#ampm').empty(); //清空resText里面的所有内容
  524. $('#ampm').html(html);
  525. $('#ampm').selectpicker('refresh');
  526. $("#ampm").selectpicker('val', ampm);
  527. $('#ampm').selectpicker('refresh');
  528. initDeptPlus();
  529. }
  530. });
  531. }
  532. /**
  533. * 初始门诊号别下拉选
  534. */
  535. function initChargeType() {
  536. $.ajax({
  537. type: "GET",
  538. url: '/thmz/getChargeTypeByRequestDay?unitCode=' + $('#deptNo').val() + "&ampm=" + $("#ampm").val(),
  539. dataType: "json",
  540. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  541. success: function (res) {
  542. if (res == '401' || res == 401) {
  543. window.location.href = '/thmz/login/view'
  544. return;
  545. }
  546. var html = '';
  547. var defaultCode = null;
  548. $.each(res.data, function (commentIndex, comment) {
  549. if (res.data.length == 1) {
  550. //如果只有一个号别,默认选中
  551. defaultCode = comment.code;
  552. }
  553. html += '<option value="' + comment.code + '">' + comment.name + '</option>';
  554. });
  555. $('#chargeType').empty(); //清空resText里面的所有内容
  556. $('#chargeType').html(html);
  557. $('#chargeType').selectpicker('refresh');
  558. if (defaultCode != null) {
  559. //如果有默认选项,默认选择
  560. $('#chargeType').selectpicker('val', defaultCode);
  561. $('#chargeType').selectpicker('refresh');
  562. initEmployee();
  563. }
  564. validator.checkAll($("#regi_form"));
  565. emptyInput();
  566. }
  567. });
  568. }
  569. /**
  570. * 设置挂号费等费用
  571. */
  572. function fitFee() {
  573. var mzyRequestId = $('#doctor').find("option:selected").attr('data-mzyRequestId');
  574. var checkFee = $('#doctor').find("option:selected").attr('data-checkFee');
  575. $("#checkFee").val(checkFee);
  576. $("#amountMoney").text(checkFee);
  577. $("#amountMoneyConfirm").text(checkFee);
  578. $("#realMoney").val(checkFee);
  579. $("#cash").val(checkFee);
  580. $("#changeAmount").val(0);
  581. $.ajax({
  582. type: "GET",
  583. url: '/thmz/getMzChargeTypeByMzyRequestId?mzyRequestId=' + mzyRequestId + "&birthDay=" + $("#birthDay").val(),
  584. dataType: "json",
  585. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  586. success: function (res) {
  587. if (res == '401' || res == 401) {
  588. window.location.href = '/thmz/login/view'
  589. return;
  590. }
  591. $("#registrationFee").val(res.data.reqFee);
  592. $("#hospitalFee").val(res.data.clinicFee);
  593. $("#othFee").val(parseFloat(res.data.othFee) - parseFloat(checkFee));
  594. checkFee = parseFloat(res.data.reqFee) + parseFloat(res.data.clinicFee) + parseFloat(res.data.othFee);
  595. $("#amountMoney").text(checkFee);
  596. $("#amountMoneyConfirm").text(checkFee);
  597. $("#realMoney").val(checkFee);
  598. $("#cash").val(checkFee);
  599. validator.checkAll($("#regi_form"));
  600. }
  601. });
  602. }
  603. /**
  604. * 初始门诊收银方式下拉选
  605. */
  606. function initChequeType(payType) {
  607. $.ajax({
  608. type: "GET",
  609. url: '/thmz/getAllZdChequeTypeForMz',
  610. dataType: "json",
  611. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  612. success: function (res) {
  613. if (res == '401' || res == 401) {
  614. window.location.href = '/thmz/login/view'
  615. return;
  616. }
  617. var html = '';
  618. $.each(res.data, function (commentIndex, comment) {
  619. html += '<option value="' + comment.code + '">' + comment.name + '</option>';
  620. });
  621. $('#' + payType).empty();
  622. $('#' + payType).html(html);
  623. $('#' + payType).selectpicker('refresh');
  624. if(res.data.length==1){
  625. $('#' + payType).selectpicker('val', 'Y');
  626. }else {
  627. $('#' + payType).selectpicker('val', 1);
  628. }
  629. $('#' + payType).selectpicker('refresh');
  630. }
  631. });
  632. }
  633. /**
  634. * 日期值改变修改年龄字段
  635. * @param ev
  636. */
  637. function changeDate(ev) {
  638. }
  639. /**
  640. * 列表类型按钮切换事件
  641. * @param object
  642. */
  643. function titleButtonChange(object) {
  644. $("#regi_List_btn_group").find("button").each(function (index, element) {
  645. if ($(element).hasClass("btn-primary")) {
  646. $(element).removeClass("btn-primary").addClass("btn-default");
  647. }
  648. });
  649. $(object).removeClass("btn-default").addClass("btn-primary");
  650. loadRegistrationList(true);
  651. }
  652. /**
  653. * 表格类型切换事件 卡片展示或者列表形式
  654. */
  655. function listTypeChange(object) {
  656. //var indexNum = 0;
  657. $("#regi_List_type").find("button").each(function (index, element) {
  658. if ($(element).hasClass("btn-primary")) {
  659. $(element).removeClass("btn-primary").addClass("btn-default");
  660. }
  661. // if (object == element) {
  662. // indexNum = index;
  663. // }
  664. });
  665. $(object).removeClass("btn-default").addClass("btn-primary");
  666. loadRegistrationList(true);
  667. }
  668. /**
  669. * 打开编辑用户信息窗口
  670. * @param data
  671. */
  672. function editUserModal(data) {
  673. $("#editUserModal").modal();
  674. if (data == null) {
  675. data = $("#patientId").val();
  676. }
  677. $.ajax({
  678. type: "GET",
  679. url: '/thmz/getByPatientId?patientId=' + data,
  680. contentType: "application/json;charset=UTF-8",
  681. dataType: "json",
  682. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  683. success: function (res) {
  684. if (res == '401' || res == 401) {
  685. window.location.href = '/thmz/login/view'
  686. return;
  687. }
  688. if (res.code == 0) {
  689. if (res.data != null) {
  690. //延时调用,因为当前弹框还没有加载出来,校验规则无法获取光标与模拟光标丢失事件,延时可以等弹框加载出来后模拟事件
  691. setTimeout(function () {
  692. fillPlusPatinet(res.data);
  693. }, 400);
  694. }
  695. } else {
  696. errorMesage(res);
  697. }
  698. }
  699. });
  700. }
  701. /**
  702. * 打开打印内容窗口
  703. * @param data
  704. */
  705. function printModal(data) {
  706. $("#printOrPreviewModal").modal("hide");
  707. $("#printModal").modal();
  708. }
  709. /**
  710. * 打开收费窗口
  711. * @param data
  712. */
  713. function confirmFeeModal() {
  714. var validatorResult = validator.checkAll($("#regi_form"));
  715. if (!validatorResult) {
  716. return;
  717. }
  718. var payTypeList = $("#payType").children();
  719. if(payTypeList.length==1){
  720. $('#payType').selectpicker('val', 'Y');
  721. }else {
  722. $('#payType').selectpicker('val', 1);
  723. }
  724. //$('#payType').selectpicker('val', 1);
  725. $('#payType').selectpicker('refresh');
  726. var prevAll = $("#changeAmountParent").prevAll();
  727. while (prevAll.length > 2) {
  728. $("#changeAmountParent").prev().remove();
  729. prevAll = $("#changeAmountParent").prevAll();
  730. }
  731. $("#realMoney").val($("#amountMoneyConfirm").text());
  732. $("#cash").val($("#amountMoneyConfirm").text());
  733. //$("#cash").val(null);
  734. $("#confirmFeeModal").modal();
  735. sendPriceMessage($("#amountMoneyConfirm").text(), 0, 0, $("#patientId").val());
  736. }
  737. /**
  738. * checkBox样式
  739. */
  740. function formatCheck() {
  741. if ($("input.flat")[0]) {
  742. $(document).ready(function () {
  743. $('input.flat').iCheck({
  744. checkboxClass: 'icheckbox_flat-blue',
  745. radioClass: 'iradio_flat-blue'
  746. });
  747. });
  748. }
  749. }
  750. /**
  751. * 卡号有变化后查询病人信息
  752. */
  753. function queryUserInfoByCardNo() {
  754. var cardNo = $("#cardNo").val();
  755. var index = cardNo.indexOf("-");
  756. if ((index > 0 && index == cardNo.length - 2) || (cardNo.length == 8 && index<=0)) {
  757. $("#cardNo").attr("title", cardNo);
  758. $.ajax({
  759. type: "GET",
  760. url: '/thmz/getByIcCardNo?icCardNo=' + cardNo,
  761. contentType: "application/json;charset=UTF-8",
  762. dataType: "json",
  763. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  764. success: function (res) {
  765. if (res == '401' || res == 401) {
  766. window.location.href = '/thmz/login/view'
  767. return;
  768. }
  769. if (res.code == 0) {
  770. if (res.data != null) {
  771. extracted(res);
  772. } else {
  773. $("#saveUser").show();
  774. $("#newCardModal").modal();
  775. $(document).keydown(function (event) { //监听键盘按下时的事件
  776. if (event.keyCode == 13) {
  777. //回车键
  778. $('#newCardModal').modal('hide');
  779. }
  780. });
  781. }
  782. } else {
  783. errorMesage(res);
  784. }
  785. }
  786. });
  787. }
  788. }
  789. /**
  790. * 卡号输入改变事件
  791. */
  792. function cardNoChange() {
  793. if (window.ActiveXObject || "ActiveXObject" in window) {
  794. $("#cardNo").on('input propertychange', function () {
  795. queryUserInfoByCardNo();
  796. });
  797. } else {
  798. $("#cardNo").on('input οninput', function () {
  799. queryUserInfoByCardNo();
  800. });
  801. }
  802. }
  803. /**
  804. * 病人姓名输入改变事件
  805. */
  806. function userNameChange() {
  807. if (window.ActiveXObject || "ActiveXObject" in window) {
  808. $("#userName").on('input propertychange', function () {
  809. refeshPatinetList(true);
  810. });
  811. } else {
  812. $("#userName").on('input οninput', function () {
  813. refeshPatinetList(true);
  814. });
  815. }
  816. }
  817. /**
  818. * 校验收款金额
  819. */
  820. function checkFee() {
  821. var cash = parseFloat($("#cash").val());
  822. var realMoney = parseFloat($("#realMoney").val());
  823. realMoney = realMoney.toFixed(2);
  824. $("#realMoney").val(realMoney)
  825. if (cash < realMoney) {
  826. errorMesageSimaple("收款金额不能少于实收金额!");
  827. return;
  828. } else if (cash > realMoney) {
  829. if ($("#payType").val() == 1) {
  830. var changeAmount = cash - realMoney;
  831. $("#changeAmount").val(changeAmount.toFixed(2));
  832. sendPriceMessage(realMoney, cash, changeAmount.toFixed(2), $("#patientId").val());
  833. } else {
  834. errorMesageSimaple("非现金收款金额不能大于实收金额!");
  835. return;
  836. }
  837. } else {
  838. $("#changeAmount").val(0.00);
  839. sendPriceMessage(realMoney, cash, 0.00, $("#patientId").val());
  840. }
  841. //计算和设置折扣比例
  842. var amountMoneyConfirm = parseFloat($("#amountMoneyConfirm").text());
  843. var discount = 100;
  844. if (realMoney < amountMoneyConfirm) {
  845. discount = realMoney / amountMoneyConfirm * 100;
  846. }
  847. $("#discount").text(discount.toFixed(2))
  848. }
  849. /**
  850. * 根据病人姓名输入框内容动态加载病人列表
  851. */
  852. function initUserList() {
  853. //var width=$("#userName").css("width");
  854. var settings = {
  855. trigger: 'click',
  856. content: '',
  857. width: 170,
  858. multi: true,
  859. closeable: false,
  860. style: '',
  861. delay: 300,
  862. padding: true,
  863. height: 300
  864. };
  865. var webuiPopover = $('#userName').webuiPopover('destroy').webuiPopover(settings);
  866. //用户姓名选中事件
  867. $("#userName").on("click", function (t) {
  868. if ($(webuiPopover).css("display") == "block") {
  869. refeshPatinetList(true);
  870. }
  871. });
  872. }
  873. /**
  874. * 刷新病人列表
  875. */
  876. function refeshPatinetList(flag) {
  877. //如果是重新加载病人列表,需要重置下标
  878. if (flag) {
  879. //重置下标
  880. pageIndex = 0;
  881. msg_list_loading = true;
  882. }
  883. var userName = $('#userName').val();
  884. if (!(userName == null || userName == "" || isChinese(userName))) {
  885. return;
  886. }
  887. $.ajax({
  888. type: "GET",
  889. url: '/thmz/getPatientMiByName?name=' + userName + "&pageIndex=" + pageIndex,
  890. contentType: "application/json;charset=UTF-8",
  891. dataType: "json",
  892. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  893. success: function (res) {
  894. if (res == '401' || res == 401) {
  895. window.location.href = '/thmz/login/view'
  896. return;
  897. }
  898. if (res.code == 0) {
  899. if (res.data != null && res.data.length > 0) {
  900. $("#webuiPopover0").css("display", "block");
  901. var html = '<div class="list-group">';
  902. for (var i = 0; i < res.data.length; i++) {
  903. var mzPatientMi = res.data[i];
  904. html += '<a href="#" class="list-group-item list-group-item-action" onclick="fillPatinet(\'' + mzPatientMi.patientId + '\')">';
  905. var sex = "未知";
  906. if (mzPatientMi.sex == 1) {
  907. html += '<img src="/thmz/images/boy.png"/>'
  908. sex = "男";
  909. } else if (mzPatientMi.sex == 2) {
  910. html += '<img src="/thmz/images/girl.png"/>'
  911. sex = "女";
  912. } else if (mzPatientMi.sex == 0 || mzPatientMi.sex == null) {
  913. html += '<img src="/thmz/images/girl_or_boy.png"/>'
  914. sex = "未知";
  915. }
  916. html += '<div>' + mzPatientMi.name + '&nbsp;' + sex + '&nbsp;';
  917. if (mzPatientMi.age != null && mzPatientMi.age != "") {
  918. html += mzPatientMi.age + '岁';
  919. } else {
  920. html += '**岁';
  921. }
  922. if (mzPatientMi.phoneNo != null && mzPatientMi.phoneNo != "") {
  923. html += '<span>' + mzPatientMi.phoneNo + '</span>';
  924. }
  925. html += '</div></a>';
  926. }
  927. html += '</div>';
  928. if (flag) {
  929. $("div.webui-popover-content").html("");
  930. }
  931. $("div.webui-popover-content").append(html);
  932. $("div.arrow").css("left", "23px");
  933. refeshPatinetListScrollEvent();
  934. } else {
  935. $("#webuiPopover0").css("display", "none");
  936. }
  937. }
  938. //查询完成,设置加载完成
  939. msg_list_loading = false;
  940. }
  941. });
  942. }
  943. /**
  944. * 病人下拉列表滚动条滚动到底部时继续加载新纪录
  945. */
  946. function refeshPatinetListScrollEvent() {
  947. $('.webui-popover-content').scroll(function (event) {
  948. var top = $(this).scrollTop();
  949. var height = $(this).height();
  950. var scrollHeight = $(this).get(0).scrollHeight;
  951. if (scrollHeight <= top + height) {
  952. if (!msg_list_loading) {
  953. msg_list_loading = true;
  954. pageIndex = pageIndex + 1;
  955. refeshPatinetList(false);
  956. }
  957. }
  958. });
  959. }
  960. /**
  961. * 按照病人id查询病人信息
  962. * @param patientId
  963. */
  964. function fillPatinet(patientId) {
  965. if (patientId == null || patientId == "") {
  966. return;
  967. }
  968. $.ajax({
  969. type: "GET",
  970. url: '/thmz/getByPatientId?patientId=' + patientId,
  971. contentType: "application/json;charset=UTF-8",
  972. dataType: "json",
  973. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  974. success: function (res) {
  975. if (res == '401' || res == 401) {
  976. window.location.href = '/thmz/login/view'
  977. return;
  978. }
  979. if (res.code == 0) {
  980. if (res.data != null) {
  981. extracted(res);
  982. }
  983. } else {
  984. errorMesage(res);
  985. }
  986. }
  987. });
  988. }
  989. function extracted(res) {
  990. $("#cardNo").val(res.data.icCardNo);
  991. $("#cardNo").attr("title", res.data.icCardNo);
  992. $("#cardNo").blur();
  993. $("#userName").val(res.data.name);
  994. $("#userName").blur();
  995. $("#userNameReadOnly").val(res.data.name);
  996. $("#age").val(res.data.age);
  997. $("#age").blur();
  998. $("#gender").selectpicker('val', res.data.sex);
  999. $("#gender").selectpicker('refresh');
  1000. $("#gender").blur();
  1001. $("#birthDayReadonly").val(res.data.birthDayStr);
  1002. $("#birthDayReadonly").attr("title", res.data.birthDayStr);
  1003. $("#birthDayReadonly").blur();
  1004. $("#birthDay").val(res.data.birthDayStr);
  1005. $("#birthDay").blur();
  1006. $("#phoneNum").val(res.data.phoneNo);
  1007. $("#phoneNum").attr("title", res.data.phoneNo);
  1008. $("#phoneNum").blur();
  1009. $("#patientsNature").selectpicker('val', res.data.responseType);//默认选中
  1010. $('#patientsNature').selectpicker('refresh');
  1011. $("#patientsNature").blur();
  1012. $('#certificateType').selectpicker('val', res.data.certificateType);
  1013. $('#certificateType').selectpicker('refresh');
  1014. $("#idCard").val(res.data.socialNo);
  1015. $("#idCard").attr("title", res.data.socialNo);
  1016. $("#idCard").blur();
  1017. $("#address").val(res.data.address);
  1018. $("#address").blur();
  1019. $("#patientId").val(res.data.patientId);
  1020. setAge();
  1021. $("#age").blur();
  1022. if (res.data.icCardNo != null && res.data.icCardNo != "") {
  1023. $("#clearIcCardNo").show();
  1024. }
  1025. if (res.data.patientId != null && res.data.patientId != "") {
  1026. $("#nucleicAcid").show();
  1027. $("#hybridTest").show();
  1028. $("#editUser").show();
  1029. }
  1030. readonlyOrNot(true);
  1031. $("#saveUser").hide();
  1032. }
  1033. /**
  1034. * 将病人信息填入患者信息修改form
  1035. * @param patinet
  1036. */
  1037. function fillPlusPatinet(patinet) {
  1038. if (patinet != null) {
  1039. $("#editUserCode").val(patinet.patientId);
  1040. $("#editUserName").val(patinet.name);
  1041. $("#editUserName").blur();
  1042. $("#editUserAge").val(patinet.age);
  1043. $("#editUserAge").blur();
  1044. $("#editUserGender").selectpicker('val', patinet.sex);
  1045. $("#editUserGender").selectpicker('refresh');
  1046. $("#editUserGender").blur();
  1047. $("#editUserBirthDay").val(patinet.birthDayStr);
  1048. $("#editUserBirthDay").blur();
  1049. $('#editUserCertificateType').selectpicker('val', patinet.certificateType);
  1050. $('#editUserCertificateType').selectpicker('refresh');
  1051. $("#editUserCardNo").val(patinet.icCardNo);
  1052. $("#editUserCardNo").attr("title", patinet.icCardNo);
  1053. $("#editUserCardNo").blur();
  1054. $("#editUserPhoneNum").val(patinet.phoneNo);
  1055. $("#editUserPhoneNum").attr("title", patinet.phoneNo);
  1056. $("#editUserPhoneNum").blur();
  1057. $("#editUserPatientsNature").selectpicker('val', patinet.responseType);//默认选中
  1058. $('#editUserPatientsNature').selectpicker('refresh');
  1059. $("#editUserPatientsNature").blur();
  1060. $("#editUserIdCard").val(patinet.socialNo);
  1061. $("#editUserIdCard").attr("title", patinet.socialNo);
  1062. $("#editUserIdCard").blur();
  1063. $("#editUserAddress").val(patinet.address);
  1064. $("#editUserAddress").blur();
  1065. $("#editUserContact").val(patinet.relName);
  1066. $("#editUserContactPhone").val(patinet.contractName);
  1067. }
  1068. }
  1069. /**
  1070. * 将病人信息修改域置空
  1071. * @param patinet
  1072. */
  1073. function clearPlusPatinet() {
  1074. $("#editUserCode").val(null);
  1075. $("#editUserName").val(null);
  1076. $("#editUserAge").val(null);
  1077. $("#editUserGender").selectpicker('val', '1');
  1078. $("#editUserGender").selectpicker('refresh');
  1079. $("#editUserBirthDay").val(null);
  1080. $('#editUserCertificateType').selectpicker('val', '01');
  1081. $('#editUserCertificateType').selectpicker('refresh');
  1082. $("#editUserCardNo").val(null);
  1083. $("#editUserCardNo").attr("title", null);
  1084. $("#editUserPhoneNum").val(null);
  1085. $("#editUserPhoneNum").attr("title", null);
  1086. $("#editUserPatientsNature").selectpicker('val', '01');//默认选中
  1087. $('#editUserPatientsNature').selectpicker('refresh');
  1088. $("#editUserIdCard").val(null);
  1089. $("#editUserIdCard").attr("title", null);
  1090. $("#editUserAddress").val(null);
  1091. $("#editUserContact").val(null);
  1092. $("#editUserContactPhone").val(null);
  1093. }
  1094. /**
  1095. * 关闭当前这个付款方式
  1096. */
  1097. function closeThisParent(obj) {
  1098. $(obj).parent().parent().remove();
  1099. }
  1100. /**
  1101. * 科室与时间区间下拉选改变时清空输入框内容
  1102. */
  1103. function emptyInput() {
  1104. $('#doctor').empty();
  1105. $('#doctor').selectpicker('refresh');
  1106. $("#registrationFee").val(0.00);
  1107. $("#hospitalFee").val(0.00);
  1108. $("#checkFee").val(0.00);
  1109. $("#amountMoney").text(0.00);
  1110. $("#amountMoneyConfirm").text(0.00);
  1111. $("#realMoney").val(0.00);
  1112. }
  1113. /**
  1114. * 给某些域增加title或者清除title
  1115. * @param obj
  1116. */
  1117. function clearTextOrTitle(obj) {
  1118. if ($(obj).val() == null || $(obj).val().length == 0) {
  1119. $(obj).attr("title", null);
  1120. } else {
  1121. $(obj).attr("title", $(obj).val());
  1122. if ($(obj).attr("id") == "birthDay") {
  1123. $(obj).blur()
  1124. }
  1125. }
  1126. }
  1127. /**
  1128. * 当按照卡号查询时,病人信息输入框不可编辑,当清空输入框时可编辑
  1129. * @param flag
  1130. */
  1131. function readonlyOrNot(flag) {
  1132. if (flag) {
  1133. $("#cardNo").attr("readonly", "readonly");
  1134. $("#userName").attr("readonly", "readonly");
  1135. $("#age").attr("readonly", "readonly");
  1136. $("#gender").attr("disabled", "disabled");
  1137. $("#phoneNum").attr("readonly", "readonly");
  1138. $("#patientsNature").attr("disabled", "disabled");
  1139. $("#idCard").attr("readonly", "readonly");
  1140. $("#address").attr("readonly", "readonly");
  1141. $("#birthDayReadonly").removeClass("hide").addClass("in");
  1142. $("#birthDayGroup").removeClass("in").addClass("hide");
  1143. $("#userName").removeClass("in").addClass("hide");
  1144. $("#userNameReadOnly").removeClass("hide").addClass("in");
  1145. $("#webuiPopover0").css("display", "none");
  1146. } else {
  1147. $("#cardNo").removeAttr("readonly");
  1148. $("#userName").removeAttr("readonly");
  1149. $("#age").removeAttr("readonly");
  1150. $("#gender").removeAttr("disabled");
  1151. $("#gender").next().removeClass("disabled");
  1152. $("#phoneNum").removeAttr("readonly");
  1153. $("#patientsNature").removeAttr("disabled");
  1154. $("#patientsNature").next().removeClass("disabled");
  1155. $("#idCard").removeAttr("readonly");
  1156. $("#address").removeAttr("readonly");
  1157. $("#birthDayReadonly").removeClass("in").addClass("hide");
  1158. $("#birthDayGroup").removeClass("hide").addClass("in");
  1159. $("#userName").removeClass("hide").addClass("in");
  1160. $("#userNameReadOnly").removeClass("in").addClass("hide");
  1161. //$("#webuiPopover0").css("display", "block");
  1162. }
  1163. }
  1164. /**
  1165. * 查询默认打印机
  1166. */
  1167. function setPrint() {
  1168. if (printIndex >= 0) {
  1169. return;
  1170. }
  1171. $.ajax({
  1172. type: "GET",
  1173. url: '/thmz/getLastWindowsByCurrentUser',
  1174. contentType: "application/json;charset=UTF-8",
  1175. dataType: "json",
  1176. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  1177. async: false,
  1178. success: function (res) {
  1179. if (res == '401' || res == 401) {
  1180. window.location.href = '/thmz/login/view'
  1181. return;
  1182. }
  1183. if (res.code == 0) {
  1184. printIndex = res.data.printIndex;
  1185. } else {
  1186. printIndex = -1;
  1187. }
  1188. }
  1189. });
  1190. }
  1191. //
  1192. // /**
  1193. // * 保存窗口号
  1194. // */
  1195. // function saveWindows() {
  1196. // $.ajax({
  1197. // type: "POST",
  1198. // url: '/thmz/saveWindows',
  1199. // contentType: "application/json;charset=UTF-8",
  1200. // dataType: "json",
  1201. // data: JSON.stringify({"windowsNo": $("#windowsNum").val()}),
  1202. // headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  1203. // success: function (res) {
  1204. // if (res == '401' || res == 401) {
  1205. // window.location.href = '/thmz/login/view'
  1206. // return;
  1207. // }
  1208. // $('#editWindowsModal').modal('hide');
  1209. // if (res.code == 0) {
  1210. // new PNotify({
  1211. // title: '操作提示',
  1212. // text: res.message,
  1213. // type: 'success',
  1214. // hide: true,
  1215. // styling: 'bootstrap3'
  1216. // });
  1217. // } else {
  1218. // new PNotify({
  1219. // title: '错误提示',
  1220. // text: res.message,
  1221. // type: 'error',
  1222. // hide: true,
  1223. // styling: 'bootstrap3'
  1224. // });
  1225. // }
  1226. // }
  1227. // });
  1228. // }
  1229. //
  1230. // /**
  1231. // * 保存打印机
  1232. // */
  1233. // function savePrint() {
  1234. // $.ajax({
  1235. // type: "POST",
  1236. // url: '/thmz/savePrintIndex',
  1237. // contentType: "application/json;charset=UTF-8",
  1238. // dataType: "json",
  1239. // data: JSON.stringify({"printIndex": $("#printSelect").val()}),
  1240. // headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  1241. // success: function (res) {
  1242. // if (res == '401' || res == 401) {
  1243. // window.location.href = '/thmz/login/view'
  1244. // return;
  1245. // }
  1246. // LODOP = getLodop();
  1247. // LODOP.PRINT_INITA(6, 0, "92mm", "120mm", "泰和门诊发票打印");
  1248. // LODOP.SET_PRINTER_INDEX($("#printSelect").val());
  1249. // printIndex=$("#printSelect").val();
  1250. // $('#editPrintModal').modal('hide');
  1251. // if (res.code == 0) {
  1252. // new PNotify({
  1253. // title: '操作提示',
  1254. // text: res.message,
  1255. // type: 'success',
  1256. // hide: true,
  1257. // styling: 'bootstrap3'
  1258. // });
  1259. // } else {
  1260. // new PNotify({
  1261. // title: '错误提示',
  1262. // text: res.message,
  1263. // type: 'error',
  1264. // hide: true,
  1265. // styling: 'bootstrap3'
  1266. // });
  1267. // }
  1268. // }
  1269. // });
  1270. // }
  1271. /**
  1272. * 保存病人信息
  1273. * @param flag true 继续调用挂号接口,false,只建档不挂号
  1274. */
  1275. function savePatient(flag) {
  1276. $.ajax({
  1277. type: "POST",
  1278. url: '/thmz/savePatient',
  1279. contentType: "application/json;charset=UTF-8",
  1280. dataType: "json",
  1281. async: false,
  1282. data: JSON.stringify({
  1283. "name": $("#userName").val(),
  1284. "age": $("#age").val(),
  1285. "sex": $("#gender").val(),
  1286. "birthDay": $("#birthDay").val(),
  1287. "certificateType": $("#certificateType").val(),
  1288. "icCardNo": $("#cardNo").val(),
  1289. "phoneNo": $("#phoneNum").val(),
  1290. "responseType": $("#patientsNature").val(),
  1291. "socialNo": $("#idCard").val(),
  1292. "address": $("#address").val()
  1293. }),
  1294. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  1295. success: function (res) {
  1296. if (res == '401' || res == 401) {
  1297. window.location.href = '/thmz/login/view'
  1298. return;
  1299. }
  1300. if (res.code == 0) {
  1301. if (flag) {
  1302. $("#patientId").val(res.data.patientId);
  1303. saveMzyReqrec();
  1304. } else {
  1305. clearRegistration();
  1306. successMesage(res);
  1307. }
  1308. } else {
  1309. $("#saveConfirmFee").attr("disabled", false);
  1310. errorMesage(res);
  1311. }
  1312. }
  1313. });
  1314. }
  1315. // /**
  1316. // * 修改病人信息诊疗卡信息
  1317. // */
  1318. // function modifyPatientIcCardNo() {
  1319. // $.ajax({
  1320. // type: "POST",
  1321. // url: '/thmz/modifyPatient',
  1322. // contentType: "application/json;charset=UTF-8",
  1323. // dataType: "json",
  1324. // data: JSON.stringify({
  1325. // //"age": jsGetAge($("#birthDayReadonly").val()),
  1326. // "icCardNo": $("#cardNo").val(),
  1327. // "patientId": $("#patientId").val(),
  1328. // }),
  1329. // headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  1330. // success: function (res) {
  1331. // if (res == '401' || res == 401) {
  1332. // window.location.href = '/thmz/login/view'
  1333. // return;
  1334. // }
  1335. // if (res.code == 0) {
  1336. // editIcCardNo=false;
  1337. // saveMzyReqrec();
  1338. // successMesage(res)
  1339. // } else {
  1340. // errorMesage(res);
  1341. // }
  1342. // }
  1343. // });
  1344. // }
  1345. /**
  1346. * 修改病人信息
  1347. */
  1348. function modifyPatient() {
  1349. $.ajax({
  1350. type: "POST",
  1351. url: '/thmz/modifyPatient',
  1352. contentType: "application/json;charset=UTF-8",
  1353. dataType: "json",
  1354. data: JSON.stringify({
  1355. "name": $("#editUserName").val(),
  1356. "age": $("#editUserAge").val(),
  1357. "sex": $("#editUserGender").val(),
  1358. "birthDay": $("#editUserBirthDay").val(),
  1359. "certificateType": $("#editUserCertificateType").val(),
  1360. "icCardNo": $("#editUserCardNo").val(),
  1361. "phoneNo": $("#editUserPhoneNum").val(),
  1362. "responseType": $("#editUserPatientsNature").val(),
  1363. "socialNo": $("#editUserIdCard").val(),
  1364. "address": $("#editUserAddress").val(),
  1365. "patientId": $("#editUserCode").val(),
  1366. "relName": $("#editUserContact").val(),
  1367. "contractName": $("#editUserContactPhone").val()
  1368. }),
  1369. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  1370. success: function (res) {
  1371. if (res == '401' || res == 401) {
  1372. window.location.href = '/thmz/login/view'
  1373. return;
  1374. }
  1375. if (res.code == 0) {
  1376. $('#editUserModal').modal('hide');
  1377. fillPatinet($("#patientId").val());
  1378. clearPlusPatinet();
  1379. successMesage(res);
  1380. } else {
  1381. errorMesage(res);
  1382. }
  1383. }
  1384. });
  1385. }
  1386. /**
  1387. * 保存挂号信息
  1388. */
  1389. function saveMzyReqrec() {
  1390. var mzyRequestId = $('#doctor').find("option:selected").attr('data-mzyRequestId');
  1391. var patientId = $("#patientId").val();
  1392. var totalFee = $("#realMoney").val();
  1393. $.ajax({
  1394. type: "POST",
  1395. url: '/thmz/saveMzyReqrec',
  1396. contentType: "application/json;charset=UTF-8",
  1397. dataType: "json",
  1398. data: JSON.stringify({
  1399. "mzyReqrec": {
  1400. "patientId": patientId,
  1401. "ampm": $("#ampm").val(),
  1402. "unitCode": $("#deptNo").val(),
  1403. "chargeType": $("#chargeType").val(),
  1404. "paymode": $("#payType").val(),
  1405. }, "responceType": $("#patientsNature").val(), "mzyRequestId": mzyRequestId, "totalFee": totalFee
  1406. }),
  1407. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  1408. success: function (res) {
  1409. if (res == '401' || res == 401) {
  1410. window.location.href = '/thmz/login/view'
  1411. return;
  1412. }
  1413. if (res.code == 0) {
  1414. successMesage(res);
  1415. $('#confirmFeeModal').modal('hide');
  1416. prn1Print(patientId, -1);
  1417. // loadTableCount();
  1418. // loadRegistrationList(true);
  1419. clearRegistration();
  1420. toEvaluation(patientId);
  1421. } else {
  1422. errorMesage(res);
  1423. }
  1424. $("#saveConfirmFee").attr("disabled", false);
  1425. }
  1426. });
  1427. }
  1428. /**
  1429. * 挂号列表中的科室和医生列表初始化
  1430. */
  1431. function initListSelect() {
  1432. initListDeptSelect();
  1433. initListDoctorSelect();
  1434. }
  1435. /**
  1436. * 挂号列表中的科室列表
  1437. */
  1438. function initListDeptSelect() {
  1439. //科室列表
  1440. $.ajax({
  1441. type: "GET",
  1442. url: '/thmz/allMzUnitCode',
  1443. dataType: "json",
  1444. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  1445. success: function (data) {
  1446. if (data == '401' || data == 401) {
  1447. window.location.href = '/thmz/login/view'
  1448. return;
  1449. }
  1450. var html = '';
  1451. $.each(data.data, function (commentIndex, comment) {
  1452. html += '<option value="' + comment.code + '">' + comment.name + '(' + comment.pyCode + ')</option>';
  1453. });
  1454. $('#deptNoParam').empty();
  1455. $('#deptNoParam').html(html);
  1456. $('#deptNoParam').selectpicker('refresh');
  1457. }
  1458. });
  1459. }
  1460. /**
  1461. * 挂号列表中的医生列表初始化
  1462. */
  1463. function initListDoctorSelect() {
  1464. //医生列表
  1465. $.ajax({
  1466. type: "GET",
  1467. url: '/thmz/listEmployeeByDepts?depts=' + $('#deptNoParam').val(),
  1468. dataType: "json",
  1469. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  1470. success: function (res) {
  1471. if (res == '401' || res == 401) {
  1472. window.location.href = '/thmz/login/view'
  1473. return;
  1474. }
  1475. var html = '';
  1476. $.each(res.data, function (commentIndex, comment) {
  1477. html += '<option value="' + comment.employeeCode + '">' + comment.employeeName + '</option>';
  1478. });
  1479. $('#doctorParam').empty();
  1480. $('#doctorParam').html(html);
  1481. // $("#doctorParam").selectpicker({
  1482. // size: 10
  1483. // });
  1484. $('#doctorParam').selectpicker('destroy').selectpicker('refresh');
  1485. }
  1486. });
  1487. }
  1488. /**
  1489. * 清空搜索参数
  1490. */
  1491. function clearParams() {
  1492. $("#deptNoParam").selectpicker('val', null);
  1493. $("#deptNoParam").selectpicker('refresh');
  1494. $("#doctorParam").selectpicker('val', null);
  1495. $("#deptNoParam").selectpicker('refresh');
  1496. $("#userNameParam").val(null);
  1497. $("#phoneParam").val(null);
  1498. $('#reportrange span').html(moment().format('YYYY-MM-DD') + ' - ' + moment().format('YYYY-MM-DD'));
  1499. }
  1500. /**
  1501. * 保存退号信息
  1502. */
  1503. function saveBackNo() {
  1504. $.ajax({
  1505. type: "POST",
  1506. url: '/thmz/updateReqrec',
  1507. contentType: "application/json;charset=UTF-8",
  1508. dataType: "json",
  1509. data: JSON.stringify({
  1510. "patientId": $("#backNoPatientId").val(),
  1511. "times": $("#backNoTimes").val(),
  1512. "cancelMark": 1
  1513. }),
  1514. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  1515. success: function (res) {
  1516. if (res == '401' || res == 401) {
  1517. window.location.href = '/thmz/login/view'
  1518. return;
  1519. }
  1520. if (res.code == 0) {
  1521. successMesage(res);
  1522. loadTableCount();
  1523. loadRegistrationList(true);
  1524. $("#backNoModal").modal("hide");
  1525. } else {
  1526. errorMesage(res);
  1527. }
  1528. }
  1529. });
  1530. }
  1531. /**
  1532. * 医保电子凭证读卡
  1533. */
  1534. function siReadCard() {
  1535. $.ajax({
  1536. type: "GET",
  1537. url: 'http://localhost:8321/readcard/entry?param=qrcode_01101',
  1538. contentType: "application/json;charset=UTF-8",
  1539. dataType: "json",
  1540. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  1541. success: function (res) {
  1542. if (res == '401' || res == 401) {
  1543. window.location.href = '/thmz/login/view'
  1544. return;
  1545. }
  1546. //console.log(res);
  1547. if (res.code == 200) {
  1548. var data = JSON.parse(res.data);
  1549. $('#certificateType').selectpicker('val', data.data.idType);
  1550. $('#certificateType').selectpicker('refresh');
  1551. $("#idCard").val(data.data.idNo);
  1552. $("#userName").val(data.data.userName);
  1553. queryUserInfoBySocialNo();
  1554. //successMesage(res);
  1555. } else {
  1556. errorMesage(res);
  1557. }
  1558. }
  1559. });
  1560. // window.open('ReadCard://'+prm, '_self')
  1561. }
  1562. /**
  1563. * 清空挂号信息
  1564. */
  1565. function clearRegistration() {
  1566. $("#cardNo").val(null);
  1567. $("#cardNo").attr("title", null);
  1568. $("#userName").val(null);
  1569. $("#age").val(null);
  1570. $("#gender").selectpicker('val', 1);
  1571. $("#gender").selectpicker('refresh');
  1572. $("#birthDay").val(null);
  1573. $("#birthDay").attr("title", null);
  1574. $("#phoneNum").val(null);
  1575. $("#phoneNum").attr("title", null);
  1576. $("#patientsNature").selectpicker('val', '01');//默认选中
  1577. $('#patientsNature').selectpicker('refresh');
  1578. $("#idCard").val(null);
  1579. $("#idCard").attr("title", null);
  1580. $("#address").val(null);
  1581. //$("#idAddress").val(null);
  1582. $("#copyAddress").removeAttr("data-clipboard-text");
  1583. $("#copyAddress").hide();
  1584. $("#patientId").val(null);
  1585. $("#editUser").hide();
  1586. $("#clearIcCardNo").hide();
  1587. $("#nucleicAcid").hide();
  1588. $("#hybridTest").hide();
  1589. //默认光标在卡号输入框
  1590. $("#cardNo").focus();
  1591. initMzWorkTime();
  1592. readonlyOrNot(false);
  1593. $('#certificateType').selectpicker('val', '01');
  1594. $('#certificateType').selectpicker('refresh');
  1595. $("#saveUser").hide();
  1596. }
  1597. /**
  1598. * 直接打印发票
  1599. * @param patientId
  1600. */
  1601. function prn1Print(patientId, times) {
  1602. setPrint();
  1603. var height = "93.15mm";
  1604. // if(countReceiot%2==0){
  1605. // height ="93.2mm";
  1606. // }
  1607. $.ajax({
  1608. type: "GET",
  1609. url: '/thmz/printMzyReqrecRecept?patientId=' + patientId + "&times=" + times,
  1610. contentType: "application/json;charset=UTF-8",
  1611. dataType: "json",
  1612. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  1613. success: function (res) {
  1614. if (res == '401' || res == 401) {
  1615. window.location.href = '/thmz/login/view'
  1616. return;
  1617. }
  1618. if (res.code == 0) {
  1619. if (res.data == null || res.data.length == 0) {
  1620. return;
  1621. }
  1622. // countReceiot++;
  1623. LODOP = getLodop();
  1624. var temp = res.data;
  1625. LODOP.PRINT_INITA(6, 0, "120mm", height, "泰和门诊发票打印");
  1626. //设置默认打印机
  1627. LODOP.SET_PRINTER_INDEX(printIndex);
  1628. LODOP.SET_SHOW_MODE("BKIMG_WIDTH", "120mm");
  1629. LODOP.SET_SHOW_MODE("BKIMG_HEIGHT", height);
  1630. LODOP.SET_PRINT_PAGESIZE(1, "120mm", height, "CreateCustomPage");
  1631. LODOP.SET_PRINT_MODE("CREATE_CUSTOM_PAGE_NAME", "门诊发票");//对新建的纸张重命名
  1632. LODOP.SET_PRINT_STYLE("FontSize", 11); //字体大小
  1633. LODOP.ADD_PRINT_TEXT("6mm", "0mm", "55mm", "3mm", "湖南泰和医院管理有限公司");
  1634. LODOP.ADD_PRINT_TEXT("6mm", "59mm", "30mm", "3mm", "流水号:");
  1635. LODOP.ADD_PRINT_TEXT("6mm", "72mm", "20mm", "3mm", temp.serialNo);
  1636. LODOP.ADD_PRINT_TEXT("19mm", "0mm", "35mm", "3mm", temp.receiptBill);
  1637. LODOP.ADD_PRINT_TEXT("25mm", "7mm", "50mm", "3mm", temp.name);
  1638. LODOP.ADD_PRINT_TEXT("25mm", "61mm", "27mm", "3mm", patientId);
  1639. LODOP.ADD_PRINT_TEXT("32mm", "6mm", "50mm", "3mm", "就诊科室:" + temp.unitCode);
  1640. LODOP.ADD_PRINT_TEXT("32mm", "56mm", "50mm", "3mm", "地点:" + res.officePos == null ? "" : res.officePos);
  1641. LODOP.ADD_PRINT_TEXT("37mm", "6mm", "50mm", "3mm", "看诊医生:" + temp.doctorCode);
  1642. LODOP.ADD_PRINT_TEXT("37mm", "56mm", "50mm", "3mm", "号段:" + temp.ampm);
  1643. LODOP.ADD_PRINT_TEXT("42mm", "6mm", "50mm", "3mm", "号别:" + temp.chargeType);
  1644. LODOP.ADD_PRINT_TEXT("42mm", "56mm", "50mm", "3mm", "就诊号:" + temp.reqOrder);
  1645. LODOP.ADD_PRINT_TEXT("47mm", "6mm", "50mm", "3mm", "挂号费:" + temp.reqFee);
  1646. LODOP.ADD_PRINT_TEXT("47mm", "56mm", "50mm", "3mm", "诊查费:" + temp.clinicFee);
  1647. LODOP.ADD_PRINT_TEXT("52mm", "6mm", "50mm", "3mm", "其他:" + temp.othFee);
  1648. LODOP.ADD_PRINT_TEXT("52mm", "56mm", "50mm", "3mm", "工本费:" + temp.brochureFee);
  1649. LODOP.ADD_PRINT_TEXT("65mm", "21mm", "60mm", "3mm", res.totalFee + " 元");
  1650. LODOP.ADD_PRINT_TEXT("72mm", "19mm", "60mm", "3mm", res.totalFeeStr);
  1651. LODOP.ADD_PRINT_TEXT("79mm", "0mm", "15mm", "3mm", res.year);//年
  1652. LODOP.ADD_PRINT_TEXT("79mm", "13mm", "10mm", "3mm", res.month);//月
  1653. LODOP.ADD_PRINT_TEXT("79mm", "25mm", "10mm", "3mm", res.day);//日
  1654. LODOP.ADD_PRINT_TEXT("79mm", "53mm", "23mm", "3mm", res.user.userName);//收费员
  1655. //LODOP.PREVIEW();
  1656. LODOP.PRINT();
  1657. if (times > 0) {
  1658. loadRegistrationList(true);
  1659. }
  1660. } else if (res.code == -2) {
  1661. new PNotify({
  1662. title: '操作提示',
  1663. text: res.message,
  1664. type: 'success',
  1665. hide: true,
  1666. styling: 'bootstrap3'
  1667. });
  1668. } else if (res.code == -1) {
  1669. new PNotify({
  1670. title: '错误提示',
  1671. text: res.message,
  1672. type: 'error',
  1673. hide: true,
  1674. styling: 'bootstrap3'
  1675. });
  1676. }
  1677. }
  1678. });
  1679. };
  1680. /**
  1681. * 销卡
  1682. * @param data
  1683. */
  1684. function clearIcCardNo() {
  1685. $.ajax({
  1686. type: "GET",
  1687. url: '/thmz/clearIcCardNo?patientId=' + $("#patientId").val(),
  1688. contentType: "application/json;charset=UTF-8",
  1689. dataType: "json",
  1690. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  1691. success: function (res) {
  1692. if (res == '401' || res == 401) {
  1693. window.location.href = '/thmz/login/view'
  1694. return;
  1695. }
  1696. if (res.code == 0) {
  1697. clearRegistration();
  1698. successMesage(res);
  1699. } else {
  1700. errorMesage(res);
  1701. }
  1702. }
  1703. });
  1704. }
  1705. /**
  1706. * 根据手机号码查询病人信息
  1707. */
  1708. function queryUserInfoByphoneNo() {
  1709. var phoneNo = $("#phoneNum").val();
  1710. if (phoneNo.length == 11) {
  1711. $.ajax({
  1712. type: "GET",
  1713. url: '/thmz/getByPhoneNo?phoneNo=' + phoneNo,
  1714. contentType: "application/json;charset=UTF-8",
  1715. dataType: "json",
  1716. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  1717. success: function (res) {
  1718. if (res == '401' || res == 401) {
  1719. window.location.href = '/thmz/login/view'
  1720. return;
  1721. }
  1722. if (res.code == 0) {
  1723. fitPatient(res);
  1724. }
  1725. }
  1726. });
  1727. }
  1728. }
  1729. /**
  1730. * 根据病人姓名查询病人信息
  1731. */
  1732. function queryUserInfoByName() {
  1733. var userName = $('#userName').val();
  1734. // var cardNo=$("#cardNo").val();
  1735. if (userName == null || userName == "") {
  1736. return;
  1737. }
  1738. if (userName.length > 0) {
  1739. $.ajax({
  1740. type: "GET",
  1741. url: '/thmz/getPatientMiByName?name=' + userName,
  1742. contentType: "application/json;charset=UTF-8",
  1743. dataType: "json",
  1744. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  1745. success: function (res) {
  1746. if (res == '401' || res == 401) {
  1747. window.location.href = '/thmz/login/view'
  1748. return;
  1749. }
  1750. if (res.code == 0) {
  1751. fitPatient(res);
  1752. }
  1753. }
  1754. });
  1755. }
  1756. }
  1757. /**
  1758. * 设置年龄
  1759. */
  1760. function setAge() {
  1761. var birthDay = $("#birthDay").val();
  1762. if (birthDay.length == 8 && birthDay.indexOf("-") <= 0) {
  1763. birthDay = birthDay.substring(0, 4) + "-" + birthDay.substring(4, 6) + "-" + birthDay.substring(6);
  1764. $("#birthDay").val(birthDay);
  1765. }
  1766. var dateFormat = /^(\d{4})-(\d{2})-(\d{2})$/;
  1767. if (!dateFormat.test(birthDay)) {
  1768. new PNotify({
  1769. title: '错误提示',
  1770. text: '生日日期错误',
  1771. type: 'error',
  1772. hide: true,
  1773. styling: 'bootstrap3'
  1774. });
  1775. }
  1776. var arr = birthDay.split("-");
  1777. if (!checkDate(arr[0], arr[1], arr[2])) {
  1778. new PNotify({
  1779. title: '错误提示',
  1780. text: '生日日期错误',
  1781. type: 'error',
  1782. hide: true,
  1783. styling: 'bootstrap3'
  1784. });
  1785. }
  1786. var returnAge = jsGetAge(birthDay);
  1787. $("#age").val(returnAge);
  1788. }
  1789. /**
  1790. * 打开创建核酸检测(单人)处方弹窗
  1791. */
  1792. function nucleicAcid() {
  1793. $("#nucleicAcidTip").html("是否要给患者【" + $("#userName").val() + "】创建核酸检查(单人单管)申请?");
  1794. $("#saveNucleicAcid").removeClass("hide");
  1795. $("#chargeFeeNucleicAcid").addClass("hide");
  1796. $("#nucleicAcidModal").modal();
  1797. }
  1798. /**
  1799. * 打开创建核酸检测(混检)处方弹窗
  1800. */
  1801. function hybridTest() {
  1802. $("#hybridTestTip").html("是否要给患者【" + $("#userName").val() + "】创建核酸检查(混检)申请?");
  1803. $("#saveHybridTest").removeClass("hide");
  1804. $("#chargeFeeHybridTest").addClass("hide");
  1805. $("#hybridTestModal").modal();
  1806. }
  1807. /**
  1808. * 创建核酸检查处方并保存
  1809. */
  1810. function saveNucleicAcid() {
  1811. $.ajax({
  1812. type: "GET",
  1813. url: '/thmz/identityCardVerification?patientId=' + $("#patientId").val(),
  1814. contentType: "application/json;charset=UTF-8",
  1815. dataType: "json",
  1816. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  1817. success: function (res) {
  1818. if (res == '401' || res == 401) {
  1819. window.location.href = '/thmz/login/view'
  1820. return;
  1821. }
  1822. if (res.code == 0) {
  1823. $.ajax({
  1824. type: "GET",
  1825. url: '/thmz/nucleicAcidApplication?patientId=' + $("#patientId").val(),
  1826. contentType: "application/json;charset=UTF-8",
  1827. dataType: "json",
  1828. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  1829. success: function (res) {
  1830. if (res == '401' || res == 401) {
  1831. window.location.href = '/thmz/login/view'
  1832. return;
  1833. }
  1834. if (res.code == 0) {
  1835. successMesage(res);
  1836. $("#nucleicAcidTip").html("患者【" + $("#userName").val() + "】的核酸检查(单人单管)申请已经创建成功,是否立即缴费?");
  1837. $("#chargeFeeNucleicAcid").removeClass("hide");
  1838. $("#saveNucleicAcid").addClass("hide");
  1839. //$("#nucleicAcidModal").modal("hide");
  1840. } else {
  1841. errorMesage(res);
  1842. }
  1843. }
  1844. });
  1845. } else {
  1846. errorMesage(res);
  1847. }
  1848. }
  1849. });
  1850. }
  1851. /**
  1852. * 跳转到缴费界面
  1853. */
  1854. function chargeFeeNucleicAcid() {
  1855. $("#nucleicAcidModal").modal("hide");
  1856. //延时刷新页面,因为页面弹窗有遮掩,需要时间清除
  1857. setTimeout(function () {
  1858. //不按传统的路径传值设置值,这个参数会在页面跳转的时候截断
  1859. changeContent('/thmz/toll-administration?' + $("#patientId").val());
  1860. }, 400);
  1861. }
  1862. /**
  1863. * 创建核酸检查(混检)处方并保存
  1864. */
  1865. function saveHybridTest() {
  1866. $.ajax({
  1867. type: "GET",
  1868. url: '/thmz/identityCardVerification?patientId=' + $("#patientId").val(),
  1869. contentType: "application/json;charset=UTF-8",
  1870. dataType: "json",
  1871. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  1872. success: function (res) {
  1873. if (res == '401' || res == 401) {
  1874. window.location.href = '/thmz/login/view'
  1875. return;
  1876. }
  1877. if (res.code == 0) {
  1878. $.ajax({
  1879. type: "GET",
  1880. url: '/thmz/hybridTestApplication?patientId=' + $("#patientId").val(),
  1881. contentType: "application/json;charset=UTF-8",
  1882. dataType: "json",
  1883. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  1884. success: function (res) {
  1885. if (res == '401' || res == 401) {
  1886. window.location.href = '/thmz/login/view'
  1887. return;
  1888. }
  1889. if (res.code == 0) {
  1890. successMesage(res);
  1891. $("#hybridTestTip").html("患者【" + $("#userName").val() + "】的核酸检查(混检)申请已经创建成功,是否立即缴费?");
  1892. $("#chargeFeeHybridTest").removeClass("hide");
  1893. $("#saveHybridTest").addClass("hide");
  1894. } else {
  1895. errorMesage(res);
  1896. }
  1897. }
  1898. });
  1899. } else {
  1900. errorMesage(res);
  1901. }
  1902. }
  1903. });
  1904. }
  1905. /**
  1906. * 跳转到(混检)缴费界面
  1907. */
  1908. function chargeFeeHybridTest() {
  1909. $("#hybridTestModal").modal("hide");
  1910. //延时刷新页面,因为页面弹窗有遮掩,需要时间清除
  1911. setTimeout(function () {
  1912. //不按传统的路径传值设置值,这个参数会在页面跳转的时候截断
  1913. changeContent('/thmz/toll-administration?' + $("#patientId").val());
  1914. }, 400);
  1915. }
  1916. /**
  1917. * 复制地址
  1918. */
  1919. function copyAddress() {
  1920. if (clipboard != null) {
  1921. clipboard.destroy();
  1922. }
  1923. clipboard = new ClipboardJS('#copyAddress', {
  1924. text: function (trigger) {
  1925. alert("复制成功!");
  1926. return trigger.getAttribute('data-clipboard-text');
  1927. }
  1928. });
  1929. }