registration.js 59 KB

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