郑州第一人民医院UI

afterDischarge.js 16KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476
  1. var f_State = '住院患者'
  2. var $tableLeft = ''
  3. $(function() {
  4. getdept()
  5. initTable()
  6. var t, n, count = 0;
  7. t = setInterval("showAuto()", 1000 * 60);
  8. $("#sc_btns").click(function() {
  9. initTable()
  10. })
  11. //时间
  12. laydate.render({
  13. elem: '#startTime',
  14. range: '~',
  15. theme: '#249fea'
  16. });
  17. function getPreDatetime(pdate) {
  18. var start = new Date()
  19. start.setTime(start.getTime() - pdate)
  20. start.getYear(); // 获取当前年份(2位)
  21. var YY = start.getFullYear() // 获取完整的年份(4位,1970-????)
  22. var MM = start.getMonth() + 1 // 获取当前月份(0-11,0代表1月)
  23. MM = MM > 9 ? MM : ('0' + MM);
  24. var DD = start.getDate() // 获取当前日(1-31)
  25. DD = DD > 9 ? DD : ('0' + DD)
  26. var lastmonth = YY + '-' + MM + '-' + DD;
  27. return lastmonth;
  28. }
  29. if ($('#startTime').val() == "") {
  30. function p(s) {
  31. return s < 10 ? '0' + s : s;
  32. }
  33. var currentYear = new Date().getFullYear();
  34. var currentMonth = new Date().getMonth() + 1;
  35. var currentDate = new Date().getDate();
  36. var prevCurrentYear = 0;
  37. var prevCurrentMonth = 0;
  38. if (currentMonth == 1) {
  39. prevCurrentYear = currentYear - 1;
  40. prevCurrentMonth = 12;
  41. } else {
  42. prevCurrentYear = currentYear;
  43. prevCurrentMonth = currentMonth - 1;
  44. }
  45. var current = currentYear + "-" + p(currentMonth) + "-" + p(currentDate);
  46. // var lastmonth = prevCurrentYear + "-" + p(prevCurrentMonth) + "-" + p(currentDate)
  47. var a = getPreDatetime(3600 * 1000 * 24 * 30);
  48. $('#startTime').val(getPreDatetime(3600 * 1000 * 24 * 30) + " ~ " + current)
  49. initTable();
  50. }
  51. //TAB切换
  52. $('#tab_head_left li').click(function() {
  53. $(this).addClass('tab_head_active').siblings().removeClass('tab_head_active');
  54. state = $(this).attr('data-index');
  55. f_State = state
  56. initTable();
  57. })
  58. })
  59. function getdept() {
  60. $("#deptname").html('');
  61. equipmentdata = []
  62. $("#deptname").append('<option value="">请选择科室名称</option>');
  63. $.ajax({
  64. type: "get",
  65. url: huayi.config.callcenter_url + "testusertypeapi/api/Test/gethzcyksinfo",
  66. async: true,
  67. dataType: 'json',
  68. success: function(data) {
  69. var leveldata = []
  70. if (data.state.toLowerCase() == 'success') {
  71. console.log(data)
  72. leveldata = data.data
  73. $(leveldata).each(function(q, p) {
  74. $("<option value='" + p + "'>" + p + "</option>").appendTo("#deptname");
  75. $("#deptname").selectpicker('refresh');
  76. });
  77. } else {
  78. $("#deptname").empty();
  79. $("#deptname").selectpicker('refresh');
  80. }
  81. }
  82. });
  83. }
  84. function initTable() {
  85. $tableLeft = $('#table_all');
  86. $tableLeft.bootstrapTable('destroy');
  87. //先销毁表格
  88. $tableLeft.bootstrapTable({
  89. method: "get", //使用get请求到服务器获取数据
  90. url: huayi.config.callcenter_url + "testusertypeapi/api/Test/getsendhfinfo",
  91. contentType: "application/x-www-form-urlencoded",
  92. striped: true, //表格显示条纹
  93. pagination: true, //启动分页
  94. pageSize: 10, //每页显示的记录数
  95. pageNumber: 1, //当前第几页
  96. fixedColumns: true,
  97. fixedNumber: 3,
  98. pageList: [5, 10, 20, 50, 100], //记录数可选列表
  99. search: false, //是否启用查询
  100. showColumns: false, //显示下拉框勾选要显示的列
  101. showRefresh: false, //显示刷新按钮
  102. sidePagination: "server", //表示服务端请求
  103. //设置为undefined可以获取pageNumber,pageSize,searchText,sortName,sortOrder
  104. //设置为limit可以获取limit, offset, search, sort, order
  105. queryParamsType: "undefined",
  106. queryParams: function queryParams(params) { //设置查询参数
  107. console.log(params)
  108. var param = {
  109. PageIndex: params.pageNumber,
  110. PageSize: params.pageSize,
  111. iszyormz: f_State,
  112. key: $("#key").val(),
  113. yqinfo: $("#projectid").val(),
  114. sendmydcent: $("#myd").val(),
  115. deptname: $("#deptname").val(),
  116. stime: $('#startTime').val() && $('#startTime').val().split(' ~ ')[0], //开始时间
  117. etime: $('#startTime').val() && $('#startTime').val().split(' ~ ')[1], //结束时间
  118. };
  119. return param;
  120. },
  121. onPostBody: function() {
  122. //console.log("行数据渲染完成!");
  123. var totalPages = $tableLeft.bootstrapTable("getOptions").totalPages;
  124. var pageNumber = $tableLeft.bootstrapTable("getOptions").pageNumber;
  125. var goInputWidth = 45; //输入框默认宽度
  126. var maxLen = ("" + totalPages).length;
  127. //根据总页数设定跳转页面输入框宽度
  128. if (totalPages > 999)
  129. goInputWidth = maxLen * 10 + 15;
  130. var $pageGo = $('<span style="padding-left: 5px;">跳转到<input type="number" maxlength="' +
  131. maxLen + '" min="1" max="' + totalPages +
  132. '" class="input-box" id="c_jump-to-page" value="' +
  133. pageNumber + '" style="width: ' + goInputWidth + 'px;" />/' +
  134. totalPages + '页&nbsp;</span>');
  135. var $go = $("<a href=\"javascript:;\">Go</a>");
  136. var $shou = $("<a href=\"javascript:;\">首页</a>")
  137. var $wei = $("<a href=\"javascript:;\">尾页</a>")
  138. $pageGo.append($go);
  139. $pageGo.append($shou);
  140. $pageGo.append($wei);
  141. $(".pagination-detail").append($pageGo);
  142. //页码范围限定(部分浏览器min~max失效时)
  143. $pageGo.change(function() {
  144. var goPage = $('#c_jump-to-page').val();
  145. if (goPage < 1)
  146. $('#c_jump-to-page').val(1);
  147. if (goPage > totalPages)
  148. $('#c_jump-to-page').val(totalPages);
  149. });
  150. //跳转到
  151. $go.click(function() {
  152. var goPage = parseInt($('#c_jump-to-page').val());
  153. console.log(totalPages)
  154. if (goPage != pageNumber)
  155. $tableLeft.bootstrapTable('selectPage', parseInt(goPage));
  156. });
  157. $shou.click(function() {
  158. $tableLeft.bootstrapTable('selectPage', 1);
  159. });
  160. $wei.click(function() {
  161. $tableLeft.bootstrapTable('selectPage', totalPages);
  162. });
  163. },
  164. onLoadSuccess: function(data) { //加载成功时执行
  165. //判断 住院患者和门诊患者展示信息
  166. if (f_State == '住院患者') {
  167. $tableLeft.bootstrapTable('showColumn', 'ZY_NO'); //显示
  168. // $tableLeft.bootstrapTable('showColumn', 'NAME');//显示
  169. // $tableLeft.bootstrapTable('showColumn', 'SEX');//显示
  170. // $tableLeft.bootstrapTable('showColumn', 'PAT_PHONE');//显示
  171. $tableLeft.bootstrapTable('showColumn', 'ZY_AGE'); //显示
  172. $tableLeft.bootstrapTable('showColumn', 'CY_ZD'); //显示
  173. $tableLeft.bootstrapTable('showColumn', 'CY_DEPT_NAME'); //显示
  174. $tableLeft.bootstrapTable('showColumn', 'CY_DATE'); //显示
  175. $tableLeft.bootstrapTable('showColumn', 'ZY_DAYS'); //显示
  176. $tableLeft.bootstrapTable('showColumn', 'PA_ADDRESS'); //显示
  177. $tableLeft.bootstrapTable('showColumn', 'ZY_DEPT_NAME'); //显示
  178. // $tableLeft.bootstrapTable('hideColumn', 'chinic_no');//隐藏上述variablevalue列
  179. // $tableLeft.bootstrapTable('hideColumn', 'patient_name');//隐藏上述variablevalue列
  180. // $tableLeft.bootstrapTable('hideColumn', 'sex');//隐藏上述variablevalue列
  181. // $tableLeft.bootstrapTable('hideColumn', 'phone');//隐藏上述variablevalue列
  182. $tableLeft.bootstrapTable('hideColumn', 'JB_NAME'); //隐藏上述variablevalue列
  183. $tableLeft.bootstrapTable('hideColumn', 'mzjzdeptname'); //隐藏上述variablevalue列
  184. $tableLeft.bootstrapTable('hideColumn', 'mzjztime'); //隐藏上述variablevalue列
  185. $tableLeft.bootstrapTable('hideColumn', 'ZZ_DOC'); //隐藏上述variablevalue列
  186. } else {
  187. $tableLeft.bootstrapTable('hideColumn', 'ZY_AGE'); //隐藏上述variablevalue列
  188. $tableLeft.bootstrapTable('hideColumn', 'ZY_NO'); //隐藏上述variablevalue列
  189. // $tableLeft.bootstrapTable('hideColumn', 'NAME');//隐藏上述variablevalue列
  190. // $tableLeft.bootstrapTable('hideColumn', 'SEX');//隐藏上述variablevalue列
  191. // $tableLeft.bootstrapTable('hideColumn', 'PAT_PHONE');//隐藏上述variablevalue列
  192. $tableLeft.bootstrapTable('hideColumn', 'CY_ZD'); //隐藏上述variablevalue列
  193. $tableLeft.bootstrapTable('hideColumn', 'CY_DEPT_NAME'); //隐藏上述variablevalue列
  194. $tableLeft.bootstrapTable('hideColumn', 'CY_DATE'); //隐藏上述variablevalue列
  195. $tableLeft.bootstrapTable('hideColumn', 'ZY_DEPT_NAME'); //隐藏上述variablevalue列
  196. $tableLeft.bootstrapTable('hideColumn', 'ZY_DAYS'); //显示
  197. $tableLeft.bootstrapTable('hideColumn', 'PA_ADDRESS'); //显示
  198. // $tableLeft.bootstrapTable('showColumn', 'chinic_no');// 显示
  199. // $tableLeft.bootstrapTable('showColumn', 'patient_name');// 显示
  200. // $tableLeft.bootstrapTable('showColumn', 'sex');// 显示
  201. // $tableLeft.bootstrapTable('showColumn', 'phone');// 显示
  202. $tableLeft.bootstrapTable('showColumn', 'JB_NAME'); // 显示
  203. $tableLeft.bootstrapTable('showColumn', 'mzjzdeptname'); // 显示
  204. $tableLeft.bootstrapTable('showColumn', 'mzjztime'); // 显示
  205. $tableLeft.bootstrapTable('showColumn', 'ZZ_DOC'); // 显示
  206. }
  207. var newDataL = {};
  208. newDataL.state = data.state;
  209. newDataL.message = data.message;
  210. newDataL.rows = data.data.rows;
  211. newDataL.total = data.data.total;
  212. $tableLeft.bootstrapTable('load', newDataL);
  213. $('.tool_downs').authorizeOperateButton();
  214. },
  215. onLoadError: function() { //加载失败时执行
  216. layer.msg("加载数据失败", {
  217. time: 1500,
  218. icon: 2
  219. });
  220. }
  221. });
  222. }
  223. $(function() {
  224. projectName()
  225. })
  226. // 院区选择
  227. function projectName() {
  228. $("#projectid").empty();
  229. $("#projectid").append("<option value=''>请选择医院</option>");
  230. $.getJSON(huayi.config.callcenter_url + "equipmentapi/api/ProjectInfo/getlistdrop", function(result) {
  231. if (result.state.toLowerCase() == "success") {
  232. var content = result.data;
  233. $(content).each(function(i, n) {
  234. $("<option value='" + n.id + "'>" + n.text + "</option>").appendTo("#projectid");
  235. })
  236. $("#projectid").selectpicker('refresh');
  237. }
  238. })
  239. }
  240. //格式化操作
  241. function formatterOperate(val, row) {
  242. if (f_State == "门诊患者") {
  243. {
  244. var str = '<ul class="tool_downs">' +
  245. '<li><a class="aBtn" authorize="yes" id="HY_discharge_' + row.id + '" onclick="btn_myd(\'' + row.id +
  246. '\')">满意度</a><li>' +
  247. '<li><a class="aBtn" authorize="yes" id="HY_remarks_' + row.id + '" onclick="btn_remark(\'' + row.id +
  248. '\')">备注</a><li>'
  249. '</ul>';
  250. return str
  251. }
  252. } else {
  253. {
  254. var str = '<ul class="tool_downs">' +
  255. '<li><a class="aBtn" authorize="yes" id="HY_discharge_' + row.id + '" onclick="btn_myd(\'' + row.id +
  256. '\')">满意度</a><li>' +
  257. '<li><a class="aBtn" authorize="yes" id="HY_remarks_' + row.id + '" onclick="btn_remark(\'' + row.id +
  258. '\')">备注</a><li>' +
  259. '<li id="detail"><a class="aBtn" authorize="yes" id="HY_detail_' + row.id + '" onclick="btn_detail(\'' +
  260. row.id +
  261. '\')">详情</a><li>'
  262. '</ul>';
  263. return str
  264. }
  265. }
  266. }
  267. // // 外呼
  268. function callout(val, row) {
  269. var str='<div>'+ val+ '</div>';
  270. return str
  271. }
  272. // function callout(val, row) {
  273. // var str='<div>'+ val+'<img src="./img/extensionnumber_icons.png" style="width:15px;height:15px;display:block" />'+ '</div>'
  274. // return str
  275. // }
  276. function btn_myd(sendmyeds) {
  277. layer.open({
  278. type: 2,
  279. content: "./myd.html?sendmyeds=" + sendmyeds,
  280. title: '修改满意度',
  281. area: ['50%', '45%'], //宽高
  282. });
  283. }
  284. function btn_detail(detail_id) {
  285. layer.open({
  286. type: 2,
  287. content: "./afterDischargeDetail.html?detail_id=" + detail_id,
  288. title: '出院患者记录详细信息',
  289. area: ['50%', '65%'], //宽高
  290. });
  291. }
  292. // 备注
  293. function btn_remark(remark_id) {
  294. layer.open({
  295. type: 2,
  296. content: "./remark.html?remark_id=" + remark_id,
  297. title: '备注',
  298. area: ['50%', '65%'], //宽高
  299. });
  300. }
  301. //获取短信回复内容
  302. function sendmsg() {
  303. $.ajax({
  304. type: "get",
  305. url: huayi.config.callcenter_url + "testusertypeapi/api/Test/getmassagereply", //获取数据的Servlet地址
  306. async: true,
  307. dataType: 'json',
  308. data: {},
  309. success: function(data) {
  310. }
  311. });
  312. }
  313. function showAuto() {
  314. sendmsg()
  315. }
  316. // 导出
  317. $("#HY_export").click(function() {
  318. if (f_State == '住院患者') {
  319. var key = $("#key").val() //关键字
  320. var yqinfo = $('#projectid').val()
  321. var sendmydcent = $('#myd').val() //满意度
  322. var deptname = $('#deptname').val() //科室名称
  323. var iszyormz = f_State
  324. var stime = $('#startTime').val() && $('#startTime').val().split(' ~ ')[0] //开始时间
  325. var etime = $('#startTime').val() && $('#startTime').val().split(' ~ ')[1] //结束时间
  326. window.location.href = huayi.config.callcenter_url +
  327. "testusertypeapi/api/Test/exportexcel?sendmydcent=" +
  328. sendmydcent + "&stime=" + stime + "&etime=" + etime + "+&key=" + key + "&deptname=" + deptname +
  329. "&yqinfo=" +
  330. yqinfo + "&iszyormz=" +
  331. iszyormz
  332. } else {
  333. $.ajax({
  334. type: "get",
  335. url: huayi.config.callcenter_url + "testusertypeapi/api/Test/exportExcelAsyncmz",
  336. async: true,
  337. dataType: 'json',
  338. data: {
  339. iszyormz: f_State,
  340. key: $("#key").val(),
  341. yqinfo: $("#projectid").val(),
  342. sendmydcent: $("#myd").val(),
  343. deptname: $("#deptname").val(),
  344. stime: $('#startTime').val() && $('#startTime').val().split(' ~ ')[0], //开始时间
  345. etime: $('#startTime').val() && $('#startTime').val().split(' ~ ')[1], //结束时间
  346. },
  347. success: function(data) {
  348. if (data.state.toLowerCase() == 'success') {
  349. //要导出的json数据
  350. const jsonData = data.data
  351. for (var i = 0; i < jsonData.length; i++) {
  352. if(jsonData[i].replaycenters==null){
  353. jsonData[i].replaycenters=''
  354. }
  355. if(jsonData[i].sendmyeds==null){
  356. jsonData[i].sendmyeds=''
  357. }
  358. if(jsonData[i].senddate==null){
  359. jsonData[i].senddate=''
  360. }
  361. if(jsonData[i].ZY_NO==null){
  362. jsonData[i].ZY_NO=''
  363. }
  364. if(jsonData[i].NAME==null){
  365. jsonData[i].NAME=''
  366. }
  367. if(jsonData[i].SEX==null){
  368. jsonData[i].SEX=''
  369. }
  370. if(jsonData[i].PAT_PHONE==null){
  371. jsonData[i].PAT_PHONE=''
  372. }
  373. if(jsonData[i].CLINIC_DIAG_NAME==null){
  374. jsonData[i].CLINIC_DIAG_NAME=''
  375. }
  376. if(jsonData[i].dept_name==null){
  377. jsonData[i].dept_name=''
  378. }
  379. if(jsonData[i].CLINIC_DATE==null){
  380. jsonData[i].CLINIC_DATE=''
  381. }
  382. if(jsonData[i].statesissuccess==null){
  383. jsonData[i].statesissuccess=''
  384. }
  385. if(jsonData[i].nomybecause==null){
  386. jsonData[i].nomybecause=''
  387. }
  388. jsonData[i].replaycenters.replace(/[\r\n]/g, "")
  389. jsonData[i].sendmyeds.replace(/[\r\n]/g, "")
  390. jsonData[i].senddate.replace(/[\r\n]/g, "")
  391. jsonData[i].ZY_NO.replace(/[\r\n]/g, "")
  392. jsonData[i].NAME.replace(/[\r\n]/g, "")
  393. jsonData[i].SEX.replace(/[\r\n]/g, "")
  394. jsonData[i].PAT_PHONE.replace(/[\r\n]/g, "")
  395. jsonData[i].CLINIC_DIAG_NAME.replace(/[\r\n]/g, "")
  396. jsonData[i].dept_name.replace(/[\r\n]/g, "")
  397. jsonData[i].CLINIC_DATE.replace(/[\r\n]/g, "")
  398. jsonData[i].statesissuccess.replace(/[\r\n]/g, "")
  399. jsonData[i].nomybecause.replace(/[\r\n]/g, "")
  400. //console.log(jsonData[i].CLINIC_DIAG_NAME)
  401. }
  402. //列标题,逗号隔开,每一个逗号就是隔开一个单元格
  403. var str = `回复内容,满意度,发送时间,住院号,病人姓名,病人性别,联系电话,就诊内容,就诊科室,就诊时间,发送状态,备注\n`;
  404. //增加\t为了不让表格显示科学计数法或者其他格式
  405. for (let i = 0; i < jsonData.length; i++) {
  406. for (let item in jsonData[i]) {
  407. str += `${jsonData[i][item].replace(/[\r\n]/g, "") + '\t'},`;
  408. }
  409. str += '\n';
  410. }
  411. //encodeURIComponent解决中文乱码
  412. let uri = 'data:text/csv/xls;charset=utf-8,\ufeff' + encodeURIComponent(str);
  413. //通过创建a标签实现
  414. let link = document.createElement("a");
  415. link.href = uri;
  416. //对下载的文件命名
  417. link.download = "门诊患者.xlsx";
  418. document.body.appendChild(link);
  419. link.click();
  420. document.body.removeChild(link);
  421. }
  422. }
  423. });
  424. }
  425. })