瀏覽代碼

Merge branch '20201109_pc_vue_new_branch' of http://git.shengws.com/csx/Vue_New into 20201109_pc_vue_new_branch

XMLWAN 4 年之前
父節點
當前提交
223514e6dd
共有 100 個文件被更改,包括 25428 次插入1651 次删除
  1. 1 0
      config/prod.env.js
  2. 25 12
      src/api/common/common.js
  3. 35 0
      src/api/config.js
  4. 9 0
      src/api/drug/drug_stock.js
  5. 72 1
      src/api/his/his.js
  6. 21 4
      src/api/project/project.js
  7. 27 1
      src/api/schedule.js
  8. 26 0
      src/api/stock.js
  9. 9 2
      src/lang/zh.js
  10. 14 8
      src/router/index.js
  11. 82 0
      src/router/modules/hospitalStation.js
  12. 53 0
      src/router/modules/outpatientRecord.js
  13. 12 1
      src/router/modules/workforce.js
  14. 48 1
      src/store/modules/globalConfig.js
  15. 19 19
      src/views/layout/Layout.vue
  16. 39 39
      src/views/layout/components/Sidebar/index.vue
  17. 147 0
      src/xt_pages/components/GoodExcel/index.vue
  18. 147 0
      src/xt_pages/components/ProjectExcel/index.vue
  19. 88 2
      src/xt_pages/data/basicConfig.vue
  20. 596 466
      src/xt_pages/data/components/addDrugs.vue
  21. 69 10
      src/xt_pages/data/components/addProject.vue
  22. 733 160
      src/xt_pages/data/components/consumables.vue
  23. 843 75
      src/xt_pages/data/components/drugs.vue
  24. 9 2
      src/xt_pages/data/components/editInspection.vue
  25. 117 13
      src/xt_pages/data/components/editProject.vue
  26. 623 49
      src/xt_pages/data/components/project.vue
  27. 1 0
      src/xt_pages/data/components/tableson.vue
  28. 2 1
      src/xt_pages/data/prescription.vue
  29. 1 1
      src/xt_pages/data/specialDictionary.vue
  30. 4 4
      src/xt_pages/dialysis/batch_print/batch_print_order.vue
  31. 19 83
      src/xt_pages/dialysis/batch_print/batch_print_order_six.vue
  32. 23 3
      src/xt_pages/dialysis/batch_print/batch_print_order_thirty.vue
  33. 124 113
      src/xt_pages/dialysis/batch_print/batch_print_order_twentyEight.vue
  34. 21 19
      src/xt_pages/dialysis/components/consumables.vue
  35. 25 5
      src/xt_pages/dialysis/details/DialysisPrescription.vue
  36. 4 2
      src/xt_pages/dialysis/details/NavIgation.vue
  37. 11 1
      src/xt_pages/dialysis/details/acceptsAssessment.vue
  38. 37 3
      src/xt_pages/dialysis/details/assessmentAfter.vue
  39. 31 0
      src/xt_pages/dialysis/details/assessmentBefore.vue
  40. 127 6
      src/xt_pages/dialysis/details/dialog/AssessmentAfterDislysis.vue
  41. 2 2
      src/xt_pages/dialysis/details/dialog/DoctorAdviceDialog.vue
  42. 14 1
      src/xt_pages/dialysis/details/dialog/acceptsTreatmentDialog.vue
  43. 40 3
      src/xt_pages/dialysis/details/dialog/assessmentBeforeDislysisDialog.vue
  44. 5 0
      src/xt_pages/dialysis/details/dialog/computer_dialog.vue
  45. 48 14
      src/xt_pages/dialysis/details/dialog/dialysisPrescriptionDialog.vue
  46. 307 225
      src/xt_pages/dialysis/details/dialog/monitor_dialog.vue
  47. 36 11
      src/xt_pages/dialysis/details/dialysisMonitoring.vue
  48. 2 1
      src/xt_pages/dialysis/details/index.vue
  49. 6 4
      src/xt_pages/dialysis/dialysisDoctorAdvice.vue
  50. 110 1
      src/xt_pages/dialysis/dialysisPrintOrder.vue
  51. 13 3
      src/xt_pages/dialysis/template/DialysisPrintOrderOne.vue
  52. 21 21
      src/xt_pages/dialysis/template/DialysisPrintOrderSix.vue
  53. 5 3
      src/xt_pages/dialysis/template/DialysisPrintOrderTen.vue
  54. 26 4
      src/xt_pages/dialysis/template/DialysisPrintOrderThirty.vue
  55. 1500 0
      src/xt_pages/dialysis/template/DialysisPrintOrderThirtyEight.vue
  56. 9 1
      src/xt_pages/dialysis/template/DialysisPrintOrderThirtyFive.vue
  57. 156 115
      src/xt_pages/dialysis/template/DialysisPrintOrderThirtyOne.vue
  58. 1599 0
      src/xt_pages/dialysis/template/DialysisPrintOrderThirtySeven.vue
  59. 1840 0
      src/xt_pages/dialysis/template/DialysisPrintOrderThirtySix.vue
  60. 112 112
      src/xt_pages/dialysis/template/DialysisPrintOrderTwentyEight.vue
  61. 57 12
      src/xt_pages/dialysis/template/DialysisPrintOrderTwentyFour.vue
  62. 8 12
      src/xt_pages/dialysis/template/DialysisPrintOrderTwentyNine.vue
  63. 515 0
      src/xt_pages/hospitalStation/11.vue
  64. 82 0
      src/xt_pages/hospitalStation/advancePayment.vue
  65. 481 0
      src/xt_pages/hospitalStation/allListPrint.vue
  66. 174 0
      src/xt_pages/hospitalStation/allListTemplate/printOne.vue
  67. 208 0
      src/xt_pages/hospitalStation/components/ChargePrescriptionTable.vue
  68. 69 0
      src/xt_pages/hospitalStation/components/additionalCharges.vue
  69. 135 0
      src/xt_pages/hospitalStation/components/advice.vue
  70. 359 0
      src/xt_pages/hospitalStation/components/callPrescription.vue
  71. 257 0
      src/xt_pages/hospitalStation/components/chargeDialog.vue
  72. 208 0
      src/xt_pages/hospitalStation/components/chargeMonthPrescriptionTable.vue
  73. 166 0
      src/xt_pages/hospitalStation/components/charged.vue
  74. 425 0
      src/xt_pages/hospitalStation/components/dayPrescriptionTable.vue
  75. 2873 0
      src/xt_pages/hospitalStation/components/deskPrescription.vue
  76. 657 0
      src/xt_pages/hospitalStation/components/deskRecord.vue
  77. 387 0
      src/xt_pages/hospitalStation/components/inquiriesDetail.vue
  78. 106 0
      src/xt_pages/hospitalStation/components/inspection.vue
  79. 165 0
      src/xt_pages/hospitalStation/components/medicalInsuranceRefund.vue
  80. 169 0
      src/xt_pages/hospitalStation/components/medicalRecord.vue
  81. 297 0
      src/xt_pages/hospitalStation/components/monthPrescriptionTable.vue
  82. 201 0
      src/xt_pages/hospitalStation/components/newPrescriptionTable.vue
  83. 417 0
      src/xt_pages/hospitalStation/components/nextOrLastPrescription.vue
  84. 165 0
      src/xt_pages/hospitalStation/components/noCharge.vue
  85. 151 0
      src/xt_pages/hospitalStation/components/prescription.vue
  86. 464 0
      src/xt_pages/hospitalStation/components/prescriptionTable.vue
  87. 105 0
      src/xt_pages/hospitalStation/components/recordHistoryDetail.vue
  88. 378 0
      src/xt_pages/hospitalStation/components/recordTemplateDetail.vue
  89. 562 0
      src/xt_pages/hospitalStation/components/registerDialog.vue
  90. 537 0
      src/xt_pages/hospitalStation/components/registerDialog9504.vue
  91. 136 0
      src/xt_pages/hospitalStation/components/saveRecordTemplate.vue
  92. 89 0
      src/xt_pages/hospitalStation/components/saveTemplate.vue
  93. 96 0
      src/xt_pages/hospitalStation/components/selectTemplate.vue
  94. 97 0
      src/xt_pages/hospitalStation/components/templateDetail.vue
  95. 625 0
      src/xt_pages/hospitalStation/costComparison.vue
  96. 2287 0
      src/xt_pages/hospitalStation/doctorDesk.vue
  97. 329 0
      src/xt_pages/hospitalStation/incomeStatistics.vue
  98. 694 0
      src/xt_pages/hospitalStation/index.vue
  99. 152 0
      src/xt_pages/hospitalStation/invoicePrint.vue
  100. 0 0
      src/xt_pages/hospitalStation/invoiceTemplate/printOne.vue

+ 1 - 0
config/prod.env.js 查看文件

9
   MIRCO_MALL_HOST: '"http://mall.kuyicloud.com"',
9
   MIRCO_MALL_HOST: '"http://mall.kuyicloud.com"',
10
   CDM_HOST: '"http://cdm.kuyicloud.com"',
10
   CDM_HOST: '"http://cdm.kuyicloud.com"',
11
 }
11
 }
12
+

+ 25 - 12
src/api/common/common.js 查看文件

134
   })
134
   })
135
 }
135
 }
136
 
136
 
137
-export function getDialysisModeType(startime, endtime) {
137
+export function getDialysisModeType(startime, endtime,lapsetotype,sourcetype) {
138
   const params = {
138
   const params = {
139
     startime: startime,
139
     startime: startime,
140
-    endtime: endtime
140
+    endtime: endtime,
141
+    lapsetotype:lapsetotype,
142
+    sourcetype:sourcetype,
141
   }
143
   }
144
+  console.log("parasm22222",params)
142
   return request({
145
   return request({
143
     url: '/com/api/getdialysismodetype',
146
     url: '/com/api/getdialysismodetype',
144
     method: 'get',
147
     method: 'get',
146
   })
149
   })
147
 }
150
 }
148
 
151
 
149
-export function getTotalLapseCount(startime, endtime) {
152
+export function getTotalLapseCount(startime, endtime,lapsetotype,sourcetype) {
150
   const params = {
153
   const params = {
151
     startime: startime,
154
     startime: startime,
152
-    endtime: endtime
155
+    endtime: endtime,
156
+    lapsetotype:lapsetotype,
157
+    sourcetype:sourcetype,
153
   }
158
   }
154
   console.log('转归params', params)
159
   console.log('转归params', params)
155
   return request({
160
   return request({
159
   })
164
   })
160
 }
165
 }
161
 
166
 
162
-export function getTotalSexCount(startime, endtime) {
167
+export function getTotalSexCount(startime, endtime,lapsetotype,sourcetype) {
163
   const params = {
168
   const params = {
164
     startime: startime,
169
     startime: startime,
165
-    endtime: endtime
170
+    endtime: endtime,
171
+    lapsetotype:lapsetotype,
172
+    sourcetype:sourcetype,
166
   }
173
   }
167
   return request({
174
   return request({
168
     url: '/com/api/gettotalsexcount',
175
     url: '/com/api/gettotalsexcount',
171
   })
178
   })
172
 }
179
 }
173
 
180
 
174
-export function getTotalInfectiousCount(startime, endtime) {
181
+export function getTotalInfectiousCount(startime, endtime,lapsetotype,sourcetype) {
175
   const params = {
182
   const params = {
176
     startime: startime,
183
     startime: startime,
177
-    endtime: endtime
184
+    endtime: endtime,
185
+    lapsetotype:lapsetotype,
186
+    sourcetype:sourcetype,
178
   }
187
   }
179
   console.log('传染病', params)
188
   console.log('传染病', params)
180
   return request({
189
   return request({
184
   })
193
   })
185
 }
194
 }
186
 
195
 
187
-export function getTotalAgeCount(startime, endtime) {
196
+export function getTotalAgeCount(startime, endtime,lapsetotype,sourcetype) {
188
   const params = {
197
   const params = {
189
     startime: startime,
198
     startime: startime,
190
-    endtime: endtime
199
+    endtime: endtime,
200
+    lapsetotype:lapsetotype,
201
+    sourcetype:sourcetype,
191
   }
202
   }
192
   return request({
203
   return request({
193
     url: '/com/api/gettotalagecount',
204
     url: '/com/api/gettotalagecount',
196
   })
207
   })
197
 }
208
 }
198
 
209
 
199
-export function getTotalDialysisCount(startime, endtime) {
210
+export function getTotalDialysisCount(startime, endtime,lapsetotype,sourcetype) {
200
   const params = {
211
   const params = {
201
     startime: startime,
212
     startime: startime,
202
-    endtime: endtime
213
+    endtime: endtime,
214
+    lapsetotype:lapsetotype,
215
+    sourcetype:sourcetype,
203
   }
216
   }
204
   return request({
217
   return request({
205
     url: '/com/api/gettotaldialysiscount',
218
     url: '/com/api/gettotaldialysiscount',

+ 35 - 0
src/api/config.js 查看文件

137
 }
137
 }
138
 
138
 
139
 
139
 
140
+export function postMonitorIsOpen(params){
141
+  console.log("params",params)
142
+  return request({
143
+    url:"/api/monitor/open",
144
+    method:"get",
145
+    params:params
146
+  })
147
+}
148
+
140
 
149
 
150
+export function getMonitorConfig(params){
151
+  
152
+  return request({
153
+    url:"/api/monitor/getmonitorconfig",
154
+    method:"Get",
155
+    params:params,
156
+  })
157
+}
141
 
158
 
142
 
159
 
160
+export function addOrderConfig(params){
161
+  
162
+  return request({
163
+    url:"/api/order/addorderconfig",
164
+    method:"Get",
165
+    params:params,
166
+
167
+  })
168
+}
169
+
170
+export function getOrderConfig(params){
171
+  
172
+  return request({
173
+    url:"/api/order/getorderconfig",
174
+    method:"get",
175
+    params:params,
176
+  })
177
+}
143
 
178
 

+ 9 - 0
src/api/drug/drug_stock.js 查看文件

418
 }
418
 }
419
 
419
 
420
 
420
 
421
+export function getDrugAutoMaticList(params){
422
+  
423
+  return request({
424
+    url:"/api/drugstock/getdrugautomaticlist",
425
+    method:"Get",
426
+    params:params,
427
+  })
428
+}
429
+
421
 
430
 
422
 
431
 
423
 
432
 

+ 72 - 1
src/api/his/his.js 查看文件

21
 
21
 
22
 
22
 
23
 export function createCaseHistory(params) {
23
 export function createCaseHistory(params) {
24
-  console.log("params",params)
24
+  console.log("params",params);
25
   return request({
25
   return request({
26
     url: "/api/doctorworkstation/casehistory/create",
26
     url: "/api/doctorworkstation/casehistory/create",
27
     method: "get",
27
     method: "get",
355
 
355
 
356
 
356
 
357
 
357
 
358
+export function getRecordList (params) {
359
+  return request({
360
+    url: '/api/record/list',
361
+    method: 'get',
362
+    params:params,
363
+  })
364
+}
365
+
366
+
367
+
368
+export function getCheckAccountFormData (params) {
369
+  return request({
370
+    url: '/api/comparedata/get',
371
+    method: 'get',
372
+    params:params,
373
+  })
374
+}
375
+
376
+
377
+
378
+
379
+export function getHospitalPatientList (params) {
380
+  return request({
381
+    url: '/api/hishospitalpatient/list',
382
+    method: 'get',
383
+    params:params,
384
+  })
385
+}
386
+
387
+
388
+
389
+
390
+
391
+
392
+export function GetHisHospitalChargePatientList (params) {
393
+  return request({
394
+    url: '/api/hospitalcharge/list',
395
+    method: 'get',
396
+    params:params,
397
+  })
398
+}
399
+
400
+
401
+
402
+export function GetHisHospitalChargePatientInfo (params) {
403
+  return request({
404
+    url: '/api/hospotalcharge/info',
405
+    method: 'get',
406
+    params:params,
407
+  })
408
+}
409
+
410
+
411
+
412
+
413
+export function getHisHospitalPrescriptionList (params) {
414
+  return request({
415
+    url: '/api/hospitalprescription/list',
416
+    method: 'get',
417
+    params:params,
418
+  })
419
+}
420
+
421
+
422
+
423
+
424
+
425
+
426
+
427
+
428
+
358
 
429
 
359
 
430
 
360
 
431
 

+ 21 - 4
src/api/project/project.js 查看文件

437
 }
437
 }
438
 
438
 
439
 export function getHisPatientDetail(params){
439
 export function getHisPatientDetail(params){
440
-  console.log("params99999",params)
440
+  console.log("params99999",params);
441
   return request({
441
   return request({
442
     url:"/api/hispatient/gethispatientdetail",
442
     url:"/api/hispatient/gethispatientdetail",
443
     method:"Get",
443
     method:"Get",
454
   })
454
   })
455
 }
455
 }
456
 
456
 
457
-export function getPrescriptionList(id,params){
457
+export function getPrescriptionList(id,p_type){
458
 
458
 
459
   return request({
459
   return request({
460
-    url:"/api/hispatient/getprescription?patient_id="+id,
460
+    url:"/api/hispatient/getprescription?patient_id="+id+"&p_type="+p_type,
461
     method:"Get",
461
     method:"Get",
462
-    params:params
463
   })
462
   })
464
 }
463
 }
465
 
464
 
524
     params:params,
523
     params:params,
525
   })
524
   })
526
 }
525
 }
526
+
527
+
528
+export function postProjectInformation(params){
529
+
530
+  return request({
531
+    url:"/api/postprojectinformation",
532
+    method:"post",
533
+    data:params
534
+  })
535
+}
536
+
537
+export function getInvoice(params){
538
+  return request({
539
+    url:"/api/fapiao/get",
540
+    method:"get",
541
+    params:params
542
+  })
543
+}

+ 27 - 1
src/api/schedule.js 查看文件

1
 import request from '@/utils/request'
1
 import request from '@/utils/request'
2
 
2
 
3
 export function getWeekPanels(t,patitionId) {
3
 export function getWeekPanels(t,patitionId) {
4
-  console.log("params33333",t,patitionId)
4
+  
5
   return request({
5
   return request({
6
     url: '/api/schedule/weekpanel?data=' + t+"&patitionid="+patitionId,
6
     url: '/api/schedule/weekpanel?data=' + t+"&patitionid="+patitionId,
7
     method: 'get'
7
     method: 'get'
150
     method:"Get",
150
     method:"Get",
151
     params:params
151
     params:params
152
   })
152
   })
153
+}
154
+
155
+export function saveRemindPrint(params){
156
+   return request({
157
+     url:"/api/schedule/saveremindprint",
158
+     method:"get",
159
+     params:params
160
+   })
161
+}
162
+
163
+export function getRemindPrintList(params){
164
+   
165
+  return request({
166
+    url:"/api/schedule/getremindprintlist",
167
+    method:"get",
168
+    params:params
169
+  })
170
+}
171
+
172
+export function getScheduleList(params){
173
+  
174
+  return request({
175
+    url:"/api/schedule/getschedulelist",
176
+    method:"get",
177
+    params:params,
178
+  })
153
 }
179
 }

+ 26 - 0
src/api/stock.js 查看文件

584
     method:"get",
584
     method:"get",
585
     params:params
585
     params:params
586
   })
586
   })
587
+}
588
+
589
+export function postGoodInformation(params){
590
+  console.log("PARMAS22",params)
591
+  return request({
592
+    url:"/api/good/postgoodinformation",
593
+    method:"Post",
594
+    data:params,
595
+  })
596
+}
597
+
598
+export function postDrugInformation(params){
599
+  
600
+  return request({
601
+    url:"/api/good/postdruginformation",
602
+    method:"post",
603
+    data:params
604
+  })
605
+}
606
+
607
+export function getInitializtion(params){
608
+  return request({
609
+    url:"/api/good/initializtion",
610
+    method:"get",
611
+    params:params
612
+  })
587
 }
613
 }

+ 9 - 2
src/lang/zh.js 查看文件

208
     incomeStatistics:'收入统计',
208
     incomeStatistics:'收入统计',
209
     outpatientRegistration:'门诊挂号',
209
     outpatientRegistration:'门诊挂号',
210
     outpatientRegistrationIndex:'门诊挂号',
210
     outpatientRegistrationIndex:'门诊挂号',
211
+    hospitalIndex:'住院登记',
212
+    hospitalChargesManagement:"住院收费管理",
211
     outpatientRegistrationRegistrationHistory:'挂号历史',
213
     outpatientRegistrationRegistrationHistory:'挂号历史',
212
     outpatientDoctorStation:"门诊医生站",
214
     outpatientDoctorStation:"门诊医生站",
213
     outpatientDoctorStationDoctorDesk:'医生工作台',
215
     outpatientDoctorStationDoctorDesk:'医生工作台',
216
     outpatientCharges:'门诊收费',
218
     outpatientCharges:'门诊收费',
217
     outpatientChargesManagement:'门诊收费管理',
219
     outpatientChargesManagement:'门诊收费管理',
218
     outpatientInvoice:'门诊发票',
220
     outpatientInvoice:'门诊发票',
221
+    outpatientRecord:'住院工作站',
219
     advancePayment:'预交金',
222
     advancePayment:'预交金',
220
     labelPrinting:'标签打印',
223
     labelPrinting:'标签打印',
221
     summary:'项目消费明细汇总',
224
     summary:'项目消费明细汇总',
236
     basicConfig:'基础配置',
239
     basicConfig:'基础配置',
237
 
240
 
238
     histemplate:'处方模版',
241
     histemplate:'处方模版',
239
-
242
+    outpatientSickRecord:"人员定点病种备案",
240
     airDisinfect:'空气消毒',
243
     airDisinfect:'空气消毒',
241
-    objectTableDisinfect:'物表消毒'
244
+    objectTableDisinfect:'物表消毒',
245
+
246
+
247
+    hospitalStation:"住院工作站",
248
+    pastInquiries:"既往查询",
242
 
249
 
243
   },
250
   },
244
   navbar: {
251
   navbar: {

+ 14 - 8
src/router/index.js 查看文件

27
 import outpatientDoctorStation from './modules/outpatientDoctorStation'
27
 import outpatientDoctorStation from './modules/outpatientDoctorStation'
28
 import outpatientCharges from './modules/outpatientCharges'
28
 import outpatientCharges from './modules/outpatientCharges'
29
 import outpatientPharmacy from './modules/outpatientPharmacy'
29
 import outpatientPharmacy from './modules/outpatientPharmacy'
30
+import hospitalStation from './modules/hospitalStation'
31
+
32
+
33
+import outpatientRecord from './modules/outpatientRecord'
30
 import kuyiShopping from './modules/kuyiShopping'
34
 import kuyiShopping from './modules/kuyiShopping'
31
 import createPatient from './modules/createPatient'
35
 import createPatient from './modules/createPatient'
32
 import dialysisRecord from './modules/dialysisRecord'
36
 import dialysisRecord from './modules/dialysisRecord'
45
 import DepartManage from './modules/DepartManage'
49
 import DepartManage from './modules/DepartManage'
46
 import basicConfig from './modules/basicConfig'
50
 import basicConfig from './modules/basicConfig'
47
 
51
 
48
-Vue.use(Router)
52
+Vue.use(Router);
49
 
53
 
50
 /** note: submenu only apppear when children.length>=1
54
 /** note: submenu only apppear when children.length>=1
51
  *   detail see  https://panjiachen.github.io/vue-element-admin-site/guide/essentials/router-and-nav.html
55
  *   detail see  https://panjiachen.github.io/vue-element-admin-site/guide/essentials/router-and-nav.html
130
   // device,
134
   // device,
131
   // role,
135
   // role,
132
   // org
136
   // org
133
-]
137
+];
134
 
138
 
135
 var _asy_router_map = [
139
 var _asy_router_map = [
136
   patient,
140
   patient,
151
   slow,
155
   slow,
152
   scrm,
156
   scrm,
153
   shop,
157
   shop,
154
-  
158
+
155
   systems,
159
   systems,
156
   DepartManage,
160
   DepartManage,
157
   roleManage,
161
   roleManage,
169
   outpatientDoctorStation,
173
   outpatientDoctorStation,
170
   outpatientCharges,
174
   outpatientCharges,
171
   outpatientPharmacy,
175
   outpatientPharmacy,
176
+  outpatientRecord,
177
+  hospitalStation,
172
   // kuyiShopping,
178
   // kuyiShopping,
173
   integration,
179
   integration,
174
   basicConfig
180
   basicConfig
175
-]
181
+];
176
 
182
 
177
-var is_asy_router = process.env.NODE_ENV === 'production' // true; 设置为 true 强制进行路由验证
183
+var is_asy_router = process.env.NODE_ENV === 'production'; // true; 设置为 true 强制进行路由验证
178
 if (!is_asy_router) {
184
 if (!is_asy_router) {
179
-  _constant_router_map = _constant_router_map.concat(_asy_router_map)
185
+  _constant_router_map = _constant_router_map.concat(_asy_router_map);
180
   _asy_router_map = []
186
   _asy_router_map = []
181
 } else {
187
 } else {
182
 
188
 
183
 }
189
 }
184
 
190
 
185
-export const xt_constantRouterMap = _constant_router_map
186
-export const xt_asyncRouterMap = _asy_router_map
191
+export const xt_constantRouterMap = _constant_router_map;
192
+export const xt_asyncRouterMap = _asy_router_map;
187
 
193
 
188
 export default new Router({
194
 export default new Router({
189
   // mode: 'history', // require service support
195
   // mode: 'history', // require service support

+ 82 - 0
src/router/modules/hospitalStation.js 查看文件

1
+import Layout from '@/views/layout/Layout'
2
+
3
+export default {
4
+  path: '/hospitalStation',
5
+  component: Layout,
6
+  redirect: 'noredirect',
7
+  name: 'hospitalStation',
8
+  alwaysShow: true,
9
+  meta: {
10
+    title: 'hospitalStation',
11
+    icon: 'hospitalStation',
12
+    isChild: true
13
+  },
14
+  children: [
15
+    {
16
+      path: '/hospitalStation/index',
17
+      component: () => import('@/xt_pages/hospitalStation/index'),
18
+      name: 'hospitalIndex',
19
+      meta: { title: 'hospitalIndex', noCache: true }
20
+    },
21
+    {
22
+      path: '/hospitalStation/doctorDesk',
23
+      component: () => import('@/xt_pages/hospitalStation/doctorDesk'),
24
+      name: 'outpatientDoctorStationDoctorDesk',
25
+      meta: { title: 'outpatientDoctorStationDoctorDesk', noCache: true }
26
+    },
27
+    {
28
+      path: '/hospitalStation/outpatientChargesManagement',
29
+      component: () => import('@/xt_pages/hospitalStation/outpatientChargesManagement'),
30
+      name: 'hospitalChargesManagement',
31
+      meta: { title: 'hospitalChargesManagement', noCache: true }
32
+    },
33
+
34
+    // {
35
+    //   path: '/hospitalStation/templateManagement',
36
+    //   component: () => import('@/xt_pages/hospitalStation/templateManagement'),
37
+    //   name: 'outpatientDoctorStationTemplateManagement',
38
+    //   meta: { title: 'outpatientDoctorStationTemplateManagement', noCache: true }
39
+    // },
40
+    // {
41
+    //   path: '/hospitalStation/print',
42
+    //   component: () => import('@/xt_pages/hospitalStation/print'),
43
+    //   hidden: true,
44
+    //   is_menu: false,
45
+    //   name: 'outpatientDoctorStationPrint',
46
+    //   meta: { title: 'outpatientDoctorStationPrint', noCache: true }
47
+    // },
48
+    // {
49
+    //   path: '/hospitalStation/printtwo',
50
+    //   component: () => import('@/xt_pages/hospitalStation/printtwo'),
51
+    //   hidden: true,
52
+    //   is_menu: false,
53
+    //   name: 'outpatientDoctorStationPrint',
54
+    //   meta: { title: 'outpatientDoctorStationPrint', noCache: true }
55
+    // },
56
+    // {
57
+    //   path: '/hospitalStation/recordPrint',
58
+    //   component: () => import('@/xt_pages/hospitalStation/recordPrint'),
59
+    //   hidden: true,
60
+    //   is_menu: false,
61
+    //   name: 'outpatientDoctorStationRecordPrint',
62
+    //   meta: { title: 'outpatientDoctorStationRecordPrint', noCache: true }
63
+    // },
64
+    // {
65
+    //   path: '/hospitalStation/treatPrint',
66
+    //   component: () => import('@/xt_pages/hospitalStation/treatPrint'),
67
+    //   hidden: true,
68
+    //   is_menu: false,
69
+    //   name: 'outpatientDoctorStationTreatPrint',
70
+    //   meta: { title: 'outpatientDoctorStationTreatPrint', noCache: true }
71
+    // },
72
+    //
73
+    // {
74
+    //   path: '/hospitalStation/printone',
75
+    //   component: () => import('@/xt_pages/hospitalStation/template/printOne'),
76
+    //   hidden: true,
77
+    //   is_menu: false,
78
+    //   name: 'outpatientDoctorStationPrint',
79
+    //   meta: { title: 'outpatientDoctorStationPrint', noCache: true }
80
+    // },
81
+  ]
82
+}

+ 53 - 0
src/router/modules/outpatientRecord.js 查看文件

1
+import Layout from '@/views/layout/Layout'
2
+
3
+export default {
4
+  path: '/outpatientRecord',
5
+  component: Layout,
6
+  redirect: 'noredirect',
7
+  name: 'outpatientRecord',
8
+  alwaysShow: true,
9
+  meta: {
10
+    title: 'outpatientRecord',
11
+    icon: 'outpatientRecord',
12
+    isChild: true
13
+  },
14
+  children: [
15
+    {
16
+        path: '/outpatientRecord/outpatientRecord',
17
+        component: () => import('@/xt_pages/outpatientRecord/outpatientRecord'),
18
+        name: 'outpatientSickRecord',
19
+        meta: { title: 'outpatientSickRecord', noCache: true }
20
+    },
21
+    {
22
+      path: '/outpatientRecord/index',
23
+      component: () => import('@/xt_pages/hospitalStation/index'),
24
+      name: 'hospitalIndex',
25
+      meta: { title: 'hospitalIndex', noCache: true }
26
+    },
27
+    {
28
+      path: '/outpatientRecord/doctorDesk',
29
+      component: () => import('@/xt_pages/hospitalStation/doctorDesk'),
30
+      name: 'outpatientDoctorStationDoctorDesk',
31
+      meta: { title: 'outpatientDoctorStationDoctorDesk', noCache: true }
32
+    }, {
33
+      path: '/outpatientRecord/pastInquiries',
34
+      component: () => import('@/xt_pages/hospitalStation/pastInquiries'),
35
+      name: 'pastInquiries',
36
+      meta: { title: 'pastInquiries', noCache: true }
37
+    },
38
+    {
39
+      path: '/outpatientRecord/outpatientChargesManagement',
40
+      component: () => import('@/xt_pages/hospitalStation/outpatientChargesManagement'),
41
+      name: 'hospitalChargesManagement',
42
+      meta: { title: 'hospitalChargesManagement', noCache: true }
43
+    },
44
+    {
45
+      path: '/outpatientRecord/summary',
46
+      component: () => import('@/xt_pages/hospitalStation/summary'),
47
+      name: 'summary',
48
+      meta: { title: 'summary', noCache: true }
49
+    },
50
+
51
+
52
+  ]
53
+}

+ 12 - 1
src/router/modules/workforce.js 查看文件

81
         title: 'next_remind_print',
81
         title: 'next_remind_print',
82
         noCache: true
82
         noCache: true
83
       }
83
       }
84
-    }
84
+    },
85
+    // {
86
+    //   path: '/schedule/remind/print/setting',
87
+    //   component: () => import('@/xt_pages/workforce/remind_print_setting'),
88
+    //   name: 'remind_print_setting',
89
+    //   hidden: true,
90
+    //   is_menu: false,
91
+    //   meta: {
92
+    //     title: 'remind_print_setting',
93
+    //     noCache: true
94
+    //   }
95
+    // },
85
   ]
96
   ]
86
 }
97
 }

+ 48 - 1
src/store/modules/globalConfig.js 查看文件

509
         sodium: 1,
509
         sodium: 1,
510
         calcium: 1,
510
         calcium: 1,
511
         bicarbonate: 1
511
         bicarbonate: 1
512
+      },
513
+      21: {
514
+        id: 21,
515
+        name: 'HD+',
516
+        dialysis_duration: 1,
517
+        replacement_way: 1,
518
+        hemodialysis_machine: 2,
519
+        blood_filter: 1,
520
+        perfusion_apparatus: 2,
521
+        blood_flow_volume: 1,
522
+        dialysate_flow: 1,
523
+        kalium: 1,
524
+        sodium: 1,
525
+        calcium: 1,
526
+        bicarbonate: 1
512
       }
527
       }
513
     },
528
     },
514
     anticoagulants_confit: { // 抗凝剂
529
     anticoagulants_confit: { // 抗凝剂
1826
       },{
1841
       },{
1827
         id: 29,
1842
         id: 29,
1828
         name: '只'
1843
         name: '只'
1844
+      },{
1845
+        id: 30,
1846
+        name: '次'
1847
+      },{
1848
+        id: 31,
1849
+        name: '米'
1850
+      },{
1851
+        id: 32,
1852
+        name: '对'
1853
+      },
1854
+      {
1855
+        id: 31,
1856
+        name: '米'
1857
+      },
1858
+      {
1859
+        id: 32,
1860
+        name: '对'
1861
+      },
1862
+      {
1863
+        id: 33,
1864
+        name: '万份'
1865
+      },
1866
+      {
1867
+        id: 34,
1868
+        name: '副'
1869
+      },
1870
+      {
1871
+        id: 35,
1872
+        name: '本'
1873
+      },
1874
+      {
1875
+        id: 36,
1876
+        name: '轴'
1829
       },
1877
       },
1830
-
1831
     ],
1878
     ],
1832
     body_fluid: [{
1879
     body_fluid: [{
1833
       id: 1,
1880
       id: 1,

+ 19 - 19
src/views/layout/Layout.vue 查看文件

1
 <template>
1
 <template>
2
   <div class="app-wrapper" :class="classObj">
2
   <div class="app-wrapper" :class="classObj">
3
     <div v-if="device==='mobile'&&sidebar.opened" class="drawer-bg" @click="handleClickOutside"></div>
3
     <div v-if="device==='mobile'&&sidebar.opened" class="drawer-bg" @click="handleClickOutside"></div>
4
-    
4
+
5
     <div class="mainBox">
5
     <div class="mainBox">
6
       <div class="navLeft">
6
       <div class="navLeft">
7
         <div v-if="menzhenShow" :class="index == 0 ? 'navOne navActive' : 'navOne'" @click="clickActive(0,'门诊管理')">
7
         <div v-if="menzhenShow" :class="index == 0 ? 'navOne navActive' : 'navOne'" @click="clickActive(0,'门诊管理')">
24
           <i class="iconfont icon-shangcheng-1 navIcon"></i>
24
           <i class="iconfont icon-shangcheng-1 navIcon"></i>
25
           <p>酷医商城</p>
25
           <p>酷医商城</p>
26
         </div>
26
         </div>
27
-        
27
+
28
         <div class="navOne" @click="open">
28
         <div class="navOne" @click="open">
29
           <i class="iconfont icon-manage_fill navIcon"></i>
29
           <i class="iconfont icon-manage_fill navIcon"></i>
30
           <p>更多</p>
30
           <p>更多</p>
33
       <sidebar :navTitle="navTitle" v-show="navShow" class="sidebar-container" @func="show"></sidebar>
33
       <sidebar :navTitle="navTitle" v-show="navShow" class="sidebar-container" @func="show"></sidebar>
34
       <div class="main-container new-main-container" style="flex:1;margin-top:50px;">
34
       <div class="main-container new-main-container" style="flex:1;margin-top:50px;">
35
         <navbar></navbar>
35
         <navbar></navbar>
36
-        
36
+
37
         <!-- <tags-view></tags-view> -->
37
         <!-- <tags-view></tags-view> -->
38
         <app-main></app-main>
38
         <app-main></app-main>
39
       </div>
39
       </div>
122
     }
122
     }
123
   },
123
   },
124
   created(){
124
   created(){
125
-    console.log('permission_routers',this.permission_routers)
126
-    let menzhen = ['outpatientRegistration','outpatientDoctorStation','outpatientCharges','outpatientPharmacy']
127
-    let bingli = ['User','createPatient']
128
-    let touxi = ['home','workforce', 'dialysisrecord', 'dialysis', 'medicalScheduling', 'signIndex', 'qcd', 'device', 'quality_control']
129
-    let kucun = ['stockManage','stockDrugs','selfPreparedMedicine','otherManagement']
130
-    let peizhi = ['system','roleManage','DepartManage', 'bedManagement', 'dictionaryManagement', 'templateManagement','showconfig','printTemplate','integration_config','basicConfig']
131
-    let kuyishopping = ['kuyiShopping']
132
-    let menzhenArr = []
133
-    let bingliArr = []
134
-    let touxiArr = []
135
-    let kucunArr = []
136
-    let peizhiArr = []
137
-    let kuyishoppingArr = []
125
+    console.log('permission_routers',this.permission_routers);
126
+    let menzhen = ['outpatientRegistration','outpatientDoctorStation','outpatientCharges','outpatientPharmacy','outpatientRecord','hospitalStation'];
127
+    let bingli = ['User','createPatient'];
128
+    let touxi = ['home','workforce', 'dialysisrecord', 'dialysis', 'medicalScheduling', 'signIndex', 'qcd', 'device', 'quality_control'];
129
+    let kucun = ['stockManage','stockDrugs','selfPreparedMedicine','otherManagement'];
130
+    let peizhi = ['system','roleManage','DepartManage', 'bedManagement', 'dictionaryManagement', 'templateManagement','showconfig','printTemplate','integration_config','basicConfig'];
131
+    let kuyishopping = ['kuyiShopping'];
132
+    let menzhenArr = [];
133
+    let bingliArr = [];
134
+    let touxiArr = [];
135
+    let kucunArr = [];
136
+    let peizhiArr = [];
137
+    let kuyishoppingArr = [];
138
     this.permission_routers.map(item => {
138
     this.permission_routers.map(item => {
139
       if(menzhen.indexOf(item.name) > -1){
139
       if(menzhen.indexOf(item.name) > -1){
140
         menzhenArr.push(item)
140
         menzhenArr.push(item)
149
       }else if(kuyishopping.indexOf(item.name) > -1){
149
       }else if(kuyishopping.indexOf(item.name) > -1){
150
         kuyishoppingArr.push(item)
150
         kuyishoppingArr.push(item)
151
       }
151
       }
152
-    })
152
+    });
153
     // console.log('menzhenArr.length',menzhenArr.length)
153
     // console.log('menzhenArr.length',menzhenArr.length)
154
     // console.log('bingliArr.length',bingliArr.length)
154
     // console.log('bingliArr.length',bingliArr.length)
155
     // console.log('touxiArr.length',touxiArr.length)
155
     // console.log('touxiArr.length',touxiArr.length)
198
       }else if(index == 6){
198
       }else if(index == 6){
199
         this.CDMWebsit()
199
         this.CDMWebsit()
200
       }
200
       }
201
-      this.index = index
202
-      this.navTitle = title
201
+      this.index = index;
202
+      this.navTitle = title;
203
       this.sign = false
203
       this.sign = false
204
     },
204
     },
205
     open(){
205
     open(){

+ 39 - 39
src/views/layout/components/Sidebar/index.vue 查看文件

48
   },
48
   },
49
   created(){
49
   created(){
50
     if(this.navTitle == '透析管理'){
50
     if(this.navTitle == '透析管理'){
51
-      let nameArr = ['home','workforce', 'dialysisrecord', 'dialysis', 'medicalScheduling', 'signIndex', 'qcd', 'device', 'quality_control']
51
+      let nameArr = ['home','workforce', 'dialysisrecord', 'dialysis', 'medicalScheduling', 'signIndex', 'qcd', 'device', 'quality_control'];
52
       // console.log('permission_routers',this.permission_routers)
52
       // console.log('permission_routers',this.permission_routers)
53
-      let routerArr = []
53
+      let routerArr = [];
54
       this.permission_routers.map(item => {
54
       this.permission_routers.map(item => {
55
         if(nameArr.indexOf(item.name) > -1){
55
         if(nameArr.indexOf(item.name) > -1){
56
           routerArr.push(item)
56
           routerArr.push(item)
57
         }
57
         }
58
-      })
58
+      });
59
       this.arr = routerArr
59
       this.arr = routerArr
60
     }else if(this.navTitle == '电子病历'){
60
     }else if(this.navTitle == '电子病历'){
61
       this.arr = []
61
       this.arr = []
62
     }
62
     }
63
-    
63
+
64
     // let a = this.permission_routers
64
     // let a = this.permission_routers
65
     // this.arr = a.slice(0,10)
65
     // this.arr = a.slice(0,10)
66
     // console.log('this.arr',this.arr)
66
     // console.log('this.arr',this.arr)
69
     navTitle:{
69
     navTitle:{
70
       handler(newVal,oldVal){
70
       handler(newVal,oldVal){
71
         if(newVal == '门诊管理'){
71
         if(newVal == '门诊管理'){
72
-          let nameArr = ['outpatientRegistration','outpatientDoctorStation','outpatientCharges','outpatientPharmacy']
72
+          let nameArr = ['outpatientRegistration','outpatientDoctorStation','outpatientCharges','outpatientPharmacy','outpatientRecord','hospitalStation'];
73
           // console.log('permission_routers',this.permission_routers)
73
           // console.log('permission_routers',this.permission_routers)
74
-          let routerArr = []
74
+          let routerArr = [];
75
           this.permission_routers.map(item => {
75
           this.permission_routers.map(item => {
76
             if(nameArr.indexOf(item.name) > -1){
76
             if(nameArr.indexOf(item.name) > -1){
77
               routerArr.push(item)
77
               routerArr.push(item)
78
             }
78
             }
79
-          })
80
-          this.arr = routerArr
79
+          });
80
+          this.arr = routerArr;
81
           if(this.arr.length > 0){
81
           if(this.arr.length > 0){
82
-            let a = true
82
+            let a = true;
83
             this.$emit('func',a)
83
             this.$emit('func',a)
84
           }else{
84
           }else{
85
-            let a = false
85
+            let a = false;
86
             this.$emit('func',a)
86
             this.$emit('func',a)
87
           }
87
           }
88
         }else if(newVal == '电子病历'){
88
         }else if(newVal == '电子病历'){
89
-          let nameArr = ['User','createPatient']
89
+          let nameArr = ['User','createPatient'];
90
           // console.log('permission_routers',this.permission_routers)
90
           // console.log('permission_routers',this.permission_routers)
91
-          let routerArr = []
91
+          let routerArr = [];
92
           this.permission_routers.map(item => {
92
           this.permission_routers.map(item => {
93
             if(nameArr.indexOf(item.name) > -1){
93
             if(nameArr.indexOf(item.name) > -1){
94
               routerArr.push(item)
94
               routerArr.push(item)
95
             }
95
             }
96
-          })
97
-          this.arr = routerArr
96
+          });
97
+          this.arr = routerArr;
98
           if(this.arr.length > 0){
98
           if(this.arr.length > 0){
99
-            let a = true
99
+            let a = true;
100
             this.$emit('func',a)
100
             this.$emit('func',a)
101
           }else{
101
           }else{
102
-            let a = false
102
+            let a = false;
103
             this.$emit('func',a)
103
             this.$emit('func',a)
104
           }
104
           }
105
         }else if(newVal == '透析管理'){
105
         }else if(newVal == '透析管理'){
106
-          let nameArr = ['home','workforce', 'dialysisrecord', 'dialysis', 'medicalScheduling', 'signIndex', 'qcd', 'device', 'quality_control']
106
+          let nameArr = ['home','workforce', 'dialysisrecord', 'dialysis', 'medicalScheduling', 'signIndex', 'qcd', 'device', 'quality_control'];
107
           // console.log('permission_routers',this.permission_routers)
107
           // console.log('permission_routers',this.permission_routers)
108
-          let routerArr = []
108
+          let routerArr = [];
109
           this.permission_routers.map(item => {
109
           this.permission_routers.map(item => {
110
             if(nameArr.indexOf(item.name) > -1){
110
             if(nameArr.indexOf(item.name) > -1){
111
               routerArr.push(item)
111
               routerArr.push(item)
112
             }
112
             }
113
-          })
114
-          console.log('routerArr',routerArr)
115
-          this.arr = routerArr
113
+          });
114
+          console.log('routerArr',routerArr);
115
+          this.arr = routerArr;
116
           if(this.arr.length > 0){
116
           if(this.arr.length > 0){
117
-            let a = true
117
+            let a = true;
118
             this.$emit('func',a)
118
             this.$emit('func',a)
119
           }else{
119
           }else{
120
-            let a = false
120
+            let a = false;
121
             this.$emit('func',a)
121
             this.$emit('func',a)
122
           }
122
           }
123
         }else if(newVal == '库房管理'){
123
         }else if(newVal == '库房管理'){
124
-          let nameArr = ['stockManage','stockDrugs','selfPreparedMedicine','otherManagement']
124
+          let nameArr = ['stockManage','stockDrugs','selfPreparedMedicine','otherManagement'];
125
           // console.log('permission_routers',this.permission_routers)
125
           // console.log('permission_routers',this.permission_routers)
126
-          let routerArr = []
126
+          let routerArr = [];
127
           this.permission_routers.map(item => {
127
           this.permission_routers.map(item => {
128
             if(nameArr.indexOf(item.name) > -1){
128
             if(nameArr.indexOf(item.name) > -1){
129
               routerArr.push(item)
129
               routerArr.push(item)
130
             }
130
             }
131
-          })
132
-          this.arr = routerArr
131
+          });
132
+          this.arr = routerArr;
133
           if(this.arr.length > 0){
133
           if(this.arr.length > 0){
134
-            let a = true
134
+            let a = true;
135
             this.$emit('func',a)
135
             this.$emit('func',a)
136
           }else{
136
           }else{
137
-            let a = false
137
+            let a = false;
138
             this.$emit('func',a)
138
             this.$emit('func',a)
139
           }
139
           }
140
         }else if(newVal == '配置管理'){
140
         }else if(newVal == '配置管理'){
141
-          let nameArr = ['system','roleManage','DepartManage', 'bedManagement', 'dictionaryManagement', 'templateManagement','showconfig','printTemplate','integration_config','basicConfig']
141
+          let nameArr = ['system','roleManage','DepartManage', 'bedManagement', 'dictionaryManagement', 'templateManagement','showconfig','printTemplate','integration_config','basicConfig'];
142
           // console.log('permission_routers',this.permission_routers)
142
           // console.log('permission_routers',this.permission_routers)
143
-          let routerArr = []
143
+          let routerArr = [];
144
           this.permission_routers.map(item => {
144
           this.permission_routers.map(item => {
145
             if(nameArr.indexOf(item.name) > -1){
145
             if(nameArr.indexOf(item.name) > -1){
146
               routerArr.push(item)
146
               routerArr.push(item)
147
             }
147
             }
148
-          })
149
-          this.arr = routerArr
148
+          });
149
+          this.arr = routerArr;
150
           if(this.arr.length > 0){
150
           if(this.arr.length > 0){
151
-            let a = true
151
+            let a = true;
152
             this.$emit('func',a)
152
             this.$emit('func',a)
153
           }else{
153
           }else{
154
-            let a = false
154
+            let a = false;
155
             this.$emit('func',a)
155
             this.$emit('func',a)
156
           }
156
           }
157
         }else {
157
         }else {
158
-          this.arr = []
158
+          this.arr = [];
159
           if(this.arr.length > 0){
159
           if(this.arr.length > 0){
160
-            let a = true
160
+            let a = true;
161
             this.$emit('func',a)
161
             this.$emit('func',a)
162
           }else{
162
           }else{
163
-            let a = false
163
+            let a = false;
164
             this.$emit('func',a)
164
             this.$emit('func',a)
165
           }
165
           }
166
         }
166
         }
196
     -o-object-position: center;
196
     -o-object-position: center;
197
     object-position: center;
197
     object-position: center;
198
     }
198
     }
199
-  } 
199
+  }
200
   .title {
200
   .title {
201
     font-size: 14px;
201
     font-size: 14px;
202
     color: #bfcbd9;
202
     color: #bfcbd9;

+ 147 - 0
src/xt_pages/components/GoodExcel/index.vue 查看文件

1
+<template>
2
+  <div>
3
+    <input id="excel-good-input" ref="excel-good-input" type="file" accept=".xlsx, .xls, .xltx" @change="handleClick">
4
+    <el-button :loading="loading" style="margin-left:16px;" size="mini" type="primary" @click="handleUpload">导入模板
5
+    </el-button>
6
+  </div>
7
+</template>
8
+
9
+<script>
10
+  import XLSX from 'xlsx'
11
+
12
+  export default {
13
+    props: {
14
+      beforeUpload: Function,
15
+      onSuccess: Function
16
+    },
17
+    data() {
18
+      return {
19
+        loading: false,
20
+        excelData: {
21
+          header: null,
22
+          results: null
23
+        }
24
+      }
25
+    },
26
+    methods: {
27
+      generateDate({ header, results }) {
28
+        this.excelData.header = header
29
+        this.excelData.results = results
30
+        this.onSuccess && this.onSuccess(this.excelData)
31
+      },
32
+      handleDrop(e) {
33
+        e.stopPropagation()
34
+        e.preventDefault()
35
+        if (this.loading) return
36
+        const files = e.dataTransfer.files
37
+        if (files.length !== 1) {
38
+          this.$message.error('Only support uploading one file!')
39
+          return
40
+        }
41
+        const rawFile = files[0] // only use files[0]
42
+
43
+        if (!this.isExcel(rawFile)) {
44
+          this.$message.error('Only supports upload .xlsx, .xls, .csv suffix files')
45
+          return false
46
+        }
47
+        this.upload(rawFile)
48
+        e.stopPropagation()
49
+        e.preventDefault()
50
+      },
51
+      handleDragover(e) {
52
+        e.stopPropagation()
53
+        e.preventDefault()
54
+        e.dataTransfer.dropEffect = 'copy'
55
+      },
56
+      handleUpload() {
57
+        document.getElementById('excel-good-input').click()
58
+      },
59
+      handleClick(e) {
60
+        const files = e.target.files
61
+        const rawFile = files[0] // only use files[0]
62
+        if (!rawFile) return
63
+        this.upload(rawFile)
64
+      },
65
+      upload(rawFile) {
66
+        this.$refs['excel-good-input'].value = null // fix can't select the same excel
67
+
68
+        if (!this.beforeUpload) {
69
+          this.readerData(rawFile)
70
+          return
71
+        }
72
+        const before = this.beforeUpload(rawFile)
73
+        if (before) {
74
+          this.readerData(rawFile)
75
+        }
76
+      },
77
+      readerData(rawFile) {
78
+        this.loading = true
79
+        return new Promise((resolve, reject) => {
80
+          const reader = new FileReader()
81
+          reader.onload = e => {
82
+            const data = e.target.result
83
+            const fixedData = this.fixdata(data)
84
+            const workbook = XLSX.read(btoa(fixedData), { type: 'base64' })
85
+            const firstSheetName = workbook.SheetNames[0]
86
+            const worksheet = workbook.Sheets[firstSheetName]
87
+            const header = this.get_header_row(worksheet)
88
+            const results = XLSX.utils.sheet_to_json(worksheet)
89
+            this.generateDate({ header, results })
90
+            this.loading = false
91
+            resolve()
92
+          }
93
+          reader.readAsArrayBuffer(rawFile)
94
+        })
95
+      },
96
+      fixdata(data) {
97
+        let o = ''
98
+        let l = 0
99
+        const w = 10240
100
+        for (; l < data.byteLength / w; ++l) o += String.fromCharCode.apply(null, new Uint8Array(data.slice(l * w, l * w + w)))
101
+        o += String.fromCharCode.apply(null, new Uint8Array(data.slice(l * w)))
102
+        return o
103
+      },
104
+      get_header_row(sheet) {
105
+        if(sheet['!ref'] == undefined){
106
+          this.loading = false
107
+          return
108
+        }
109
+
110
+        const headers = []
111
+        const range = XLSX.utils.decode_range(sheet['!ref'])
112
+        let C
113
+        const R = range.s.r /* start in the first row */
114
+        for (C = range.s.c; C <= range.e.c; ++C) { /* walk every column in the range */
115
+          var cell = sheet[XLSX.utils.encode_cell({ c: C, r: R })] /* find the cell in the first row */
116
+          var hdr = 'UNKNOWN ' + C // <-- replace with your desired default
117
+          if (cell && cell.t) hdr = XLSX.utils.format_cell(cell)
118
+          headers.push(hdr)
119
+        }
120
+        return headers
121
+      },
122
+      isExcel(file) {
123
+        return /\.(xlsx|xls|csv)$/.test(file.name)
124
+      }
125
+    }
126
+  }
127
+</script>
128
+
129
+<style scoped>
130
+  #excel-good-input {
131
+    display: none;
132
+    z-index: -9999;
133
+  }
134
+
135
+  #drop {
136
+    border: 2px dashed #bbb;
137
+    width: 600px;
138
+    height: 160px;
139
+    line-height: 160px;
140
+    margin: 0 auto;
141
+    font-size: 24px;
142
+    border-radius: 5px;
143
+    text-align: center;
144
+    color: #bbb;
145
+    position: relative;
146
+  }
147
+</style>

+ 147 - 0
src/xt_pages/components/ProjectExcel/index.vue 查看文件

1
+<template>
2
+  <div>
3
+    <input id="excel-project-input" ref="excel-project-input" type="file" accept=".xlsx, .xls, .xltx" @change="handleClick">
4
+    <el-button :loading="loading" style="margin-left:16px;" size="mini" type="primary" @click="handleUpload">导入模板
5
+    </el-button>
6
+  </div>
7
+</template>
8
+
9
+<script>
10
+  import XLSX from 'xlsx'
11
+
12
+  export default {
13
+    props: {
14
+      beforeUpload: Function,
15
+      onSuccess: Function
16
+    },
17
+    data() {
18
+      return {
19
+        loading: false,
20
+        excelData: {
21
+          header: null,
22
+          results: null
23
+        }
24
+      }
25
+    },
26
+    methods: {
27
+      generateDate({ header, results }) {
28
+        this.excelData.header = header
29
+        this.excelData.results = results
30
+        this.onSuccess && this.onSuccess(this.excelData)
31
+      },
32
+      handleDrop(e) {
33
+        e.stopPropagation()
34
+        e.preventDefault()
35
+        if (this.loading) return
36
+        const files = e.dataTransfer.files
37
+        if (files.length !== 1) {
38
+          this.$message.error('Only support uploading one file!')
39
+          return
40
+        }
41
+        const rawFile = files[0] // only use files[0]
42
+
43
+        if (!this.isExcel(rawFile)) {
44
+          this.$message.error('Only supports upload .xlsx, .xls, .csv suffix files')
45
+          return false
46
+        }
47
+        this.upload(rawFile)
48
+        e.stopPropagation()
49
+        e.preventDefault()
50
+      },
51
+      handleDragover(e) {
52
+        e.stopPropagation()
53
+        e.preventDefault()
54
+        e.dataTransfer.dropEffect = 'copy'
55
+      },
56
+      handleUpload() {
57
+        document.getElementById('excel-project-input').click()
58
+      },
59
+      handleClick(e) {
60
+        const files = e.target.files
61
+        const rawFile = files[0] // only use files[0]
62
+        if (!rawFile) return
63
+        this.upload(rawFile)
64
+      },
65
+      upload(rawFile) {
66
+        this.$refs['excel-project-input'].value = null // fix can't select the same excel
67
+
68
+        if (!this.beforeUpload) {
69
+          this.readerData(rawFile)
70
+          return
71
+        }
72
+        const before = this.beforeUpload(rawFile)
73
+        if (before) {
74
+          this.readerData(rawFile)
75
+        }
76
+      },
77
+      readerData(rawFile) {
78
+        this.loading = true
79
+        return new Promise((resolve, reject) => {
80
+          const reader = new FileReader()
81
+          reader.onload = e => {
82
+            const data = e.target.result
83
+            const fixedData = this.fixdata(data)
84
+            const workbook = XLSX.read(btoa(fixedData), { type: 'base64' })
85
+            const firstSheetName = workbook.SheetNames[0]
86
+            const worksheet = workbook.Sheets[firstSheetName]
87
+            const header = this.get_header_row(worksheet)
88
+            const results = XLSX.utils.sheet_to_json(worksheet)
89
+            this.generateDate({ header, results })
90
+            this.loading = false
91
+            resolve()
92
+          }
93
+          reader.readAsArrayBuffer(rawFile)
94
+        })
95
+      },
96
+      fixdata(data) {
97
+        let o = ''
98
+        let l = 0
99
+        const w = 10240
100
+        for (; l < data.byteLength / w; ++l) o += String.fromCharCode.apply(null, new Uint8Array(data.slice(l * w, l * w + w)))
101
+        o += String.fromCharCode.apply(null, new Uint8Array(data.slice(l * w)))
102
+        return o
103
+      },
104
+      get_header_row(sheet) {
105
+        if(sheet['!ref'] == undefined){
106
+          this.loading = false
107
+          return
108
+        }
109
+
110
+        const headers = []
111
+        const range = XLSX.utils.decode_range(sheet['!ref'])
112
+        let C
113
+        const R = range.s.r /* start in the first row */
114
+        for (C = range.s.c; C <= range.e.c; ++C) { /* walk every column in the range */
115
+          var cell = sheet[XLSX.utils.encode_cell({ c: C, r: R })] /* find the cell in the first row */
116
+          var hdr = 'UNKNOWN ' + C // <-- replace with your desired default
117
+          if (cell && cell.t) hdr = XLSX.utils.format_cell(cell)
118
+          headers.push(hdr)
119
+        }
120
+        return headers
121
+      },
122
+      isExcel(file) {
123
+        return /\.(xlsx|xls|csv)$/.test(file.name)
124
+      }
125
+    }
126
+  }
127
+</script>
128
+
129
+<style scoped>
130
+  #excel-project-input {
131
+    display: none;
132
+    z-index: -9999;
133
+  }
134
+
135
+  #drop {
136
+    border: 2px dashed #bbb;
137
+    width: 600px;
138
+    height: 160px;
139
+    line-height: 160px;
140
+    margin: 0 auto;
141
+    font-size: 24px;
142
+    border-radius: 5px;
143
+    text-align: center;
144
+    color: #bbb;
145
+    position: relative;
146
+  }
147
+</style>

+ 88 - 2
src/xt_pages/data/basicConfig.vue 查看文件

25
           <el-switch v-model="is_open_xt_his" @change="changeFuncOne"></el-switch>
25
           <el-switch v-model="is_open_xt_his" @change="changeFuncOne"></el-switch>
26
           </p>
26
           </p>
27
         </div>
27
         </div>
28
+
29
+        <!-- <div class="configBox">
30
+          <p style="font-size:18px;font-weight:bold">血压数据自动获取</p>
31
+          <p style="font-size:14px;margin-top:5px;color:#333;">在联机的状态下,开启透析监测-血压数据自动获取功能后,则不需要手动输入,数据会自动上传到监测中</p>
32
+          <p style="margin-top:20px;">透析监测-血压数据自动获取:
33
+          <el-switch v-model="is_open_monitor" @change="changeFuncTwo"></el-switch>
34
+          </p>
35
+        </div>
36
+
37
+        <div class="configBox">
38
+          <p style="font-size:18px;font-weight:bold">透析机数据自动获取</p>
39
+          <p style="font-size:14px;margin-top:5px;color:#333;">在联机的状态下,开启透析监测-透析机数据自动获取功能后,则不需要手动输入,数据会自动上传到监测中</p>
40
+          <p style="margin-top:20px;">透析监测-血压数据自动获取:
41
+          <el-switch v-model="is_open_order" @change="changeFuncThree"></el-switch>
42
+          </p>
43
+        </div> -->
28
         <!--<div class="configBox">-->
44
         <!--<div class="configBox">-->
29
             <!--<p>药品,耗材出库</p>-->
45
             <!--<p>药品,耗材出库</p>-->
30
             <!--<p style="font-size:14px;margin-top:5px;">开启药品,耗材出库自动扣减则医生开完医嘱或处方可直接出库,不开启则由发药动作或出库按钮手动出库</p>-->
46
             <!--<p style="font-size:14px;margin-top:5px;">开启药品,耗材出库自动扣减则医生开完医嘱或处方可直接出库,不开启则由发药动作或出库按钮手动出库</p>-->
62
 
78
 
63
 <script>
79
 <script>
64
 import BreadCrumb from "@/xt_pages/components/bread-crumb";
80
 import BreadCrumb from "@/xt_pages/components/bread-crumb";
65
-import { getAllIsOpenInit,postXtHisIsOpen } from '@/api/config'
81
+import { getAllIsOpenInit,postXtHisIsOpen,postMonitorIsOpen} from '@/api/config'
66
 
82
 
67
 export default {
83
 export default {
68
   name: "printTemplate",
84
   name: "printTemplate",
76
       ],
92
       ],
77
       value:false,
93
       value:false,
78
       is_open_xt_his:false,
94
       is_open_xt_his:false,
95
+      is_open_monitor:false,
96
+      is_open_order:false,
79
     };
97
     };
80
   },
98
   },
81
   methods: {
99
   methods: {
126
           }
144
           }
127
         )
145
         )
128
       }
146
       }
147
+    },
129
 
148
 
149
+    changeFuncTwo(){
150
+      console.log("3333333",this.is_open_monitor)
151
+      var is_open = 0
152
+      if(this.is_open_monitor == true){
153
+          is_open = 1
154
+       }
155
+       if(this.is_open_monitor == false){
156
+         is_open = 2
157
+       }
158
+      let params = {
159
+         is_open:is_open,
160
+       }
161
+     console.log("params",params)
162
+      postMonitorIsOpen(params).then(response=>{
163
+         if(response.data.state == 1){
164
+            var config = response.data.data.config
165
+            this.$message.success("成功")
166
+            this.getMonitorConfig()
167
+         }
168
+      })
169
+    },
170
+    getMonitorConfig(){
171
+      getMonitorConfig().then(response=>{
172
+         if(response.data.state == 1){
173
+           var config =  response.data.data.config
174
+           console.log("config",config)
175
+           if (config.is_open == 1) {
176
+              this.is_open_monitor = true
177
+           }
178
+           if (config.is_open == 2) {
179
+              this.is_open_monitor = false
180
+           }
181
+         }
182
+      })
183
+    },
130
 
184
 
131
-
185
+    changeFuncThree(){
186
+      var is_open = 0
187
+      if(this.is_open_order == true){
188
+          is_open = 1
189
+       }
190
+       if(this.is_open_order == false){
191
+         is_open = 2
192
+       }
193
+      let params = {
194
+         is_open:is_open,
195
+       } 
196
+      addOrderConfig(params).then(response=>{
197
+         if(response.data.state == 1){
198
+           var config = response.data.data.config
199
+           this.$message.success("成功")
200
+           this.getOrderConfig()
201
+         }
202
+      })
203
+    },
204
+    getOrderConfig(){
205
+      getOrderConfig().then(response=>{
206
+        if(response.data.state == 1){
207
+           var config =  response.data.data.config
208
+          if (config.is_open == 1) {
209
+              this.is_open_order = true
210
+           }
211
+           if (config.is_open == 2) {
212
+              this.is_open_order = false
213
+           }
214
+        }
215
+      })
132
     }
216
     }
133
 
217
 
134
   },
218
   },
135
   created() {
219
   created() {
136
     this.getInitIsOpenConfig()
220
     this.getInitIsOpenConfig()
221
+    this.getMonitorConfig()
222
+    this.getOrderConfig()
137
 
223
 
138
   }
224
   }
139
 };
225
 };

文件差異過大導致無法顯示
+ 596 - 466
src/xt_pages/data/components/addDrugs.vue


+ 69 - 10
src/xt_pages/data/components/addProject.vue 查看文件

44
                         <el-form-item label="执行科室 : " prop="executive_section">
44
                         <el-form-item label="执行科室 : " prop="executive_section">
45
                             <el-select v-model="form.executive_section" style="width:160px;" placeholder="请选择">
45
                             <el-select v-model="form.executive_section" style="width:160px;" placeholder="请选择">
46
                                 <el-option
46
                                 <el-option
47
-                                v-for="(item,index) in getDictionaryDataConfig('system','executive_section')"
47
+                                v-for="(item,index) in departMentList"
48
                                 :key="index"
48
                                 :key="index"
49
                                 :label="item.name"
49
                                 :label="item.name"
50
                                 :value="item.id">
50
                                 :value="item.id">
135
                                 </el-option>
135
                                 </el-option>
136
                             </el-select>
136
                             </el-select>
137
                         </el-form-item>
137
                         </el-form-item>
138
+                        <el-form-item label="特检项目:" prop="">
139
+                           <el-select v-model="form.specail_project" style="width:160px;" placeholder="请选择">
140
+                              <el-option
141
+                                v-for="(item,index) in specailProject"
142
+                                :key="index"
143
+                                :label="item.name"
144
+                                :value="item.id">
145
+                                </el-option>
146
+                            </el-select>
147
+                        </el-form-item>
148
+                         <el-form-item label="社保目录编码" >
149
+                            <el-input v-model="form.social_security_directory_code" style="width:180px"></el-input>
150
+                         </el-form-item>
151
+
152
+                        <el-form-item label="备案日期:" >
153
+                            <el-date-picker
154
+                                value-format="yyyy-MM-dd"
155
+                                v-model="form.record_date"
156
+                                type="date"
157
+                                placeholder="选择日期时间">
158
+                            </el-date-picker>
159
+                        </el-form-item>
138
                         <el-form-item label="备注 : " prop="remark" style="width:100%;">
160
                         <el-form-item label="备注 : " prop="remark" style="width:100%;">
139
                             <el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="form.remark"></el-input>
161
                             <el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="form.remark"></el-input>
140
                         </el-form-item>
162
                         </el-form-item>
221
 
243
 
222
 <script>
244
 <script>
223
 import { getDictionaryDataConfig,getDataConfig } from "@/utils/data";
245
 import { getDictionaryDataConfig,getDataConfig } from "@/utils/data";
224
-import { saveProject } from "@/api/project/project"
246
+import { saveProject,getDePartmentList } from "@/api/project/project"
225
 export default {
247
 export default {
226
     data(){
248
     data(){
227
         return{
249
         return{
262
               delivery_way:"",
284
               delivery_way:"",
263
               execution_frequency:"",
285
               execution_frequency:"",
264
               number_days:"",
286
               number_days:"",
265
-              total:""
287
+              total:"",
288
+              category:"",
289
+              specail_project:"",
290
+              social_security_directory_code:"",
291
+              record_date:""
266
             },
292
             },
267
             rules: {
293
             rules: {
268
                 project_name: [{ required: true, message: '请填写项目名称', trigger: 'blur'  }],
294
                 project_name: [{ required: true, message: '请填写项目名称', trigger: 'blur'  }],
276
              {id:1,name:"常规诊疗项目"},
302
              {id:1,name:"常规诊疗项目"},
277
              {id:4,name:"辅助器具项目"},
303
              {id:4,name:"辅助器具项目"},
278
              {id:5,name:"加收项目"}
304
              {id:5,name:"加收项目"}
279
-           ]
305
+           ],
306
+           specailProject:[
307
+             {id:1,name:"是"},
308
+             {id:2,name:"否"}
309
+           ],
310
+           limit:100,
311
+           page:1,
312
+           departMentList:[]
280
         }
313
         }
281
     },
314
     },
282
     methods:{
315
     methods:{
283
         _close: function(done) {
316
         _close: function(done) {
284
             // this.clear()
317
             // this.clear()
285
-            done()
318
+            // done()
319
+            this.$confirm('是否保存')
320
+            .then(_ => {
321
+                this.submitAction('form')
322
+                // done();
323
+            })
324
+            .catch(_ => {
325
+                done()
326
+            });
286
         },
327
         },
287
         clear: function() {
328
         clear: function() {
288
             this.form.id = 0;
329
             this.form.id = 0;
340
                     number_days:this.form.number_days,
381
                     number_days:this.form.number_days,
341
                     total:this.form.total,
382
                     total:this.form.total,
342
                     category:this.form.category,
383
                     category:this.form.category,
384
+                    specail_project:this.form.specail_project,
385
+                    social_security_directory_code:this.form.social_security_directory_code,
386
+                    record_date:this.form.record_date
343
                }
387
                }
344
-           
388
+             console.log("params222222",params)
345
               saveProject(params).then(response=>{
389
               saveProject(params).then(response=>{
346
                  if(response.data.state == 1){
390
                  if(response.data.state == 1){
347
                    var hisProject = response.data.data.hisProject
391
                    var hisProject = response.data.data.hisProject
375
                    this.form.delivery_way = ""
419
                    this.form.delivery_way = ""
376
                    this.form.execution_frequency = ""
420
                    this.form.execution_frequency = ""
377
                    this.form.number_days = ""
421
                    this.form.number_days = ""
378
-                   this.form.total = ""
422
+                   this.form.total = "",
423
+                   this.form.social_security_directory_code = ""
424
+                   this.form.record_date = ""
425
+                   this.form.specail_project = ""
379
                  }else {
426
                  }else {
380
                     this.$message.error("项目名称已存在!")
427
                     this.$message.error("项目名称已存在!")
381
                  }
428
                  }
382
               })
429
               })
383
             }
430
             }
384
           })
431
           })
385
-       }
432
+       },
433
+        getlist(){
434
+        var params = {
435
+            limit:this.limit,
436
+            page:this.page,
437
+        }
438
+        getDePartmentList(params).then(response=>{
439
+            if(response.data.state == 1){
440
+            var department =   response.data.data.departMentList
441
+            console.log("科室列表",department)
442
+            this.departMentList = department
443
+            }
444
+        })
445
+        },
386
     },
446
     },
387
     created(){
447
     created(){
388
-       var statistics =   getDictionaryDataConfig('system','statistics_category')
389
-       console.log("#333333333",statistics)
448
+       this.getlist()
390
     }
449
     }
391
 }
450
 }
392
 </script>
451
 </script>

文件差異過大導致無法顯示
+ 733 - 160
src/xt_pages/data/components/consumables.vue


文件差異過大導致無法顯示
+ 843 - 75
src/xt_pages/data/components/drugs.vue


+ 9 - 2
src/xt_pages/data/components/editInspection.vue 查看文件

30
                         </el-option>
30
                         </el-option>
31
                   </el-select>
31
                   </el-select>
32
                 </el-form-item>
32
                 </el-form-item>
33
-                <el-form-item label="组套类型 : " prop="name" style="width:50%">
33
+                <el-form-item label="组套类型 : " prop="team_type" style="width:50%">
34
                     <el-select v-model="form.team_type" style="width:100%;" placeholder="请选择">
34
                     <el-select v-model="form.team_type" style="width:100%;" placeholder="请选择">
35
                         <el-option
35
                         <el-option
36
                         v-for="item in options"
36
                         v-for="item in options"
146
               team_type: [{ required:true,message:'请填写组套类型',trigger:'change' }]
146
               team_type: [{ required:true,message:'请填写组套类型',trigger:'change' }]
147
            },
147
            },
148
            tableData:[],
148
            tableData:[],
149
-           item_id:[]
149
+           item_id:[],
150
+           projectList:[]
150
         }
151
         }
151
     },
152
     },
152
     methods:{
153
     methods:{
211
                  this.form.pinyin = projectTeamDetail.pinyin
212
                  this.form.pinyin = projectTeamDetail.pinyin
212
                  this.form.wubi  = projectTeamDetail.wubi
213
                  this.form.wubi  = projectTeamDetail.wubi
213
                  this.form.tube_color = projectTeamDetail.tube_color
214
                  this.form.tube_color = projectTeamDetail.tube_color
215
+                 if(projectTeamDetail.tube_color == 0){
216
+                    this.form.tube_color = ""
217
+                 }
214
                  this.form.team_type = projectTeamDetail.team_type
218
                  this.form.team_type = projectTeamDetail.team_type
219
+                 if(projectTeamDetail.team_type == 0){
220
+                    this.form.team_type = ""
221
+                 }     
215
                  this.form.remark = projectTeamDetail.remark
222
                  this.form.remark = projectTeamDetail.remark
216
                  this.form.item_id = projectTeamDetail.item_id
223
                  this.form.item_id = projectTeamDetail.item_id
217
                 //  console.log("project",projectTeamDetail)
224
                 //  console.log("project",projectTeamDetail)

+ 117 - 13
src/xt_pages/data/components/editProject.vue 查看文件

34
                         <el-form-item label="费用类别 : " prop="cost_classify">
34
                         <el-form-item label="费用类别 : " prop="cost_classify">
35
                             <el-select v-model="form.cost_classify" style="width:160px;" placeholder="请选择">
35
                             <el-select v-model="form.cost_classify" style="width:160px;" placeholder="请选择">
36
                                 <el-option
36
                                 <el-option
37
-                                v-for="(item,index) in getDictionaryDataConfig('system','cost_classify')"
37
+                                v-for="(item,index) in costClassifyList"
38
                                 :key="index"
38
                                 :key="index"
39
                                 :label="item.name"
39
                                 :label="item.name"
40
-                                :value="item.id">
40
+                                :value="item.value">
41
                                 </el-option>
41
                                 </el-option>
42
                             </el-select>
42
                             </el-select>
43
                         </el-form-item>
43
                         </el-form-item>
44
                         <el-form-item label="执行科室 : " prop="executive_section">
44
                         <el-form-item label="执行科室 : " prop="executive_section">
45
                             <el-select v-model="form.executive_section" style="width:160px;" placeholder="请选择">
45
                             <el-select v-model="form.executive_section" style="width:160px;" placeholder="请选择">
46
                                 <el-option
46
                                 <el-option
47
-                                v-for="(item,index) in getDictionaryDataConfig('system','executive_section')"
47
+                                v-for="(item,index) in departMentList"
48
                                 :key="index"
48
                                 :key="index"
49
                                 :label="item.name"
49
                                 :label="item.name"
50
                                 :value="item.id">
50
                                 :value="item.id">
64
                         <el-form-item label="统计分类 : " prop="statistical_classification">
64
                         <el-form-item label="统计分类 : " prop="statistical_classification">
65
                             <el-select v-model="form.statistical_classification" style="width:160px;" placeholder="请选择">
65
                             <el-select v-model="form.statistical_classification" style="width:160px;" placeholder="请选择">
66
                                 <el-option
66
                                 <el-option
67
-                                v-for="(item,index) in getDictionaryDataConfig('system','statistics_category')"
67
+                                v-for="(item,index) in statisticsCategoryList"
68
                                 :key="index"
68
                                 :key="index"
69
                                 :label="item.name"
69
                                 :label="item.name"
70
-                                :value="item.id">
70
+                                :value="item.value">
71
                                 </el-option>
71
                                 </el-option>
72
                             </el-select>
72
                             </el-select>
73
                         </el-form-item>
73
                         </el-form-item>
97
                         <el-form-item label="试管颜色 : " prop="tube_color">
97
                         <el-form-item label="试管颜色 : " prop="tube_color">
98
                             <el-select v-model="form.tube_color" style="width:160px;" placeholder="请选择">
98
                             <el-select v-model="form.tube_color" style="width:160px;" placeholder="请选择">
99
                               <el-option
99
                               <el-option
100
-                                v-for="(item,index) in getDictionaryDataConfig('system','tube_color')"
100
+                                v-for="(item,index) in tubeColorList"
101
                                 :key="index"
101
                                 :key="index"
102
                                 :label="item.name"
102
                                 :label="item.name"
103
-                                :value="item.id">
103
+                                :value="item.value">
104
                                 </el-option>
104
                                 </el-option>
105
                             </el-select>
105
                             </el-select>
106
                         </el-form-item>
106
                         </el-form-item>
135
                                 </el-option>
135
                                 </el-option>
136
                             </el-select>
136
                             </el-select>
137
                         </el-form-item>
137
                         </el-form-item>
138
+                         <el-form-item label="特检项目:" prop="">
139
+                           <el-select v-model="form.specail_project" style="width:160px;" placeholder="请选择">
140
+                              <el-option
141
+                                v-for="(item,index) in specailProject"
142
+                                :key="index"
143
+                                :label="item.name"
144
+                                :value="item.id">
145
+                                </el-option>
146
+                            </el-select>
147
+                        </el-form-item>
148
+                         <el-form-item label="社保目录编码" >
149
+                            <el-input v-model="form.social_security_directory_code" style="width:180px"></el-input>
150
+                         </el-form-item>
151
+
152
+                        <el-form-item label="备案日期:" >
153
+                            <el-date-picker
154
+                                value-format="yyyy-MM-dd"
155
+                                v-model="form.record_date"
156
+                                type="date"
157
+                                placeholder="选择日期时间">
158
+                            </el-date-picker>
159
+                        </el-form-item>
160
+                      
138
                         <el-form-item label="备注 : " prop="remark" style="width:100%;">
161
                         <el-form-item label="备注 : " prop="remark" style="width:100%;">
139
                             <el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="form.remark"></el-input>
162
                             <el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="form.remark"></el-input>
140
                         </el-form-item>
163
                         </el-form-item>
222
 </template>
245
 </template>
223
 
246
 
224
 <script>
247
 <script>
248
+import { uParseTime } from '@/utils/tools'
225
 import { getDictionaryDataConfig,getDataConfig } from "@/utils/data";
249
 import { getDictionaryDataConfig,getDataConfig } from "@/utils/data";
226
-import { getProjectDetail,updatedProject } from "@/api/project/project"
250
+import { getProjectDetail,updatedProject,getDePartmentList } from "@/api/project/project"
251
+ import {getInitializtion} from '@/api/stock'
227
 export default {
252
 export default {
228
     data(){
253
     data(){
229
         return{
254
         return{
267
               execution_frequency:"",
292
               execution_frequency:"",
268
               number_days:"",
293
               number_days:"",
269
               total:"",
294
               total:"",
270
-              category:""
295
+              category:"",
296
+              specail_project:"",
297
+              social_security_directory_code:"",
298
+              record_date:"",
299
+              
271
             },
300
             },
272
             rules: {
301
             rules: {
273
                 project_name: [{ required: true, message: '请填写项目名称', trigger: 'blur'  }],
302
                 project_name: [{ required: true, message: '请填写项目名称', trigger: 'blur'  }],
283
              {id:1,name:"常规诊疗项目"},
312
              {id:1,name:"常规诊疗项目"},
284
              {id:4,name:"辅助器具项目"},
313
              {id:4,name:"辅助器具项目"},
285
              {id:5,name:"加收项目"}
314
              {id:5,name:"加收项目"}
286
-           ]
315
+           ],
316
+         specailProject:[
317
+             {id:1,name:"是"},
318
+             {id:2,name:"否"}
319
+           ],
320
+          limit:100,
321
+           page:1,
322
+           departMentList:[],
323
+           statisticsCategoryList:[],
324
+           tubeColorList:[],
325
+           costClassifyList:[]
287
         }
326
         }
288
     },
327
     },
289
     methods:{
328
     methods:{
329
+        getTime(val) {
330
+         if(val < 0){
331
+           return ""
332
+         }
333
+         if(val == ""){
334
+          return ""
335
+         }else {
336
+          return uParseTime(val, '{y}-{m}-{d}')
337
+         }
338
+      },
290
         _close: function(done) {
339
         _close: function(done) {
291
             done()
340
             done()
292
         },
341
         },
296
             this.form.intro = "";
345
             this.form.intro = "";
297
         },
346
         },
298
         show(id) {
347
         show(id) {
299
-          
348
+           this.getlist()
349
+           this.getInitializtion()
300
            this.visible = true
350
            this.visible = true
301
            this.formTitle = '编辑'
351
            this.formTitle = '编辑'
302
            this.getProjectDetail(id)
352
            this.getProjectDetail(id)
353
+          
303
         },
354
         },
304
         hide() {
355
         hide() {
305
          this.visible = false
356
          this.visible = false
325
               this.form.cost_classify = projecDetail.cost_classify
376
               this.form.cost_classify = projecDetail.cost_classify
326
               this.form.executive_section = projecDetail.executive_section
377
               this.form.executive_section = projecDetail.executive_section
327
               this.form.medical_coverage = projecDetail.medical_coverage
378
               this.form.medical_coverage = projecDetail.medical_coverage
379
+              if(projecDetail.statistical_classification == 0){
380
+                 this.form.statistical_classification = ""
381
+              }
328
               this.form.statistical_classification =projecDetail.statistical_classification
382
               this.form.statistical_classification =projecDetail.statistical_classification
329
               this.form.disease_directory = projecDetail.disease_directory?projecDetail.disease_directory:""
383
               this.form.disease_directory = projecDetail.disease_directory?projecDetail.disease_directory:""
330
               this.form.is_record = projecDetail.is_record?projecDetail.is_record:""
384
               this.form.is_record = projecDetail.is_record?projecDetail.is_record:""
345
               this.form.execution_frequency = projecDetail.execution_frequency
399
               this.form.execution_frequency = projecDetail.execution_frequency
346
               this.form.number_days = projecDetail.number_days
400
               this.form.number_days = projecDetail.number_days
347
               this.form.total = projecDetail.total
401
               this.form.total = projecDetail.total
402
+            
348
               this.form.category = projecDetail.category
403
               this.form.category = projecDetail.category
404
+               if(projecDetail.category == 0){
405
+                this.form.category = ""
406
+              }
407
+              if(projecDetail.specail_project == 0){
408
+                this.form.specail_project = ""
409
+              }
410
+              this.form.specail_project = projecDetail.specail_project
411
+              if(projecDetail.specail_project == 0){
412
+                 this.form.specail_project = ""
413
+              }
414
+              this.form.social_security_directory_code = projecDetail.social_security_directory_code
415
+              if(projecDetail.social_security_directory_code == 0){
416
+                this.form.social_security_directory_code = ""
417
+              }
418
+              this.form.record_date = this.getTime(projecDetail.record_date)
349
             }
419
             }
350
          })
420
          })
351
        },
421
        },
384
                     execution_frequency:this.form.execution_frequency,
454
                     execution_frequency:this.form.execution_frequency,
385
                     number_days:this.form.number_days,
455
                     number_days:this.form.number_days,
386
                     total:this.form.total,
456
                     total:this.form.total,
387
-                    category:this.form.category
457
+                    category:this.form.category,
458
+                     specail_project:this.form.specail_project,
459
+                    social_security_directory_code:this.form.social_security_directory_code,
460
+                    record_date:this.form.record_date
388
                }
461
                }
389
               
462
               
390
               updatedProject(params).then(response=>{
463
               updatedProject(params).then(response=>{
398
               })
471
               })
399
             }
472
             }
400
           })
473
           })
401
-       }
474
+       },
475
+       getlist(){
476
+        var params = {
477
+            limit:this.limit,
478
+            page:this.page,
479
+        }
480
+        getDePartmentList(params).then(response=>{
481
+            if(response.data.state == 1){
482
+            var department =   response.data.data.departMentList
483
+            console.log("科室列表",department)
484
+            this.departMentList = department
485
+            }
486
+        })
487
+      },
488
+     getInitializtion(){
489
+       getInitializtion().then(response=>{
490
+         if(response.data.state == 1){
491
+           var statisticsCategoryList = response.data.data.statisticsCategoryList
492
+           this.statisticsCategoryList = statisticsCategoryList
493
+           var tubeColorList = response.data.data.tubeColorList
494
+           this.tubeColorList = tubeColorList
495
+           var costClassifyList =  response.data.data.costClassifyList
496
+           this.costClassifyList = costClassifyList
497
+         }
498
+       })
499
+      }
500
+
501
+    },
502
+
503
+    created(){
504
+       this.getlist() 
505
+       this.getInitializtion()
402
     }
506
     }
403
 }
507
 }
404
 </script>
508
 </script>

+ 623 - 49
src/xt_pages/data/components/project.vue 查看文件

34
             </div>
34
             </div>
35
             <div>
35
             <div>
36
              <el-button type="primary" @click="openForm(0)">新增</el-button>
36
              <el-button type="primary" @click="openForm(0)">新增</el-button>
37
-             <el-button type="primary" @click="BatchDelete()">批量备案</el-button>
37
+             <!-- <el-button type="primary" @click="BatchDelete()" v-if="$store.getters.xt_user.org_id == 9504 || $store.getters.xt_user.org_id == 10028">批量备案</el-button>
38
+             <el-button type="primary" v-if="$store.getters.xt_user.org_id != 9504 && $store.getters.xt_user.org_id != 10028" @click="GDYBBatchPutOnRecord">批量备案</el-button> -->
38
             </div>
39
             </div>
39
         </div>
40
         </div>
41
+        <div style="display:flex; align-items:center;margin-bottom:10px;">
42
+        <el-button type="primary" size="small" @click="BatchDelete()" v-if="$store.getters.xt_user.org_id == 9504 || $store.getters.xt_user.org_id == 10028" >批量备案</el-button>
43
+        <el-button type="primary" size="small" v-if="$store.getters.xt_user.org_id != 9504 && $store.getters.xt_user.org_id != 10028" @click="GDYBBatchPutOnRecord()">批量备案</el-button>
44
+        <el-link target="_blank" href="https://kuyi.shengws.com/itemTemplate.xlsx" :underline="false"
45
+                 style="margin-left:15px">
46
+          <el-button
47
+            class="filter-item"
48
+            type="primary"
49
+            size="small"
50
+          >下载模版
51
+          </el-button>
52
+        </el-link>
53
+
54
+        <project-excel :on-success='handleSuccessOne'></project-excel>
55
+
56
+        <el-button
57
+          style="margin-left:10px;"
58
+          @click="generateLog()"
59
+          class="filter-item"
60
+          type="primary"
61
+          size="small"
62
+        >下载日志
63
+        </el-button>
64
+      </div>
40
         <el-table :data="tableData" border style="width: 100%" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)', color: '#606266'}"  @selection-change="handleSelectionChange">
65
         <el-table :data="tableData" border style="width: 100%" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)', color: '#606266'}"  @selection-change="handleSelectionChange">
41
             <el-table-column
66
             <el-table-column
42
               align="center"
67
               align="center"
43
               type="selection"
68
               type="selection"
44
               width="55">
69
               width="55">
45
-            </el-table-column>  
70
+            </el-table-column>
46
             <el-table-column prop="date" label="序号" width="80" align="center">
71
             <el-table-column prop="date" label="序号" width="80" align="center">
47
                  <template  slot-scope="scope">
72
                  <template  slot-scope="scope">
48
                       {{scope.$index+1}}
73
                       {{scope.$index+1}}
52
                 <template  slot-scope="scope">
77
                 <template  slot-scope="scope">
53
                     {{scope.row.project_name}}
78
                     {{scope.row.project_name}}
54
                 </template>
79
                 </template>
80
+            </el-table-column>
81
+             <el-table-column prop="date" label="单价" align="center">
82
+                <template  slot-scope="scope">
83
+                    {{scope.row.price}}
84
+                </template>
85
+            </el-table-column>
86
+            <el-table-column prop="date" label="单位" align="center">
87
+                <template  slot-scope="scope">
88
+                    {{scope.row.unit}}
89
+                </template>
55
             </el-table-column>
90
             </el-table-column>
56
             <el-table-column prop="date" label="费用类别" align="center">
91
             <el-table-column prop="date" label="费用类别" align="center">
57
                   <template  slot-scope="scope">
92
                   <template  slot-scope="scope">
79
                 <template slot-scope="scope">
114
                 <template slot-scope="scope">
80
                     <el-button @click="editHisProject(scope.row.id)" type="primary" size="small">编辑</el-button>
115
                     <el-button @click="editHisProject(scope.row.id)" type="primary" size="small">编辑</el-button>
81
                     <el-button type="danger" size="small" @click="deleteProject(scope.row.id,scope.$index)">删除</el-button>
116
                     <el-button type="danger" size="small" @click="deleteProject(scope.row.id,scope.$index)">删除</el-button>
82
-                    <el-button type="primary" size="small" icon="el-icon-refresh-left" @click="toReturn(scope.row.id,scope.row.is_mark)">
117
+                    <el-button type="primary" size="small" icon="el-icon-refresh-left" @click="toReturn(scope.row.id,scope.row.is_mark)" v-if="$store.getters.xt_user.org_id == 9504 || $store.getters.xt_user.org_id == 10028">
83
                       <span v-if="scope.row.is_mark ==0">备案</span>
118
                       <span v-if="scope.row.is_mark ==0">备案</span>
84
                       <span v-if="scope.row.is_mark ==1">撤销</span>
119
                       <span v-if="scope.row.is_mark ==1">撤销</span>
85
                     </el-button>
120
                     </el-button>
121
+
122
+                    <el-button type="primary" size="small" icon="el-icon-refresh-left" v-if="$store.getters.xt_user.org_id != 9504 && $store.getters.xt_user.org_id != 10028">
123
+                        <span v-if="scope.row.is_mark == 0 || scope.row.is_mark == 2"  @click="putOnRecord(scope.row.id)" >目录对照</span>
124
+                        <span v-if="scope.row.is_mark == 1"  @click="putOnUnRecord(scope.row.id)" >撤消对照</span>
125
+                    </el-button>
86
                 </template>
126
                 </template>
87
             </el-table-column>
127
             </el-table-column>
88
         </el-table>
128
         </el-table>
101
 
141
 
102
         <add-project ref="addProject"></add-project>
142
         <add-project ref="addProject"></add-project>
103
         <editProject ref="editProject"></editProject>
143
         <editProject ref="editProject"></editProject>
144
+
145
+
146
+    <el-dialog
147
+      title="提示"
148
+      :visible.sync="dialogVisible"
149
+      width="40%"
150
+    >
151
+      <span>您提交的文档不是系统标准导入模板,请检查您的文档或重新 </span>
152
+      <span slot="footer" class="dialog-footer">
153
+    <el-button @click="dialogVisible = false">取 消</el-button>
154
+    <el-button type="primary" @click="dialogVisible = false">确 定</el-button>
155
+      </span>
156
+    </el-dialog>
157
+
158
+
159
+     <el-dialog
160
+      title="提示"
161
+      :visible.sync="exportLogVisible"
162
+      width="40%"
163
+    >
164
+
165
+      <div v-for="(item,index) in logs" :key="index">
166
+        <span> {{ item.export_time | parseTime('{y}-{m}-{d} {h}:{i}:{s}')}}</span>
167
+        <br/>
168
+        <br/>
169
+        <span>{{getContent(item)}}</span>
170
+        <span >点击</span>
171
+        <span style="color:blue" @click="generateTxt(item)">查看详情</span>
172
+        <br/>
173
+        <br/>
174
+      </div>
175
+
176
+      <span slot="footer" class="dialog-footer">
177
+    <el-button @click="exportLogVisible = false">取 消</el-button>
178
+    <el-button type="primary" @click="exportLogVisible = false">确 定</el-button>
179
+    </span>
180
+    </el-dialog>
104
     </div>
181
     </div>
105
 </template>
182
 </template>
106
 
183
 
107
 <script>
184
 <script>
108
 import addProject from './addProject'
185
 import addProject from './addProject'
109
 import editProject from './editProject'
186
 import editProject from './editProject'
110
-import { getProjectList,deleteHisProject } from "@/api/project/project"
187
+import { getProjectList,deleteHisProject,getDePartmentList,postProjectInformation } from "@/api/project/project"
111
 import { getDictionaryDataConfig } from "@/utils/data";
188
 import { getDictionaryDataConfig } from "@/utils/data";
112
 import axios from 'axios'
189
 import axios from 'axios'
190
+import ProjectExcel from '@/xt_pages/components/ProjectExcel'
191
+import { generateLog } from '@/api/config'
113
 export default {
192
 export default {
114
     components:{
193
     components:{
115
         addProject,
194
         addProject,
116
-        editProject
195
+        editProject,
196
+        ProjectExcel
117
     },
197
     },
118
     data(){
198
     data(){
119
         return{
199
         return{
147
               value: '2',
227
               value: '2',
148
               label: '未备案'
228
               label: '未备案'
149
           }],
229
           }],
150
-         is_mark:""
230
+          is_mark:"",
231
+          limit:100,
232
+          page:1,
233
+          departMentList:[],
234
+           dialogVisible:false,
235
+           exportLogVisible:false,
236
+           logs:[]
237
+
151
         }
238
         }
152
     },
239
     },
153
     methods:{
240
     methods:{
154
-        changeStart(){
241
+      putOnUnRecord(id){
242
+        var that = this;
243
+        let params = {
244
+          ids:id.toString(),
245
+          record_type: 3,
246
+          admin_user_id:this.$store.getters.xt_user.user.id
247
+        };
248
+        axios.get('http://127.0.0.1:9532/api/uncheckcode/get',{params:params}).then(function(response) {
249
+          if (response.data.state == 0) {
250
+            that.$message.error(response.data.data.msg);
251
+            return false
252
+          } else {
253
+            if(response.data.data.failed_code == -10){
254
+              // that.$message.error(response.data.data.msg)
255
+              that.$confirm(response.data.data.msg, '医保错误信息', {
256
+                confirmButtonText: '确 定',
257
+                type: 'warning'
258
+              }).then(() => {
259
+
260
+              }).catch(() => {
261
+              })
262
+            }else{
263
+              // for (let i = 0; i < that.tableData.length; i++) {
264
+              //   if (that.tableData[i].id == that.currentObject.id) {
265
+              //     that.tableData[i].record.is_cancel == 1
266
+              //   }
267
+              // }
268
+            }
269
+
270
+          }
271
+        }).catch(function(error) {
272
+        })
273
+      },
274
+      putOnRecord(id){
275
+        var that = this;
276
+
277
+        let params = {
278
+          ids:id.toString(),
279
+          record_type: 3,
280
+          admin_user_id:this.$store.getters.xt_user.user.id
281
+        };
282
+
283
+        axios.get('http://127.0.0.1:9532/api/checkcode/get',{params:params}).then(function(response) {
284
+          if (response.data.state == 0) {
285
+            that.$message.error(response.data.data.msg);
286
+            return false
287
+          } else {
288
+            if(response.data.data.failed_code == -10){
289
+              // that.$message.error(response.data.data.msg)
290
+              that.$confirm(response.data.data.msg, '医保错误信息', {
291
+                confirmButtonText: '确 定',
292
+                type: 'warning'
293
+              }).then(() => {
294
+
295
+              }).catch(() => {
296
+              })
297
+            }else{
298
+
299
+
300
+            }
301
+
302
+
303
+
304
+          }
305
+        }).catch(function(error) {
306
+        })
307
+      },
308
+      GDYBBatchPutOnRecord(){
309
+        var that = this;
310
+        var ids = [];
311
+        var idMap = {};
312
+        for (const index in this.selectDrug) {
313
+          ids.push(this.selectDrug[index].id);
314
+          idMap[this.selectDrug[index].id] = this.selectDrug[index].id;
315
+        }
316
+        let params = {
317
+          ids:ids.join(','),
318
+          record_type: 3,
319
+          admin_user_id:this.$store.getters.xt_user.user.id
320
+        };
321
+        axios.get('http://127.0.0.1:9532/api/checkcode/get',{params:params}).then(function(response) {
322
+          if (response.data.state == 0) {
323
+            that.$message.error(response.data.data.msg);
324
+            return false
325
+          } else {
326
+            if(response.data.data.failed_code == -10){
327
+              // that.$message.error(response.data.data.msg)
328
+              that.$confirm(response.data.data.msg, '医保错误信息', {
329
+                confirmButtonText: '确 定',
330
+                type: 'warning'
331
+              }).then(() => {
332
+
333
+              }).catch(() => {
334
+              })
335
+            }else{
336
+
337
+
338
+            }
339
+          }
340
+        }).catch(function(error) {
341
+        })
342
+      },
343
+
344
+      changeStart(){
155
          this.getlist()
345
          this.getlist()
156
         },
346
         },
157
         handleSizeChange(val) {
347
         handleSizeChange(val) {
158
-            this.limit = val
348
+            this.limit = val;
159
             this.getlist()
349
             this.getlist()
160
         },
350
         },
161
         handleCurrentChange(val) {
351
         handleCurrentChange(val) {
162
-            this.page = val
352
+            this.page = val;
163
             this.getlist()
353
             this.getlist()
164
         },
354
         },
165
         searchAction(){
355
         searchAction(){
166
-           this.getlist()   
356
+           this.getlist()
167
         },
357
         },
168
         clickSelfPayment(){
358
         clickSelfPayment(){
169
             this.$refs.selfPayment.show();
359
             this.$refs.selfPayment.show();
177
            this.$refs.editProject.show(id)
367
            this.$refs.editProject.show(id)
178
         },
368
         },
179
         getCostClassify(id){
369
         getCostClassify(id){
180
-          var costClassify = getDictionaryDataConfig('system','cost_classify')
181
-          var name = ""
370
+          var costClassify = getDictionaryDataConfig('system','cost_classify');
371
+          var name = "";
182
           for(let i=0;i<costClassify.length;i++){
372
           for(let i=0;i<costClassify.length;i++){
183
              if(id == costClassify[i].id){
373
              if(id == costClassify[i].id){
184
                name = costClassify[i].name
374
                name = costClassify[i].name
187
           return name
377
           return name
188
         },
378
         },
189
         getExecutiveSection(id){
379
         getExecutiveSection(id){
190
-          var executiveSection =  getDictionaryDataConfig('system','executive_section')
191
-          var name = ""
380
+          var executiveSection =  this.departMentList;
381
+          var name = "";
192
           for(let i=0;i<executiveSection.length;i++){
382
           for(let i=0;i<executiveSection.length;i++){
193
             if(id == executiveSection[i].id){
383
             if(id == executiveSection[i].id){
194
                name = executiveSection[i].name
384
                name = executiveSection[i].name
196
           }
386
           }
197
           return name
387
           return name
198
         },
388
         },
199
-      
389
+
200
         getlist(){
390
         getlist(){
201
             var params = {
391
             var params = {
202
                keyword:this.search_input,
392
                keyword:this.search_input,
205
                limit:this.limit,
395
                limit:this.limit,
206
                page:this.page,
396
                page:this.page,
207
                is_mark:this.is_mark,
397
                is_mark:this.is_mark,
208
-            }
209
-           console.log("222",params)
398
+            };
399
+
210
           getProjectList(params).then(response=>{
400
           getProjectList(params).then(response=>{
211
              if(response.data.state == 1){
401
              if(response.data.state == 1){
212
-               var projecList = response.data.data.projecList
213
-               console.log('projectlist',projecList)
214
-               this.tableData = projecList
215
-               var total = response.data.data.total
216
-               console.log("total-----",total)
402
+               var projecList = response.data.data.projecList;
403
+
404
+               this.tableData = projecList;
405
+               var total = response.data.data.total;
406
+
217
                this.total = total
407
                this.total = total
218
              }
408
              }
219
-          })  
409
+          })
220
         },
410
         },
221
         deleteProject(id,index){
411
         deleteProject(id,index){
222
             this.$confirm("确认删除此项目吗?", "删除", {
412
             this.$confirm("确认删除此项目吗?", "删除", {
226
            }).then(() => {
416
            }).then(() => {
227
             deleteHisProject(id).then(response => {
417
             deleteHisProject(id).then(response => {
228
                if (response.data.state == 1) {
418
                if (response.data.state == 1) {
229
-                 var msg = response.data.data.msg
230
-                 this.$message.success("删除成功")
419
+                 var msg = response.data.data.msg;
420
+                 this.$message.success("删除成功");
231
                 this.tableData.splice(index, 1);
421
                 this.tableData.splice(index, 1);
232
                 }
422
                 }
233
              });
423
              });
239
         },
429
         },
240
 
430
 
241
         toRecord(){
431
         toRecord(){
242
-         var that = this
432
+         var that = this;
243
          axios.get('http://127.0.0.1:9532/sz/api/treatment/get').then(function(response) {
433
          axios.get('http://127.0.0.1:9532/sz/api/treatment/get').then(function(response) {
244
           if (response.data.state == 0) {
434
           if (response.data.state == 0) {
245
-               that.$message.error(response.data.msg)
435
+               that.$message.error(response.data.msg);
246
                return false
436
                return false
247
             } else {
437
             } else {
248
-              that.$message({ message: '备案成功', type: 'success' })
438
+              that.$message({ message: '备案成功', type: 'success' });
249
               that.getlist()
439
               that.getlist()
250
              }
440
              }
251
            }).catch(function(error) {
441
            }).catch(function(error) {
253
       },
443
       },
254
 
444
 
255
      toReturn(id,isMark){
445
      toReturn(id,isMark){
256
-        console.log("id2222",id)
257
-         var that = this
446
+
447
+         var that = this;
258
          let params = {
448
          let params = {
259
              'id':id,
449
              'id':id,
260
              'type_id':2,
450
              'type_id':2,
261
              'is_mark':isMark,
451
              'is_mark':isMark,
262
-          }
263
-          console.log("params22222222",params)
264
-         
452
+             'admin_user_id':this.$store.getters.xt_user.user.id,
453
+          };
454
+
455
+
265
          axios.get('http://127.0.0.1:9532/sz/api/revocation/get',{params:params}).then(function(response) {
456
          axios.get('http://127.0.0.1:9532/sz/api/revocation/get',{params:params}).then(function(response) {
266
           if (response.data.state == 0) {
457
           if (response.data.state == 0) {
267
-               that.$message.error(response.data.msg)
458
+               that.$message.error(response.data.data.msg);
268
                return false
459
                return false
269
             } else {
460
             } else {
270
-              that.$message({ message: '操作成功', type: 'success' })
271
-              that.getlist()
461
+              if(response.data.data.msg == ""){
462
+                  that.$message.success("备案成功!");
463
+                  that.getlist()
464
+               }
465
+               if(response.data.data.msg!=""){
466
+                  that.$message.error(response.data.data.msg);
467
+                  that.getlist()
468
+               }
272
              }
469
              }
273
            }).catch(function(error) {
470
            }).catch(function(error) {
274
         })
471
         })
275
       },
472
       },
276
       handleSelectionChange(val) {
473
       handleSelectionChange(val) {
277
         this.selectDrug = val;
474
         this.selectDrug = val;
278
-      }, 
475
+      },
279
     changeRecord(){
476
     changeRecord(){
280
       this.getlist()
477
       this.getlist()
281
     },
478
     },
282
-      
479
+
283
     BatchDelete() {
480
     BatchDelete() {
284
       if (this.selectDrug.length == 0) {
481
       if (this.selectDrug.length == 0) {
285
         this.$message.error("请选择要备案的信息");
482
         this.$message.error("请选择要备案的信息");
301
           ids.push(this.selectDrug[index].id);
498
           ids.push(this.selectDrug[index].id);
302
           idMap[this.selectDrug[index].id] = this.selectDrug[index].id;
499
           idMap[this.selectDrug[index].id] = this.selectDrug[index].id;
303
         }
500
         }
304
-        console.log('ids222222222',ids)
305
-        var idss = ids.join(',')
501
+
502
+        var idss = ids.join(',');
306
         let params = {
503
         let params = {
307
-          ids:idss
308
-        }
309
-     
310
-        var that = this
504
+          ids:idss,
505
+          admin_user_id:this.$store.getters.xt_user.user.id
506
+        };
507
+
508
+        var that = this;
311
         axios.get('http://127.0.0.1:9532/sz/api/treatment/get',{ params: params }).then(function(response) {
509
         axios.get('http://127.0.0.1:9532/sz/api/treatment/get',{ params: params }).then(function(response) {
312
          if (response.data.state == 0) {
510
          if (response.data.state == 0) {
313
-               that.$message.error(response.data.msg)
511
+               that.$message.error(response.data.data.msg);
314
                return false
512
                return false
315
             } else {
513
             } else {
316
-              that.$message({ message: '备案成功', type: 'success' })
317
-              that.getList()
514
+              if(response.data.data.msg == ""){
515
+                  that.$message.success("备案成功!");
516
+                  that.getlist()
517
+               }
518
+               if(response.data.data.msg!=""){
519
+                  that.$message.error(response.data.data.msg);
520
+                  that.getlist()
521
+               }
318
              }
522
              }
319
            }).catch(function(error) {
523
            }).catch(function(error) {
320
         })
524
         })
321
        });
525
        });
322
      },
526
      },
527
+
528
+     getDartmentList(){
529
+        var params = {
530
+            limit:this.limit,
531
+            page:this.page,
532
+        };
533
+        getDePartmentList(params).then(response=>{
534
+            if(response.data.state == 1){
535
+            var department =   response.data.data.departMentList;
536
+
537
+            this.departMentList = department
538
+            }
539
+        })
540
+     },
541
+      handleSuccessOne({ results, header }) {
542
+
543
+        if (header != undefined && header.length > 0) {
544
+
545
+          var isHasProjectName = header.includes('*项目名称');
546
+
547
+          var isHasProjectPrice = header.includes('*零价');
548
+
549
+          var isHasProjectUnit = header.includes('*单位');
550
+
551
+          var isHasProjectCostClassify = header.includes('*费用类别');
552
+
553
+          var isHasProjectExecutiveSection = header.includes('*执行科室');
554
+
555
+          var isHasProjectMedicalCoverage = header.includes('*医保等级');
556
+
557
+          if (!(isHasProjectName && isHasProjectPrice && isHasProjectUnit && isHasProjectCostClassify && isHasProjectExecutiveSection && isHasProjectMedicalCoverage )) {
558
+            this.dialogVisible = true;
559
+            return
560
+          }
561
+        }else {
562
+          this.dialogVisible = true;
563
+          return
564
+        }
565
+
566
+       var tableData = [];
567
+       for(let i=1;i<results.length;i++){
568
+         let obj = {"cost_classify_id":0,"medical_insurance_level_id":0,"executive_section_id":0,"tube_color_id":0,"statistical_classification_id":0,"category":0,"specail_project":0,"medical_status":0};
569
+         for (var key in results[i]) {
570
+           if (results[i]['*项目名称'] === undefined) {
571
+                obj['project_name'] = ''
572
+              } else {
573
+           if (key == '*项目名称') {
574
+               obj['project_name'] = results[i][key].replace(/\s/g,"")
575
+              }
576
+           }
577
+
578
+          if (results[i]['*零价'] === undefined) {
579
+                obj['price'] = ''
580
+              } else {
581
+           if (key == '*零价') {
582
+               obj['price'] = results[i][key].replace(/\s/g,"")
583
+              }
584
+           }
585
+
586
+         if (results[i]['*单位'] === undefined) {
587
+                obj['unit'] = ''
588
+              } else {
589
+         if (key == '*单位') {
590
+               obj['unit'] = results[i][key].replace(/\s/g,"")
591
+              }
592
+          }
593
+
594
+         if (results[i]['*费用类别'] === undefined) {
595
+                obj['cost_classify'] = ''
596
+              } else {
597
+         if (key == '*费用类别') {
598
+               obj['cost_classify'] = results[i][key].replace(/\s/g,"")
599
+              }
600
+          }
601
+
602
+        if (results[i]['*执行科室'] === undefined) {
603
+                obj['executive_section'] = ''
604
+              } else {
605
+         if (key == '*执行科室') {
606
+               obj['executive_section'] = results[i][key].replace(/\s/g,"")
607
+              }
608
+          }
609
+
610
+         if (results[i]['*医保等级'] === undefined) {
611
+                obj['medical_coverage'] = ''
612
+              } else {
613
+         if (key == '*医保等级') {
614
+               obj['medical_coverage'] = results[i][key].replace(/\s/g,"")
615
+              }
616
+          }
617
+
618
+        if (results[i]['拼音'] === undefined) {
619
+                obj['pinyin'] = ''
620
+              } else {
621
+         if (key == '拼音') {
622
+               obj['pinyin'] = results[i][key].replace(/\s/g,"")
623
+              }
624
+          }
625
+
626
+        if (results[i]['五笔'] === undefined) {
627
+                obj['wubi'] = ''
628
+              } else {
629
+         if (key == '五笔') {
630
+               obj['wubi'] = results[i][key].replace(/\s/g,"")
631
+              }
632
+          }
633
+
634
+         if (results[i]['统计分类'] === undefined) {
635
+                obj['statistical_classification'] = ''
636
+              } else {
637
+         if (key == '统计分类') {
638
+               obj['statistical_classification'] = results[i][key].replace(/\s/g,"")
639
+              }
640
+          }
641
+
642
+         if (results[i]['是否特病目录'] === undefined) {
643
+                obj['disease_directory'] = ''
644
+              } else {
645
+         if (key == '是否特病目录') {
646
+               obj['disease_directory'] = results[i][key].replace(/\s/g,"")
647
+              }
648
+          }
649
+         if (results[i]['是否备案'] === undefined) {
650
+                obj['is_record'] = ''
651
+              } else {
652
+         if (key == '是否备案') {
653
+               obj['is_record'] = results[i][key].replace(/\s/g,"")
654
+              }
655
+          }
656
+
657
+         if (results[i]['医保编码'] === undefined) {
658
+                obj['medical_code'] = ''
659
+              } else {
660
+         if (key == '医保编码') {
661
+               obj['medical_code'] = results[i][key].replace(/\s/g,"")
662
+              }
663
+          }
664
+
665
+         if (results[i]['试管颜色'] === undefined) {
666
+                obj['tube_color'] = ''
667
+              } else {
668
+         if (key == '试管颜色') {
669
+               obj['tube_color'] = results[i][key].replace(/\s/g,"")
670
+              }
671
+          }
672
+
673
+          if (results[i]['单次用量'] === undefined) {
674
+                obj['single_dose'] = ''
675
+              } else {
676
+         if (key == '单次用量') {
677
+               obj['single_dose'] = results[i][key].replace(/\s/g,"")
678
+              }
679
+          }
680
+
681
+           if (results[i]['用法'] === undefined) {
682
+                obj['delivery_way'] = ''
683
+              } else {
684
+          if (key == '用法') {
685
+               obj['delivery_way'] = results[i][key].replace(/\s/g,"")
686
+              }
687
+          }
688
+
689
+          if (results[i]['频率'] === undefined) {
690
+                obj['execution_frequency'] = ''
691
+              } else {
692
+          if (key == '频率') {
693
+               obj['execution_frequency'] = results[i][key].replace(/\s/g,"")
694
+              }
695
+          }
696
+
697
+
698
+          if (results[i]['天数'] === undefined) {
699
+                obj['number_days'] = ''
700
+              } else {
701
+          if (key == '天数') {
702
+               obj['number_days'] = results[i][key].replace(/\s/g,"")
703
+              }
704
+          }
705
+
706
+
707
+         if (results[i]['总量'] === undefined) {
708
+                obj['total'] = ''
709
+              } else {
710
+          if (key == '总量') {
711
+               obj['total'] = results[i][key].replace(/\s/g,"")
712
+              }
713
+          }
714
+
715
+          if (results[i]['状态'] === undefined) {
716
+                obj['medical_status'] = ''
717
+              } else {
718
+          if (key == '状态') {
719
+               obj['medical_status'] = results[i][key].replace(/\s/g,"")
720
+              }
721
+          }
722
+
723
+          if (results[i]['类别'] === undefined) {
724
+                obj['category'] = ''
725
+              } else {
726
+          if (key == '类别') {
727
+               obj['category'] = results[i][key].replace(/\s/g,"")
728
+              }
729
+          }
730
+
731
+            if (results[i]['特检项目'] === undefined) {
732
+                obj['specail_project'] = ''
733
+              } else {
734
+          if (key == '特检项目') {
735
+               obj['specail_project'] = results[i][key].replace(/\s/g,"")
736
+              }
737
+          }
738
+
739
+           if (results[i]['社保目录编码'] === undefined) {
740
+                obj['social_security_directory_code'] = ''
741
+              } else {
742
+           if (key == '社保目录编码') {
743
+               obj['social_security_directory_code'] = results[i][key].replace(/\s/g,"")
744
+              }
745
+          }
746
+
747
+           if (results[i]['备案日期'] === undefined) {
748
+                obj['record_date'] = ''
749
+              } else {
750
+           if (key == '备案日期') {
751
+               obj['record_date'] = results[i][key].replace(/\s/g,"")
752
+              }
753
+          }
754
+           if (results[i]['备注'] === undefined) {
755
+                obj['remark'] = ''
756
+              } else {
757
+           if (key == '备注') {
758
+               obj['remark'] = results[i][key].replace(/\s/g,"")
759
+              }
760
+          }
761
+         }
762
+         tableData.push(obj);
763
+
764
+
765
+        for(let i=0;i<tableData.length;i++){
766
+
767
+          if(tableData[i].disease_directory == ""){
768
+              tableData[i].disease_directory = 0
769
+          }
770
+          if(tableData[i].disease_directory == "是"){
771
+             tableData[i].disease_directory = 1
772
+          }
773
+
774
+         if(tableData[i].disease_directory == "否"){
775
+             tableData[i].disease_directory = 2
776
+          }
777
+
778
+          if(tableData[i].is_record == ""){
779
+             tableData[i].is_record = 0
780
+          }
781
+           if(tableData[i].is_record == "是"){
782
+             tableData[i].is_record = 1
783
+          }
784
+
785
+          if(tableData[i].is_record == "否"){
786
+             tableData[i].is_record = 2
787
+          }
788
+
789
+
790
+
791
+          if(tableData[i].category == ""){
792
+             tableData[i].category = 0
793
+          }
794
+          if(tableData[i].category == "常规诊疗项目"){
795
+             tableData[i].category = 1
796
+          }
797
+
798
+           if(tableData[i].category == "辅助器具项目"){
799
+             tableData[i].category = 2
800
+          }
801
+
802
+          if(tableData[i].category == "加收项目"){
803
+             tableData[i].category = 3
804
+          }
805
+
806
+          if(tableData[i].specail_project == ""){
807
+            tableData[i].specail_project = 0
808
+          }
809
+          if(tableData[i].specail_project == "是"){
810
+             tableData[i].specail_project = 1
811
+          }
812
+          if(tableData[i].specail_project == "否"){
813
+             tableData[i].specail_project = 2
814
+          }
815
+          if(tableData[i].medical_status == ""){
816
+             tableData[i].medical_status = 0
817
+          }
818
+
819
+          if(tableData[i].medical_status == "停用"){
820
+            tableData[i].medical_status = 1
821
+          }
822
+          if(tableData[i].medical_status == "收费"){
823
+            tableData[i].medical_status = 2
824
+          }
825
+        }
826
+       }
827
+       let params = {
828
+          'projects':tableData
829
+        };
830
+       console.log("params222",params);
831
+
832
+        postProjectInformation(params).then(response=>{
833
+           if(response.data.state == 1){
834
+             var msg =  response.data.data.msg;
835
+             this.$message.success("导入成功!");
836
+             this.getlist()
837
+           }else{
838
+             this.$message.error("导入失败")
839
+           }
840
+        })
841
+      },
842
+      generateTxt: function(log) {
843
+        var content = '';
844
+        var errlog = log.err_logs;
845
+        content = this.getContent(log);
846
+        for (let i = 0; i < errlog.length; i++) {
847
+          if (content.length == 0) {
848
+            content = errlog[i].err_msg
849
+          } else {
850
+            content = content + '\n' + errlog[i].err_msg
851
+          }
852
+        }
853
+
854
+        var url = new Blob(['\ufeff' + content], { type: 'text/txt,charset=UTF-8' });
855
+        if (typeof url === 'object' && url instanceof Blob) {
856
+          url = URL.createObjectURL(url) // 创建blob地址
857
+        }
858
+        const aLink = document.createElement('a');
859
+        aLink.href = url;
860
+        aLink.download = this.timestampToTime(log.export_time) + '患者导入日志' + '.txt';
861
+        aLink.click()
862
+
863
+      },
864
+      getContent(log) {
865
+
866
+        return '您导入的文档共' + log.total_num + '条患者数据' + ',' + '已成功导入' + log.success_num + '条,导入失败' + log.fail_num + '条,'
867
+      },
868
+      timestampToTime(timestamp) {
869
+        var date = new Date(timestamp * 1000);//时间戳为10位需*1000,时间戳为13位的话不需乘1000
870
+        var Y = date.getFullYear() + '年';
871
+        var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '月';
872
+        var D = (date.getDate() < 10 ? '0' + (date.getDate()) : date.getDate()) + '日 ';
873
+        var h = (date.getHours() < 10 ? '0' + (date.getHours()) : date.getHours()) + '时';
874
+        var m = (date.getMinutes() < 10 ? '0' + (date.getMinutes()) : date.getMinutes()) + '分';
875
+        var s = (date.getSeconds() < 10 ? '0' + (date.getSeconds()) : date.getSeconds()) + '秒';
876
+        return Y + M + D + h + m + s
877
+      },
878
+       generateLog() {
879
+        let params = {
880
+          'log_type': 6
881
+        };
882
+        generateLog(params).then(
883
+          response => {
884
+            if (response.data.state === 1) {
885
+              this.logs = response.data.data.logs;
886
+              this.exportLogVisible = true
887
+            } else {
888
+              this.$message.error(response.data.msg)
889
+            }
890
+          }
891
+        )
892
+      },
893
+      getDictionaryDataConfig(module, filed_name) {
894
+          return getDictionaryDataConfig(module, filed_name)
895
+      },
323
     },
896
     },
324
     created(){
897
     created(){
325
-      this.getlist()
326
-     
898
+      this.getlist();
899
+      this.getDartmentList()
900
+
327
     }
901
     }
328
 }
902
 }
329
 </script>
903
 </script>

+ 1 - 0
src/xt_pages/data/components/tableson.vue 查看文件

405
       this.$refs["dataForm"].validate(valid => {
405
       this.$refs["dataForm"].validate(valid => {
406
         if (valid) {
406
         if (valid) {
407
           this.temp.field_type = parseInt(this.temp.field_type)
407
           this.temp.field_type = parseInt(this.temp.field_type)
408
+         
408
           console.log("2222",this.temp.field_name)
409
           console.log("2222",this.temp.field_name)
409
           createChildConfig(this.temp).then(response => {
410
           createChildConfig(this.temp).then(response => {
410
             if (!response.data) {
411
             if (!response.data) {

+ 2 - 1
src/xt_pages/data/prescription.vue 查看文件

1167
     this.body_fluid_option = this.$store.getters.body_fluid;
1167
     this.body_fluid_option = this.$store.getters.body_fluid;
1168
     this.special_medicine_option = this.$store.getters.special_medicine;
1168
     this.special_medicine_option = this.$store.getters.special_medicine;
1169
     this.displace_liqui_part_option = this.$store.getters.displace_liqui;
1169
     this.displace_liqui_part_option = this.$store.getters.displace_liqui;
1170
-    this.blood_access_option = this.$store.getters.blood_access;
1170
+    this.blood_access_option = this.$store.getters.vascular_access_desc;
1171
+    console.log("列表33333333血管通路",this.blood_access_option)
1171
     this.addPlan.mode = 1;
1172
     this.addPlan.mode = 1;
1172
     this.dialyzerPerfusionApparatus = getDataConfig(
1173
     this.dialyzerPerfusionApparatus = getDataConfig(
1173
       'hemodialysis',
1174
       'hemodialysis',

+ 1 - 1
src/xt_pages/data/specialDictionary.vue 查看文件

12
           <consumables></consumables>
12
           <consumables></consumables>
13
         </el-tab-pane>
13
         </el-tab-pane>
14
         <el-tab-pane label="项目" name="3">
14
         <el-tab-pane label="项目" name="3">
15
-        <project></project>
15
+         <project></project>
16
         </el-tab-pane>
16
         </el-tab-pane>
17
         <el-tab-pane label="项目组套" name="4">
17
         <el-tab-pane label="项目组套" name="4">
18
         <inspection></inspection>
18
         <inspection></inspection>

+ 4 - 4
src/xt_pages/dialysis/batch_print/batch_print_order.vue 查看文件

249
                         <!--"-->
249
                         <!--"-->
250
                         <!--&gt;</check-box>-->
250
                         <!--&gt;</check-box>-->
251
                       </div>
251
                       </div>
252
-                      <div v-if="org_id == 9987" class="inline_block" style="width:200px;margin-left: 30px;">
252
+                      <div v-if="org_id == 9987" class="inline_block" style="margin-left: 30px;">
253
                           透前血压:
253
                           透前血压:
254
                           <span class="under_line" style="width:50px;">
254
                           <span class="under_line" style="width:50px;">
255
                               &nbsp;{{ record.assessment_before_dislysis.systolic_blood_pressure ? record.assessment_before_dislysis.systolic_blood_pressure : ""}}
255
                               &nbsp;{{ record.assessment_before_dislysis.systolic_blood_pressure ? record.assessment_before_dislysis.systolic_blood_pressure : ""}}
946
                       </div>
946
                       </div>
947
                       <div class="inline_block" style="float: right;">
947
                       <div class="inline_block" style="float: right;">
948
                         医生签名:
948
                         医生签名:
949
-                        <div class="under-line" v-if="org_id == 9987">
950
-                          <span v-if="setAdminUserES(record.prescription==null?0:(record.prescription.prescription_doctor?record.prescription.prescription_doctor:record.prescription.creater)) == ''">{{getAdminUser(record.prescription==null?0:(record.prescription.prescription_doctor?record.prescription.prescription_doctor:record.prescription.creater))}}</span>
951
-                          <img v-else style="height:30px;" :src="setAdminUserES(record.prescription==null?0:(record.prescription.prescription_doctor?record.prescription.prescription_doctor:record.prescription.creater))" alt="" srcset="">
949
+                        <div class="under_line" v-if="org_id == 9987">
950
+                          <span v-if="setAdminUserES(record.prescription, record.prescription.prescription_doctor ? 'prescription_doctor' : 'creater') == ''">{{getAdminUser(record.prescription, record.prescription.prescription_doctor ? 'prescription_doctor' : 'creater')}}</span>
951
+                          <img class="es-img" :src="setAdminUserES(record.prescription, record.prescription.prescription_doctor ? 'prescription_doctor' : 'creater')" alt="" srcset="" v-else style="height: 30px;">
952
                         </div>
952
                         </div>
953
                         <div class="under_line" v-else style="width: 100px;">
953
                         <div class="under_line" v-else style="width: 100px;">
954
                           <span
954
                           <span

+ 19 - 83
src/xt_pages/dialysis/batch_print/batch_print_order_six.vue 查看文件

984
                           <td width="50">跨膜压<br />(mmHg)</td>
984
                           <td width="50">跨膜压<br />(mmHg)</td>
985
                           <td width="60" v-if="org_id != 9836">透析液温度(°C)</td>
985
                           <td width="60" v-if="org_id != 9836">透析液温度(°C)</td>
986
                           <td width="60" v-if="org_id == 9836">体温(°C)</td>
986
                           <td width="60" v-if="org_id == 9836">体温(°C)</td>
987
-                          <td width="60">透析液温度(°C)</td>
988
                           <td width="50">电导度<br />(ms/cm)</td>
987
                           <td width="50">电导度<br />(ms/cm)</td>
989
                           <td width="50">超滤量<br />(ml)</td>
988
                           <td width="50">超滤量<br />(ml)</td>
990
-                          <td
991
-                            v-if="
992
-                              record.prescription.mode_id == 2 ||
993
-                                record.prescription.mode_id == 5 ||
994
-                                record.prescription.mode_id == 12
995
-                            "
996
-                            width="50"
997
-                          >
998
-                            置换量<br />(ml)
989
+                          <td v-if="record.prescription.mode_id == 2 || record.prescription.mode_id == 5 || record.prescription.mode_id == 12"
990
+                            width="50">置换量<br />(ml)
999
                           </td>
991
                           </td>
1000
                           <td width="200">病情变化及处理</td>
992
                           <td width="200">病情变化及处理</td>
1001
                         </tr>
993
                         </tr>
1003
                           v-for="(monitor_record, j) in record.monitor_records"
995
                           v-for="(monitor_record, j) in record.monitor_records"
1004
                           :key="j"
996
                           :key="j"
1005
                         >
997
                         >
998
+                          <td>{{ getTime(monitor_record.operate_time, "{h}:{i}")}}</td>
1006
                           <td>
999
                           <td>
1007
-                            {{
1008
-                              getTime(monitor_record.operate_time, "{h}:{i}")
1009
-                            }}
1000
+                            {{monitor_record.systolic_blood_pressure? monitor_record.systolic_blood_pressure + "/": ""}}{{
1001
+                              monitor_record.diastolic_blood_pressure? monitor_record.diastolic_blood_pressure: ""}}
1010
                           </td>
1002
                           </td>
1011
                           <td>
1003
                           <td>
1012
-                            {{
1013
-                              monitor_record.systolic_blood_pressure
1014
-                                ? monitor_record.systolic_blood_pressure + "/"
1015
-                                : ""
1016
-                            }}{{
1017
-                              monitor_record.diastolic_blood_pressure
1018
-                                ? monitor_record.diastolic_blood_pressure
1019
-                                : ""
1020
-                            }}
1004
+                            {{ monitor_record.pulse_frequency? monitor_record.pulse_frequency: ""}}
1021
                           </td>
1005
                           </td>
1022
                           <td>
1006
                           <td>
1023
-                            {{
1024
-                              monitor_record.pulse_frequency
1025
-                                ? monitor_record.pulse_frequency
1026
-                                : ""
1027
-                            }}
1007
+                            {{monitor_record.breathing_rate? monitor_record.breathing_rate: ""}}
1028
                           </td>
1008
                           </td>
1029
                           <td>
1009
                           <td>
1030
-                            {{
1031
-                              monitor_record.breathing_rate
1032
-                                ? monitor_record.breathing_rate
1033
-                                : ""
1034
-                            }}
1010
+                            {{monitor_record.blood_flow_volume? monitor_record.blood_flow_volume: ""}}
1035
                           </td>
1011
                           </td>
1036
                           <td>
1012
                           <td>
1037
-                            {{
1038
-                              monitor_record.blood_flow_volume
1039
-                                ? monitor_record.blood_flow_volume
1040
-                                : ""
1041
-                            }}
1013
+                            {{monitor_record.venous_pressure? monitor_record.venous_pressure: ""}}
1042
                           </td>
1014
                           </td>
1043
                           <td>
1015
                           <td>
1044
-                            {{
1045
-                              monitor_record.venous_pressure
1046
-                                ? monitor_record.venous_pressure
1047
-                                : ""
1048
-                            }}
1049
-                          </td>
1050
-                          <td>
1051
-                            {{
1052
-                              monitor_record.transmembrane_pressure
1053
-                                ? monitor_record.transmembrane_pressure
1054
-                                : ""
1016
+                            {{monitor_record.transmembrane_pressure? monitor_record.transmembrane_pressure: ""
1055
                             }}
1017
                             }}
1056
                           </td>
1018
                           </td>
1057
                           <td v-if="org_id != 9836">
1019
                           <td v-if="org_id != 9836">
1058
-                            {{
1059
-                              monitor_record.dialysate_temperature
1060
-                                ? monitor_record.dialysate_temperature
1061
-                                : ""
1062
-                            }}
1020
+                            {{monitor_record.dialysate_temperature? monitor_record.dialysate_temperature: ""}}
1063
                           </td>
1021
                           </td>
1064
                           <td v-if="org_id == 9836">
1022
                           <td v-if="org_id == 9836">
1065
-                            {{
1066
-                              monitor_record.temperature
1067
-                                ? monitor_record.temperature
1068
-                                : ""
1069
-                            }}
1023
+                            {{monitor_record.temperature? monitor_record.temperature: ""}}
1070
                           </td>
1024
                           </td>
1071
                           <td>
1025
                           <td>
1072
-                            {{
1073
-                              monitor_record.sodium_concentration
1074
-                                ? monitor_record.sodium_concentration
1075
-                                : ""
1076
-                            }}
1026
+                            {{monitor_record.sodium_concentration? monitor_record.sodium_concentration: ""}}
1077
                           </td>
1027
                           </td>
1078
                           <td>
1028
                           <td>
1079
                             {{
1029
                             {{
1080
-                              monitor_record.ultrafiltration_volume
1081
-                                ? monitor_record.ultrafiltration_volume
1082
-                                : 0
1083
-                            }}
1030
+                              monitor_record.ultrafiltration_volume? monitor_record.ultrafiltration_volume: ""}}
1084
                           </td>
1031
                           </td>
1085
-                          <td
1086
-                            v-if="
1087
-                              record.prescription.mode_id == 2 ||
1088
-                                record.prescription.mode_id == 5 ||
1089
-                                (record.prescription.mode_id == 12 &&
1090
-                                  monitor_record.operate_time >
1091
-                                    record.dialysis_order.end_time)
1092
-                            "
1093
-                            style="width:50px"
1094
-                          >
1032
+                          <td v-if=" record.prescription.mode_id == 2 || record.prescription.mode_id == 5 ||(record.prescription.mode_id == 12 &&monitor_record.operate_time >record.dialysis_order.end_time) " style="width:50px">
1095
                             {{
1033
                             {{
1096
                               monitor_record.displacement_quantity
1034
                               monitor_record.displacement_quantity
1097
                                 ? monitor_record.displacement_quantity
1035
                                 ? monitor_record.displacement_quantity
1131
                           <td></td>
1069
                           <td></td>
1132
                           <td></td>
1070
                           <td></td>
1133
                           <td></td>
1071
                           <td></td>
1072
+                          
1134
                           <td style="line-height:16px;padding:0px;">
1073
                           <td style="line-height:16px;padding:0px;">
1135
                             <div
1074
                             <div
1136
                               style="height:40px;line-height:20px; overflow:hidden;"
1075
                               style="height:40px;line-height:20px; overflow:hidden;"
1193
                           >
1132
                           >
1194
                             <span v-if="advice[0].parent_id > 0">---></span>
1133
                             <span v-if="advice[0].parent_id > 0">---></span>
1195
                             <span>{{ advice[0].advice_name }}</span>
1134
                             <span>{{ advice[0].advice_name }}</span>
1196
-                            <span v-if="advice[0].advice_desc != ''"
1197
-                              >({{ advice[0].advice_desc
1198
-                              }}{{ advice[0].drug_spec_unit }})</span
1199
-                            >
1135
+                            <span v-if=" advice[advice_index] && advice[0].advice_desc != ''">({{ advice[0].advice_desc}}{{ advice[0].drug_spec_unit }})</span>
1200
                             <span v-if="advice[0].prescribing_number"
1136
                             <span v-if="advice[0].prescribing_number"
1201
                               >&nbsp;&nbsp; {{ advice[0].prescribing_number
1137
                               >&nbsp;&nbsp; {{ advice[0].prescribing_number
1202
                               }}{{ advice[0].prescribing_number_unit }}</span
1138
                               }}{{ advice[0].prescribing_number_unit }}</span
2133
             var delghTwo = 0;
2069
             var delghTwo = 0;
2134
             if (
2070
             if (
2135
               this.records[recordIndex].advices &&
2071
               this.records[recordIndex].advices &&
2136
-              this.records[recordIndex].advices.length < 14
2072
+              this.records[recordIndex].advices.length < 7
2137
             ) {
2073
             ) {
2138
-              delghTwo = 14 - this.records[recordIndex].advices.length;
2074
+              delghTwo = 7 - this.records[recordIndex].advices.length;
2139
             } else {
2075
             } else {
2140
               delghTwo = 0;
2076
               delghTwo = 0;
2141
             }
2077
             }

+ 23 - 3
src/xt_pages/dialysis/batch_print/batch_print_order_thirty.vue 查看文件

122
                         <tbody>
122
                         <tbody>
123
                             <tr>
123
                             <tr>
124
                                 <td width="70">血管通路:</td>
124
                                 <td width="70">血管通路:</td>
125
-                                <td width="370">
125
+                                <td width="560">
126
                                     <div>
126
                                     <div>
127
-                                        <label-box :isChecked="isBbloodAccessParOperaCheck(record.assessment_before_dislysis, '内瘘')" showValue="内瘘"></label-box>
127
+                                        <label-box :isChecked="isBbloodAccessParOperaCheck(record.assessment_before_dislysis, '绳梯')" showValue="绳梯"></label-box>
128
                                         &nbsp;
128
                                         &nbsp;
129
+                                        A:( 
130
+                                          <span style="width:50px;display:inline-block;text-align:center;">
131
+                                            &nbsp;<span v-if="record.assessment_before_dislysis.puncture_way.indexOf('A1')>-1">A1</span>
132
+                                            <span v-if="record.assessment_before_dislysis.puncture_way.indexOf('A2')>-1">A2</span>
133
+                                            <span v-if="record.assessment_before_dislysis.puncture_way.indexOf('A3')>-1">A3</span>
134
+                                            <span v-if="record.assessment_before_dislysis.puncture_way.indexOf('A4')>-1">A4</span>
135
+                                            <span v-if="record.assessment_before_dislysis.puncture_way.indexOf('A5')>-1">A5</span>
136
+                                            <span v-if="record.assessment_before_dislysis.puncture_way.indexOf('A6')>-1">A6</span>
137
+                                          </span>
138
+                                        )&nbsp;
139
+                                        V:( 
140
+                                          <span style="width:50px;display:inline-block;text-align:center;">
141
+                                            <span v-if="record.assessment_before_dislysis.puncture_way.indexOf('V1')>-1">V1</span>
142
+                                            <span v-if="record.assessment_before_dislysis.puncture_way.indexOf('V2')>-1">V2</span>
143
+                                            <span v-if="record.assessment_before_dislysis.puncture_way.indexOf('V3')>-1">V3</span>
144
+                                            <span v-if="record.assessment_before_dislysis.puncture_way.indexOf('V4')>-1">V4</span>
145
+                                            <span v-if="record.assessment_before_dislysis.puncture_way.indexOf('V5')>-1">V5</span>
146
+                                            <span v-if="record.assessment_before_dislysis.puncture_way.indexOf('V6')>-1">V6</span>
147
+                                          </span>
148
+                                        )
129
                                         <label-box :isChecked="isBbloodAccessParOperaCheck(record.assessment_before_dislysis, '长期管')" showValue="长期管"></label-box>
149
                                         <label-box :isChecked="isBbloodAccessParOperaCheck(record.assessment_before_dislysis, '长期管')" showValue="长期管"></label-box>
130
                                         &nbsp;
150
                                         &nbsp;
131
                                         <label-box :isChecked="isBbloodAccessParOperaCheck(record.assessment_before_dislysis, '临时管')" showValue="临时管"></label-box>
151
                                         <label-box :isChecked="isBbloodAccessParOperaCheck(record.assessment_before_dislysis, '临时管')" showValue="临时管"></label-box>
337
                                     <tr>
357
                                     <tr>
338
                                     <td wdith='70'>下机情况:</td>
358
                                     <td wdith='70'>下机情况:</td>
339
                                     <td wdith='30'>凝血:</td>
359
                                     <td wdith='30'>凝血:</td>
340
-                                    <td width="240">
360
+                                    <td width="260">
341
                                         <label-box :isChecked="record.assessment_after_dislysis.cruor?(record.assessment_after_dislysis.cruor.indexOf('无凝血') > -1 ? true : false):false" showValue="无"></label-box>&nbsp;
361
                                         <label-box :isChecked="record.assessment_after_dislysis.cruor?(record.assessment_after_dislysis.cruor.indexOf('无凝血') > -1 ? true : false):false" showValue="无"></label-box>&nbsp;
342
                                         <label-box :isChecked="record.assessment_after_dislysis.cruor?(record.assessment_after_dislysis.cruor.indexOf('有凝血') > -1 ? true : false):false" showValue="有"></label-box>&nbsp;
362
                                         <label-box :isChecked="record.assessment_after_dislysis.cruor?(record.assessment_after_dislysis.cruor.indexOf('有凝血') > -1 ? true : false):false" showValue="有"></label-box>&nbsp;
343
                                         <label-box :isChecked="record.assessment_after_dislysis.cruor?(record.assessment_after_dislysis.cruor.indexOf('透析器-Ⅰ度') > -1 ? true : false):false" showValue="Ⅰ"></label-box>&nbsp;
363
                                         <label-box :isChecked="record.assessment_after_dislysis.cruor?(record.assessment_after_dislysis.cruor.indexOf('透析器-Ⅰ度') > -1 ? true : false):false" showValue="Ⅰ"></label-box>&nbsp;

+ 124 - 113
src/xt_pages/dialysis/batch_print/batch_print_order_twentyEight.vue 查看文件

25
                     <td width="90">
25
                     <td width="90">
26
                         <div class="under-line">&nbsp;{{ record.patient.name }}</div>
26
                         <div class="under-line">&nbsp;{{ record.patient.name }}</div>
27
                     </td>
27
                     </td>
28
-                    <td width="30"></td>
28
+                    <td width="10"></td>
29
                     <td width="50">性 别:</td>
29
                     <td width="50">性 别:</td>
30
                     <td width="50">
30
                     <td width="50">
31
                         <div class="under-line">
31
                         <div class="under-line">
32
                         {{ record.patient.gender == 1 ? "男" : "女" }}
32
                         {{ record.patient.gender == 1 ? "男" : "女" }}
33
                         </div>
33
                         </div>
34
                     </td>
34
                     </td>
35
-                    <td width="30"></td>
35
+                    <td width="10"></td>
36
                     <td width="50">年 龄:</td>
36
                     <td width="50">年 龄:</td>
37
                     <td width="40">
37
                     <td width="40">
38
                         <div class="under-line">{{ getNewAge(record.patient.id_card_no) }}</div>
38
                         <div class="under-line">{{ getNewAge(record.patient.id_card_no) }}</div>
39
                     </td>
39
                     </td>
40
                     <td>岁</td>
40
                     <td>岁</td>
41
 
41
 
42
-                    <td width="120">透析号/住院号:</td>
43
-                    <td width="130">
42
+                    <td width="140">透析号/住院号:</td>
43
+                    <td width="200">
44
                         <div class="under-line">&nbsp;{{ record.patient.dialysis_no }} /{{ record.receive_assessment.admission_number ? record.receive_assessment.admission_number : "无" }}
44
                         <div class="under-line">&nbsp;{{ record.patient.dialysis_no }} /{{ record.receive_assessment.admission_number ? record.receive_assessment.admission_number : "无" }}
45
                         </div>
45
                         </div>
46
                     </td>
46
                     </td>
47
-                    <td width="30"></td>
47
+                    <td width="10"></td>
48
                     <td width="80">治疗日期:</td>
48
                     <td width="80">治疗日期:</td>
49
                     <td width="120">
49
                     <td width="120">
50
                         <div class="under-line">
50
                         <div class="under-line">
57
                 <table class="table-box" style="margin-top: 10px;">
57
                 <table class="table-box" style="margin-top: 10px;">
58
                     <tbody>
58
                     <tbody>
59
                     <tr>
59
                     <tr>
60
-                    <td width="40">诊 断:</td>
60
+                    <td width="50">诊断:</td>
61
                     <td width="">
61
                     <td width="">
62
-                        <div class="under-line">
62
+                        <div class="under-line" style="text-align:left;">
63
                         &nbsp;{{ record.patient.diagnose ? record.patient.diagnose : '' }}
63
                         &nbsp;{{ record.patient.diagnose ? record.patient.diagnose : '' }}
64
                         </div>
64
                         </div>
65
                     </td>
65
                     </td>
66
-                    <td width="60">治疗次数:</td>
66
+                    <td width="80">治疗次数:</td>
67
                     <td width="60">
67
                     <td width="60">
68
                      <div class="under-line">{{ record.patient.total_dialysis + record.patient.user_sys_before_count}}</div>
68
                      <div class="under-line">{{ record.patient.total_dialysis + record.patient.user_sys_before_count}}</div>
69
                      </td>
69
                      </td>
84
                         <table class="table-box">
84
                         <table class="table-box">
85
                         <tbody>
85
                         <tbody>
86
                         <tr>
86
                         <tr>
87
-                            <td width="70">入科方式:</td>
88
-                            <td width="240">
87
+                            <td width="80">入科方式:</td>
88
+                            <td width="260">
89
                             <div style="display:flex;justify-content:space-between;">
89
                             <div style="display:flex;justify-content:space-between;">
90
                                 <label-box v-for="(item, index) in way_arr" :key="index" :isChecked="record.receive_assessment.way == item.id ? true : false" :showValue="item.name"></label-box>
90
                                 <label-box v-for="(item, index) in way_arr" :key="index" :isChecked="record.receive_assessment.way == item.id ? true : false" :showValue="item.name"></label-box>
91
                                 
91
                                 
92
                             </div>
92
                             </div>
93
                             </td>
93
                             </td>
94
 
94
 
95
-                            <td width="50"></td>
95
+                            <td width="20"></td>
96
                             <td width="50">意识:</td>
96
                             <td width="50">意识:</td>
97
-                            <td width="240">
97
+                            <td width="260">
98
                             <div style="display:flex;justify-content:space-between;">
98
                             <div style="display:flex;justify-content:space-between;">
99
                                 <label-box v-for="(item, index) in consciousness_arr" :key="index" :isChecked="record.receive_assessment.consciousness == item.id ? true : false" :showValue="item.name"></label-box>
99
                                 <label-box v-for="(item, index) in consciousness_arr" :key="index" :isChecked="record.receive_assessment.consciousness == item.id ? true : false" :showValue="item.name"></label-box>
100
 
100
 
101
                             </div>
101
                             </div>
102
                             </td>
102
                             </td>
103
+                            <td width="20"></td>
103
                             <td width="80">透析频次:</td>
104
                             <td width="80">透析频次:</td>
104
                             <td width="70">
105
                             <td width="70">
105
                             <div class="under-line">
106
                             <div class="under-line">
106
                                 &nbsp;{{ record.assessment_before_dislysis.dialysis_count ? record.assessment_before_dislysis.dialysis_count : "" }}
107
                                 &nbsp;{{ record.assessment_before_dislysis.dialysis_count ? record.assessment_before_dislysis.dialysis_count : "" }}
107
                             </div>
108
                             </div>
108
                             </td>
109
                             </td>
109
-                            <td width='40'>次/周</td>
110
+                            <td width='50'>次/周</td>
110
                             <td></td>
111
                             <td></td>
111
                         </tr>
112
                         </tr>
112
                         </tbody>
113
                         </tbody>
115
                         <table class="table-box">
116
                         <table class="table-box">
116
                         <tbody>
117
                         <tbody>
117
                         <tr>
118
                         <tr>
118
-                            <td width="80">生命体征:</td>
119
-                            <td width="40">体温:</td>
119
+                            <td width="100">生命体征:</td>
120
+                            <td width="50">体温:</td>
120
                             <td width="70">
121
                             <td width="70">
121
                             <div class="under-line">
122
                             <div class="under-line">
122
                                 &nbsp;{{ record.assessment_before_dislysis.temperature ? record.assessment_before_dislysis.temperature : "" }}
123
                                 &nbsp;{{ record.assessment_before_dislysis.temperature ? record.assessment_before_dislysis.temperature : "" }}
125
                             <td width="35">℃</td>
126
                             <td width="35">℃</td>
126
                             <td width="30"></td>
127
                             <td width="30"></td>
127
 
128
 
128
-                           
129
-
130
-                            <td width="40">脉搏:</td>
129
+                            <td width="50">脉搏:</td>
131
                             <td width="70">
130
                             <td width="70">
132
                             <div class="under-line">
131
                             <div class="under-line">
133
                                 &nbsp;{{ record.assessment_before_dislysis.pulse_frequency ? record.assessment_before_dislysis.pulse_frequency : "" }}
132
                                 &nbsp;{{ record.assessment_before_dislysis.pulse_frequency ? record.assessment_before_dislysis.pulse_frequency : "" }}
134
                             </div>
133
                             </div>
135
                             </td>
134
                             </td>
136
-                            <td width="40">次/分</td>
135
+                            <td width="50">次/分</td>
137
                             <td width="30"></td>
136
                             <td width="30"></td>
138
 
137
 
139
-                            <td width="40">血压:</td>
138
+                            <td width="50">血压:</td>
140
                             <td width="140">
139
                             <td width="140">
141
                             <div class="under-line">
140
                             <div class="under-line">
142
-                                {{ record.assessment_before_dislysis.systolic_blood_pressure ? record.assessment_before_dislysis.systolic_blood_pressure : "" }}/
143
-                                {{ record.assessment_before_dislysis.diastolic_blood_pressure ? record.assessment_before_dislysis.diastolic_blood_pressure : "" }}
141
+                                {{ record.monitor_records[0] && record.monitor_records[0].systolic_blood_pressure ? record.monitor_records[0].systolic_blood_pressure : "" }}/
142
+                                {{ record.monitor_records[0] && record.monitor_records[0].diastolic_blood_pressure ? record.monitor_records[0].diastolic_blood_pressure : "" }}
144
                             </div>
143
                             </div>
145
                             </td>
144
                             </td>
146
                             <td width="35">mmHg</td>
145
                             <td width="35">mmHg</td>
153
                         <table class="table-box">
152
                         <table class="table-box">
154
                         <tbody>
153
                         <tbody>
155
                         <tr>
154
                         <tr>
156
-                            <td width="90">导管穿刺口:</td>
157
-                            <td width="240">
155
+                            <td width="100">导管穿刺口:</td>
156
+                            <td width="380">
158
                             <div style="display:flex;justify-content:space-between;">
157
                             <div style="display:flex;justify-content:space-between;">
158
+                                <label-box :isChecked="record.assessment_before_dislysis.catheter.indexOf('正常') > -1 ? true : false" showValue="正常"></label-box>
159
+                                &nbsp;
159
                                 <label-box :isChecked="record.assessment_before_dislysis.catheter.indexOf('穿刺口-干洁') > -1 ? true : false" showValue="干洁"></label-box>
160
                                 <label-box :isChecked="record.assessment_before_dislysis.catheter.indexOf('穿刺口-干洁') > -1 ? true : false" showValue="干洁"></label-box>
160
                                 &nbsp;
161
                                 &nbsp;
161
                                 <label-box :isChecked="record.assessment_before_dislysis.catheter.indexOf('穿刺口-红肿') > -1 ? true : false" showValue="红肿"></label-box>
162
                                 <label-box :isChecked="record.assessment_before_dislysis.catheter.indexOf('穿刺口-红肿') > -1 ? true : false" showValue="红肿"></label-box>
165
                                 <label-box :isChecked="record.assessment_before_dislysis.catheter.indexOf('穿刺口-渗血') > -1 ? true : false" showValue="渗血"></label-box>
166
                                 <label-box :isChecked="record.assessment_before_dislysis.catheter.indexOf('穿刺口-渗血') > -1 ? true : false" showValue="渗血"></label-box>
166
                             </div>
167
                             </div>
167
                             </td>
168
                             </td>
168
-                            <td width="40"></td>
169
+                            <td width=""></td>
169
                             
170
                             
170
-                            <td width="40">体位:</td>
171
-                            <td width="380">
172
-                              <label-box v-for="(item, index) in posture_arr" :key="index" :isChecked="record.receive_assessment.posture == item.id ? true : false" :showValue="item.name"></label-box>
173
-                            </td>
174
-                            <td></td>
175
                         </tr>
171
                         </tr>
176
                         </tbody>
172
                         </tbody>
177
                         </table>
173
                         </table>
174
+                        <table class="table-box">
175
+                          <tbody>
176
+                            <tr>
177
+                              <td width="50">体位:</td>
178
+                              <td style="text-align:left;">
179
+                                <label-box style="margin-right:10px;" v-for="(item, index) in posture_arr" :key="index" :isChecked="record.receive_assessment.posture == item.id ? true : false" :showValue="item.name"></label-box>
180
+                              </td>
181
+                              <td></td>
182
+                            </tr>
183
+                          </tbody>
184
+                        </table>
185
+                          
178
 
186
 
179
                         <table class="table-box">
187
                         <table class="table-box">
180
                         <tbody>
188
                         <tbody>
181
                         <tr>
189
                         <tr>
182
-                            <td width="70">内瘘评估:</td>
183
-                            <td width="35">震颤:</td>
190
+                            <td width="80">内瘘评估:</td>
191
+                            <td width="50">震颤:</td>
184
                             <td width="210">
192
                             <td width="210">
185
                             <div style="display:flex;justify-content:space-between;">
193
                             <div style="display:flex;justify-content:space-between;">
186
                                 <label-box :isChecked="record.assessment_before_dislysis.internal_fistula.indexOf('震颤-存在') > -1 ? true : false" showValue="存在"></label-box>
194
                                 <label-box :isChecked="record.assessment_before_dislysis.internal_fistula.indexOf('震颤-存在') > -1 ? true : false" showValue="存在"></label-box>
193
                             <td width="30"></td>
201
                             <td width="30"></td>
194
                             <td width="30"></td>
202
                             <td width="30"></td>
195
 
203
 
196
-                            <td width="95">内瘘皮肤情况:</td>
197
-                            <td width="220">
204
+                            <td width="120">内瘘皮肤情况:</td>
205
+                            <td width="260">
198
                             <div style="display:flex;justify-content:space-between;">
206
                             <div style="display:flex;justify-content:space-between;">
199
                                 <label-box :isChecked="record.assessment_before_dislysis.internal_fistula_skin.indexOf('正常') > -1 ? true : false" showValue="正常"></label-box>
207
                                 <label-box :isChecked="record.assessment_before_dislysis.internal_fistula_skin.indexOf('正常') > -1 ? true : false" showValue="正常"></label-box>
200
                                 &nbsp;
208
                                 &nbsp;
215
                      <table class="table-box">
223
                      <table class="table-box">
216
                         <tbody>
224
                         <tbody>
217
                         <tr>
225
                         <tr>
218
-                            <td width="40">皮肤:</td>
219
-                            <td width="500">
226
+                            <td width="50">皮肤:</td>
227
+                            <td width="760">
220
                             <div>
228
                             <div>
221
                                 <label-box showValue="完整" :isChecked="record.assessment_before_dislysis.skin.indexOf('完整')>-1 ? true : false"></label-box>
229
                                 <label-box showValue="完整" :isChecked="record.assessment_before_dislysis.skin.indexOf('完整')>-1 ? true : false"></label-box>
222
                                 <label-box showValue="干燥" :isChecked="record.assessment_before_dislysis.skin.indexOf('干燥')>-1? true : false"></label-box>
230
                                 <label-box showValue="干燥" :isChecked="record.assessment_before_dislysis.skin.indexOf('干燥')>-1? true : false"></label-box>
227
                                 <label-box showValue="出血点" :isChecked="record.assessment_before_dislysis.skin.indexOf('出血点')>-1 ? true : false"></label-box>
235
                                 <label-box showValue="出血点" :isChecked="record.assessment_before_dislysis.skin.indexOf('出血点')>-1 ? true : false"></label-box>
228
                                 <label-box showValue="压疮" :isChecked="record.assessment_before_dislysis.skin.indexOf('压疮')>-1 ? true : false"></label-box>
236
                                 <label-box showValue="压疮" :isChecked="record.assessment_before_dislysis.skin.indexOf('压疮')>-1 ? true : false"></label-box>
229
                                 <label-box showValue="皮下淤血" :isChecked="record.assessment_before_dislysis.skin.indexOf('皮下淤血')>-1 ? true : false"></label-box>
237
                                 <label-box showValue="皮下淤血" :isChecked="record.assessment_before_dislysis.skin.indexOf('皮下淤血')>-1 ? true : false"></label-box>
238
+                                <label-box showValue="皮下出血" :isChecked="record.assessment_before_dislysis.skin.indexOf('皮下出血')>-1 ? true : false"></label-box>
230
                             </div>
239
                             </div>
231
                             </td>
240
                             </td>
232
                            
241
                            
233
-                            <td width="35">其它</td>
242
+                            <td width="50">其它</td>
234
                             <td width="">
243
                             <td width="">
235
                             <div class="under-line">
244
                             <div class="under-line">
236
                                 &nbsp;
245
                                 &nbsp;
245
                      <table class="table-box">
254
                      <table class="table-box">
246
                         <tbody>
255
                         <tbody>
247
                         <tr>
256
                         <tr>
248
-                            <td width="80">活动性出血:</td>
249
-                            <td width="400">
257
+                            <td width="100">活动性出血:</td>
258
+                            <td width="540">
250
                             <div>
259
                             <div>
251
                                
260
                                
252
                                <label-box :isChecked="record.assessment_before_dislysis.is_hemorrhage == 2 ? true : false" showValue="无"></label-box>
261
                                <label-box :isChecked="record.assessment_before_dislysis.is_hemorrhage == 2 ? true : false" showValue="无"></label-box>
260
                             </div>
269
                             </div>
261
                             </td>
270
                             </td>
262
                            
271
                            
263
-                            <td width="35">其它</td>
272
+                            <td width="50">其它</td>
264
                             <td width="">
273
                             <td width="">
265
                             <div class="under-line">
274
                             <div class="under-line">
266
                                 &nbsp;
275
                                 &nbsp;
274
                         <table class="table-box">
283
                         <table class="table-box">
275
                         <tbody>
284
                         <tbody>
276
                         <tr>
285
                         <tr>
277
-                            <td width="70">血管通路:</td>
278
-                            <td width="580">
286
+                            <td width="80">血管通路:</td>
287
+                            <td width="760">
279
                             <div>
288
                             <div>
280
                                 <label-box :isChecked="isBbloodAccessParOperaCheck(record.assessment_before_dislysis, '自体内瘘')" showValue="自体内瘘"></label-box>
289
                                 <label-box :isChecked="isBbloodAccessParOperaCheck(record.assessment_before_dislysis, '自体内瘘')" showValue="自体内瘘"></label-box>
281
                                 &nbsp;
290
                                 &nbsp;
302
                        <table class="table-box">
311
                        <table class="table-box">
303
                         <tbody>
312
                         <tbody>
304
                         <tr>
313
                         <tr>
305
-                            <td width="40">穿刺方式:</td>
306
-                            <td width="140">
314
+                            <td width="70">穿刺方式:</td>
315
+                            <td width="220">
307
                             <div>
316
                             <div>
308
                               <label-box showValue="绳梯" :isChecked="record.assessment_before_dislysis.puncture_way.indexOf('绳梯')>-1 ? true : false"></label-box>&nbsp;
317
                               <label-box showValue="绳梯" :isChecked="record.assessment_before_dislysis.puncture_way.indexOf('绳梯')>-1 ? true : false"></label-box>&nbsp;
309
                               <label-box showValue="定点" :isChecked="record.assessment_before_dislysis.puncture_way.indexOf('定点')>-1 ? true : false"></label-box>&nbsp;
318
                               <label-box showValue="定点" :isChecked="record.assessment_before_dislysis.puncture_way.indexOf('定点')>-1 ? true : false"></label-box>&nbsp;
311
                             </div>
320
                             </div>
312
                             </td>
321
                             </td>
313
                            <td width="60"></td>
322
                            <td width="60"></td>
314
-                            <td width="35">穿刺针:</td>
315
-                            <td width="150">
323
+                            <td width="60">穿刺针:</td>
324
+                            <td width="200">
316
                             <div>
325
                             <div>
317
                                &nbsp;
326
                                &nbsp;
318
                                <label-box :isChecked="record.assessment_before_dislysis.puncture_needle && record.assessment_before_dislysis.puncture_needle.indexOf('16G') > -1 ? true : false" showValue="16G"></label-box>
327
                                <label-box :isChecked="record.assessment_before_dislysis.puncture_needle && record.assessment_before_dislysis.puncture_needle.indexOf('16G') > -1 ? true : false" showValue="16G"></label-box>
342
                         <table class="table-box">
351
                         <table class="table-box">
343
                         <tbody>
352
                         <tbody>
344
                         <tr>
353
                         <tr>
345
-                            <td width="60">干体重:</td>
354
+                            <td width="70">干体重:</td>
346
                             <td width="50">
355
                             <td width="50">
347
                             <div class="under-line">
356
                             <div class="under-line">
348
                                 &nbsp;{{ record.assessment_before_dislysis.dry_weight ? record.assessment_before_dislysis.dry_weight : "" }}
357
                                 &nbsp;{{ record.assessment_before_dislysis.dry_weight ? record.assessment_before_dislysis.dry_weight : "" }}
350
                             </td>
359
                             </td>
351
                             <td width="20">Kg</td>
360
                             <td width="20">Kg</td>
352
                             <td></td>
361
                             <td></td>
353
-                            <td width="70">透前体重:</td>
362
+                            <td width="80">透前体重:</td>
354
                             <td width="50">
363
                             <td width="50">
355
                             <div class="under-line">
364
                             <div class="under-line">
356
                                 &nbsp;{{ record.assessment_before_dislysis.weight_before ? record.assessment_before_dislysis.weight_before : "" }}
365
                                 &nbsp;{{ record.assessment_before_dislysis.weight_before ? record.assessment_before_dislysis.weight_before : "" }}
359
                             <td width="20">Kg</td>
368
                             <td width="20">Kg</td>
360
                             <td></td>
369
                             <td></td>
361
                             <td></td>
370
                             <td></td>
362
-                            <td width="100">计划治疗时间:</td>
371
+                            <td width="120">计划治疗时间:</td>
363
                             <td width="40">
372
                             <td width="40">
364
                             <div class="under-line">
373
                             <div class="under-line">
365
                                 &nbsp;{{ record.prescription.dialysis_duration_hour ? record.prescription.dialysis_duration_hour : "0" }}
374
                                 &nbsp;{{ record.prescription.dialysis_duration_hour ? record.prescription.dialysis_duration_hour : "0" }}
373
                             </td>
382
                             </td>
374
                             <td width="35">min</td>
383
                             <td width="35">min</td>
375
                             <td></td>
384
                             <td></td>
376
-                            <td width="90">透析机编号:</td>
385
+                            <td width="100">透析机编号:</td>
377
                             <td width="150">
386
                             <td width="150">
378
                             <div class="under-line">
387
                             <div class="under-line">
379
                                 &nbsp;{{ record.device_zone.name && record.device_number.number ? getNewNumber(record.device_zone.name,record.device_number.number) : '' }}
388
                                 &nbsp;{{ record.device_zone.name && record.device_number.number ? getNewNumber(record.device_zone.name,record.device_number.number) : '' }}
388
                         <table class="table-box">
397
                         <table class="table-box">
389
                         <tbody>
398
                         <tbody>
390
                         <tr>
399
                         <tr>
391
-                            <td width="100">计划超滤总量:</td>
400
+                            <td width="120">计划超滤总量:</td>
392
                             <td width="50">
401
                             <td width="50">
393
                             <div class="under-line">
402
                             <div class="under-line">
394
                                 &nbsp;{{ record.prescription.target_ultrafiltration ? record.prescription.target_ultrafiltration : 0 }}
403
                                 &nbsp;{{ record.prescription.target_ultrafiltration ? record.prescription.target_ultrafiltration : 0 }}
395
                             </div>
404
                             </div>
396
                             </td>
405
                             </td>
397
                             <td width="10">ml</td>
406
                             <td width="10">ml</td>
398
-                            <td width='70'></td>
399
     
407
     
400
                             <td width="60">置换量:</td>
408
                             <td width="60">置换量:</td>
401
                             <td width="40">
409
                             <td width="40">
403
                                 &nbsp;{{ record.prescription.replacement_total ? record.prescription.replacement_total : "/" }}
411
                                 &nbsp;{{ record.prescription.replacement_total ? record.prescription.replacement_total : "/" }}
404
                             </div>
412
                             </div>
405
                             </td>
413
                             </td>
406
-                            <td width="20">ml</td>
414
+                            <td width="10">ml</td>
407
                             
415
                             
408
                             <td width="80">透析方式:</td>
416
                             <td width="80">透析方式:</td>
409
                             <td width="50">
417
                             <td width="50">
412
                             <td width="60">
420
                             <td width="60">
413
                             <label-box :isChecked="record.prescription.mode_id == 2 ? true : false" showValue="HDF"></label-box>
421
                             <label-box :isChecked="record.prescription.mode_id == 2 ? true : false" showValue="HDF"></label-box>
414
                             </td>
422
                             </td>
423
+                            <td width="60">
424
+                            <label-box :isChecked="record.prescription.mode_id == 5 ? true : false" showValue="HF"></label-box>
425
+                            </td>
415
                             <td width="50">
426
                             <td width="50">
416
                             <label-box :isChecked="record.prescription.mode_id == 4 ? true : false" showValue="HP"></label-box>
427
                             <label-box :isChecked="record.prescription.mode_id == 4 ? true : false" showValue="HP"></label-box>
417
                             </td>
428
                             </td>
418
-                            <td width="80">
429
+                            <td width="90">
419
                             <label-box :isChecked="record.prescription.mode_id == 3 ? true : false" showValue="HD+HP"></label-box>
430
                             <label-box :isChecked="record.prescription.mode_id == 3 ? true : false" showValue="HD+HP"></label-box>
420
                             </td>
431
                             </td>
421
-                            <td width="80">透析器型号</td>
432
+                            <td width="90">透析器型号</td>
422
                             <td width="80">
433
                             <td width="80">
423
                                <div class="under-line">
434
                                <div class="under-line">
424
                                  &nbsp;{{ record.prescription.dialyzer_perfusion_apparatus ? record.prescription.dialyzer_perfusion_apparatus : "/" }}
435
                                  &nbsp;{{ record.prescription.dialyzer_perfusion_apparatus ? record.prescription.dialyzer_perfusion_apparatus : "/" }}
515
                         <table class="table-box">
526
                         <table class="table-box">
516
                             <tbody>
527
                             <tbody>
517
                             <tr>
528
                             <tr>
518
-                                <td width="85">透析液配方:</td>
519
-                                <td width='90'>B液: 碳酸盐:</td>
520
-                                <td width='30'>A液:</td>
529
+                                <td width="100">透析液配方:</td>
530
+                                <td width='120'>B液: 碳酸盐:</td>
531
+                                <td width='40'>A液:</td>
521
                                 <td width="10">钙</td>
532
                                 <td width="10">钙</td>
522
                                 <td width="10">(</td>
533
                                 <td width="10">(</td>
523
-                                <td width="210">
534
+                                <td width="280">
524
                                 <label-box :isChecked="dialysateFormulationName(record.prescription.dialysate_formulation).indexOf('A液:钙(1.25mmol/L)钾(2.0mmol/L)') > -1 ? true : dialysateFormulationName(record.prescription.dialysate_formulation).indexOf('A液:钙(1.25mmol/L)钾(3.5mmol/L)') > -1 ? true : false" showValue="1.25mmol/L"></label-box>
535
                                 <label-box :isChecked="dialysateFormulationName(record.prescription.dialysate_formulation).indexOf('A液:钙(1.25mmol/L)钾(2.0mmol/L)') > -1 ? true : dialysateFormulationName(record.prescription.dialysate_formulation).indexOf('A液:钙(1.25mmol/L)钾(3.5mmol/L)') > -1 ? true : false" showValue="1.25mmol/L"></label-box>
525
                                 &nbsp;
536
                                 &nbsp;
526
                                 <label-box :isChecked="dialysateFormulationName(record.prescription.dialysate_formulation).indexOf('A液:钙(1.5mmol/L)钾(2.0mmol/L)') > -1 ? true : dialysateFormulationName(record.prescription.dialysate_formulation).indexOf('A液:钙(1.5mmol/L)钾(3.5mmol/L)') > -1 ? true : false" showValue="1.5mmol/L"></label-box>
537
                                 <label-box :isChecked="dialysateFormulationName(record.prescription.dialysate_formulation).indexOf('A液:钙(1.5mmol/L)钾(2.0mmol/L)') > -1 ? true : dialysateFormulationName(record.prescription.dialysate_formulation).indexOf('A液:钙(1.5mmol/L)钾(3.5mmol/L)') > -1 ? true : false" showValue="1.5mmol/L"></label-box>
529
                                 <td width="10">)</td>
540
                                 <td width="10">)</td>
530
                                 <td width="10">钾</td>
541
                                 <td width="10">钾</td>
531
                                 <td width="10">(</td>
542
                                 <td width="10">(</td>
532
-                                <td width="210">
543
+                                <td width="280">
533
                                 <label-box :isChecked="dialysateFormulationName(record.prescription.dialysate_formulation).indexOf('A液:钙(1.25mmol/L)钾(2.0mmol/L)') > -1 ? true : dialysateFormulationName(record.prescription.dialysate_formulation).indexOf('A液:钙(1.5mmol/L)钾(2.0mmol/L)') > -1 ? true : false" showValue="2.0mmol/L"></label-box>
544
                                 <label-box :isChecked="dialysateFormulationName(record.prescription.dialysate_formulation).indexOf('A液:钙(1.25mmol/L)钾(2.0mmol/L)') > -1 ? true : dialysateFormulationName(record.prescription.dialysate_formulation).indexOf('A液:钙(1.5mmol/L)钾(2.0mmol/L)') > -1 ? true : false" showValue="2.0mmol/L"></label-box>
534
                                 &nbsp;
545
                                 &nbsp;
535
                                 <label-box :isChecked="dialysateFormulationName(record.prescription.dialysate_formulation).indexOf('A液:钙(1.25mmol/L)钾(3.5mmol/L)') > -1 ? true : dialysateFormulationName(record.prescription.dialysate_formulation).indexOf('A液:钙(1.5mmol/L)钾(3.5mmol/L)') > -1 ? true : false" showValue="3.5mmol/L"></label-box>
546
                                 <label-box :isChecked="dialysateFormulationName(record.prescription.dialysate_formulation).indexOf('A液:钙(1.25mmol/L)钾(3.5mmol/L)') > -1 ? true : dialysateFormulationName(record.prescription.dialysate_formulation).indexOf('A液:钙(1.5mmol/L)钾(3.5mmol/L)') > -1 ? true : false" showValue="3.5mmol/L"></label-box>
555
                      <td width="60">时间</td>
566
                      <td width="60">时间</td>
556
                     <td width="40" style="line-height:20px">T<br />℃</td>
567
                     <td width="40" style="line-height:20px">T<br />℃</td>
557
                     <td width="80" style="line-height:20px">Bp<br />mmHg</td>
568
                     <td width="80" style="line-height:20px">Bp<br />mmHg</td>
558
-                    <td width="40" style="line-height:20px">P<br />次/分</td>
569
+                    <td width="50" style="line-height:20px">P<br />次/分</td>
559
                     <td width="60" style="line-height:20px">R<br />次/分</td>
570
                     <td width="60" style="line-height:20px">R<br />次/分</td>
560
                     <td width="60" style="line-height:20px">静脉压<br />{{record.monitor_records[0] && record.monitor_records[0]['venous_pressure_type'] == 2 ? 'kpa' : 'mmHg'}}</td>
571
                     <td width="60" style="line-height:20px">静脉压<br />{{record.monitor_records[0] && record.monitor_records[0]['venous_pressure_type'] == 2 ? 'kpa' : 'mmHg'}}</td>
561
                     <td width="60" style="line-height:20px">动脉压<br />{{record.monitor_records[0] && record.monitor_records[0]['venous_pressure_type'] == 2 ? 'kpa' : 'mmHg'}}</td>
572
                     <td width="60" style="line-height:20px">动脉压<br />{{record.monitor_records[0] && record.monitor_records[0]['venous_pressure_type'] == 2 ? 'kpa' : 'mmHg'}}</td>
634
                     </tr>
645
                     </tr>
635
 
646
 
636
                     <tr v-for="(advice, advice_index) in record.advices" :key="advice_index">
647
                     <tr v-for="(advice, advice_index) in record.advices" :key="advice_index">
637
-                        <td height="40px">
648
+                        <td height="30px">
638
                             <span v-if="advice[0].start_time">
649
                             <span v-if="advice[0].start_time">
639
                                 {{ getTime(advice[0].start_time, "{h}:{i}") }}
650
                                 {{ getTime(advice[0].start_time, "{h}:{i}") }}
640
                             </span>
651
                             </span>
662
                                 <!-- </span> -->
673
                                 <!-- </span> -->
663
                             </span>
674
                             </span>
664
                         </td>
675
                         </td>
665
-                        <td height="40px">
676
+                        <td height="30px">
666
                             <span v-if="setAdminUserES(advice[0], 'advice_doctor') == ''">
677
                             <span v-if="setAdminUserES(advice[0], 'advice_doctor') == ''">
667
                                 {{getAdminUser(advice[0], 'advice_doctor')}}
678
                                 {{getAdminUser(advice[0], 'advice_doctor')}}
668
                             </span>
679
                             </span>
670
                                 <img style="height:30px;" :src="setAdminUserES(advice[0], 'advice_doctor')" alt srcset />
681
                                 <img style="height:30px;" :src="setAdminUserES(advice[0], 'advice_doctor')" alt srcset />
671
                             </span>
682
                             </span>
672
                         </td>
683
                         </td>
673
-                        <td height="40px">
684
+                        <td height="30px">
674
                             <span v-if="setAdminUserES(advice[0], 'execution_staff') == ''">
685
                             <span v-if="setAdminUserES(advice[0], 'execution_staff') == ''">
675
                                 {{getAdminUser(advice[0], 'execution_staff')}}
686
                                 {{getAdminUser(advice[0], 'execution_staff')}}
676
                             </span>
687
                             </span>
685
                              <img class="es-img" :src="setAdminUserES(advice[0], 'checker')" alt="" srcset="" style="height: 30px;" />
696
                              <img class="es-img" :src="setAdminUserES(advice[0], 'checker')" alt="" srcset="" style="height: 30px;" />
686
                           </span>
697
                           </span>
687
                         </td>
698
                         </td>
688
-                        <td height="40px">
699
+                        <td height="30px">
689
                             <span v-if="advice[0].execution_time">{{ getTime(advice[0].execution_time, "{h}:{i}") }}</span>
700
                             <span v-if="advice[0].execution_time">{{ getTime(advice[0].execution_time, "{h}:{i}") }}</span>
690
                         </td>
701
                         </td>
691
                     </tr>
702
                     </tr>
700
                         <table class="table-box">
711
                         <table class="table-box">
701
                             <tbody>
712
                             <tbody>
702
                             <tr>
713
                             <tr>
703
-                            <td width="28">拔针压迫:</td>
704
-                            <td width='140'>
714
+                            <td width="80">拔针压迫:</td>
715
+                            <td width='500'>
705
                                 <label-box showValue="自己压迫" :isChecked="record.assessment_after_dislysis.hemostasis_opera == 3 ? true : false"></label-box>
716
                                 <label-box showValue="自己压迫" :isChecked="record.assessment_after_dislysis.hemostasis_opera == 3 ? true : false"></label-box>
706
                                 &nbsp;
717
                                 &nbsp;
707
                                 <label-box showValue="他人协助" :isChecked="record.assessment_after_dislysis.hemostasis_opera == 2 ? true : false"></label-box>
718
                                 <label-box showValue="他人协助" :isChecked="record.assessment_after_dislysis.hemostasis_opera == 2 ? true : false"></label-box>
710
                                 <label-box showValue="内瘘止血带" :isChecked="record.assessment_after_dislysis.hemostasis_opera == 4 ? true : false"></label-box>
721
                                 <label-box showValue="内瘘止血带" :isChecked="record.assessment_after_dislysis.hemostasis_opera == 4 ? true : false"></label-box>
711
                             </td>
722
                             </td>
712
                           
723
                           
713
-                            <td width="40">内瘘震颤:</td>
714
-                            <td width="80">
724
+                            <td width="80">内瘘震颤:</td>
725
+                            <td width="200">
715
                                 <div style="display:flex;justify-content:space-between;">
726
                                 <div style="display:flex;justify-content:space-between;">
716
                                 <label-box :isChecked="record.assessment_after_dislysis.internal_fistula.indexOf('震颤-存在') > -1 ? true : false" showValue="存在"></label-box>
727
                                 <label-box :isChecked="record.assessment_after_dislysis.internal_fistula.indexOf('震颤-存在') > -1 ? true : false" showValue="存在"></label-box>
717
                                 <label-box :isChecked="record.assessment_after_dislysis.internal_fistula.indexOf('震颤-减弱') > -1 ? true : false" showValue="减弱"></label-box>
728
                                 <label-box :isChecked="record.assessment_after_dislysis.internal_fistula.indexOf('震颤-减弱') > -1 ? true : false" showValue="减弱"></label-box>
718
                                 <label-box :isChecked="record.assessment_after_dislysis.internal_fistula.indexOf('震颤-无') > -1 ? true : false" showValue="不存在"></label-box>
729
                                 <label-box :isChecked="record.assessment_after_dislysis.internal_fistula.indexOf('震颤-无') > -1 ? true : false" showValue="不存在"></label-box>
719
                                 </div>
730
                                 </div>
720
                             </td>
731
                             </td>
721
-                            <td width="10"></td>
722
-                            <td width="40"></td>
732
+                            <td></td>
723
                             </tr>
733
                             </tr>
724
                             </tbody>
734
                             </tbody>
725
                         </table>
735
                         </table>
727
                         <table class="table-box">
737
                         <table class="table-box">
728
                             <tbody>
738
                             <tbody>
729
                             <tr>
739
                             <tr>
730
-                            <td width="130">拔针后穿刺点渗血:</td>
731
-                            <td width="80">
740
+                            <td width="160">拔针后穿刺点渗血:</td>
741
+                            <td width="100">
732
                                 <div style="display:flex;justify-content:space-between;">
742
                                 <div style="display:flex;justify-content:space-between;">
733
                                 <label-box :isChecked="record.assessment_after_dislysis.puncture_point_oozing_blood == 1 ? true : false" showValue="有"></label-box>
743
                                 <label-box :isChecked="record.assessment_after_dislysis.puncture_point_oozing_blood == 1 ? true : false" showValue="有"></label-box>
734
                                 <label-box :isChecked="record.assessment_after_dislysis.puncture_point_oozing_blood == 2 ? true : false" showValue="无"></label-box>
744
                                 <label-box :isChecked="record.assessment_after_dislysis.puncture_point_oozing_blood == 2 ? true : false" showValue="无"></label-box>
735
                                 </div>
745
                                 </div>
736
                             </td>
746
                             </td>
737
                             <td width="10"></td>
747
                             <td width="10"></td>
738
-                            <td width="85">穿刺处血肿:</td>
739
-                            <td width="80">
748
+                            <td width="100">穿刺处血肿:</td>
749
+                            <td width="100">
740
                                 <div style="display:flex;justify-content:space-between;">
750
                                 <div style="display:flex;justify-content:space-between;">
741
                                 <label-box :isChecked="record.assessment_after_dislysis.puncture_point_haematoma == 1 ? true : false" showValue="有"></label-box>
751
                                 <label-box :isChecked="record.assessment_after_dislysis.puncture_point_haematoma == 1 ? true : false" showValue="有"></label-box>
742
                                 <label-box :isChecked="record.assessment_after_dislysis.puncture_point_haematoma == 2 ? true : false" showValue="无"></label-box>
752
                                 <label-box :isChecked="record.assessment_after_dislysis.puncture_point_haematoma == 2 ? true : false" showValue="无"></label-box>
744
                             </td>
754
                             </td>
745
 
755
 
746
                             <td width="10"></td>
756
                             <td width="10"></td>
747
-                            <td width="105">中心静脉封管:</td>
748
-                            <td width="40">肝素:</td>
749
-                            <td width="30">A端</td>
757
+                            <td width="120">中心静脉封管:</td>
758
+                            <td width="50">肝素:</td>
759
+                            <td width="40">A端</td>
750
                             <td width="30">
760
                             <td width="30">
751
                                 <div class="under-line">&nbsp;{{ record.assessment_after_dislysis.cvc_a ? record.assessment_after_dislysis.cvc_a : "" }}</div>
761
                                 <div class="under-line">&nbsp;{{ record.assessment_after_dislysis.cvc_a ? record.assessment_after_dislysis.cvc_a : "" }}</div>
752
                             </td>
762
                             </td>
753
                             <td width="20">ml</td>
763
                             <td width="20">ml</td>
754
-                            <td width="30">V端</td>
764
+                            <td width="40">V端</td>
755
                             <td width="30">
765
                             <td width="30">
756
                                 <div class="under-line">&nbsp;{{ record.assessment_after_dislysis.cvc_v ? record.assessment_after_dislysis.cvc_v : "" }}</div>
766
                                 <div class="under-line">&nbsp;{{ record.assessment_after_dislysis.cvc_v ? record.assessment_after_dislysis.cvc_v : "" }}</div>
757
                             </td>
767
                             </td>
764
                         <table class="table-box">
774
                         <table class="table-box">
765
                             <tbody>
775
                             <tbody>
766
                             <tr>
776
                             <tr>
767
-                            <td width="85">透析并发症:</td>
777
+                            <td width="100">透析并发症:</td>
768
                             <td width="600">
778
                             <td width="600">
769
                                 <div style="display:flex;justify-content:space-between;">
779
                                 <div style="display:flex;justify-content:space-between;">
770
                                 <label-box :isChecked="record.assessment_after_dislysis.complication.indexOf('无') > -1 ? true : false" showValue="无"></label-box>
780
                                 <label-box :isChecked="record.assessment_after_dislysis.complication.indexOf('无') > -1 ? true : false" showValue="无"></label-box>
779
 
789
 
780
                                 </div>
790
                                 </div>
781
                             </td>
791
                             </td>
782
-                            <td width="40">其他:</td>
792
+                            <td width="50">其他:</td>
783
                             <td width="">
793
                             <td width="">
784
                                 <div class="under-line">
794
                                 <div class="under-line">
785
                                 &nbsp;{{ record.assessment_after_dislysis.complication ? getComplication(record.assessment_after_dislysis.complication) : '' }}
795
                                 &nbsp;{{ record.assessment_after_dislysis.complication ? getComplication(record.assessment_after_dislysis.complication) : '' }}
792
                         <table class="table-box">
802
                         <table class="table-box">
793
                             <tbody>
803
                             <tbody>
794
                             <tr>
804
                             <tr>
795
-                            <td width="40">凝血:</td>
796
-                            <td width="60">透析器:</td>
805
+                            <td width="50">凝血:</td>
806
+                            <td width="70">透析器:</td>
797
                             <td width="220">
807
                             <td width="220">
798
                                 <div style="display:flex;justify-content:space-between;">
808
                                 <div style="display:flex;justify-content:space-between;">
799
                                 <label-box :isChecked="record.assessment_after_dislysis.cruor.indexOf('透析器-0度') > -1 ? true : false" showValue="无"></label-box>
809
                                 <label-box :isChecked="record.assessment_after_dislysis.cruor.indexOf('透析器-0度') > -1 ? true : false" showValue="无"></label-box>
803
                                 </div>
813
                                 </div>
804
                             </td>
814
                             </td>
805
                             <td></td>
815
                             <td></td>
806
-                            <td width="70">静脉管道:</td>
816
+                            <td width="90">静脉管道:</td>
807
                             <td width="220">
817
                             <td width="220">
808
                                 <div style="display:flex;justify-content:space-between;">
818
                                 <div style="display:flex;justify-content:space-between;">
809
                                     <label-box :isChecked="record.assessment_after_dislysis.intravenous_tube == 1 ? true : false" showValue="无"></label-box>
819
                                     <label-box :isChecked="record.assessment_after_dislysis.intravenous_tube == 1 ? true : false" showValue="无"></label-box>
813
                                 </div>
823
                                 </div>
814
                                 </td>
824
                                 </td>
815
                                 
825
                                 
816
-                                <td width="70">动脉管道:</td>
826
+                                <td width="90">动脉管道:</td>
817
                                 <td width="220">
827
                                 <td width="220">
818
                                 <div style="display:flex;justify-content:space-between;">
828
                                 <div style="display:flex;justify-content:space-between;">
819
                                     <label-box :isChecked="record.assessment_after_dislysis.arterial_tube == 1 ? true : false" showValue="无"></label-box>
829
                                     <label-box :isChecked="record.assessment_after_dislysis.arterial_tube == 1 ? true : false" showValue="无"></label-box>
829
                         <table class="table-box">
839
                         <table class="table-box">
830
                             <tbody>
840
                             <tbody>
831
                             <tr>
841
                             <tr>
832
-                            <td width="70">透后体重:</td>
842
+                            <td width="80">透后体重:</td>
833
                             <td width="50">
843
                             <td width="50">
834
                                 <div class="under-line">
844
                                 <div class="under-line">
835
                                 &nbsp;{{ record.assessment_after_dislysis.weight_after ? record.assessment_after_dislysis.weight_after : "" }}
845
                                 &nbsp;{{ record.assessment_after_dislysis.weight_after ? record.assessment_after_dislysis.weight_after : "" }}
837
                             </td>
847
                             </td>
838
                             <td width="20">Kg</td>
848
                             <td width="20">Kg</td>
839
                             <td width="20"></td>
849
                             <td width="20"></td>
840
-                            <td width="90">实际超滤总量</td>
850
+                            <td width="120">实际超滤总量</td>
841
                             <td width="40">
851
                             <td width="40">
842
                                 <div class="under-line">
852
                                 <div class="under-line">
843
                                 &nbsp;{{ record.assessment_after_dislysis.actual_ultrafiltration ? record.assessment_after_dislysis.actual_ultrafiltration : 0 }}
853
                                 &nbsp;{{ record.assessment_after_dislysis.actual_ultrafiltration ? record.assessment_after_dislysis.actual_ultrafiltration : 0 }}
845
                             </td>
855
                             </td>
846
                             <td width="10">ml</td>
856
                             <td width="10">ml</td>
847
                             <td width="20"></td>
857
                             <td width="20"></td>
848
-                            <td width="90">实际治疗时间</td>
858
+                            <td width="120">实际治疗时间</td>
849
                             <td width="40">
859
                             <td width="40">
850
                                 <div class="under-line">
860
                                 <div class="under-line">
851
                                 &nbsp;{{ record.assessment_after_dislysis.actual_treatment_hour ? record.assessment_after_dislysis.actual_treatment_hour : "0" }}
861
                                 &nbsp;{{ record.assessment_after_dislysis.actual_treatment_hour ? record.assessment_after_dislysis.actual_treatment_hour : "0" }}
859
                             </td>
869
                             </td>
860
                             <td width="35">min</td>
870
                             <td width="35">min</td>
861
                             <td width="60">去向</td>
871
                             <td width="60">去向</td>
862
-                            <td width="160">
872
+                            <td width="200">
863
                             <div style="display:flex;justify-content:space-between;">
873
                             <div style="display:flex;justify-content:space-between;">
864
                                 <label-box :isChecked="record.assessment_after_dislysis.patient_gose == 1 ? true : false" showValue="回家"></label-box>
874
                                 <label-box :isChecked="record.assessment_after_dislysis.patient_gose == 1 ? true : false" showValue="回家"></label-box>
865
                                 <label-box :isChecked="record.assessment_after_dislysis.patient_gose == 2 ? true : false" showValue="留观"></label-box>
875
                                 <label-box :isChecked="record.assessment_after_dislysis.patient_gose == 2 ? true : false" showValue="留观"></label-box>
882
                     <tbody>
892
                     <tbody>
883
                     <tr>
893
                     <tr>
884
                     <td width="150"></td>
894
                     <td width="150"></td>
885
-                    <td width="30">医生</td>
895
+                    <td width="50">医生</td>
886
                     <td width="80">
896
                     <td width="80">
887
                         <div class="under-line">
897
                         <div class="under-line">
888
                         &nbsp;
898
                         &nbsp;
889
-                        <span v-if="setAdminUserES(record.prescription, 'creater') == ''">{{getAdminUser(record.prescription, 'creater')}}</span>
890
-                        <img class="es-img" :src="setAdminUserES(record.prescription, 'creater')" alt="" srcset="" v-else style="height: 30px;">
899
+                        <span v-if="setAdminUserES(record.prescription, 'prescription_doctor') == ''">{{getAdminUser(record.prescription, 'prescription_doctor')}}</span>
900
+                        <img class="es-img" :src="setAdminUserES(record.prescription, 'prescription_doctor')" alt="" srcset="" v-else style="height: 30px;">
891
                         </div>
901
                         </div>
892
                     </td>
902
                     </td>
893
-                    <td width="50">责任护士</td>
903
+                    <td width="80">责任护士</td>
894
                     <td width="80">
904
                     <td width="80">
895
                         <div class="under-line">
905
                         <div class="under-line">
896
                         &nbsp;
906
                         &nbsp;
900
                         </span>
910
                         </span>
901
                         </div>
911
                         </div>
902
                     </td>
912
                     </td>
903
-                    <td width="50">穿刺护士</td>
913
+                    <td width="80">穿刺护士</td>
904
                     <td width="80">
914
                     <td width="80">
905
                         <div class="under-line">
915
                         <div class="under-line">
906
                         &nbsp;
916
                         &nbsp;
912
                     </td>
922
                     </td>
913
                    
923
                    
914
                    
924
                    
915
-                    <td width="50">核对护士</td>
925
+                    <td width="80">核对护士</td>
916
                   
926
                   
917
                      <td width="80">
927
                      <td width="80">
918
                         <div class="under-line">
928
                         <div class="under-line">
1006
         "出血",
1016
         "出血",
1007
         "心衰",
1017
         "心衰",
1008
         "腹痛"
1018
         "腹痛"
1009
-      ]
1019
+      ],
1020
+      isShowZero:false
1010
     };
1021
     };
1011
   },
1022
   },
1012
   created() {
1023
   created() {
1078
             var dlegh = 0
1089
             var dlegh = 0
1079
             if (
1090
             if (
1080
               this.records[recordIndex].monitor_records &&
1091
               this.records[recordIndex].monitor_records &&
1081
-              this.records[recordIndex].monitor_records.length < 8
1092
+              this.records[recordIndex].monitor_records.length < 6
1082
             ) {
1093
             ) {
1083
-              dlegh = 8 - this.records[recordIndex].monitor_records.length
1094
+              dlegh = 6 - this.records[recordIndex].monitor_records.length
1084
             } else {
1095
             } else {
1085
               dlegh = 0
1096
               dlegh = 0
1086
             }
1097
             }
1340
       const style =
1351
       const style =
1341
         '@media print { .option_panel { margin: 0 5px 0 0; } .option_panel .check_box_panel { white-space: nowrap; outline: none; display: inline-block; line-height: 1; position: relative; vertical-align: middle; } .option_panel .check_box_panel .check_box { display: inline-block; position: relative; border: 1px solid #000; box-sizing: border-box; width: 14px; height: 14px; background-color: #fff; } .check_box_panel .did_checked::after { content: "√"; font-size: 15px; } .print_page_main_content { background-color: white; width:960px; margin:0 auto; padding: 0 0 0 0; page-break-after: always; } .print_page_main_content .order-yy-name { margin: auto; text-align: center; font-size: 20px; letter-spacing: 5px;} .print_page_main_content .order_title { text-align: center; font-size: 23px; line-height: 50px; font-weight: 500; } .row { font-size: 14px; line-height: 20px; padding: 5px 0; } .inline_block { display: inline-block; } .under_line { display: inline-block; border-bottom: 1px solid #999; text-align: center; white-space: nowrap; } .under_line::before { content: "\\00A0"; } .under_line::after { content: "\\00A0"; } .flex { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; align-items: center; -webkit-align-items: center; box-align: center; -moz-box-align: center; -webkit-box-align: center; text-align: center; -webkit-justify-content: space-between; justify-content: space-between; -moz-box-pack: space-between; -webkit--moz-box-pack: space-between; box-pack: space-between; } .print_page_main_content .proj_table { width: 100%; border: 1px solid; border-collapse: collapse; padding: 2px; } .print_page_main_content .proj_table tbody tr td { border: 1px solid; font-size: 16px; padding: 10px 8px; line-height: 30px; } .print_page_main_content .proj_table .inside_table { width: 100%; border: hidden; border-collapse: collapse; } .print_page_main_content .proj_table .inside_table tr td { border: 1px solid; text-align: center; font-size: 14px; padding: 8px 5px; line-height: 25px; } }.es-img{height: 20px; }.advice-name{text-align: left !important;line-height: 16px !important;}.advice-children{display:flex;}.did_checke::after {font-size: 8px;margin-left: 2px;margin-top: 2px;position: absolute;}';
1352
         '@media print { .option_panel { margin: 0 5px 0 0; } .option_panel .check_box_panel { white-space: nowrap; outline: none; display: inline-block; line-height: 1; position: relative; vertical-align: middle; } .option_panel .check_box_panel .check_box { display: inline-block; position: relative; border: 1px solid #000; box-sizing: border-box; width: 14px; height: 14px; background-color: #fff; } .check_box_panel .did_checked::after { content: "√"; font-size: 15px; } .print_page_main_content { background-color: white; width:960px; margin:0 auto; padding: 0 0 0 0; page-break-after: always; } .print_page_main_content .order-yy-name { margin: auto; text-align: center; font-size: 20px; letter-spacing: 5px;} .print_page_main_content .order_title { text-align: center; font-size: 23px; line-height: 50px; font-weight: 500; } .row { font-size: 14px; line-height: 20px; padding: 5px 0; } .inline_block { display: inline-block; } .under_line { display: inline-block; border-bottom: 1px solid #999; text-align: center; white-space: nowrap; } .under_line::before { content: "\\00A0"; } .under_line::after { content: "\\00A0"; } .flex { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; align-items: center; -webkit-align-items: center; box-align: center; -moz-box-align: center; -webkit-box-align: center; text-align: center; -webkit-justify-content: space-between; justify-content: space-between; -moz-box-pack: space-between; -webkit--moz-box-pack: space-between; box-pack: space-between; } .print_page_main_content .proj_table { width: 100%; border: 1px solid; border-collapse: collapse; padding: 2px; } .print_page_main_content .proj_table tbody tr td { border: 1px solid; font-size: 16px; padding: 10px 8px; line-height: 30px; } .print_page_main_content .proj_table .inside_table { width: 100%; border: hidden; border-collapse: collapse; } .print_page_main_content .proj_table .inside_table tr td { border: 1px solid; text-align: center; font-size: 14px; padding: 8px 5px; line-height: 25px; } }.es-img{height: 20px; }.advice-name{text-align: left !important;line-height: 16px !important;}.advice-children{display:flex;}.did_checke::after {font-size: 8px;margin-left: 2px;margin-top: 2px;position: absolute;}';
1342
        const style2 =
1353
        const style2 =
1343
-        '@media print {.dialysis-print-order{width:960px;margin:0 auto}.dialysis-print-order .order-yy-name{margin:auto;text-align:center;font-size:20px;letter-spacing:5px}.dialysis-print-order .order-title{margin:auto;font-weight:600;text-align:center;font-size:22px;padding:10px 20px 20px 20px}.dialysis-print-order .table-box{width:100%;line-height:23px;font-size:14px}.dialysis-print-order .print-table{width:100%;text-align:center;border-collapse:collapse;line-height:25px;font-size:16px}.dialysis-print-order .print-table-no{width:100%;text-align:center;border-collapse:collapse;font-size:14px}.dialysis-print-order .under-line{border-bottom:1px solid #999;width:95%;text-align:center;margin-left:2px}.dialysis-print-order .title-box{text-align:center;font-size:16px;border:1px solid #666}.dialysis-print-order .radio-lebel-box{font-weight:400;cursor:pointer}.dialysis-print-order .radio-no{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;z-index:-1}.dialysis-print-order .radio-inner{white-space:nowrap;cursor:pointer;outline:0;display:inline-block;line-height:1;position:relative;vertical-align:middle}.dialysis-print-order .radio-fang{display:inline-block;position:relative;border:1px solid #000;box-sizing:border-box;width:14px;height:14px;background-color:#fff;z-index:1;transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.dialysis-print-order .is-checked-radio::after{content:"√";font-size:15px}}.dialysis-print-order .print-table-no tr td { padding: 8px 5px; line-height: 25px; }.es-img{height: 20px; }.advice-name{text-align: left;}.advice-children{display:flex;} .dialysis-print-order .print-table tr td{padding: 0px 0px;} .print-template-two tr {line-height: 30px;}   .title-box-pro{border: 0 #fff;line-height: 40px;height: 40px;text-align: left;padding-left: 10px !important;}  .text-align-left{text-align: left !important;padding-left:10px !important;font-size: 14px !important;line-height: 25px;}.row {font-size: 16px;line-height: 20px;padding: 5px 0;}.inline_block { display: inline-block;}.under_line {display: inline-block;border-bottom: 1px solid #999;text-align: center;white-space: nowrap; width: 50%;}'
1354
+        '@media print {.dialysis-print-order{width:960px;margin:0 auto}.dialysis-print-order .order-yy-name{margin:auto;text-align:center;font-size:20px;letter-spacing:5px}.dialysis-print-order .order-title{margin:auto;font-weight:600;text-align:center;font-size:22px;padding:10px 20px 20px 20px}.dialysis-print-order .table-box{width:100%;line-height:23px;font-size:18px}.dialysis-print-order .print-table{width:100%;text-align:center;border-collapse:collapse;line-height:25px;font-size:18px}.dialysis-print-order .print-table-no{width:100%;text-align:center;border-collapse:collapse;font-size:18px}.dialysis-print-order .under-line{border-bottom:1px solid #999;width:95%;text-align:center;margin-left:2px}.dialysis-print-order .title-box{text-align:center;font-size:18px;border:1px solid #666}.dialysis-print-order .radio-lebel-box{font-weight:400;cursor:pointer}.dialysis-print-order .radio-no{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;z-index:-1}.dialysis-print-order .radio-inner{white-space:nowrap;cursor:pointer;outline:0;display:inline-block;line-height:1;position:relative;vertical-align:middle}.dialysis-print-order .radio-fang{display:inline-block;position:relative;border:1px solid #000;box-sizing:border-box;width:18px;height:18px;background-color:#fff;z-index:1;transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.dialysis-print-order .is-checked-radio::after{content:"√";font-size:19px}}.dialysis-print-order .print-table-no tr td { padding: 8px 5px; line-height: 25px; }.es-img{height: 20px; }.advice-name{text-align: left;}.advice-children{display:flex;} .dialysis-print-order .print-table tr td{padding: 0px 0px;} .print-template-two tr {line-height: 30px;}   .title-box-pro{border: 0 #fff;line-height: 40px;height: 40px;text-align: left;padding-left: 10px !important;}  .text-align-left{text-align: left !important;padding-left:10px !important;font-size: 14px !important;line-height: 25px;}.row {font-size: 16px;line-height: 20px;padding: 5px 0;}.inline_block { display: inline-block;}.under_line {display: inline-block;border-bottom: 1px solid #999;text-align: center;white-space: nowrap; width: 50%;}'
1344
       printJS({
1355
       printJS({
1345
         printable: "print_content",
1356
         printable: "print_content",
1346
         type: "html",
1357
         type: "html",
1585
   width: 100%;
1596
   width: 100%;
1586
   text-align: center;
1597
   text-align: center;
1587
   border-collapse: collapse;
1598
   border-collapse: collapse;
1588
-  font-size: 14px;
1599
+  font-size: 18px;
1589
 }
1600
 }
1590
 
1601
 
1591
 .es-img {
1602
 .es-img {
1669
 .dialysis-print-order .table-box {
1680
 .dialysis-print-order .table-box {
1670
   width: 100%;
1681
   width: 100%;
1671
   line-height: 23px;
1682
   line-height: 23px;
1672
-  font-size: 14px;
1683
+  font-size: 18px;
1673
 }
1684
 }
1674
 
1685
 
1675
 .dialysis-print-order .print-table {
1686
 .dialysis-print-order .print-table {
1677
   text-align: center;
1688
   text-align: center;
1678
   border-collapse: collapse;
1689
   border-collapse: collapse;
1679
   line-height: 40px;
1690
   line-height: 40px;
1680
-  font-size: 14px;
1691
+  font-size: 18px;
1681
 }
1692
 }
1682
 
1693
 
1683
 .dialysis-print-order .print-table-no {
1694
 .dialysis-print-order .print-table-no {
1684
   width: 100%;
1695
   width: 100%;
1685
   text-align: center;
1696
   text-align: center;
1686
   border-collapse: collapse;
1697
   border-collapse: collapse;
1687
-  font-size: 14px;
1698
+  font-size: 18px;
1688
 }
1699
 }
1689
 
1700
 
1690
 .dialysis-print-order .under-line {
1701
 .dialysis-print-order .under-line {
1729
   position: relative;
1740
   position: relative;
1730
   border: 1px solid #000;
1741
   border: 1px solid #000;
1731
   box-sizing: border-box;
1742
   box-sizing: border-box;
1732
-  width: 14px;
1733
-  height: 14px;
1743
+  width: 18px;
1744
+  height: 18px;
1734
   background-color: #fff;
1745
   background-color: #fff;
1735
   z-index: 1;
1746
   z-index: 1;
1736
   transition: border-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46),
1747
   transition: border-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46),
1739
 
1750
 
1740
 .dialysis-print-order .is-checked-radio::after {
1751
 .dialysis-print-order .is-checked-radio::after {
1741
   content: "√";
1752
   content: "√";
1742
-  font-size: 15px;
1753
+  font-size: 19px;
1743
 }
1754
 }
1744
 
1755
 
1745
 .dialysis-print-order .print-table-no tr td {
1756
 .dialysis-print-order .print-table-no tr td {
1819
 .dialysis-print-order .table-box {
1830
 .dialysis-print-order .table-box {
1820
   width: 100%;
1831
   width: 100%;
1821
   line-height: 23px;
1832
   line-height: 23px;
1822
-  font-size: 14px;
1833
+  font-size: 18px;
1823
 }
1834
 }
1824
 
1835
 
1825
 .dialysis-print-order .print-table {
1836
 .dialysis-print-order .print-table {
1827
   text-align: center;
1838
   text-align: center;
1828
   border-collapse: collapse;
1839
   border-collapse: collapse;
1829
   line-height: 40px;
1840
   line-height: 40px;
1830
-  font-size: 14px;
1841
+  font-size: 18px;
1831
 }
1842
 }
1832
 
1843
 
1833
 .dialysis-print-order .print-table-no {
1844
 .dialysis-print-order .print-table-no {
1834
   width: 100%;
1845
   width: 100%;
1835
   text-align: center;
1846
   text-align: center;
1836
   border-collapse: collapse;
1847
   border-collapse: collapse;
1837
-  font-size: 14px;
1848
+  font-size: 18px;
1838
 }
1849
 }
1839
 
1850
 
1840
 .dialysis-print-order .under-line {
1851
 .dialysis-print-order .under-line {
1846
 
1857
 
1847
 .dialysis-print-order .title-box {
1858
 .dialysis-print-order .title-box {
1848
   text-align: center;
1859
   text-align: center;
1849
-  font-size: 16px;
1860
+  font-size: 18px;
1850
 }
1861
 }
1851
 
1862
 
1852
 .dialysis-print-order .radio-lebel-box {
1863
 .dialysis-print-order .radio-lebel-box {
1879
   position: relative;
1890
   position: relative;
1880
   border: 1px solid #000;
1891
   border: 1px solid #000;
1881
   box-sizing: border-box;
1892
   box-sizing: border-box;
1882
-  width: 14px;
1883
-  height: 14px;
1893
+  width: 18px;
1894
+  height: 18px;
1884
   background-color: #fff;
1895
   background-color: #fff;
1885
   z-index: 1;
1896
   z-index: 1;
1886
   transition: border-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46),
1897
   transition: border-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46),
1889
 
1900
 
1890
 .dialysis-print-order .is-checked-radio::after {
1901
 .dialysis-print-order .is-checked-radio::after {
1891
   content: "√";
1902
   content: "√";
1892
-  font-size: 15px;
1903
+  font-size: 19px;
1893
 }
1904
 }
1894
 
1905
 
1895
 .dialysis-print-order .print-table-no tr td {
1906
 .dialysis-print-order .print-table-no tr td {

+ 21 - 19
src/xt_pages/dialysis/components/consumables.vue 查看文件

160
       this.query.page = 1
160
       this.query.page = 1
161
       this.GetDialysisgoods()
161
       this.GetDialysisgoods()
162
     },
162
     },
163
-    methods: { handleSizeChange(val) {
163
+    methods: {
164
+
165
+      handleSizeChange(val) {
164
         this.query.limit = val;
166
         this.query.limit = val;
165
         this.GetDialysisgoods();
167
         this.GetDialysisgoods();
166
       },
168
       },
180
 
182
 
181
       },
183
       },
182
       getGoodUserInfo(good_type_id,good_user,last_good_user) {
184
       getGoodUserInfo(good_type_id,good_user,last_good_user) {
183
-        var arrlist =[] 
185
+        var arrlist =[]
184
         if (good_user != null && good_user.length > 0) {
186
         if (good_user != null && good_user.length > 0) {
185
           let desc = ""
187
           let desc = ""
186
           for (let b = 0; b < good_user.length; b++){
188
           for (let b = 0; b < good_user.length; b++){
191
           return desc
193
           return desc
192
         }
194
         }
193
         return ""
195
         return ""
194
-       
196
+
195
         // else if (good_user != null && good_user.length <= 0) {
197
         // else if (good_user != null && good_user.length <= 0) {
196
         //   if (last_good_user != null && last_good_user.length > 0) {
198
         //   if (last_good_user != null && last_good_user.length > 0) {
197
         //     let desc = ""
199
         //     let desc = ""
213
             this.$message.error(response.data.msg)
215
             this.$message.error(response.data.msg)
214
             return false
216
             return false
215
           } else {
217
           } else {
216
-           
218
+
217
             this.list = []
219
             this.list = []
218
             this.good_types = []
220
             this.good_types = []
219
             this.allGoodInfo = []
221
             this.allGoodInfo = []
233
             }
235
             }
234
 
236
 
235
             this.arrKey.push(...arr)
237
             this.arrKey.push(...arr)
236
-          
238
+
237
             this.allGoodInfo = res.data.dialysis_goods
239
             this.allGoodInfo = res.data.dialysis_goods
238
-           
240
+
239
             for(let i = 0; i < res.data.dialysis_goods.length; i++){
241
             for(let i = 0; i < res.data.dialysis_goods.length; i++){
240
               let arr =[]
242
               let arr =[]
241
               let obj = {
243
               let obj = {
276
 
278
 
277
               }
279
               }
278
             }
280
             }
279
-           
281
+
280
           //  console.log("99999999",this.list)
282
           //  console.log("99999999",this.list)
281
-           let a = [] 
283
+           let a = []
282
           this.list.map(item => {
284
           this.list.map(item => {
283
             a.push(item.good_type)
285
             a.push(item.good_type)
284
           })
286
           })
285
           // console.log('aaaaaaaaa',a)
287
           // console.log('aaaaaaaaa',a)
286
           let b = []
288
           let b = []
287
-       
289
+
288
           a.map(item => {
290
           a.map(item => {
289
             let obj = []
291
             let obj = []
290
             item.map((it,index) => {
292
             item.map((it,index) => {
293
               let str = 'name' + index
295
               let str = 'name' + index
294
               c[str] = it.name
296
               c[str] = it.name
295
               obj.push(c)
297
               obj.push(c)
296
-              
298
+
297
             })
299
             })
298
-            
300
+
299
             b.push(obj)
301
             b.push(obj)
300
           })
302
           })
301
           var temp = []
303
           var temp = []
304
             var objC = {...b[i]}
306
             var objC = {...b[i]}
305
             temp.push(objC)
307
             temp.push(objC)
306
           }
308
           }
307
-       
309
+
308
           // console.log("temp--------",temp)
310
           // console.log("temp--------",temp)
309
           var tempTwo = []
311
           var tempTwo = []
310
           temp.map(item => {
312
           temp.map(item => {
314
             })
316
             })
315
             let obj2 = {}
317
             let obj2 = {}
316
             obj.map((i,ind) => {
318
             obj.map((i,ind) => {
317
-            
319
+
318
               let str = 'name' + ind
320
               let str = 'name' + ind
319
               obj2[str] = i[str]
321
               obj2[str] = i[str]
320
             })
322
             })
321
             tempTwo.push(obj2)
323
             tempTwo.push(obj2)
322
             console.log(325556574342354234234,tempTwo)
324
             console.log(325556574342354234234,tempTwo)
323
           })
325
           })
324
-          
326
+
325
           this.arrList.push(...tempTwo)
327
           this.arrList.push(...tempTwo)
326
           console.log("cccccccc",this.arrList)
328
           console.log("cccccccc",this.arrList)
327
           }
329
           }
328
-        })  
330
+        })
329
       },
331
       },
330
       selectSchedulType(scheduleType) {
332
       selectSchedulType(scheduleType) {
331
         this.schedulType = scheduleType
333
         this.schedulType = scheduleType
368
 
370
 
369
        exportList(){
371
        exportList(){
370
          import('@/vendor/Export2Excel').then(excel => {
372
          import('@/vendor/Export2Excel').then(excel => {
371
-         
372
-        
373
-       
373
+
374
+
375
+
374
          var arrTwo = []
376
          var arrTwo = []
375
          for(let i=0;i<this.arrKey.length;i++){
377
          for(let i=0;i<this.arrKey.length;i++){
376
             arrTwo.push('name'+i)
378
             arrTwo.push('name'+i)
385
          console.log("33333",this.arrList)
387
          console.log("33333",this.arrList)
386
          const data = this.formatJson(filterVal,this.arrList)
388
          const data = this.formatJson(filterVal,this.arrList)
387
          console.log("data",data)
389
          console.log("data",data)
388
-      
390
+
389
          excel.export_json_to_excel({
391
          excel.export_json_to_excel({
390
            header: tHeader,
392
            header: tHeader,
391
            data,
393
            data,

+ 25 - 5
src/xt_pages/dialysis/details/DialysisPrescription.vue 查看文件

10
           <span class="content">{{ dialysis_mode }}</span>
10
           <span class="content">{{ dialysis_mode }}</span>
11
         </li>
11
         </li>
12
 
12
 
13
-        <li v-if="isShow('置换量')">
13
+        <li v-if="isShow('置换量') && (dialysis_mode == 'HDF' || dialysis_mode == 'HF' || dialysis_mode =='HDF+HP')">
14
           <label>置换量 : </label>
14
           <label>置换量 : </label>
15
           <span class="content">{{
15
           <span class="content">{{
16
             replacement_total != "0" ? replacement_total : ""
16
             replacement_total != "0" ? replacement_total : ""
47
           <span class="content">{{ anticoagulant }}</span>
47
           <span class="content">{{ anticoagulant }}</span>
48
         </li>
48
         </li>
49
 
49
 
50
-        <li v-if="isShow('抗凝剂商品名称')">
50
+        <li v-if="isShow('抗凝剂商品名称') && this.$store.getters.xt_user.template_info.template_id != 24">
51
           <label>抗凝剂商品名称 : </label>
51
           <label>抗凝剂商品名称 : </label>
52
           <span class="content">{{ antioxidant_commodity_name }}</span>
52
           <span class="content">{{ antioxidant_commodity_name }}</span>
53
         </li>
53
         </li>
106
           <span class="content">{{
106
           <span class="content">{{
107
             target_ultrafiltration != "0" ? target_ultrafiltration : ""
107
             target_ultrafiltration != "0" ? target_ultrafiltration : ""
108
           }}</span>
108
           }}</span>
109
-          <span v-if="this.$store.getters.xt_user.template_info.template_id != 17 && this.$store.getters.xt_user.template_info.template_id != 9 && this.$store.getters.xt_user.template_info.template_id != 20 && this.$store.getters.xt_user.template_info.template_id != 21 && this.$store.getters.xt_user.template_info.template_id != 22 && this.$store.getters.xt_user.template_info.template_id != 23 && this.$store.getters.xt_user.template_info.template_id != 24 && this.$store.getters.xt_user.template_info.template_id != 26 && this.$store.getters.xt_user.template_info.template_id != 28 && this.$store.getters.xt_user.template_info.template_id != 27 && this.$store.getters.xt_user.template_info.template_id != 29 && this.$store.getters.xt_user.template_info.template_id != 30 && this.$store.getters.xt_user.template_info.template_id != 31 && this.$store.getters.xt_user.template_info.template_id != 32 && this.$store.getters.xt_user.template_info.template_id != 34 && this.$store.getters.xt_user.template_info.org_id != 9555" class="unit">{{ target_ultrafiltration != "0" ? "L" : "" }}</span>
110
-          <span v-if="this.$store.getters.xt_user.template_info.template_id == 17 || this.$store.getters.xt_user.template_info.template_id == 9 || this.$store.getters.xt_user.template_info.template_id == 20 || this.$store.getters.xt_user.template_info.template_id == 21 || this.$store.getters.xt_user.template_info.template_id == 22 || this.$store.getters.xt_user.template_info.template_id == 23 || this.$store.getters.xt_user.template_info.template_id == 24 || this.$store.getters.xt_user.template_info.template_id == 26 || this.$store.getters.xt_user.template_info.template_id == 28 || this.$store.getters.xt_user.template_info.template_id == 27 || this.$store.getters.xt_user.template_info.template_id == 29 || this.$store.getters.xt_user.template_info.template_id == 30 || this.$store.getters.xt_user.template_info.template_id == 31 || this.$store.getters.xt_user.template_info.template_id == 32 || this.$store.getters.xt_user.template_info.template_id == 34 || this.$store.getters.xt_user.template_info.org_id == 9555" class="unit">{{ target_ultrafiltration != "0" ? "ml" : "" }}</span>
109
+          <span v-if="this.$store.getters.xt_user.template_info.template_id != 17 && this.$store.getters.xt_user.template_info.template_id != 9 && this.$store.getters.xt_user.template_info.template_id != 20 && this.$store.getters.xt_user.template_info.template_id != 21 && this.$store.getters.xt_user.template_info.template_id != 22 && this.$store.getters.xt_user.template_info.template_id != 23 && this.$store.getters.xt_user.template_info.template_id != 24 && this.$store.getters.xt_user.template_info.template_id != 26 && this.$store.getters.xt_user.template_info.template_id != 28 && this.$store.getters.xt_user.template_info.template_id != 27 && this.$store.getters.xt_user.template_info.template_id != 29 && this.$store.getters.xt_user.template_info.template_id != 30 && this.$store.getters.xt_user.template_info.template_id != 31 && this.$store.getters.xt_user.template_info.template_id != 32 && this.$store.getters.xt_user.template_info.template_id != 34 && this.$store.getters.xt_user.template_info.template_id != 36 && this.$store.getters.xt_user.template_info.template_id != 38 && this.$store.getters.xt_user.template_info.org_id != 9555" class="unit">{{ target_ultrafiltration != "0" ? "L" : "" }}</span>
110
+          <span v-if="this.$store.getters.xt_user.template_info.template_id == 17 || this.$store.getters.xt_user.template_info.template_id == 9 || this.$store.getters.xt_user.template_info.template_id == 20 || this.$store.getters.xt_user.template_info.template_id == 21 || this.$store.getters.xt_user.template_info.template_id == 22 || this.$store.getters.xt_user.template_info.template_id == 23 || this.$store.getters.xt_user.template_info.template_id == 24 || this.$store.getters.xt_user.template_info.template_id == 26 || this.$store.getters.xt_user.template_info.template_id == 28 || this.$store.getters.xt_user.template_info.template_id == 27 || this.$store.getters.xt_user.template_info.template_id == 29 || this.$store.getters.xt_user.template_info.template_id == 30 || this.$store.getters.xt_user.template_info.template_id == 31 || this.$store.getters.xt_user.template_info.template_id == 32 || this.$store.getters.xt_user.template_info.template_id == 34 || this.$store.getters.xt_user.template_info.template_id == 36 || this.$store.getters.xt_user.template_info.template_id == 38 || this.$store.getters.xt_user.template_info.org_id == 9555" class="unit">{{ target_ultrafiltration != "0" ? "ml" : "" }}</span>
111
         </li>
111
         </li>
112
         <li v-if="isShow('葡萄糖')">
112
         <li v-if="isShow('葡萄糖')">
113
           <label>葡萄糖 : </label>
113
           <label>葡萄糖 : </label>
312
           <span class="content" v-if="this.prescription.anticoagulant_stop_time_hour == 0 && this.prescription.anticoagulant_stop_time_min == 0 "></span>
312
           <span class="content" v-if="this.prescription.anticoagulant_stop_time_hour == 0 && this.prescription.anticoagulant_stop_time_min == 0 "></span>
313
           <span class="unit"></span>
313
           <span class="unit"></span>
314
         </li>
314
         </li>
315
+       
316
+        <li v-if="isShow('病情')">
317
+          <label>病情: </label>
318
+          <span class="content">{{getIllness(this.prescription.illness)}}</span>
319
+        </li>
315
 
320
 
321
+         <li v-if="isShow('葡萄糖')">
322
+          <label>葡萄糖: </label>
323
+          <span class="content">{{this.prescription.amylaceum}}</span>
324
+        </li>
316
 
325
 
317
       </ul>
326
       </ul>
318
     </div>
327
     </div>
628
     },
637
     },
629
     displace_speed:function(){
638
     displace_speed:function(){
630
       return this.getValueStr('displace_speed','displace_speed')
639
       return this.getValueStr('displace_speed','displace_speed')
631
-    }
640
+    },
641
+   
632
   },
642
   },
633
   created() {
643
   created() {
634
 
644
 
685
         }
695
         }
686
       }
696
       }
687
       return false
697
       return false
698
+    },
699
+     getIllness(id){
700
+       var illnessList = getDataConfig('hemodialysis','illness')
701
+       var name = ""
702
+       for(let i=0;i<illnessList.length;i++){
703
+          if(id == illnessList[i].id){
704
+            name = illnessList[i].name
705
+          }
706
+       }
707
+       return name
688
     }
708
     }
689
   }
709
   }
690
 }
710
 }

+ 4 - 2
src/xt_pages/dialysis/details/NavIgation.vue 查看文件

206
 
206
 
207
   data() {
207
   data() {
208
     return {
208
     return {
209
-      temp_schedual: null
209
+      temp_schedual: {}
210
     };
210
     };
211
   },
211
   },
212
   mounted() {},
212
   mounted() {},
578
         system_prescribe
578
         system_prescribe
579
       );
579
       );
580
 
580
 
581
-      // this.temp_schedual = schedual
581
+      this.temp_schedual = schedual
582
+
583
+      console.log("排班列表2222222222222222",schedual)
582
     },
584
     },
583
 
585
 
584
     add_monitor: function(monitor) {
586
     add_monitor: function(monitor) {

+ 11 - 1
src/xt_pages/dialysis/details/acceptsAssessment.vue 查看文件

83
           <span class="content">{{sickCondition}} </span>
83
           <span class="content">{{sickCondition}} </span>
84
         </li>
84
         </li>
85
 
85
 
86
+
87
+       
88
+
86
         <li v-if="isShow('风险程度')">
89
         <li v-if="isShow('风险程度')">
87
           <label>风险程度:</label>
90
           <label>风险程度:</label>
88
           <span class="content">{{ dangerLevel }}</span>
91
           <span class="content">{{ dangerLevel }}</span>
103
             this.record.psychological_assessment_other
106
             this.record.psychological_assessment_other
104
           }}</span>
107
           }}</span>
105
         </li>
108
         </li>
106
-
109
+        
110
+       <li v-if="isShow('是否跌倒')">
111
+          <label>是否跌倒:</label>
112
+          <span class="content">
113
+            <span v-if="this.record.tumble == 1">是</span>
114
+            <span v-if="this.record.tumble == 2">否</span>
115
+          </span>
116
+        </li>
107
 
117
 
108
       </ul>
118
       </ul>
109
 
119
 

+ 37 - 3
src/xt_pages/dialysis/details/assessmentAfter.vue 查看文件

17
           <span class="content" v-if="actual_ultrafiltration != '0'">{{
17
           <span class="content" v-if="actual_ultrafiltration != '0'">{{
18
             actual_ultrafiltration
18
             actual_ultrafiltration
19
           }}</span>
19
           }}</span>
20
-          <span class="unit" v-if=" actual_ultrafiltration != '0' && (this.$store.getters.xt_user.template_info.template_id == 6 || this.$store.getters.xt_user.template_info.template_id == 9 || this.$store.getters.xt_user.template_info.template_id == 17 || this.$store.getters.xt_user.template_info.template_id == 20 || this.$store.getters.xt_user.template_info.template_id == 21 || this.$store.getters.xt_user.template_info.template_id == 22 || this.$store.getters.xt_user.template_info.template_id == 23 || this.$store.getters.xt_user.template_info.template_id == 24 || this.$store.getters.xt_user.template_info.template_id == 26 || this.$store.getters.xt_user.template_info.template_id == 28 || this.$store.getters.xt_user.template_info.template_id == 27 || this.$store.getters.xt_user.template_info.template_id == 29 || this.$store.getters.xt_user.template_info.template_id == 30 || this.$store.getters.xt_user.template_info.template_id == 31 || this.$store.getters.xt_user.template_info.template_id == 32 || this.$store.getters.xt_user.template_info.template_id == 34 || this.$store.getters.xt_user.template_info.org_id == 9555) " >ml</span>
21
-          <span class="unit" v-if=" actual_ultrafiltration != '0' && this.$store.getters.xt_user.template_info.template_id != 6 && this.$store.getters.xt_user.template_info.template_id != 9 && this.$store.getters.xt_user.template_info.template_id != 17 && this.$store.getters.xt_user.template_info.template_id != 20 && this.$store.getters.xt_user.template_info.template_id != 21 && this.$store.getters.xt_user.template_info.template_id != 22 && this.$store.getters.xt_user.template_info.template_id != 23 && this.$store.getters.xt_user.template_info.template_id != 24 && this.$store.getters.xt_user.template_info.template_id != 26 && this.$store.getters.xt_user.template_info.template_id != 28 && this.$store.getters.xt_user.template_info.template_id != 27 && this.$store.getters.xt_user.template_info.template_id != 29 && this.$store.getters.xt_user.template_info.template_id != 30 && this.$store.getters.xt_user.template_info.template_id != 31 && this.$store.getters.xt_user.template_info.template_id != 32 && this.$store.getters.xt_user.template_info.template_id != 34 &&  this.$store.getters.xt_user.template_info.org_id == 9555 " >L</span>
20
+          <span class="unit" v-if=" actual_ultrafiltration != '0' && (this.$store.getters.xt_user.template_info.template_id == 6 || this.$store.getters.xt_user.template_info.template_id == 9 || this.$store.getters.xt_user.template_info.template_id == 17 || this.$store.getters.xt_user.template_info.template_id == 20 || this.$store.getters.xt_user.template_info.template_id == 21 || this.$store.getters.xt_user.template_info.template_id == 22 || this.$store.getters.xt_user.template_info.template_id == 23 || this.$store.getters.xt_user.template_info.template_id == 24 || this.$store.getters.xt_user.template_info.template_id == 26 || this.$store.getters.xt_user.template_info.template_id == 28 || this.$store.getters.xt_user.template_info.template_id == 27 || this.$store.getters.xt_user.template_info.template_id == 29 || this.$store.getters.xt_user.template_info.template_id == 30 || this.$store.getters.xt_user.template_info.template_id == 31 || this.$store.getters.xt_user.template_info.template_id == 32 || this.$store.getters.xt_user.template_info.template_id == 34 || this.$store.getters.xt_user.template_info.template_id == 36 || this.$store.getters.xt_user.template_info.template_id == 38 || this.$store.getters.xt_user.template_info.org_id == 9555) " >ml</span>
21
+          <span class="unit" v-if=" actual_ultrafiltration != '0' && this.$store.getters.xt_user.template_info.template_id != 6 && this.$store.getters.xt_user.template_info.template_id != 9 && this.$store.getters.xt_user.template_info.template_id != 17 && this.$store.getters.xt_user.template_info.template_id != 20 && this.$store.getters.xt_user.template_info.template_id != 21 && this.$store.getters.xt_user.template_info.template_id != 22 && this.$store.getters.xt_user.template_info.template_id != 23 && this.$store.getters.xt_user.template_info.template_id != 24 && this.$store.getters.xt_user.template_info.template_id != 26 && this.$store.getters.xt_user.template_info.template_id != 28 && this.$store.getters.xt_user.template_info.template_id != 27 && this.$store.getters.xt_user.template_info.template_id != 29 && this.$store.getters.xt_user.template_info.template_id != 30 && this.$store.getters.xt_user.template_info.template_id != 31 && this.$store.getters.xt_user.template_info.template_id != 32 && this.$store.getters.xt_user.template_info.template_id != 34 && this.$store.getters.xt_user.template_info.template_id != 36 && this.$store.getters.xt_user.template_info.template_id != 38 &&  this.$store.getters.xt_user.template_info.org_id == 9555 " >L</span>
22
         </li>
22
         </li>
23
         <li v-if="isShow('导管')">
23
         <li v-if="isShow('导管')">
24
           <label>导管 : </label>
24
           <label>导管 : </label>
296
           <span class="content" >{{ this.record.stroke_volume ? this.record.stroke_volume : ""  }}</span>
296
           <span class="content" >{{ this.record.stroke_volume ? this.record.stroke_volume : ""  }}</span>
297
           <span class="unit">{{ this.record.stroke_volume ? "ml" : "" }}</span>
297
           <span class="unit">{{ this.record.stroke_volume ? "ml" : "" }}</span>
298
         </li>
298
         </li>
299
+        <li v-if="isShow('KT/V')">
300
+          <label>KT/V: </label>
301
+          <span class="content" >{{ this.record.ktv ? this.record.ktv : ""  }}</span>
302
+        </li>
303
+        <li v-if="isShow('意识')">
304
+          <label>意识: </label>
305
+          <span class="content" >{{ getConsciousness(this.record.consciousness)}}</span>
306
+        </li>
307
+        <li v-if="isShow('跌倒风险')">
308
+          <label>跌倒风险: </label>
309
+          <span class="content" >{{ getFallrisk(this.record.fallrisk)}}</span>
310
+        </li>
299
       </ul>
311
       </ul>
300
     </div>
312
     </div>
301
     <div class="note">
313
     <div class="note">
636
         return ''
648
         return ''
637
       }
649
       }
638
       return this.record.in_advance_reason_other
650
       return this.record.in_advance_reason_other
639
-    }
651
+    },
652
+   
640
   },
653
   },
641
   methods: {
654
   methods: {
642
     getInternal: function() {
655
     getInternal: function() {
771
         }
784
         }
772
       }
785
       }
773
       return false
786
       return false
787
+    },
788
+     getConsciousness:function(id){
789
+       var consciousnessList = getDataConfig("hemodialysis","consciousness")
790
+     
791
+       var name = ""
792
+       for(let i=0;i<consciousnessList.length;i++){
793
+         if(id == consciousnessList[i].id){
794
+           name= consciousnessList[i].name
795
+         }
796
+      }
797
+      return name
798
+    },
799
+    getFallrisk:function(id){
800
+      var fallriskList = getDataConfig("hemodialysis","fallrisk")
801
+      var name = ""
802
+      for(let i=0;i<fallriskList.length;i++){
803
+        if(id == fallriskList[i].id){
804
+           name = fallriskList[i].name
805
+        }
806
+      }
807
+      return name
774
     }
808
     }
775
   }
809
   }
776
 }
810
 }

+ 31 - 0
src/xt_pages/dialysis/details/assessmentBefore.vue 查看文件

333
           <span class="content">{{this.record.thromubus_v}}</span>
333
           <span class="content">{{this.record.thromubus_v}}</span>
334
           <span class="unit"></span>
334
           <span class="unit"></span>
335
         </li>
335
         </li>
336
+
337
+
338
+        <li v-if="isShow('预增脱水量')">
339
+          <label>预增脱水量(L): </label>
340
+          <span class="content">{{this.record.dehydration}}</span>
341
+          <span class="unit"></span>
342
+        </li>
343
+
344
+
345
+         <li v-if="isShow('透析前药物')">
346
+          <label>透析前药物: </label>
347
+          <span class="content">{{this.record.pre_dialysis_drugs}}</span>
348
+          <span class="unit"></span>
349
+        </li>
350
+       
351
+        <li v-if="isShow('围手术期')">
352
+          <label>围手术期: </label>
353
+          <span class="content">
354
+            <span v-if="this.record.period==1">无</span>
355
+            <span v-if="this.record.period==2">有</span>
356
+          </span>
357
+          <span class="unit"></span>
358
+        </li>
359
+
360
+
361
+         <li v-if="isShow('预计进食量')">
362
+          <label>预计进食量: </label>
363
+          <span class="content">{{this.record.estimated_food_intake}}</span>
364
+          <span class="unit"></span>
365
+        </li>
366
+       
336
       </ul>
367
       </ul>
337
     </div>
368
     </div>
338
     <div class="note">
369
     <div class="note">

+ 127 - 6
src/xt_pages/dialysis/details/dialog/AssessmentAfterDislysis.vue 查看文件

28
           <el-col :span="8" v-if="isShow('实际超滤量')">
28
           <el-col :span="8" v-if="isShow('实际超滤量')">
29
             <el-form-item
29
             <el-form-item
30
               label="实际超滤量(ml): "
30
               label="实际超滤量(ml): "
31
-              v-if=" this.template_id == 6 || this.template_id == 9 || this.template_id == 10 || this.template_id == 11  || this.template_id == 17 || this.template_id == 20 || this.template_id == 21 || this.template_id == 22 || this.template_id == 23 || this.template_id == 24 || this.template_id == 26 || this.template_id == 28 || this.template_id == 27 || this.template_id == 29 || this.template_id == 30 || this.template_id == 31 || this.template_id == 32 || this.template_id == 34 || this.$store.getters.xt_user.template_info.org_id == 9555 "  >
31
+              v-if=" this.template_id == 6 || this.template_id == 9 || this.template_id == 10 || this.template_id == 11  || this.template_id == 17 || this.template_id == 20 || this.template_id == 21 || this.template_id == 22 || this.template_id == 23 || this.template_id == 24 || this.template_id == 26 || this.template_id == 28 || this.template_id == 27 || this.template_id == 29 || this.template_id == 30 || this.template_id == 31 || this.template_id == 32 || this.template_id == 34 || this.template_id == 36 || this.template_id == 38 || this.$store.getters.xt_user.template_info.org_id == 9555 "  >
32
               <el-input v-model="form.actual_ultrafiltration"></el-input>
32
               <el-input v-model="form.actual_ultrafiltration"></el-input>
33
             </el-form-item>
33
             </el-form-item>
34
             <el-form-item label="实际超滤量(L): " v-else>
34
             <el-form-item label="实际超滤量(L): " v-else>
596
           </el-form-item>
596
           </el-form-item>
597
         </el-col>
597
         </el-col>
598
 
598
 
599
+        <el-col :span="8" v-if="isShow('URR')">
600
+            <el-form-item label="URR:">
601
+               <el-input v-model="form.urr"></el-input>
602
+            </el-form-item>
603
+        </el-col>
604
+        <el-col :span="8" v-if="isShow('透析相关高血压')">
605
+            <el-form-item label="透析相关高血压:">
606
+        
607
+             <el-select v-model="form.hypertenison">
608
+              <el-option :key="0" label="请选择" :value="0"></el-option>
609
+              <el-option
610
+                v-for="item in option"
611
+                :label="item.name"
612
+                :value="item.id"
613
+                :key="item.id"
614
+              ></el-option>
615
+            </el-select>
616
+            </el-form-item>
617
+        </el-col>
618
+         <el-col :span="8" v-if="isShow('透析相关低血压')">
619
+            <el-form-item label="透析相关低血压">
620
+             <el-select v-model="form.hypopiesia">
621
+              <el-option
622
+                v-for="item in optionOne"
623
+                :label="item.name"
624
+                :value="item.id"
625
+                :key="item.id"
626
+              ></el-option>
627
+             </el-select>
628
+            </el-form-item>
629
+        </el-col>
630
+        <el-col :span="8" v-if="isShow('离科方式')">
631
+            <el-form-item label="离科方式">
632
+               <el-select v-model="form.leave_office_method">
633
+                <el-option
634
+                  v-for="item in leaveOfficeMethod"
635
+                  :label="item.name"
636
+                  :value="item.id"
637
+                  :key="item.id"
638
+                ></el-option>
639
+             </el-select>
640
+            </el-form-item>
641
+        </el-col>
642
+         <el-col :span="8" v-if="isShow('转归')">
643
+            <el-form-item label="转归">
644
+             <el-select v-model="form.lapse">
645
+              <el-option
646
+                v-for="item in lapseList"
647
+                :label="item.name"
648
+                :value="item.id"
649
+                :key="item.id"
650
+              ></el-option>
651
+             </el-select>
652
+            </el-form-item>
653
+        </el-col>
654
+        <el-col :span="8" v-if="isShow('意识')">
655
+            <el-form-item label="意识">
656
+             <el-select v-model="form.consciousness">
657
+              <el-option
658
+                v-for="item in consciousnessList"
659
+                :label="item.name"
660
+                :value="item.id"
661
+                :key="item.id"
662
+              ></el-option>
663
+             </el-select>
664
+            </el-form-item>
665
+        </el-col>
666
+        <el-col :span="8" v-if="isShow('跌倒风险')">
667
+            <el-form-item label="跌倒风险">
668
+             <el-select v-model="form.fallrisk">
669
+              <el-option
670
+                v-for="item in fallriskList"
671
+                :label="item.name"
672
+                :value="item.id"
673
+                :key="item.id"
674
+              ></el-option>
675
+             </el-select>
676
+            </el-form-item>
677
+        </el-col>
678
+        <el-col :span="24" v-if="isShow('KT/V')">
679
+            <el-form-item label="KT/V:">
680
+              <el-input type="textarea" :rows="4" v-model="form.ktv"></el-input>
681
+            </el-form-item>
682
+        </el-col>
599
       </el-form>
683
       </el-form>
684
+         
600
 
685
 
601
       <span slot="footer" class="dialog-footer">
686
       <span slot="footer" class="dialog-footer">
602
         <el-button @click="hide">取 消</el-button>
687
         <el-button @click="hide">取 消</el-button>
679
       isVisibiltyForCruorDialog: false,
764
       isVisibiltyForCruorDialog: false,
680
       dialogCruorTitle: '凝血',
765
       dialogCruorTitle: '凝血',
681
       sealing_fluid_special_name: '',
766
       sealing_fluid_special_name: '',
682
-
767
+      option:[
768
+        {id:"1",name:"有"},
769
+        {id:"2",name:"无"},
770
+      ],
771
+       optionOne:[
772
+        {id:"1",name:"有"},
773
+        {id:"2",name:"无"},
774
+      ],
683
       InnerDialogProps: {
775
       InnerDialogProps: {
684
         values: [],
776
         values: [],
685
         visibility: false,
777
         visibility: false,
748
         supine_diastolic_blood_pressure:'',
840
         supine_diastolic_blood_pressure:'',
749
         diastolic_pressure:'',
841
         diastolic_pressure:'',
750
         additional_weight:'',
842
         additional_weight:'',
751
-        other_complication:''
752
-      }
843
+        other_complication:'',
844
+        ktv:"",
845
+        urr:"",
846
+        hypertenison:"",
847
+        hypopiesia:"",
848
+        leave_office_method:"",
849
+        lapse:"",
850
+        consciousness:"",
851
+        fallrisk:"",
852
+      },
853
+      lapseList:[],
854
+      leaveOfficeMethod:[],
855
+      consciousnessList:[],
856
+      fallriskList:[]
753
     }
857
     }
754
   },
858
   },
755
   watch: {
859
   watch: {
952
       data["diastolic_pressure"] = this.form.diastolic_pressure
1056
       data["diastolic_pressure"] = this.form.diastolic_pressure
953
       data["additional_weight"] = this.form.additional_weight ? parseFloat(this.form.additional_weight) : 0
1057
       data["additional_weight"] = this.form.additional_weight ? parseFloat(this.form.additional_weight) : 0
954
       data["other_complication"] = this.form.other_complication
1058
       data["other_complication"] = this.form.other_complication
1059
+      data["ktv"] = this.form.ktv
1060
+      data["urr"] = this.form.urr
1061
+      data["hypertenison"] = parseInt(this.form.hypertenison)
1062
+      data["hypopiesia"] = parseInt(this.form.hypopiesia)
1063
+      data["leave_office_method"] = this.form.leave_office_method
1064
+      data["lapse"] = this.form.lapse
1065
+      data["consciousness"] = this.form.consciousness
1066
+      data["fallrisk"] = this.form.fallrisk
1067
+      console.log("Paramsquery",data)
955
       postAssessmentAfterDislysis(ParamsQuery, data)
1068
       postAssessmentAfterDislysis(ParamsQuery, data)
956
         .then(response => {
1069
         .then(response => {
957
           this.loading = false
1070
           this.loading = false
1100
       this.predialysis = predialysis
1213
       this.predialysis = predialysis
1101
       this.form.observation_content = predialysis.observation_content
1214
       this.form.observation_content = predialysis.observation_content
1102
       this.form.inpatient_department = predialysis.inpatient_department
1215
       this.form.inpatient_department = predialysis.inpatient_department
1103
-      this.form.observation_content_other =
1104
-        predialysis.observation_content_other
1216
+      this.form.observation_content_other = predialysis.observation_content_other
1217
+      this.form.hypertenison = predialysis.hypertenison.toString()
1218
+      this.form.hypopiesia = predialysis.hypopiesia.toString()
1219
+      this.form.leave_office_method = predialysis.leave_office_method
1220
+      this.form.lapse = predialysis.lapse
1105
       // console.log("透后", predialysis);
1221
       // console.log("透后", predialysis);
1106
 
1222
 
1107
       if(predialysis != null && predialysis.id == 0){
1223
       if(predialysis != null && predialysis.id == 0){
1213
     this.complicationOptions = getDataConfig('hemodialysis', 'complication')
1329
     this.complicationOptions = getDataConfig('hemodialysis', 'complication')
1214
     this.bloodFlowOptions = getDataConfig('hemodialysis', 'blood_flow')
1330
     this.bloodFlowOptions = getDataConfig('hemodialysis', 'blood_flow')
1215
     this.sealingFluidDisposeOptions = getDataConfig('hemodialysis', 'sealing_fluid_dispose')
1331
     this.sealingFluidDisposeOptions = getDataConfig('hemodialysis', 'sealing_fluid_dispose')
1332
+    this.lapseList = getDataConfig('hemodialysis', 'lapse')
1333
+    this.leaveOfficeMethod = getDataConfig('hemodialysis','leave_office_method')
1334
+    this.consciousnessList = getDataConfig("hemodialysis","consciousness")
1335
+    this.fallriskList = getDataConfig("hemodialysis","fallrisk")
1216
     this.internalFistulaTremorAcOptions = this.$store.getters.internal_fistula_tremor_ac
1336
     this.internalFistulaTremorAcOptions = this.$store.getters.internal_fistula_tremor_ac
1217
     this.patientGoseOptions = this.$store.getters.patient_gose
1337
     this.patientGoseOptions = this.$store.getters.patient_gose
1218
     this.observationContentOptions = this.$store.getters.observation_content
1338
     this.observationContentOptions = this.$store.getters.observation_content
1219
     this.template_id = this.$store.getters.xt_user.template_info.template_id
1339
     this.template_id = this.$store.getters.xt_user.template_info.template_id
1220
     this.channels = this.$store.getters.channels
1340
     this.channels = this.$store.getters.channels
1341
+
1221
     var date = this.$route.query && this.$route.query.date
1342
     var date = this.$route.query && this.$route.query.date
1222
     this.record_date = uParseTime(date, '{y}-{m}-{d}')
1343
     this.record_date = uParseTime(date, '{y}-{m}-{d}')
1223
   },
1344
   },

+ 2 - 2
src/xt_pages/dialysis/details/dialog/DoctorAdviceDialog.vue 查看文件

295
         >
295
         >
296
           <template slot-scope="scope">
296
           <template slot-scope="scope">
297
             <span v-if="scope.row.execution_time != 0">
297
             <span v-if="scope.row.execution_time != 0">
298
-              {{scope.row.start_time | parseTime('{m}-{d} {h}:{i}')}}
298
+              {{scope.row.execution_time | parseTime('{m}-{d} {h}:{i}')}}
299
             </span>
299
             </span>
300
             <span v-else></span>
300
             <span v-else></span>
301
           </template>
301
           </template>
385
         >
385
         >
386
           <template slot-scope="scope">
386
           <template slot-scope="scope">
387
             <span v-if="scope.row.execution_time != 0">
387
             <span v-if="scope.row.execution_time != 0">
388
-              {{scope.row.start_time | parseTime('{m}-{d} {h}:{i}')}}
388
+              {{scope.row.execution_time | parseTime('{m}-{d} {h}:{i}')}}
389
             </span>
389
             </span>
390
             <span v-else></span>
390
             <span v-else></span>
391
           </template>
391
           </template>

+ 14 - 1
src/xt_pages/dialysis/details/dialog/acceptsTreatmentDialog.vue 查看文件

229
           v-model="receiveTreatmentAsses.psychological_other"
229
           v-model="receiveTreatmentAsses.psychological_other"
230
         ></el-input>
230
         ></el-input>
231
       </el-form-item>
231
       </el-form-item>
232
+        <el-form-item label="是否跌倒: " v-if="isShow('是否跌倒')">
233
+        <el-radio
234
+          v-model="receiveTreatmentAsses.tumble"
235
+          label="1"
236
+          >是</el-radio>
237
+        <el-radio
238
+          v-model="receiveTreatmentAsses.tumble"
239
+          label="2"
240
+          >否
241
+        </el-radio>
242
+      </el-form-item>
232
     </el-form>
243
     </el-form>
233
     <div slot="footer" class="dialog-footer">
244
     <div slot="footer" class="dialog-footer">
234
       <el-button @click="handleCancle">取 消</el-button>
245
       <el-button @click="handleCancle">取 消</el-button>
281
         precaution: "",
292
         precaution: "",
282
         precaution_other: "",
293
         precaution_other: "",
283
         admission_number: "",
294
         admission_number: "",
284
-        diacrisis:""
295
+        diacrisis:"",
296
+        tumble:"",
285
       },
297
       },
286
       precautionTwo: []
298
       precautionTwo: []
287
     };
299
     };
301
       return false;
313
       return false;
302
     },
314
     },
303
     show(accepts) {
315
     show(accepts) {
316
+    
304
       this.accepts = accepts;
317
       this.accepts = accepts;
305
       // console.log("accepts", accepts);
318
       // console.log("accepts", accepts);
306
       var arr = [];
319
       var arr = [];

+ 40 - 3
src/xt_pages/dialysis/details/dialog/assessmentBeforeDislysisDialog.vue 查看文件

541
               <el-input v-model="assessmentBeforeDislysis.edema" @focus="showInnerDialog('16')"></el-input>
541
               <el-input v-model="assessmentBeforeDislysis.edema" @focus="showInnerDialog('16')"></el-input>
542
             </el-form-item>
542
             </el-form-item>
543
           </el-col>
543
           </el-col>
544
-          
545
 
544
 
545
+         <el-col :span="8">
546
+            <el-form-item label="预增脱水量(L):" v-if="isShow('预增脱水量')">
547
+             <el-input v-model="assessmentBeforeDislysis.dehydration"></el-input>
548
+            </el-form-item>
549
+          </el-col>
550
+
551
+
552
+          <el-col :span="8">
553
+            <el-form-item label="透析前药物:" v-if="isShow('透析前药物')">
554
+             <el-input v-model="assessmentBeforeDislysis.pre_dialysis_drugs"></el-input>
555
+            </el-form-item>
556
+          </el-col>
557
+
558
+          <el-col :span="8">
559
+            <el-form-item label="围手术期:" v-if="isShow('围手术期')">
560
+              <el-select v-model="assessmentBeforeDislysis.period">
561
+                <el-option :key="0" label="请选择" :value="0"></el-option>
562
+                <el-option label="无" value="1"></el-option>
563
+                <el-option label="有" value="2"></el-option>
564
+              </el-select>
565
+            </el-form-item>
566
+          </el-col>
567
+          
568
+          <el-col :span="8">
569
+            <el-form-item label="预计进食量:" v-if="isShow('预计进食量')">
570
+             <el-input v-model="assessmentBeforeDislysis.estimated_food_intake"></el-input>
571
+            </el-form-item>
572
+          </el-col>
546
          
573
          
547
           <el-col :span="24">
574
           <el-col :span="24">
548
             <el-form-item label="备注: ">
575
             <el-form-item label="备注: ">
705
           thromubus_type:"",
732
           thromubus_type:"",
706
           thrombus_av:"",
733
           thrombus_av:"",
707
           thromubus_a:"",
734
           thromubus_a:"",
708
-          thromubus_v:""
709
-
735
+          thromubus_v:"",
736
+          dehydration:"",
737
+          pre_dialysis_drugs:"",
738
+          period:"",
739
+          estimated_food_intake:"",
710
         },
740
         },
711
 
741
 
712
         InnerDialogProps: {
742
         InnerDialogProps: {
798
           if (this.lastPredialysisEvaluation.is_infect == 2) {
828
           if (this.lastPredialysisEvaluation.is_infect == 2) {
799
             this.lastPredialysisEvaluation.is_infect = "2"
829
             this.lastPredialysisEvaluation.is_infect = "2"
800
           }
830
           }
831
+          if(this.lastPredialysisEvaluation.period == 1){
832
+             this.lastPredialysisEvaluation.period = "1"
833
+          }
834
+          if(this.lastPredialysisEvaluation.period == 2){
835
+             this.lastPredialysisEvaluation.period = "2"
836
+          }
801
         }
837
         }
802
 
838
 
803
 
839
 
1045
             this.InnerDialogProps.isShowTextArea = false
1081
             this.InnerDialogProps.isShowTextArea = false
1046
 
1082
 
1047
             break
1083
             break
1084
+         
1048
         }
1085
         }
1049
       },
1086
       },
1050
       innerDialogComfirm: function(val) {
1087
       innerDialogComfirm: function(val) {

+ 5 - 0
src/xt_pages/dialysis/details/dialog/computer_dialog.vue 查看文件

211
       changeSchedualType: function(schedual_type) {
211
       changeSchedualType: function(schedual_type) {
212
         let ParamsQuery = {}
212
         let ParamsQuery = {}
213
         ParamsQuery['schedual_type'] = schedual_type
213
         ParamsQuery['schedual_type'] = schedual_type
214
+        ParamsQuery['record_date'] = this.$route.query.date
214
         GetSchedualNumber(ParamsQuery).then(response => {
215
         GetSchedualNumber(ParamsQuery).then(response => {
215
           if (response.data.state == 0) {
216
           if (response.data.state == 0) {
216
             return false
217
             return false
230
       GetSchedualNumber: function() {
231
       GetSchedualNumber: function() {
231
         let ParamsQuery = {}
232
         let ParamsQuery = {}
232
         ParamsQuery['schedual_type'] = this.schedual_type
233
         ParamsQuery['schedual_type'] = this.schedual_type
234
+        ParamsQuery['record_date'] = this.$route.query.date
235
+        console.log("列表33333333333333333333",ParamsQuery)
236
+        // console.log("路由",this.$route.query.date)
237
+       
233
         GetSchedualNumber(ParamsQuery).then(response => {
238
         GetSchedualNumber(ParamsQuery).then(response => {
234
           if (response.data.state == 0) {
239
           if (response.data.state == 0) {
235
             this.$message.error(response.data.msg)
240
             this.$message.error(response.data.msg)

+ 48 - 14
src/xt_pages/dialysis/details/dialog/dialysisPrescriptionDialog.vue 查看文件

67
 
67
 
68
 
68
 
69
            <el-col :span="8"
69
            <el-col :span="8"
70
-                  v-if="isShows('预冲量') && (this.$store.getters.xt_user.template_info.template_id == 17 || this.$store.getters.xt_user.template_info.template_id == 9 || this.$store.getters.xt_user.template_info.template_id == 20 || this.$store.getters.xt_user.template_info.template_id == 21 || this.$store.getters.xt_user.template_info.template_id == 22 || this.$store.getters.xt_user.template_info.template_id == 23)">
70
+                  v-if="isShows('预冲量') && (this.$store.getters.xt_user.template_info.template_id == 17 || this.$store.getters.xt_user.template_info.template_id == 9 || this.$store.getters.xt_user.template_info.template_id == 20 || this.$store.getters.xt_user.template_info.template_id == 21 || this.$store.getters.xt_user.template_info.template_id == 22 || this.$store.getters.xt_user.template_info.template_id == 23 || this.$store.getters.xt_user.template_info.template_id == 36)">
71
             <el-form-item label="预冲量(ml):">
71
             <el-form-item label="预冲量(ml):">
72
               <el-input
72
               <el-input
73
                 type="number"
73
                 type="number"
77
           </el-col>
77
           </el-col>
78
 
78
 
79
           <el-col :span="8"
79
           <el-col :span="8"
80
-                  v-if="isShows('预冲量')  && this.$store.getters.xt_user.template_info.template_id != 17 && this.$store.getters.xt_user.template_info.template_id != 9 && this.$store.getters.xt_user.template_info.template_id != 20 && this.$store.getters.xt_user.template_info.template_id != 21 && this.$store.getters.xt_user.template_info.template_id != 22 && this.$store.getters.xt_user.template_info.template_id !=23">
80
+                  v-if="isShows('预冲量')  && this.$store.getters.xt_user.template_info.template_id != 17 && this.$store.getters.xt_user.template_info.template_id != 9 && this.$store.getters.xt_user.template_info.template_id != 20 && this.$store.getters.xt_user.template_info.template_id != 21 && this.$store.getters.xt_user.template_info.template_id != 22 && this.$store.getters.xt_user.template_info.template_id !=23 && this.$store.getters.xt_user.template_info.template_id !=36">
81
             <el-form-item label="预冲量(L):">
81
             <el-form-item label="预冲量(L):">
82
               <el-input
82
               <el-input
83
                 type="number"
83
                 type="number"
87
           </el-col>
87
           </el-col>
88
 
88
 
89
           <el-col :span="8"
89
           <el-col :span="8"
90
-                  v-if="isShows('目标超滤量') && (this.$store.getters.xt_user.template_info.template_id == 17 || this.$store.getters.xt_user.template_info.template_id == 9 || this.$store.getters.xt_user.template_info.template_id == 20 || this.$store.getters.xt_user.template_info.template_id == 21 || this.$store.getters.xt_user.template_info.template_id == 22  || this.$store.getters.xt_user.template_info.template_id == 23 || this.$store.getters.xt_user.template_info.template_id == 24 || this.$store.getters.xt_user.template_info.template_id == 26 || this.$store.getters.xt_user.template_info.template_id == 28  || this.$store.getters.xt_user.template_info.template_id == 27 || this.$store.getters.xt_user.template_info.template_id == 29 || this.$store.getters.xt_user.template_info.template_id == 30 || this.$store.getters.xt_user.template_info.template_id == 31 || this.$store.getters.xt_user.template_info.template_id == 32 || this.$store.getters.xt_user.template_info.template_id == 34 || this.$store.getters.xt_user.template_info.org_id == 9555 )">
90
+                  v-if="isShows('目标超滤量') && (this.$store.getters.xt_user.template_info.template_id == 17 || this.$store.getters.xt_user.template_info.template_id == 9 || this.$store.getters.xt_user.template_info.template_id == 20 || this.$store.getters.xt_user.template_info.template_id == 21 || this.$store.getters.xt_user.template_info.template_id == 22  || this.$store.getters.xt_user.template_info.template_id == 23 || this.$store.getters.xt_user.template_info.template_id == 24 || this.$store.getters.xt_user.template_info.template_id == 26 || this.$store.getters.xt_user.template_info.template_id == 28  || this.$store.getters.xt_user.template_info.template_id == 27 || this.$store.getters.xt_user.template_info.template_id == 29 || this.$store.getters.xt_user.template_info.template_id == 30 || this.$store.getters.xt_user.template_info.template_id == 31 || this.$store.getters.xt_user.template_info.template_id == 32 || this.$store.getters.xt_user.template_info.template_id == 34 || this.$store.getters.xt_user.template_info.template_id == 36 || this.$store.getters.xt_user.template_info.template_id == 38 || this.$store.getters.xt_user.template_info.org_id == 9555 )">
91
             <el-form-item label="目标超滤量(ml):">
91
             <el-form-item label="目标超滤量(ml):">
92
               <el-input
92
               <el-input
93
                 type="number"
93
                 type="number"
97
           </el-col>
97
           </el-col>
98
 
98
 
99
           <el-col :span="8"
99
           <el-col :span="8"
100
-                  v-if="isShows('目标超滤量')  && this.$store.getters.xt_user.template_info.template_id != 17 && this.$store.getters.xt_user.template_info.template_id != 9 && this.$store.getters.xt_user.template_info.template_id != 20 && this.$store.getters.xt_user.template_info.template_id != 21 && this.$store.getters.xt_user.template_info.template_id != 22 && this.$store.getters.xt_user.template_info.template_id != 23 && this.$store.getters.xt_user.template_info.template_id != 24 && this.$store.getters.xt_user.template_info.template_id != 26 && this.$store.getters.xt_user.template_info.template_id != 28 && this.$store.getters.xt_user.template_info.template_id != 27 && this.$store.getters.xt_user.template_info.template_id != 29 && this.$store.getters.xt_user.template_info.template_id != 30 && this.$store.getters.xt_user.template_info.template_id != 31 && this.$store.getters.xt_user.template_info.template_id != 32 && this.$store.getters.xt_user.template_info.template_id != 34 && this.$store.getters.xt_user.template_info.org_id != 9555 ">
100
+                  v-if="isShows('目标超滤量')  && this.$store.getters.xt_user.template_info.template_id != 17 && this.$store.getters.xt_user.template_info.template_id != 9 && this.$store.getters.xt_user.template_info.template_id != 20 && this.$store.getters.xt_user.template_info.template_id != 21 && this.$store.getters.xt_user.template_info.template_id != 22 && this.$store.getters.xt_user.template_info.template_id != 23 && this.$store.getters.xt_user.template_info.template_id != 24 && this.$store.getters.xt_user.template_info.template_id != 26 && this.$store.getters.xt_user.template_info.template_id != 28 && this.$store.getters.xt_user.template_info.template_id != 27 && this.$store.getters.xt_user.template_info.template_id != 29 && this.$store.getters.xt_user.template_info.template_id != 30 && this.$store.getters.xt_user.template_info.template_id != 31 && this.$store.getters.xt_user.template_info.template_id != 32 && this.$store.getters.xt_user.template_info.template_id != 34 && this.$store.getters.xt_user.template_info.template_id != 36 && this.$store.getters.xt_user.template_info.template_id != 38 && this.$store.getters.xt_user.template_info.org_id != 9555 ">
101
             <el-form-item label="目标超滤量(L):">
101
             <el-form-item label="目标超滤量(L):">
102
               <el-input
102
               <el-input
103
                 type="number"
103
                 type="number"
525
 
525
 
526
             </el-form-item>
526
             </el-form-item>
527
           </el-col>
527
           </el-col>
528
+               
529
+          
530
+          <el-col :span="8" v-if="isShows('病情')">
531
+             <el-form-item label="病情:">
532
+                <el-select v-model="dialysisPrescription.illness" placeholder="请选择">
533
+                <el-option :key="0" label="请选择" :value="0"></el-option>
534
+                <el-option
535
+                  v-for="(item, index) in  illnessList "
536
+                  :key="index"
537
+                  :label="item.name"
538
+                  :value="item.id"
539
+                ></el-option>
540
+              </el-select>
541
+             </el-form-item>
542
+          </el-col>
543
+
544
+          <el-col :span="8" v-if="isShows('葡萄糖')">
545
+             <el-form-item label="葡萄糖:">
546
+                <el-input v-model="dialysisPrescription.amylaceum"></el-input>
547
+             </el-form-item>
548
+          </el-col>
549
+
528
         </el-row>
550
         </el-row>
529
 
551
 
530
         <el-row :gutter="20">
552
         <el-row :gutter="20">
1018
           irrigation:"",
1040
           irrigation:"",
1019
           antioxidant_commodity_name:"",
1041
           antioxidant_commodity_name:"",
1020
           displace_speed:"",
1042
           displace_speed:"",
1043
+          illness:"",
1044
+          amylaceum:"",
1021
         },
1045
         },
1022
 
1046
 
1023
         anticoagulant: {
1047
         anticoagulant: {
1041
         bloods:[],
1065
         bloods:[],
1042
         irrigations:[],
1066
         irrigations:[],
1043
         dialyzers:[],
1067
         dialyzers:[],
1068
+        illnessList:[]
1044
       }
1069
       }
1045
     },
1070
     },
1046
     methods: {
1071
     methods: {
1248
           'hemodialysis',
1273
           'hemodialysis',
1249
           'blood'
1274
           'blood'
1250
         )
1275
         )
1251
-        console.log("抽血-----",this.bloods)
1276
+      
1252
       //  dialyzerPerfusionApparatus.map(item => {
1277
       //  dialyzerPerfusionApparatus.map(item => {
1253
       //    item.name = item.name.toUpperCase()
1278
       //    item.name = item.name.toUpperCase()
1254
       //  })
1279
       //  })
1290
         } else {
1315
         } else {
1291
 
1316
 
1292
           if (schedual.mode_id == 2 ||schedual.mode_id == 5 ||schedual.mode_id == 12) {
1317
           if (schedual.mode_id == 2 ||schedual.mode_id == 5 ||schedual.mode_id == 12) {
1318
+            
1293
             this.zhiShow = true
1319
             this.zhiShow = true
1294
             this.huShow = true
1320
             this.huShow = true
1295
             this.totalShow = true
1321
             this.totalShow = true
1592
         return uParseTime(val, '{y}-{m}-{d} {h}:{i}')
1618
         return uParseTime(val, '{y}-{m}-{d} {h}:{i}')
1593
       },
1619
       },
1594
       show(pre,schedual,last,his_is_open) {
1620
       show(pre,schedual,last,his_is_open) {
1595
-
1621
+        
1596
         if(his_is_open == 1){
1622
         if(his_is_open == 1){
1597
           this.is_open = 0
1623
           this.is_open = 0
1598
         }
1624
         }
1616
         if (minites < 10) {
1642
         if (minites < 10) {
1617
           minites = '0' + minites
1643
           minites = '0' + minites
1618
         }
1644
         }
1619
-
1620
-        if(schedual.schedule_type == 1){
1621
-          this.start_time = year +"-"+month +"-"+day +" " + "07:00"
1622
-        }else if(schedual.schedule_type == 2){
1623
-          this.start_time = year +"-"+month +"-"+day +" " + "12:00"
1624
-        }else if(schedual.schedule_type ==3){
1625
-          this.start_time = year +"-"+month +"-"+day +" " + "18:00"
1645
+        if(this.$store.getters.xt_user.org.id == 10016){
1646
+          this.start_time = year +"-"+month +"-"+day +" " + hours + ':' + minites
1647
+        }else{
1648
+          if(schedual.schedule_type == 1){
1649
+            this.start_time = year +"-"+month +"-"+day +" " + "07:00"
1650
+          }else if(schedual.schedule_type == 2){
1651
+            this.start_time = year +"-"+month +"-"+day +" " + "12:00"
1652
+          }else if(schedual.schedule_type ==3){
1653
+            this.start_time = year +"-"+month +"-"+day +" " + "18:00"
1654
+          }
1626
         }
1655
         }
1627
 
1656
 
1628
         if (pre.anticoagulant == 3) {
1657
         if (pre.anticoagulant == 3) {
1631
         // 入口
1660
         // 入口
1632
         var pre = pre
1661
         var pre = pre
1633
         this.dialysisPrescription.mode_id = this.$route.query.mode_id
1662
         this.dialysisPrescription.mode_id = this.$route.query.mode_id
1634
-        if (pre.mode_id == 2 || pre.mode_id == 5 || pre.mode_id == 12) {
1663
+        if (pre.mode_id == 2 || pre.mode_id == 5 || pre.mode_id == 12 || this.schedual.mode_id == 2 || this.schedual.mode_id == 5 || this.schedual.mode_id == 12) {
1635
           this.zhiShow = true
1664
           this.zhiShow = true
1636
           this.huShow = true
1665
           this.huShow = true
1637
           this.totalShow = true
1666
           this.totalShow = true
2869
             this.$message.error(response.data.msg)
2898
             this.$message.error(response.data.msg)
2870
             return false
2899
             return false
2871
           } else {
2900
           } else {
2901
+            console.log("切换数据", response.data.data.solution)
2872
             this.$message.success('切换成功')
2902
             this.$message.success('切换成功')
2873
             if (response.data.data.solution != null) {
2903
             if (response.data.data.solution != null) {
2874
               for (const key in response.data.data.solution) {
2904
               for (const key in response.data.data.solution) {
3523
         console.log("透析器",this.dialyzers)
3553
         console.log("透析器",this.dialyzers)
3524
         console.log("灌流器",this.irrigations)
3554
         console.log("灌流器",this.irrigations)
3525
       }
3555
       }
3556
+    },
3557
+    created(){
3558
+      this.illnessList = getDataConfig('hemodialysis','illness')
3559
+      console.log("列表22222222222",this.illnessList)
3526
     }
3560
     }
3527
   }
3561
   }
3528
 </script>
3562
 </script>

+ 307 - 225
src/xt_pages/dialysis/details/dialog/monitor_dialog.vue 查看文件

164
                   template_id == 32 ||
164
                   template_id == 32 ||
165
                   template_id == 34 ||
165
                   template_id == 34 ||
166
                   template_id == 35 ||
166
                   template_id == 35 ||
167
+                  template_id == 36 ||
168
+                  template_id == 38 ||
167
                   org_id == 9555)
169
                   org_id == 9555)
168
             "
170
             "
169
           >
171
           >
204
                 template_id != 32 &&
206
                 template_id != 32 &&
205
                 template_id != 34 &&
207
                 template_id != 34 &&
206
                 template_id != 35 &&
208
                 template_id != 35 &&
209
+                template_id != 36 &&
210
+                template_id != 38 &&
207
                 org_id!=9555
211
                 org_id!=9555
208
             "
212
             "
209
           >
213
           >
221
             align="center"
225
             align="center"
222
             label="超滤率(ml/h)"
226
             label="超滤率(ml/h)"
223
             width="100"
227
             width="100"
224
-            v-if="isShow('超滤率') && (template_id == 6 || template_id == 10 || template_id == 11 || template_id == 12 || template_id == 13 || template_id == 17 || template_id == 18 || template_id == 19 || template_id == 20 || template_id == 21 || template_id == 22 || template_id == 23 || template_id == 24 || template_id == 26 || template_id == 29 || template_id == 30 || template_id == 31 || template_id == 34 || template_id == 35) "
228
+            v-if="isShow('超滤率') && (template_id == 6 || template_id == 10 || template_id == 11 || template_id == 12 || template_id == 13 || template_id == 17 || template_id == 18 || template_id == 19 || template_id == 20 || template_id == 21 || template_id == 22 || template_id == 23 || template_id == 24 || template_id == 26 || template_id == 29 || template_id == 30 || template_id == 31 || template_id == 34 || template_id == 35 || template_id == 38) "
225
           >
229
           >
226
             <template slot-scope="scope">
230
             <template slot-scope="scope">
227
               {{ scope.row.ultrafiltration_rate ? scope.row.ultrafiltration_rate : ""  }}
231
               {{ scope.row.ultrafiltration_rate ? scope.row.ultrafiltration_rate : ""  }}
232
             align="center"
236
             align="center"
233
             label="超滤率(L/h)"
237
             label="超滤率(L/h)"
234
             width="100"
238
             width="100"
235
-            v-if="isShow('超滤率') && template_id != 6 && template_id != 10 && template_id != 11 && template_id != 12 && template_id != 13 && template_id != 17 && template_id != 18 && template_id != 19 && template_id != 20 && template_id != 21 && template_id != 22  && template_id != 23 && template_id != 24 && template_id != 26 && template_id != 29 && template_id != 30 && template_id != 31 && template_id != 34 && template_id != 35"
239
+            v-if="isShow('超滤率') && template_id != 6 && template_id != 10 && template_id != 11 && template_id != 12 && template_id != 13 && template_id != 17 && template_id != 18 && template_id != 19 && template_id != 20 && template_id != 21 && template_id != 22  && template_id != 23 && template_id != 24 && template_id != 26 && template_id != 29 && template_id != 30 && template_id != 31 && template_id != 34 && template_id != 35 && template_id != 38"
236
           >
240
           >
237
             <template slot-scope="scope">
241
             <template slot-scope="scope">
238
               {{ scope.row.ultrafiltration_rate ? scope.row.ultrafiltration_rate : ""  }}
242
               {{ scope.row.ultrafiltration_rate ? scope.row.ultrafiltration_rate : ""  }}
370
           </el-table-column>
374
           </el-table-column>
371
 
375
 
372
 
376
 
373
-          
377
+
374
 
378
 
375
           <el-table-column
379
           <el-table-column
376
             prop="heparin"
380
             prop="heparin"
385
           <el-table-column
389
           <el-table-column
386
             prop="heparin"
390
             prop="heparin"
387
             align="center"
391
             align="center"
388
-            label="抗凝剂" 
392
+            label="抗凝剂"
389
             width="140"
393
             width="140"
390
             v-if="isShow('抗凝剂')"
394
             v-if="isShow('抗凝剂')"
391
           >
395
           >
392
             <template slot-scope="scope">
396
             <template slot-scope="scope">
393
-             <span v-if="scope.row.monitor_anticoagulant == 1">无肝素</span> 
397
+             <span v-if="scope.row.monitor_anticoagulant == 1">无肝素</span>
394
              <span v-if="scope.row.monitor_anticoagulant == 2">普通肝素</span>
398
              <span v-if="scope.row.monitor_anticoagulant == 2">普通肝素</span>
395
              <span v-if="scope.row.monitor_anticoagulant == 3">低分子肝素</span>
399
              <span v-if="scope.row.monitor_anticoagulant == 3">低分子肝素</span>
396
              <span v-if="scope.row.monitor_anticoagulant == 4">阿加曲班</span>
400
              <span v-if="scope.row.monitor_anticoagulant == 4">阿加曲班</span>
400
              <span v-if="scope.row.monitor_anticoagulant == 8">依诺肝素</span>
404
              <span v-if="scope.row.monitor_anticoagulant == 8">依诺肝素</span>
401
              <span v-if="scope.row.monitor_anticoagulant == 9">达肝素</span>
405
              <span v-if="scope.row.monitor_anticoagulant == 9">达肝素</span>
402
              <span v-if="scope.row.monitor_anticoagulant_value!=''">({{ scope.row.monitor_anticoagulant_value ? scope.row.monitor_anticoagulant_value : ""  }})</span>
406
              <span v-if="scope.row.monitor_anticoagulant_value!=''">({{ scope.row.monitor_anticoagulant_value ? scope.row.monitor_anticoagulant_value : ""  }})</span>
403
-             
407
+
404
             </template>
408
             </template>
405
           </el-table-column>
409
           </el-table-column>
406
 
410
 
411
+
412
+          <el-table-column
413
+            prop="heparin"
414
+            align="center"
415
+            label="血压监测部位"
416
+            width="140"
417
+            v-if="isShow('血压监测部位')"
418
+          >
419
+           <template slot-scope="scope">
420
+               {{ getBloodPressure(scope.row.blood_pressure_monitoring_site)}}
421
+           </template>
422
+          </el-table-column>
423
+
424
+
425
+          <el-table-column
426
+            prop="heparin"
427
+            align="center"
428
+            label="并发症"
429
+            width="140"
430
+            v-if="isShow('并发症')"
431
+          >
432
+           <template slot-scope="scope">
433
+              {{getComplication(scope.row.complication)}}
434
+           </template>
435
+          </el-table-column>
436
+
437
+
407
            <el-table-column
438
            <el-table-column
408
             prop="heparin"
439
             prop="heparin"
409
             align="center"
440
             align="center"
424
             v-if="isShow('病情变化')"
455
             v-if="isShow('病情变化')"
425
           >
456
           >
426
           </el-table-column>
457
           </el-table-column>
427
-          
458
+
428
           <el-table-column
459
           <el-table-column
429
             prop="dispose"
460
             prop="dispose"
430
             align="center"
461
             align="center"
556
 
587
 
557
           <el-col
588
           <el-col
558
             :span="8"
589
             :span="8"
559
-            v-if=" isShow('超滤量') && (template_id == 6 || template_id == 9 || template_id == 10 || template_id == 11 || template_id == 12 || template_id == 13 || template_id == 17 || template_id == 18 || template_id == 19 || template_id == 20 || template_id == 21 || template_id == 22 || template_id == 23 || template_id == 24 || template_id == 26 || template_id == 27 || template_id == 29 || template_id == 30 || template_id == 31 || template_id == 32 || template_id == 34 || template_id == 35 || org_id == 9555) " >
590
+            v-if=" isShow('超滤量') && (template_id == 6 || template_id == 9 || template_id == 10 || template_id == 11 || template_id == 12 || template_id == 13 || template_id == 17 || template_id == 18 || template_id == 19 || template_id == 20 || template_id == 21 || template_id == 22 || template_id == 23 || template_id == 24 || template_id == 26 || template_id == 27 || template_id == 29 || template_id == 30 || template_id == 31 || template_id == 32 || template_id == 34 || template_id == 35 || template_id == 36 || org_id == 9555) " >
560
             <el-form-item label="超滤量(ml):">
591
             <el-form-item label="超滤量(ml):">
561
               <el-input v-model="form.ultrafiltration_volume"></el-input>
592
               <el-input v-model="form.ultrafiltration_volume"></el-input>
562
             </el-form-item>
593
             </el-form-item>
564
 
595
 
565
           <el-col
596
           <el-col
566
             :span="8"
597
             :span="8"
567
-            v-if=" isShow('超滤量') && template_id != 6 && template_id !=9 && template_id != 10 && template_id != 11 && template_id != 12 && template_id != 13 && template_id != 17 && template_id != 18 && template_id != 19 && template_id != 20 && template_id != 21 && template_id != 22 && template_id != 23 && template_id != 24 && template_id != 26 && template_id!=27 && template_id!=29 && template_id!=30 && template_id!=31 && template_id!=32 && template_id!=34 && template_id!=35 && org_id !=9555" >
598
+            v-if=" isShow('超滤量') && template_id != 6 && template_id !=9 && template_id != 10 && template_id != 11 && template_id != 12 && template_id != 13 && template_id != 17 && template_id != 18 && template_id != 19 && template_id != 20 && template_id != 21 && template_id != 22 && template_id != 23 && template_id != 24 && template_id != 26 && template_id!=27 && template_id!=29 && template_id!=30 && template_id!=31 && template_id!=32 && template_id!=34 && template_id!=35 && template_id!=36 && org_id !=9555" >
568
             <el-form-item label="超滤量(L):">
599
             <el-form-item label="超滤量(L):">
569
               <el-input v-model="form.ultrafiltration_volume"></el-input>
600
               <el-input v-model="form.ultrafiltration_volume"></el-input>
570
             </el-form-item>
601
             </el-form-item>
656
             </el-form-item>
687
             </el-form-item>
657
           </el-col>
688
           </el-col>
658
 
689
 
659
-      
690
+         <el-col :span="8" v-if="isShow('血压监测部位')">
691
+            <el-form-item label="血压监测部位:">
692
+              <div style="display:flex;">
693
+                <el-select v-model="form.blood_pressure_monitoring_site" placeholder="请选择" style="width:50%;">
694
+                  <el-option v-for="(item, index) in bloodPressureMmonitoringSite" :label="item.name" :key="index + 'e'" :value="item.id"></el-option>
695
+                </el-select>
696
+                </div>
697
+            </el-form-item>
698
+         </el-col>
699
+
700
+
701
+           <el-col :span="8" v-if="isShow('并发症')">
702
+            <el-form-item label="并发症">
703
+              <div style="display:flex;">
704
+                <el-select v-model="form.complication" placeholder="请选择" style="width:50%;">
705
+                  <el-option v-for="(item, index) in complicationList" :label="item.name" :key="index + 'e'" :value="item.id"></el-option>
706
+                </el-select>
707
+                </div>
708
+            </el-form-item>
709
+         </el-col>
710
+
711
+
712
+
660
           <!-- </el-row>
713
           <!-- </el-row>
661
 
714
 
662
           <el-row :gutter="20"> -->
715
           <el-row :gutter="20"> -->
843
         dispose: '', // 处理
896
         dispose: '', // 处理
844
         result: '', // 结果,
897
         result: '', // 结果,
845
         blood_oxygen_saturation: '',
898
         blood_oxygen_saturation: '',
846
-        urr:'', 
899
+        urr:'',
847
         blood_sugar:'',//血糖
900
         blood_sugar:'',//血糖
848
         monitor_anticoagulant:'',
901
         monitor_anticoagulant:'',
849
         monitor_anticoagulant_value:"",
902
         monitor_anticoagulant_value:"",
903
+        blood_pressure_monitoring_site:"",
904
+        complication:""
850
       },
905
       },
851
 
906
 
852
       table_current_row: null,
907
       table_current_row: null,
860
       valueOne: 0,
915
       valueOne: 0,
861
       valueTwo: 0,
916
       valueTwo: 0,
862
       valueThree: 0,
917
       valueThree: 0,
863
-      anticoagulantsConfit:{}
918
+      anticoagulantsConfit:{},
919
+      bloodPressureMmonitoringSite:[],
920
+      complicationList:[],
864
     }
921
     }
865
   },
922
   },
866
   props: {
923
   props: {
874
     }
931
     }
875
   },
932
   },
876
   created() {
933
   created() {
877
-    this.template_id = this.$store.getters.xt_user.template_info.template_id
878
-    this.org_id = this.$store.getters.xt_user.template_info.org_id
879
-    var date = this.$route.query.date
880
-    var patient_id = this.$route.query.patient_id
881
-    this.patient_id = patient_id
882
-    this.schedule_date = date
883
-    this.form.monitoring_date = date
934
+    this.template_id = this.$store.getters.xt_user.template_info.template_id;
935
+    this.org_id = this.$store.getters.xt_user.template_info.org_id;
936
+    var date = this.$route.query.date;
937
+    var patient_id = this.$route.query.patient_id;
938
+    this.patient_id = patient_id;
939
+    this.schedule_date = date;
940
+    this.form.monitoring_date = date;
884
     // this.form.operate_date = parseInt((new Date()).getTime() / 1000)
941
     // this.form.operate_date = parseInt((new Date()).getTime() / 1000)
885
     // this.form.monitoring_time = parseTime(new Date(), "{h}:{i}")
942
     // this.form.monitoring_time = parseTime(new Date(), "{h}:{i}")
886
-    this.form.operate_time = new Date().getTime()
887
-    var symptoms = getDataConfig('hemodialysis', 'symptoms')
888
-    console.log("sysmptoms3333333333",symptoms)
889
-    this.anticoagulantsConfit = this.$store.getters.anticoagulants_confit
890
-    console.log("抗凝剂",this.anticoagulantsConfit)
943
+    this.form.operate_time = new Date().getTime();
944
+    var symptoms = getDataConfig('hemodialysis', 'symptoms');
945
+    console.log("sysmptoms3333333333",symptoms);
946
+    this.anticoagulantsConfit = this.$store.getters.anticoagulants_confit;
947
+    //console.log("抗凝剂",this.anticoagulantsConfit)
948
+    this.bloodPressureMmonitoringSite = getDataConfig('hemodialysis','blood_pressure_monitoring_site');
949
+    this.complicationList = getDataConfig('hemodialysis','complication')
950
+
891
   },
951
   },
892
   methods: {
952
   methods: {
893
     venousPressureChange(type) {
953
     venousPressureChange(type) {
971
     },
1031
     },
972
 
1032
 
973
     isShow(name) {
1033
     isShow(name) {
974
-      var filedList = store.getters.xt_user.fileds
1034
+      var filedList = store.getters.xt_user.fileds;
975
       for (let i = 0; i < filedList.length; i++) {
1035
       for (let i = 0; i < filedList.length; i++) {
976
         if (filedList[i].module == 4 && filedList[i].filed_name_cn == name && filedList[i].is_show == 1) {
1036
         if (filedList[i].module == 4 && filedList[i].filed_name_cn == name && filedList[i].is_show == 1) {
977
           return true
1037
           return true
983
       this.cancelEditAction()
1043
       this.cancelEditAction()
984
     },
1044
     },
985
     show() {
1045
     show() {
986
-      this.getPermission()
1046
+      this.getPermission();
987
       this.visible = true
1047
       this.visible = true
988
     },
1048
     },
989
     hide() {
1049
     hide() {
994
     },
1054
     },
995
 
1055
 
996
     newRecordAction: function() {
1056
     newRecordAction: function() {
997
-      this.setEditMonitor(null)
998
-      this.$refs.table.setCurrentRow(null)
999
-      this.edit = true
1000
-      this.isAdd = true
1057
+      this.setEditMonitor(null);
1058
+      this.$refs.table.setCurrentRow(null);
1059
+      this.edit = true;
1060
+      this.isAdd = true;
1001
       this.getLastRecordTody()
1061
       this.getLastRecordTody()
1002
     },
1062
     },
1003
     getLastRecordTody() {
1063
     getLastRecordTody() {
1004
       const params = {
1064
       const params = {
1005
         patient_id: this.patient_id
1065
         patient_id: this.patient_id
1006
-      }
1066
+      };
1007
 
1067
 
1008
       getTodayMonitor(params).then(rs => {
1068
       getTodayMonitor(params).then(rs => {
1009
-        console.log("机构ID",this.org_id)
1010
-        
1011
-        var resp = rs.data.data
1012
-       
1013
-        this.form.operate_time = resp.monitor.operate_time ? (resp.monitor.operate_time + 3600) * 1000 : Date.parse(new Date())
1014
-        this.form.temperature = '' // this.last_monitor_record.pulse_frequency;
1015
-
1016
-        this.form.pulse_frequency = '' // this.last_monitor_record.pulse_frequency;
1017
-        this.form.breathing_rated =  resp.monitor.breathing_rated ? resp.monitor.breathing_rated : ''
1018
-        this.form.systolic_bp = '' // this.last_monitor_record.systolic_blood_pressure;
1019
-        this.form.diastolic_bp = '' // this.last_monitor_record.diastolic_blood_pressure;
1020
-        this.form.blood_flow_volume = resp.monitor.blood_flow_volume ? resp.monitor.blood_flow_volume : ''
1069
+        console.log("机构ID",this.org_id);
1070
+
1071
+        var resp = rs.data.data;
1072
+
1073
+        this.form.operate_time = resp.monitor.operate_time ? (resp.monitor.operate_time + 3600) * 1000 : Date.parse(new Date());
1074
+        this.form.temperature = ''; // this.last_monitor_record.pulse_frequency;
1075
+
1076
+        this.form.pulse_frequency = ''; // this.last_monitor_record.pulse_frequency;
1077
+        this.form.breathing_rated =  resp.monitor.breathing_rated ? resp.monitor.breathing_rated : '';
1078
+        this.form.systolic_bp = ''; // this.last_monitor_record.systolic_blood_pressure;
1079
+        this.form.diastolic_bp = ''; // this.last_monitor_record.diastolic_blood_pressure;
1080
+        this.form.blood_flow_volume = resp.monitor.blood_flow_volume ? resp.monitor.blood_flow_volume : '';
1021
         // 静脉压
1081
         // 静脉压
1022
         if(this.org_id == 10060){
1082
         if(this.org_id == 10060){
1023
           this.form.venous_pressure = resp.monitor.venous_pressure
1083
           this.form.venous_pressure = resp.monitor.venous_pressure
1024
         }else{
1084
         }else{
1025
           this.form.venous_pressure = '' // this.last_monitor_record.venous_pressure;
1085
           this.form.venous_pressure = '' // this.last_monitor_record.venous_pressure;
1026
         }
1086
         }
1027
-        
1028
-        this.form.venous_pressure_type = resp.monitor.venous_pressure_type ? resp.monitor.venous_pressure_type : 1
1029
-        this.form.arterial_pressure = resp.monitor.arterial_pressure ? resp.monitor.arterial_pressure : '' // this.last_monitor_record.arterial_pressure;
1030
-        this.form.arterial_pressure_type = resp.monitor.arterial_pressure_type ? resp.monitor.arterial_pressure_type : 1
1087
+
1088
+        this.form.venous_pressure_type = resp.monitor.venous_pressure_type ? resp.monitor.venous_pressure_type : 1;
1089
+        this.form.arterial_pressure = resp.monitor.arterial_pressure ? resp.monitor.arterial_pressure : ''; // this.last_monitor_record.arterial_pressure;
1090
+        this.form.arterial_pressure_type = resp.monitor.arterial_pressure_type ? resp.monitor.arterial_pressure_type : 1;
1031
         if(this.org_id == 10060){
1091
         if(this.org_id == 10060){
1032
           this.form.transmembrane_pressure = resp.monitor.transmembrane_pressure;
1092
           this.form.transmembrane_pressure = resp.monitor.transmembrane_pressure;
1033
         }else{
1093
         }else{
1034
           this.form.transmembrane_pressure = '' // this.last_monitor_record.transmembrane_pressure;
1094
           this.form.transmembrane_pressure = '' // this.last_monitor_record.transmembrane_pressure;
1035
         }
1095
         }
1036
-        this.form.transmembrane_pressure_type = resp.monitor.transmembrane_pressure_type ? resp.monitor.transmembrane_pressure_type : 1
1037
-        this.form.ultrafiltration_rate = resp.monitor.ultrafiltration_rate ? resp.monitor.ultrafiltration_rate : ''
1038
-        this.form.ultrafiltration_volume = resp.monitor.ultrafiltration_volume ? resp.monitor.ultrafiltration_volume : ''
1039
-        this.form.sodium_concentration = resp.monitor.sodium_concentration ? resp.monitor.sodium_concentration : ''
1040
-        this.form.dialysate_temperature = resp.monitor.dialysate_temperature ? resp.monitor.dialysate_temperature : ''
1041
-        this.form.temperature =  resp.monitor.temperature ? resp.monitor.temperature : ''
1042
-        this.form.replacement_rate = resp.monitor.replacement_rate ? resp.monitor.replacement_rate : ''
1043
-        this.form.heparin = resp.monitor.heparin ? resp.monitor.heparin : ''
1044
-        this.form.dialysate_flow = resp.monitor.dialysate_flow ? resp.monitor.dialysate_flow : ''
1045
-        this.form.displacement_quantity =  resp.monitor.displacement_quantity ? resp.monitor.displacement_quantity : '' // this.last_monitor_record.displacement_quantity;
1046
-        this.form.conductivity =   ''
1047
-        this.form.displacement_flow_quantity = resp.monitor.displacement_flow_quantity ? resp.monitor.displacement_flow_quantity : ''
1048
-        this.form.ktv =  resp.monitor.ktv ? resp.monitor.ktv : '' // this.last_monitor_record.ktv;
1049
-        this.form.symptom =  resp.monitor.symptom ? resp.monitor.symptom : '' // this.last_monitor_record.symptom;
1050
-        this.form.dispose =  resp.monitor.dispose ? resp.monitor.dispose : '' // this.last_monitor_record.dispose;
1051
-        this.form.result =  resp.monitor.result ? resp.monitor.result : '' // this.last_monitor_record.result;
1052
-        this.form.blood_oxygen_saturation = resp.monitor.blood_oxygen_saturation ? resp.monitor.blood_oxygen_saturation : ''
1053
-        this.form.urr = resp.monitor.urr?resp.monitor.urr:''
1054
-        this.form.blood_sugar = resp.monitor.blood_sugar?resp.monitor.blood_sugar:''
1055
-        this.form.sodium_concentration = resp.monitor.sodium_concentration?resp.monitor.sodium_concentration:''
1056
-        this.form.conductivity = resp.monitor.conductivity?resp.monitor.conductivity:''
1057
-        this.form.monitor_anticoagulant = resp.monitor.monitor_anticoagulant?resp.monitor.monitor_anticoagulant:""
1096
+        this.form.transmembrane_pressure_type = resp.monitor.transmembrane_pressure_type ? resp.monitor.transmembrane_pressure_type : 1;
1097
+        this.form.ultrafiltration_rate = resp.monitor.ultrafiltration_rate ? resp.monitor.ultrafiltration_rate : '';
1098
+        this.form.ultrafiltration_volume = resp.monitor.ultrafiltration_volume ? resp.monitor.ultrafiltration_volume : '';
1099
+        this.form.sodium_concentration = resp.monitor.sodium_concentration ? resp.monitor.sodium_concentration : '';
1100
+        this.form.dialysate_temperature = resp.monitor.dialysate_temperature ? resp.monitor.dialysate_temperature : '';
1101
+        this.form.temperature =  resp.monitor.temperature ? resp.monitor.temperature : '';
1102
+        this.form.replacement_rate = resp.monitor.replacement_rate ? resp.monitor.replacement_rate : '';
1103
+        this.form.heparin = resp.monitor.heparin ? resp.monitor.heparin : '';
1104
+        this.form.dialysate_flow = resp.monitor.dialysate_flow ? resp.monitor.dialysate_flow : '';
1105
+        this.form.displacement_quantity =  resp.monitor.displacement_quantity ? resp.monitor.displacement_quantity : ''; // this.last_monitor_record.displacement_quantity;
1106
+        this.form.conductivity =   '';
1107
+        this.form.displacement_flow_quantity = resp.monitor.displacement_flow_quantity ? resp.monitor.displacement_flow_quantity : '';
1108
+        this.form.ktv =  resp.monitor.ktv ? resp.monitor.ktv : ''; // this.last_monitor_record.ktv;
1109
+        this.form.symptom =  resp.monitor.symptom ? resp.monitor.symptom : ''; // this.last_monitor_record.symptom;
1110
+        this.form.dispose =  resp.monitor.dispose ? resp.monitor.dispose : ''; // this.last_monitor_record.dispose;
1111
+        this.form.result =  resp.monitor.result ? resp.monitor.result : ''; // this.last_monitor_record.result;
1112
+        this.form.blood_oxygen_saturation = resp.monitor.blood_oxygen_saturation ? resp.monitor.blood_oxygen_saturation : '';
1113
+        this.form.urr = resp.monitor.urr?resp.monitor.urr:'';
1114
+        this.form.blood_sugar = resp.monitor.blood_sugar?resp.monitor.blood_sugar:'';
1115
+        this.form.sodium_concentration = resp.monitor.sodium_concentration?resp.monitor.sodium_concentration:'';
1116
+        this.form.conductivity = resp.monitor.conductivity?resp.monitor.conductivity:'';
1117
+        this.form.monitor_anticoagulant = resp.monitor.monitor_anticoagulant?resp.monitor.monitor_anticoagulant:"";
1058
         this.form.monitor_anticoagulant_value = resp.monitor.monitor_anticoagulant_value?resp.monitor.monitor_anticoagulant_value:""
1118
         this.form.monitor_anticoagulant_value = resp.monitor.monitor_anticoagulant_value?resp.monitor.monitor_anticoagulant_value:""
1059
 
1119
 
1060
       })
1120
       })
1062
 
1122
 
1063
     modifyRecordAction: function() {
1123
     modifyRecordAction: function() {
1064
       if (this.table_current_row == null) {
1124
       if (this.table_current_row == null) {
1065
-        this.$message.error('请选择一条监测记录')
1125
+        this.$message.error('请选择一条监测记录');
1066
         return
1126
         return
1067
       }
1127
       }
1068
-      this.creator = this.table_current_row.creator
1069
-      this.setEditMonitor(this.table_current_row)
1070
-      this.$refs.table.setCurrentRow(null)
1071
-      this.edit = true
1128
+      this.creator = this.table_current_row.creator;
1129
+      this.setEditMonitor(this.table_current_row);
1130
+      this.$refs.table.setCurrentRow(null);
1131
+      this.edit = true;
1072
       this.isAdd = false
1132
       this.isAdd = false
1073
     },
1133
     },
1074
     cancelEditAction: function() {
1134
     cancelEditAction: function() {
1075
-      this.setEditMonitor(null)
1076
-      this.$refs.table.setCurrentRow(null)
1135
+      this.setEditMonitor(null);
1136
+      this.$refs.table.setCurrentRow(null);
1077
       this.edit = false
1137
       this.edit = false
1078
     },
1138
     },
1079
     tableCurrentRowChange: function(currentRow) {
1139
     tableCurrentRowChange: function(currentRow) {
1083
     },
1143
     },
1084
     setEditMonitor: function(monitor) {
1144
     setEditMonitor: function(monitor) {
1085
       if (monitor == null || monitor == undefined) {
1145
       if (monitor == null || monitor == undefined) {
1086
-        this.form.id = 0
1146
+        this.form.id = 0;
1087
         // this.form.operate_date = parseInt((new Date()).getTime() / 1000)
1147
         // this.form.operate_date = parseInt((new Date()).getTime() / 1000)
1088
         // this.form.monitoring_time = parseTime(new Date(), "{h}:{i}")
1148
         // this.form.monitoring_time = parseTime(new Date(), "{h}:{i}")
1089
-        this.form.operate_time = new Date().getTime()
1090
-        this.form.systolic_bp = ''
1091
-        this.form.diastolic_bp = ''
1092
-        this.form.pulse_frequency = ''
1093
-        this.form.breathing_rated = ''
1094
-        this.form.blood_flow_volume = ''
1095
-        this.form.temperature = ''
1096
-        this.form.venous_pressure = ''
1097
-        this.form.venous_pressure_type = 1
1098
-        this.form.transmembrane_pressure = ''
1099
-        this.form.transmembrane_pressure_type = 1
1100
-        this.form.ultrafiltration_volume = ''
1101
-        this.form.ultrafiltration_rate = ''
1102
-        this.form.arterial_pressure = ''
1103
-        this.form.arterial_pressure_type = 1
1104
-        this.form.sodium_concentration = ''
1105
-        this.form.dialysate_temperature = ''
1106
-        this.form.replacement_rate = ''
1107
-        this.form.displacement_quantity = ''
1108
-        this.form.conductivity = ''
1109
-        this.form.displacement_flow_quantity = ''
1110
-        this.form.heparin = ''
1111
-        this.form.dialysate_flow = ''
1112
-        this.form.ktv = ''
1113
-        this.form.symptom = ''
1114
-        this.form.dispose = ''
1115
-        this.form.result = ''
1116
-        this.symptom_selecteds = []
1117
-        this.dispose_selecteds = []
1118
-        this.result_selecteds = []
1119
-        this.form.urr = ''
1120
-        this.form.blood_sugar = ''
1121
-        this.form.monitor_anticoagulant = ''
1149
+        this.form.operate_time = new Date().getTime();
1150
+        this.form.systolic_bp = '';
1151
+        this.form.diastolic_bp = '';
1152
+        this.form.pulse_frequency = '';
1153
+        this.form.breathing_rated = '';
1154
+        this.form.blood_flow_volume = '';
1155
+        this.form.temperature = '';
1156
+        this.form.venous_pressure = '';
1157
+        this.form.venous_pressure_type = 1;
1158
+        this.form.transmembrane_pressure = '';
1159
+        this.form.transmembrane_pressure_type = 1;
1160
+        this.form.ultrafiltration_volume = '';
1161
+        this.form.ultrafiltration_rate = '';
1162
+        this.form.arterial_pressure = '';
1163
+        this.form.arterial_pressure_type = 1;
1164
+        this.form.sodium_concentration = '';
1165
+        this.form.dialysate_temperature = '';
1166
+        this.form.replacement_rate = '';
1167
+        this.form.displacement_quantity = '';
1168
+        this.form.conductivity = '';
1169
+        this.form.displacement_flow_quantity = '';
1170
+        this.form.heparin = '';
1171
+        this.form.dialysate_flow = '';
1172
+        this.form.ktv = '';
1173
+        this.form.symptom = '';
1174
+        this.form.dispose = '';
1175
+        this.form.result = '';
1176
+        this.symptom_selecteds = [];
1177
+        this.dispose_selecteds = [];
1178
+        this.result_selecteds = [];
1179
+        this.form.urr = '';
1180
+        this.form.blood_sugar = '';
1181
+        this.form.monitor_anticoagulant = '';
1122
         this.form.monitor_anticoagulant_value = ''
1182
         this.form.monitor_anticoagulant_value = ''
1123
       } else {
1183
       } else {
1124
         (this.form.id = monitor.id),
1184
         (this.form.id = monitor.id),
1125
         // this.form.operate_date = monitor.operate_date
1185
         // this.form.operate_date = monitor.operate_date
1126
         // this.form.monitoring_time = monitor.monitoring_time
1186
         // this.form.monitoring_time = monitor.monitoring_time
1127
-        (this.form.operate_time = monitor.operate_time * 1000)
1128
-        this.form.systolic_bp = monitor.systolic_blood_pressure ? monitor.systolic_blood_pressure : ''
1129
-        this.form.temperature = monitor.temperature ? monitor.temperature : ''
1130
-        this.form.diastolic_bp = monitor.diastolic_blood_pressure ? monitor.diastolic_blood_pressure : ''
1131
-        this.form.pulse_frequency = monitor.pulse_frequency ? monitor.pulse_frequency : ''
1132
-        this.form.breathing_rated = monitor.breathing_rate ? monitor.breathing_rate : ''
1133
-        this.form.blood_flow_volume = monitor.blood_flow_volume ? monitor.blood_flow_volume : ''
1134
-        this.form.venous_pressure = monitor.venous_pressure ? monitor.venous_pressure : ''
1135
-        this.form.venous_pressure_type = monitor.venous_pressure_type ? monitor.venous_pressure_type : ''
1136
-        this.form.transmembrane_pressure = monitor.transmembrane_pressure ? monitor.transmembrane_pressure : ''
1137
-        this.form.transmembrane_pressure_type = monitor.transmembrane_pressure_type ? monitor.transmembrane_pressure_type : ''
1138
-        this.form.ultrafiltration_volume = monitor.ultrafiltration_volume ? monitor.ultrafiltration_volume : ''
1139
-        this.form.ultrafiltration_rate = monitor.ultrafiltration_rate ? monitor.ultrafiltration_rate : ''
1140
-        this.form.arterial_pressure = monitor.arterial_pressure ? monitor.arterial_pressure : ''
1141
-        this.form.arterial_pressure_type = monitor.arterial_pressure_type ? monitor.arterial_pressure_type : ''
1142
-        this.form.sodium_concentration = monitor.sodium_concentration ? monitor.sodium_concentration : ''
1143
-        this.form.dialysate_temperature = monitor.dialysate_temperature ? monitor.dialysate_temperature : ''
1144
-        this.form.replacement_rate = monitor.replacement_rate ? monitor.replacement_rate : ''
1145
-        this.form.displacement_quantity = monitor.displacement_quantity ? monitor.displacement_quantity : ''
1146
-        this.form.conductivity = monitor.conductivity ? monitor.conductivity : ''
1147
-        this.form.displacement_flow_quantity = monitor.displacement_flow_quantity ? monitor.displacement_flow_quantity : ''
1148
-        this.form.heparin = monitor.heparin ? monitor.heparin : ''
1149
-        this.form.dialysate_flow = monitor.dialysate_flow ? monitor.dialysate_flow : ''
1150
-
1151
-        this.form.ktv = monitor.ktv ? monitor.ktv : ''
1152
-        this.form.symptom = monitor.symptom
1153
-        this.form.dispose = monitor.dispose
1154
-        this.form.result = monitor.result
1155
-        this.form.blood_oxygen_saturation = monitor.blood_oxygen_saturation
1156
-        this.form.urr = monitor.urr?monitor.urr:''
1157
-        this.form.blood_sugar = monitor.blood_sugar?monitor.blood_sugar:''
1158
-        this.form.monitor_anticoagulant = monitor.monitor_anticoagulant?monitor.monitor_anticoagulant:''
1159
-        this.form.monitor_anticoagulant_value = monitor.monitor_anticoagulant_value?monitor.monitor_anticoagulant_value:""
1187
+        (this.form.operate_time = monitor.operate_time * 1000);
1188
+        this.form.systolic_bp = monitor.systolic_blood_pressure ? monitor.systolic_blood_pressure : '';
1189
+        this.form.temperature = monitor.temperature ? monitor.temperature : '';
1190
+        this.form.diastolic_bp = monitor.diastolic_blood_pressure ? monitor.diastolic_blood_pressure : '';
1191
+        this.form.pulse_frequency = monitor.pulse_frequency ? monitor.pulse_frequency : '';
1192
+        this.form.breathing_rated = monitor.breathing_rate ? monitor.breathing_rate : '';
1193
+        this.form.blood_flow_volume = monitor.blood_flow_volume ? monitor.blood_flow_volume : '';
1194
+        this.form.venous_pressure = monitor.venous_pressure ? monitor.venous_pressure : '';
1195
+        this.form.venous_pressure_type = monitor.venous_pressure_type ? monitor.venous_pressure_type : '';
1196
+        this.form.transmembrane_pressure = monitor.transmembrane_pressure ? monitor.transmembrane_pressure : '';
1197
+        this.form.transmembrane_pressure_type = monitor.transmembrane_pressure_type ? monitor.transmembrane_pressure_type : '';
1198
+        this.form.ultrafiltration_volume = monitor.ultrafiltration_volume ? monitor.ultrafiltration_volume : '';
1199
+        this.form.ultrafiltration_rate = monitor.ultrafiltration_rate ? monitor.ultrafiltration_rate : '';
1200
+        this.form.arterial_pressure = monitor.arterial_pressure ? monitor.arterial_pressure : '';
1201
+        this.form.arterial_pressure_type = monitor.arterial_pressure_type ? monitor.arterial_pressure_type : '';
1202
+        this.form.sodium_concentration = monitor.sodium_concentration ? monitor.sodium_concentration : '';
1203
+        this.form.dialysate_temperature = monitor.dialysate_temperature ? monitor.dialysate_temperature : '';
1204
+        this.form.replacement_rate = monitor.replacement_rate ? monitor.replacement_rate : '';
1205
+        this.form.displacement_quantity = monitor.displacement_quantity ? monitor.displacement_quantity : '';
1206
+        this.form.conductivity = monitor.conductivity ? monitor.conductivity : '';
1207
+        this.form.displacement_flow_quantity = monitor.displacement_flow_quantity ? monitor.displacement_flow_quantity : '';
1208
+        this.form.heparin = monitor.heparin ? monitor.heparin : '';
1209
+        this.form.dialysate_flow = monitor.dialysate_flow ? monitor.dialysate_flow : '';
1210
+
1211
+        this.form.ktv = monitor.ktv ? monitor.ktv : '';
1212
+        this.form.symptom = monitor.symptom;
1213
+        this.form.dispose = monitor.dispose;
1214
+        this.form.result = monitor.result;
1215
+        this.form.blood_oxygen_saturation = monitor.blood_oxygen_saturation;
1216
+        this.form.urr = monitor.urr?monitor.urr:'';
1217
+        this.form.blood_sugar = monitor.blood_sugar?monitor.blood_sugar:'';
1218
+        this.form.monitor_anticoagulant = monitor.monitor_anticoagulant?monitor.monitor_anticoagulant:'';
1219
+        this.form.monitor_anticoagulant_value = monitor.monitor_anticoagulant_value?monitor.monitor_anticoagulant_value:"";
1160
         // 设置三个下拉框的值,直接调用事件偷懒
1220
         // 设置三个下拉框的值,直接调用事件偷懒
1161
-        this.symptomTextareaBlur()
1162
-        this.disposeTextareaBlur()
1221
+        this.symptomTextareaBlur();
1222
+        this.disposeTextareaBlur();
1163
         this.resultTextareaBlur()
1223
         this.resultTextareaBlur()
1164
       }
1224
       }
1165
     },
1225
     },
1166
 
1226
 
1167
     submitAction: function() {
1227
     submitAction: function() {
1168
-      
1228
+
1169
       // TODO loading
1229
       // TODO loading
1170
-      var is_new = this.form.id
1171
-      this.form.operate_time = parseInt(this.form.operate_time / 1000)
1172
-      this.form.systolic_bp = parseFloat(this.form.systolic_bp) == NaN ? 0 : parseFloat(this.form.systolic_bp)
1173
-      this.form.diastolic_bp = parseFloat(this.form.diastolic_bp) == NaN ? 0 : parseFloat(this.form.diastolic_bp)
1174
-      this.form.temperature = parseFloat(this.form.temperature) == NaN ? 0 : parseFloat(this.form.temperature)
1175
-      this.form.pulse_frequency = parseFloat(this.form.pulse_frequency) == NaN ? 0 : parseFloat(this.form.pulse_frequency)
1176
-      this.form.breathing_rated = parseFloat(this.form.breathing_rated) == NaN ? 0 : parseFloat(this.form.breathing_rated)
1177
-      this.form.blood_flow_volume = parseFloat(this.form.blood_flow_volume) == NaN ? 0 : parseFloat(this.form.blood_flow_volume)
1178
-      this.form.venous_pressure = parseFloat(this.form.venous_pressure) == NaN ? 0 : parseFloat(this.form.venous_pressure)
1179
-      this.form.venous_pressure_type = parseFloat(this.form.venous_pressure_type) == NaN ? 1 : parseFloat(this.form.venous_pressure_type)
1180
-      this.form.transmembrane_pressure = parseFloat(this.form.transmembrane_pressure) == NaN ? 0 : parseFloat(this.form.transmembrane_pressure)
1181
-      this.form.transmembrane_pressure_type = parseFloat(this.form.transmembrane_pressure_type) == NaN ? 1 : parseFloat(this.form.transmembrane_pressure_type)
1182
-      this.form.ultrafiltration_volume = parseFloat(this.form.ultrafiltration_volume) == NaN ? 0 : parseFloat(this.form.ultrafiltration_volume)
1183
-      this.form.ultrafiltration_rate = parseFloat(this.form.ultrafiltration_rate) == NaN ? 0 : parseFloat(this.form.ultrafiltration_rate)
1184
-      this.form.arterial_pressure = parseFloat(this.form.arterial_pressure) == NaN ? 0 : parseFloat(this.form.arterial_pressure)
1185
-      this.form.arterial_pressure_type = parseFloat(this.form.arterial_pressure_type) == NaN ? 1 : parseFloat(this.form.arterial_pressure_type)
1186
-      this.form.sodium_concentration = parseFloat(this.form.sodium_concentration) == NaN ? 0 : parseFloat(this.form.sodium_concentration)
1187
-      this.form.dialysate_temperature = parseFloat(this.form.dialysate_temperature) == NaN ? 0 : parseFloat(this.form.dialysate_temperature)
1188
-      this.form.replacement_rate = parseFloat(this.form.replacement_rate) == NaN ? 0 : parseFloat(this.form.replacement_rate)
1189
-      this.form.displacement_quantity = parseFloat(this.form.displacement_quantity) == NaN ? 0 : parseFloat(this.form.displacement_quantity)
1190
-      this.form.conductivity = parseFloat(this.form.conductivity) == NaN ? 0 : parseFloat(this.form.conductivity)
1191
-      this.form.displacement_flow_quantity = parseFloat(this.form.displacement_flow_quantity) == NaN ? 0 : parseFloat(this.form.displacement_flow_quantity)
1192
-      this.form.heparin = parseFloat(this.form.heparin) == NaN ? 0 : parseFloat(this.form.heparin)
1193
-      this.form.dialysate_flow = parseFloat(this.form.dialysate_flow) == NaN ? 0 : parseFloat(this.form.dialysate_flow)
1194
-      this.form.ktv = parseFloat(this.form.ktv) == NaN ? 0 : parseFloat(this.form.ktv)
1195
-      this.form.monitoring_date = parseInt(this.form.monitoring_date)
1196
-      this.form.urr = this.form.urr
1197
-      this.form.blood_sugar = parseFloat(this.form.blood_sugar) == NaN ? 0 : parseFloat(this.form.blood_sugar)
1198
-      this.form.monitor_anticoagulant = parseInt(this.form.monitor_anticoagulant)
1199
-      this.form.monitor_anticoagulant_value = this.form.monitor_anticoagulant_value
1200
-      let mode = '1'
1230
+      var is_new = this.form.id;
1231
+      this.form.operate_time = parseInt(this.form.operate_time / 1000);
1232
+      this.form.systolic_bp = parseFloat(this.form.systolic_bp) == NaN ? 0 : parseFloat(this.form.systolic_bp);
1233
+      this.form.diastolic_bp = parseFloat(this.form.diastolic_bp) == NaN ? 0 : parseFloat(this.form.diastolic_bp);
1234
+      this.form.temperature = parseFloat(this.form.temperature) == NaN ? 0 : parseFloat(this.form.temperature);
1235
+      this.form.pulse_frequency = parseFloat(this.form.pulse_frequency) == NaN ? 0 : parseFloat(this.form.pulse_frequency);
1236
+      this.form.breathing_rated = parseFloat(this.form.breathing_rated) == NaN ? 0 : parseFloat(this.form.breathing_rated);
1237
+      this.form.blood_flow_volume = parseFloat(this.form.blood_flow_volume) == NaN ? 0 : parseFloat(this.form.blood_flow_volume);
1238
+      this.form.venous_pressure = parseFloat(this.form.venous_pressure) == NaN ? 0 : parseFloat(this.form.venous_pressure);
1239
+      this.form.venous_pressure_type = parseFloat(this.form.venous_pressure_type) == NaN ? 1 : parseFloat(this.form.venous_pressure_type);
1240
+      this.form.transmembrane_pressure = parseFloat(this.form.transmembrane_pressure) == NaN ? 0 : parseFloat(this.form.transmembrane_pressure);
1241
+      this.form.transmembrane_pressure_type = parseFloat(this.form.transmembrane_pressure_type) == NaN ? 1 : parseFloat(this.form.transmembrane_pressure_type);
1242
+      this.form.ultrafiltration_volume = parseFloat(this.form.ultrafiltration_volume) == NaN ? 0 : parseFloat(this.form.ultrafiltration_volume);
1243
+      this.form.ultrafiltration_rate = parseFloat(this.form.ultrafiltration_rate) == NaN ? 0 : parseFloat(this.form.ultrafiltration_rate);
1244
+      this.form.arterial_pressure = parseFloat(this.form.arterial_pressure) == NaN ? 0 : parseFloat(this.form.arterial_pressure);
1245
+      this.form.arterial_pressure_type = parseFloat(this.form.arterial_pressure_type) == NaN ? 1 : parseFloat(this.form.arterial_pressure_type);
1246
+      this.form.sodium_concentration = parseFloat(this.form.sodium_concentration) == NaN ? 0 : parseFloat(this.form.sodium_concentration);
1247
+      this.form.dialysate_temperature = parseFloat(this.form.dialysate_temperature) == NaN ? 0 : parseFloat(this.form.dialysate_temperature);
1248
+      this.form.replacement_rate = parseFloat(this.form.replacement_rate) == NaN ? 0 : parseFloat(this.form.replacement_rate);
1249
+      this.form.displacement_quantity = parseFloat(this.form.displacement_quantity) == NaN ? 0 : parseFloat(this.form.displacement_quantity);
1250
+      this.form.conductivity = parseFloat(this.form.conductivity) == NaN ? 0 : parseFloat(this.form.conductivity);
1251
+      this.form.displacement_flow_quantity = parseFloat(this.form.displacement_flow_quantity) == NaN ? 0 : parseFloat(this.form.displacement_flow_quantity);
1252
+      this.form.heparin = parseFloat(this.form.heparin) == NaN ? 0 : parseFloat(this.form.heparin);
1253
+      this.form.dialysate_flow = parseFloat(this.form.dialysate_flow) == NaN ? 0 : parseFloat(this.form.dialysate_flow);
1254
+      this.form.ktv = parseFloat(this.form.ktv) == NaN ? 0 : parseFloat(this.form.ktv);
1255
+      this.form.monitoring_date = parseInt(this.form.monitoring_date);
1256
+      this.form.urr = this.form.urr;
1257
+      this.form.blood_sugar = parseFloat(this.form.blood_sugar) == NaN ? 0 : parseFloat(this.form.blood_sugar);
1258
+      this.form.monitor_anticoagulant = parseInt(this.form.monitor_anticoagulant);
1259
+      this.form.monitor_anticoagulant_value = this.form.monitor_anticoagulant_value;
1260
+      this.form.blood_pressure_monitoring_site = parseInt(this.form.blood_pressure_monitoring_site);
1261
+      this.form.complication = parseInt(this.form.complication);
1262
+      let mode = '1';
1201
       if (this.form.id > 0) {
1263
       if (this.form.id > 0) {
1202
-        mode = '2'
1264
+        mode = '2';
1203
         if (this.creator > 0 && this.creator != this.$store.getters.xt_user.user.id) {
1265
         if (this.creator > 0 && this.creator != this.$store.getters.xt_user.user.id) {
1204
           mode = '3'
1266
           mode = '3'
1205
         }
1267
         }
1206
       }
1268
       }
1207
       editMonitor(this.patient_id, this.schedule_date, this.form, mode).then(
1269
       editMonitor(this.patient_id, this.schedule_date, this.form, mode).then(
1208
-        
1270
+
1209
         rs => {
1271
         rs => {
1210
-          var resp = rs.data
1272
+          var resp = rs.data;
1211
           if (resp.state == 1) {
1273
           if (resp.state == 1) {
1212
-            var monitor = resp.data.monitor
1274
+            var monitor = resp.data.monitor;
1213
             if (this.isAdd) {
1275
             if (this.isAdd) {
1214
-              this.monitors.unshift(monitor)
1215
-              this.monitors.sort((a, b) => b.operate_time - a.operate_time)
1276
+              this.monitors.unshift(monitor);
1277
+              this.monitors.sort((a, b) => b.operate_time - a.operate_time);
1216
               this.monitors.reverse()
1278
               this.monitors.reverse()
1217
             } else {
1279
             } else {
1218
               for (let index = 0; index < this.monitors.length; index++) {
1280
               for (let index = 0; index < this.monitors.length; index++) {
1219
-                const m = this.monitors[index]
1281
+                const m = this.monitors[index];
1220
                 if (m.id == monitor.id) {
1282
                 if (m.id == monitor.id) {
1221
                   for (const key in monitor) {
1283
                   for (const key in monitor) {
1222
                     m[key] = monitor[key]
1284
                     m[key] = monitor[key]
1227
             }
1289
             }
1228
             this.reset()
1290
             this.reset()
1229
           } else {
1291
           } else {
1230
-            this.form.systolic_bp = parseFloat(this.form.systolic_bp) == NaN ? 0 : parseFloat(this.form.systolic_bp)
1231
-            this.form.diastolic_bp = parseFloat(this.form.diastolic_bp) == NaN ? 0 : parseFloat(this.form.diastolic_bp)
1232
-            this.form.temperature = parseFloat(this.form.temperature) == NaN ? 0 : parseFloat(this.form.temperature)
1233
-            this.form.pulse_frequency = parseFloat(this.form.pulse_frequency) == NaN ? 0 : parseFloat(this.form.pulse_frequency)
1234
-            this.form.breathing_rated = parseFloat(this.form.breathing_rated) == NaN ? 0 : parseFloat(this.form.breathing_rated)
1235
-            this.form.blood_flow_volume = parseFloat(this.form.blood_flow_volume) == NaN ? 0 : parseFloat(this.form.blood_flow_volume)
1236
-            this.form.venous_pressure = parseFloat(this.form.venous_pressure) == NaN ? 0 : parseFloat(this.form.venous_pressure)
1237
-            this.form.venous_pressure_type = parseFloat(this.form.venous_pressure_type) == NaN ? 1 : parseFloat(this.form.venous_pressure_type)
1238
-            this.form.transmembrane_pressure = parseFloat(this.form.transmembrane_pressure) == NaN ? 0 : parseFloat(this.form.transmembrane_pressure)
1239
-            this.form.transmembrane_pressure_type = parseFloat(this.form.transmembrane_pressure_type) == NaN ? 1 : parseFloat(this.form.transmembrane_pressure_type)
1240
-            this.form.ultrafiltration_volume = parseFloat(this.form.ultrafiltration_volume) == NaN ? 0 : parseFloat(this.form.ultrafiltration_volume)
1241
-            this.form.ultrafiltration_rate = parseFloat(this.form.ultrafiltration_rate) == NaN ? 0 : parseFloat(this.form.ultrafiltration_rate)
1242
-            this.form.arterial_pressure = parseFloat(this.form.arterial_pressure) == NaN ? 0 : parseFloat(this.form.arterial_pressure)
1243
-            this.form.arterial_pressure_type = parseFloat(this.form.arterial_pressure_type) == NaN ? 1 : parseFloat(this.form.arterial_pressure_type)
1244
-            this.form.sodium_concentration = parseFloat(this.form.sodium_concentration) == NaN ? 0 : parseFloat(this.form.sodium_concentration)
1245
-            this.form.dialysate_temperature = parseFloat(this.form.dialysate_temperature) == NaN ? 0 : parseFloat(this.form.dialysate_temperature)
1246
-            this.form.replacement_rate = parseFloat(this.form.replacement_rate) == NaN ? 0 : parseFloat(this.form.replacement_rate)
1247
-            this.form.displacement_quantity = parseFloat(this.form.displacement_quantity) == NaN ? 0 : parseFloat(this.form.displacement_quantity)
1248
-            this.form.conductivity = parseFloat(this.form.conductivity) == NaN ? 0 : parseFloat(this.form.conductivity)
1249
-            this.form.displacement_flow_quantity = parseFloat(this.form.displacement_flow_quantity) == NaN ? 0 : parseFloat(this.form.displacement_flow_quantity)
1250
-            this.form.heparin = parseFloat(this.form.heparin) == NaN ? 0 : parseFloat(this.form.heparin)
1251
-            this.form.dialysate_flow = parseFloat(this.form.dialysate_flow) == NaN ? 0 : parseFloat(this.form.dialysate_flow)
1252
-
1253
-            this.form.ktv = parseFloat(this.form.ktv) == NaN ? 0 : parseFloat(this.form.ktv)
1254
-            this.form.urr = this.form.urr
1255
-            this.form.blood_sugar = parseFloat(this.form.blood_sugar) == NaN ? 0 : parseFloat(this.form.blood_sugar)
1256
-            this.form.monitor_anticoagulant = parseInt(this.form.monitor_anticoagulant)
1257
-            this.form.monitor_anticoagulant_value = this.form.monitor_anticoagulant_value
1292
+            this.form.systolic_bp = parseFloat(this.form.systolic_bp) == NaN ? 0 : parseFloat(this.form.systolic_bp);
1293
+            this.form.diastolic_bp = parseFloat(this.form.diastolic_bp) == NaN ? 0 : parseFloat(this.form.diastolic_bp);
1294
+            this.form.temperature = parseFloat(this.form.temperature) == NaN ? 0 : parseFloat(this.form.temperature);
1295
+            this.form.pulse_frequency = parseFloat(this.form.pulse_frequency) == NaN ? 0 : parseFloat(this.form.pulse_frequency);
1296
+            this.form.breathing_rated = parseFloat(this.form.breathing_rated) == NaN ? 0 : parseFloat(this.form.breathing_rated);
1297
+            this.form.blood_flow_volume = parseFloat(this.form.blood_flow_volume) == NaN ? 0 : parseFloat(this.form.blood_flow_volume);
1298
+            this.form.venous_pressure = parseFloat(this.form.venous_pressure) == NaN ? 0 : parseFloat(this.form.venous_pressure);
1299
+            this.form.venous_pressure_type = parseFloat(this.form.venous_pressure_type) == NaN ? 1 : parseFloat(this.form.venous_pressure_type);
1300
+            this.form.transmembrane_pressure = parseFloat(this.form.transmembrane_pressure) == NaN ? 0 : parseFloat(this.form.transmembrane_pressure);
1301
+            this.form.transmembrane_pressure_type = parseFloat(this.form.transmembrane_pressure_type) == NaN ? 1 : parseFloat(this.form.transmembrane_pressure_type);
1302
+            this.form.ultrafiltration_volume = parseFloat(this.form.ultrafiltration_volume) == NaN ? 0 : parseFloat(this.form.ultrafiltration_volume);
1303
+            this.form.ultrafiltration_rate = parseFloat(this.form.ultrafiltration_rate) == NaN ? 0 : parseFloat(this.form.ultrafiltration_rate);
1304
+            this.form.arterial_pressure = parseFloat(this.form.arterial_pressure) == NaN ? 0 : parseFloat(this.form.arterial_pressure);
1305
+            this.form.arterial_pressure_type = parseFloat(this.form.arterial_pressure_type) == NaN ? 1 : parseFloat(this.form.arterial_pressure_type);
1306
+            this.form.sodium_concentration = parseFloat(this.form.sodium_concentration) == NaN ? 0 : parseFloat(this.form.sodium_concentration);
1307
+            this.form.dialysate_temperature = parseFloat(this.form.dialysate_temperature) == NaN ? 0 : parseFloat(this.form.dialysate_temperature);
1308
+            this.form.replacement_rate = parseFloat(this.form.replacement_rate) == NaN ? 0 : parseFloat(this.form.replacement_rate);
1309
+            this.form.displacement_quantity = parseFloat(this.form.displacement_quantity) == NaN ? 0 : parseFloat(this.form.displacement_quantity);
1310
+            this.form.conductivity = parseFloat(this.form.conductivity) == NaN ? 0 : parseFloat(this.form.conductivity);
1311
+            this.form.displacement_flow_quantity = parseFloat(this.form.displacement_flow_quantity) == NaN ? 0 : parseFloat(this.form.displacement_flow_quantity);
1312
+            this.form.heparin = parseFloat(this.form.heparin) == NaN ? 0 : parseFloat(this.form.heparin);
1313
+            this.form.dialysate_flow = parseFloat(this.form.dialysate_flow) == NaN ? 0 : parseFloat(this.form.dialysate_flow);
1314
+
1315
+            this.form.ktv = parseFloat(this.form.ktv) == NaN ? 0 : parseFloat(this.form.ktv);
1316
+            this.form.urr = this.form.urr;
1317
+            this.form.blood_sugar = parseFloat(this.form.blood_sugar) == NaN ? 0 : parseFloat(this.form.blood_sugar);
1318
+            this.form.monitor_anticoagulant = parseInt(this.form.monitor_anticoagulant);
1319
+            this.form.monitor_anticoagulant_value = this.form.monitor_anticoagulant_value;
1320
+            this.form.blood_pressure_monitoring_site = this.form.blood_pressure_monitoring_site;
1321
+            this.form.complication = this.form.complication;
1258
             this.$message.error(resp.msg)
1322
             this.$message.error(resp.msg)
1259
           }
1323
           }
1260
         }
1324
         }
1308
     },
1372
     },
1309
     deleteRecordAction: function() {
1373
     deleteRecordAction: function() {
1310
       if (this.table_current_row == null) {
1374
       if (this.table_current_row == null) {
1311
-        this.$message.error('请选择一条监测记录')
1375
+        this.$message.error('请选择一条监测记录');
1312
         return
1376
         return
1313
       }
1377
       }
1314
 
1378
 
1318
         type: 'warning'
1382
         type: 'warning'
1319
       })
1383
       })
1320
         .then(() => {
1384
         .then(() => {
1321
-          let mode = '4'
1385
+          let mode = '4';
1322
           if (
1386
           if (
1323
             this.table_current_row.creator > 0 &&
1387
             this.table_current_row.creator > 0 &&
1324
             this.table_current_row.creator !=
1388
             this.table_current_row.creator !=
1331
             patient_id: this.patient_id,
1395
             patient_id: this.patient_id,
1332
             record_id: this.table_current_row.id,
1396
             record_id: this.table_current_row.id,
1333
             mode: mode
1397
             mode: mode
1334
-          }
1398
+          };
1335
 
1399
 
1336
           postDelMonitorInfo(params).then(response => {
1400
           postDelMonitorInfo(params).then(response => {
1337
             if (response.data.state == 0) {
1401
             if (response.data.state == 0) {
1338
-              this.$message.error(response.data.msg)
1402
+              this.$message.error(response.data.msg);
1339
               return false
1403
               return false
1340
             } else {
1404
             } else {
1341
-              const record_id = response.data.data.record_id
1405
+              const record_id = response.data.data.record_id;
1342
               for (let i = 0; i < this.monitors.length; i++) {
1406
               for (let i = 0; i < this.monitors.length; i++) {
1343
                 if (this.monitors[i].id == record_id) {
1407
                 if (this.monitors[i].id == record_id) {
1344
                   this.monitors.splice(i, 1)
1408
                   this.monitors.splice(i, 1)
1363
           }
1427
           }
1364
         })
1428
         })
1365
         .then(res => {
1429
         .then(res => {
1366
-          console.log(res)
1430
+          console.log(res);
1367
           if (res.data.state == 0) {
1431
           if (res.data.state == 0) {
1368
             this.hasPermission = false
1432
             this.hasPermission = false
1369
           } else if (res.data.state == 1) {
1433
           } else if (res.data.state == 1) {
1370
-            this.is_has_create = res.data.data.is_has_create
1371
-            this.is_has_exce = res.data.data.is_has_exce
1372
-            this.is_has_check = res.data.data.is_has_check
1373
-            this.is_has_modify = res.data.data.is_has_modify
1374
-            this.is_has_modify_other = res.data.data.is_has_modify_other
1375
-            this.is_has_modify_exce = res.data.data.is_has_modify_exce
1376
-            this.is_has_del = res.data.data.is_has_del
1434
+            this.is_has_create = res.data.data.is_has_create;
1435
+            this.is_has_exce = res.data.data.is_has_exce;
1436
+            this.is_has_check = res.data.data.is_has_check;
1437
+            this.is_has_modify = res.data.data.is_has_modify;
1438
+            this.is_has_modify_other = res.data.data.is_has_modify_other;
1439
+            this.is_has_modify_exce = res.data.data.is_has_modify_exce;
1440
+            this.is_has_del = res.data.data.is_has_del;
1377
             this.is_has_del_other = res.data.data.is_has_del_other
1441
             this.is_has_del_other = res.data.data.is_has_del_other
1378
           }
1442
           }
1379
         })
1443
         })
1444
+    },
1445
+    getBloodPressure(id){
1446
+       var name = "";
1447
+       for(let i=0;i<this.bloodPressureMmonitoringSite.length;i++){
1448
+         if(id == this.bloodPressureMmonitoringSite[i].id){
1449
+            name = this.bloodPressureMmonitoringSite[i].name
1450
+         }
1451
+       }
1452
+       return name
1453
+    },
1454
+    getComplication(id){
1455
+      var name = "";
1456
+      for(let i=0;i<this.complicationList.length;i++){
1457
+         if(id == this.complicationList[i].id){
1458
+            name = this.complicationList[i].name
1459
+         }
1460
+      }
1461
+      return name
1380
     }
1462
     }
1381
   }
1463
   }
1382
 }
1464
 }

+ 36 - 11
src/xt_pages/dialysis/details/dialysisMonitoring.vue 查看文件

14
           <th width="76px">静脉压/动脉压({{monitores[0]&&monitores[0]['venous_pressure_type'] == 2 ? 'kpa' : 'mmHg'}})</th>
14
           <th width="76px">静脉压/动脉压({{monitores[0]&&monitores[0]['venous_pressure_type'] == 2 ? 'kpa' : 'mmHg'}})</th>
15
           <th v-if="isShow('血流量')" width="92px">血流量(ml/min)</th>
15
           <th v-if="isShow('血流量')" width="92px">血流量(ml/min)</th>
16
           <th v-if="isShow('跨膜压')" width="76px">跨膜压({{monitores[0]&&monitores[0]['transmembrane_pressure_type'] == 2 ? 'kpa' : 'mmHg'}})</th>
16
           <th v-if="isShow('跨膜压')" width="76px">跨膜压({{monitores[0]&&monitores[0]['transmembrane_pressure_type'] == 2 ? 'kpa' : 'mmHg'}})</th>
17
-          <th v-if=" isShow('超滤量') &&(template_id == 6 || template_id == 9 || template_id == 10 || template_id == 11 || template_id == 13 || template_id == 17 || template_id == 18 || template_id == 19 || template_id == 20 || template_id == 21 || template_id == 22 || template_id == 23 || template_id == 24 || template_id == 26 || template_id == 27 || template_id == 28 || template_id == 29 || template_id == 30 || template_id == 31 || template_id == 32 || template_id == 34 || template_id == 35 || this.$store.getters.xt_user.template_info.org_id == 9555)" width="76px" > 超滤量(ml)</th>
18
-          <th v-if=" isShow('超滤量') && template_id != 6 && template_id != 9 && template_id != 10 && template_id != 11 && template_id != 13 && template_id != 17 && template_id != 18 && template_id != 19 && template_id != 20 && template_id != 21 && template_id != 22 && template_id != 23 && template_id != 24 && template_id != 26 && template_id !=27 && template_id!=28 && template_id!=29 && template_id!=30 && template_id!=31 && template_id!=32 && template_id!=34 && template_id!=35 && this.$store.getters.xt_user.template_info.org_id != 9555"  width="76px"> 超滤量(L) </th>
19
-          <th v-if="isShow('超滤率') && (template_id ==6 || template_id == 10 || template_id == 11 || template_id == 12 || template_id == 13 || template_id == 17 || template_id == 18 || template_id == 19 || template_id == 20 || template_id == 21 || template_id == 22 || template_id == 23 || template_id == 24 || template_id == 26 || template_id == 29 || template_id == 30 || template_id == 31 || template_id == 34 || template_id == 35)" width="50px"> 超滤率 <br />(ml/h) </th>
20
-          <th v-if="isShow('超滤率') && template_id !=6 && template_id !=10 && template_id !=11 && template_id !=12 && template_id !=13 && template_id !=17 && template_id !=18 && template_id !=19 && template_id !=20 && template_id !=21 && template_id !=22 && template_id !=23 && template_id !=24 && template_id !=26 && template_id !=29 && template_id !=30 && template_id !=31 && template_id !=34 && template_id !=35" width="50px"> 超滤率 <br />(L/h) </th>
17
+          <th v-if=" isShow('超滤量') &&(template_id == 6 || template_id == 9 || template_id == 10 || template_id == 11 || template_id == 13 || template_id == 17 || template_id == 18 || template_id == 19 || template_id == 20 || template_id == 21 || template_id == 22 || template_id == 23 || template_id == 24 || template_id == 26 || template_id == 27 || template_id == 28 || template_id == 29 || template_id == 30 || template_id == 31 || template_id == 32 || template_id == 34 || template_id == 35 || template_id == 36 || template_id == 38 || this.$store.getters.xt_user.template_info.org_id == 9555)" width="76px" > 超滤量(ml)</th>
18
+          <th v-if=" isShow('超滤量') && template_id != 6 && template_id != 9 && template_id != 10 && template_id != 11 && template_id != 13 && template_id != 17 && template_id != 18 && template_id != 19 && template_id != 20 && template_id != 21 && template_id != 22 && template_id != 23 && template_id != 24 && template_id != 26 && template_id !=27 && template_id!=28 && template_id!=29 && template_id!=30 && template_id!=31 && template_id!=32 && template_id!=34 && template_id!=35 && template_id!=36 && template_id!=38 && this.$store.getters.xt_user.template_info.org_id != 9555"  width="76px"> 超滤量(L) </th>
19
+          <th v-if="isShow('超滤率') && (template_id ==6 || template_id == 10 || template_id == 11 || template_id == 12 || template_id == 13 || template_id == 17 || template_id == 18 || template_id == 19 || template_id == 20 || template_id == 21 || template_id == 22 || template_id == 23 || template_id == 24 || template_id == 26 || template_id == 29 || template_id == 30 || template_id == 31 || template_id == 34 || template_id == 35 || template_id == 38)" width="50px"> 超滤率 <br />(ml/h) </th>
20
+          <th v-if="isShow('超滤率') && template_id !=6 && template_id !=10 && template_id !=11 && template_id !=12 && template_id !=13 && template_id !=17 && template_id !=18 && template_id !=19 && template_id !=20 && template_id !=21 && template_id !=22 && template_id !=23 && template_id !=24 && template_id !=26 && template_id !=29 && template_id !=30 && template_id !=31 && template_id !=34 && template_id !=35 && template_id !=38" width="50px"> 超滤率 <br />(L/h) </th>
21
           <th v-if="isShow('钠浓度')" width="92px">钠浓度(mmol/L)</th>
21
           <th v-if="isShow('钠浓度')" width="92px">钠浓度(mmol/L)</th>
22
           <th v-if="isShow('透析液温度')" width="92px">透析液温度(℃)</th>
22
           <th v-if="isShow('透析液温度')" width="92px">透析液温度(℃)</th>
23
           <th v-if=" isShow('置换率') && (template_id == 6 || template_id == 10 || template_id == 11 || template_id == 20 || template_id == 26 || template_id == 29) " width="92px" > 置换率(ml/min) </th>
23
           <th v-if=" isShow('置换率') && (template_id == 6 || template_id == 10 || template_id == 11 || template_id == 20 || template_id == 26 || template_id == 29) " width="92px" > 置换率(ml/min) </th>
31
           <th v-if="isShow('透析液流量')" width="92px">透析液流量(ml/h)</th>
31
           <th v-if="isShow('透析液流量')" width="92px">透析液流量(ml/h)</th>
32
           <th v-if="isShow('肝素用量余量')" width="92px">肝素用量余量(ml)</th>
32
           <th v-if="isShow('肝素用量余量')" width="92px">肝素用量余量(ml)</th>
33
           <th v-if="isShow('抗凝剂')" width="92px">抗凝剂</th>
33
           <th v-if="isShow('抗凝剂')" width="92px">抗凝剂</th>
34
+          <!-- <th v-if="isShow('血压监测部位')" width="92px">血压监测部位</th>
35
+          <th v-if="isShow('并发症')" width="92px">并发症</th> -->
34
           <th v-if="isShow('KT/V') && org_id == 9987" width="92px">KT/V</th>
36
           <th v-if="isShow('KT/V') && org_id == 9987" width="92px">KT/V</th>
35
           <th v-if="isShow('病情变化')" width="92px">病情变化</th>
37
           <th v-if="isShow('病情变化')" width="92px">病情变化</th>
38
+
36
           <th v-if="isShow('处理')" width="92px">处理</th>
39
           <th v-if="isShow('处理')" width="92px">处理</th>
37
           <th v-if="isShow('结果')" width="92px">结果</th>
40
           <th v-if="isShow('结果')" width="92px">结果</th>
38
         </tr>
41
         </tr>
43
           <td v-if="isShow('脉搏')"> {{ monitor.pulse_frequency ? monitor.pulse_frequency : "" }} </td>
46
           <td v-if="isShow('脉搏')"> {{ monitor.pulse_frequency ? monitor.pulse_frequency : "" }} </td>
44
           <td v-if="isShow('呼吸频率')"> {{ monitor.breathing_rate ? monitor.breathing_rate : "" }} </td>
47
           <td v-if="isShow('呼吸频率')"> {{ monitor.breathing_rate ? monitor.breathing_rate : "" }} </td>
45
           <td> {{ monitor.venous_pressure ? monitor.venous_pressure : "" }} /{{ monitor.arterial_pressure ? monitor.arterial_pressure : "" }}  </td>
48
           <td> {{ monitor.venous_pressure ? monitor.venous_pressure : "" }} /{{ monitor.arterial_pressure ? monitor.arterial_pressure : "" }}  </td>
49
+          
46
           <td v-if="isShow('血流量')"> {{ monitor.blood_flow_volume ? monitor.blood_flow_volume : "" }} </td>
50
           <td v-if="isShow('血流量')"> {{ monitor.blood_flow_volume ? monitor.blood_flow_volume : "" }} </td>
47
           <td v-if="isShow('跨膜压')"> {{ monitor.transmembrane_pressure ? monitor.transmembrane_pressure : "" }} </td>
51
           <td v-if="isShow('跨膜压')"> {{ monitor.transmembrane_pressure ? monitor.transmembrane_pressure : "" }} </td>
48
           <td v-if="isShow('超滤量')"> {{ monitor.ultrafiltration_volume ? monitor.ultrafiltration_volume : "" }} </td>
52
           <td v-if="isShow('超滤量')"> {{ monitor.ultrafiltration_volume ? monitor.ultrafiltration_volume : "" }} </td>
53
           <td v-if="isShow('置换量')"> {{ monitor.displacement_quantity ? monitor.displacement_quantity : "" }} </td>
57
           <td v-if="isShow('置换量')"> {{ monitor.displacement_quantity ? monitor.displacement_quantity : "" }} </td>
54
           <td v-if="isShow('SpO₂')"> {{ monitor.blood_oxygen_saturation ? monitor.blood_oxygen_saturation : "" }} </td>
58
           <td v-if="isShow('SpO₂')"> {{ monitor.blood_oxygen_saturation ? monitor.blood_oxygen_saturation : "" }} </td>
55
           <td v-if="isShow('电导度')"> {{ monitor.conductivity ? monitor.conductivity : "" }} </td>
59
           <td v-if="isShow('电导度')"> {{ monitor.conductivity ? monitor.conductivity : "" }} </td>
56
-          <th v-if="isShow('置换液流量')"> {{ monitor.displacement_flow_quantity  ? monitor.displacement_flow_quantity : "" }} </th>
57
-          <th v-if="isShow('透析液流量')"> {{ monitor.dialysate_flow  ? monitor.dialysate_flow : "" }} </th>
58
-          <th v-if="isShow('肝素用量余量')"> {{ monitor.heparin ? monitor.heparin : "" }} </th> 
59
-          <th v-if="isShow('抗凝剂')">
60
+          <td v-if="isShow('置换液流量')"> {{ monitor.displacement_flow_quantity  ? monitor.displacement_flow_quantity : "" }} </td>
61
+          <td v-if="isShow('透析液流量')"> {{ monitor.dialysate_flow  ? monitor.dialysate_flow : "" }} </td>
62
+          <td v-if="isShow('肝素用量余量')"> {{ monitor.heparin ? monitor.heparin : "" }} </td> 
63
+          <td v-if="isShow('抗凝剂')">
60
             <span v-if="monitor.monitor_anticoagulant == 1">无肝素</span>
64
             <span v-if="monitor.monitor_anticoagulant == 1">无肝素</span>
61
             <span v-if="monitor.monitor_anticoagulant == 2">普通肝素</span>
65
             <span v-if="monitor.monitor_anticoagulant == 2">普通肝素</span>
62
             <span v-if="monitor.monitor_anticoagulant == 3">低分子肝素</span>
66
             <span v-if="monitor.monitor_anticoagulant == 3">低分子肝素</span>
67
             <span v-if="monitor.monitor_anticoagulant == 8">依诺肝素</span>
71
             <span v-if="monitor.monitor_anticoagulant == 8">依诺肝素</span>
68
             <span v-if="monitor.monitor_anticoagulant == 9">达肝素</span>
72
             <span v-if="monitor.monitor_anticoagulant == 9">达肝素</span>
69
             <span v-if="monitor.monitor_anticoagulant_value!=''">({{monitor.monitor_anticoagulant_value ? monitor.monitor_anticoagulant_value : ""  }})</span>
73
             <span v-if="monitor.monitor_anticoagulant_value!=''">({{monitor.monitor_anticoagulant_value ? monitor.monitor_anticoagulant_value : ""  }})</span>
70
-          </th>
74
+          </td>
75
+          <!-- <th v-if="isShow('血压监测部位')">{{getBloodPressure(monitor.blood_pressure_monitoring_site)}}</th>
76
+          <th v-if="isShow('并发症')">{{getComplication(monitor.complication)}}</th> -->
71
           <td v-if="isShow('KT/V') && org_id == 9987">{{ monitor.ktv?monitor.ktv:""}}</td>
77
           <td v-if="isShow('KT/V') && org_id == 9987">{{ monitor.ktv?monitor.ktv:""}}</td>
72
           <td v-if="isShow('病情变化')">{{ monitor.symptom }}</td>
78
           <td v-if="isShow('病情变化')">{{ monitor.symptom }}</td>
73
           <td v-if="isShow('处理')">{{ monitor.dispose }}</td>
79
           <td v-if="isShow('处理')">{{ monitor.dispose }}</td>
81
 
87
 
82
 <script>
88
 <script>
83
 import store from '@/store'
89
 import store from '@/store'
84
-
85
 import { parseTime } from '@/utils'
90
 import { parseTime } from '@/utils'
86
-
91
+import { getDataConfig } from '@/utils/data'
87
 export default {
92
 export default {
88
   name: 'statOrder',
93
   name: 'statOrder',
89
   data() {
94
   data() {
113
         }
118
         }
114
       }
119
       }
115
       return false
120
       return false
121
+    },
122
+    getBloodPressure(id){
123
+       var bloodPressureMmonitoringSite = getDataConfig('hemodialysis','blood_pressure_monitoring_site')
124
+       var name = ""
125
+       for(let i=0;i<bloodPressureMmonitoringSite.length;i++){
126
+         if(id == bloodPressureMmonitoringSite[i].id){
127
+            name = bloodPressureMmonitoringSite[i].name
128
+         }
129
+       }
130
+       return name
131
+    },
132
+    getComplication(id){
133
+      var complication = getDataConfig('hemodialysis','complication')
134
+      var name = ""
135
+      for(let i=0;i<complication.length;i++){
136
+         if(id == complication[i].id){
137
+            name = complication[i].name
138
+         }
139
+      }
140
+      return name
116
     }
141
     }
117
   }
142
   }
118
 }
143
 }

+ 2 - 1
src/xt_pages/dialysis/details/index.vue 查看文件

979
         if (resp.state == 1) {
979
         if (resp.state == 1) {
980
           var patient = resp.data.patient // 患者信息
980
           var patient = resp.data.patient // 患者信息
981
           var schedual = resp.data.schedual // 患者排班信息
981
           var schedual = resp.data.schedual // 患者排班信息
982
-
982
+          console.log("排班22222222222",schedual)
983
           var prescription = resp.data.prescription // 透析处方
983
           var prescription = resp.data.prescription // 透析处方
984
           if (prescription != null) {
984
           if (prescription != null) {
985
             if (prescription.body_fluid == -2) {
985
             if (prescription.body_fluid == -2) {
988
           }
988
           }
989
 
989
 
990
           var solution = resp.data.solution // 透析方案
990
           var solution = resp.data.solution // 透析方案
991
+          console.log("透析方案22223333333333",solution)
991
           var receiver_treatment_access = resp.data.receiver_treatment_access // 接诊评估
992
           var receiver_treatment_access = resp.data.receiver_treatment_access // 接诊评估
992
 
993
 
993
           var predialysis_evaluation = resp.data.predialysis_evaluation // 透前评估
994
           var predialysis_evaluation = resp.data.predialysis_evaluation // 透前评估

+ 6 - 4
src/xt_pages/dialysis/dialysisDoctorAdvice.vue 查看文件

149
         >
149
         >
150
           <template slot-scope="scope">
150
           <template slot-scope="scope">
151
             <span v-if="scope.row.execution_time != 0">
151
             <span v-if="scope.row.execution_time != 0">
152
-              {{scope.row.start_time | parseTime('{m}-{d} {h}:{i}')}}
152
+              {{scope.row.execution_time | parseTime('{m}-{d} {h}:{i}')}}
153
             </span>
153
             </span>
154
             <span v-else></span>
154
             <span v-else></span>
155
           </template>
155
           </template>
495
             console.log("列表数据",schedules)
495
             console.log("列表数据",schedules)
496
             var config = resp.data.config
496
             var config = resp.data.config
497
             console.log("config222222",config.is_open)
497
             console.log("config222222",config.is_open)
498
-           if(config.is_open == 0){
498
+           if(config.is_open == 0 || config.is_open == 2){
499
             this.show = true
499
             this.show = true
500
             this.showOne = false
500
             this.showOne = false
501
             let arr = []
501
             let arr = []
539
                 })
539
                 })
540
                 this.scheduleMap = a
540
                 this.scheduleMap = a
541
             }
541
             }
542
+            console.log("列表22222",this.scheduleMap)
542
             this.scheduleMap.map(ele => {
543
             this.scheduleMap.map(ele => {
543
                 let firstIndex = this.scheduleMap.findIndex(item => {
544
                 let firstIndex = this.scheduleMap.findIndex(item => {
544
                   return item.patient_id === ele.patient_id   // 当category相同的时候,返回第一个相同的Index 赋值给 firstIndex
545
                   return item.patient_id === ele.patient_id   // 当category相同的时候,返回第一个相同的Index 赋值给 firstIndex
554
             })
555
             })
555
             this.indexInfoList = newArr
556
             this.indexInfoList = newArr
556
            }
557
            }
557
-           if(config.is_open == 1 || config.is_open == 2){
558
+           if(config.is_open == 1){
558
              this.show = false
559
              this.show = false
559
              this.showOne  = true
560
              this.showOne  = true
560
             var schedules =  resp.data.hisAdvices
561
             var schedules =  resp.data.hisAdvices
599
                 })
600
                 })
600
                 this.scheduleMap = a
601
                 this.scheduleMap = a
601
             }
602
             }
603
+            console.log('333333344444',this.scheduleMap)
602
             this.scheduleMap.map(ele => {
604
             this.scheduleMap.map(ele => {
603
                 let firstIndex = this.scheduleMap.findIndex(item => {
605
                 let firstIndex = this.scheduleMap.findIndex(item => {
604
                   return item.patient_id === ele.patient_id   // 当category相同的时候,返回第一个相同的Index 赋值给 firstIndex
606
                   return item.patient_id === ele.patient_id   // 当category相同的时候,返回第一个相同的Index 赋值给 firstIndex
615
             this.indexInfoList = newArr
617
             this.indexInfoList = newArr
616
            }
618
            }
617
          }
619
          }
618
-         console.log("列表22222",this.scheduleMap)
620
+        //  console.log("列表22222",this.scheduleMap)
619
         })
621
         })
620
     },
622
     },
621
     getValue: function(val) {
623
     getValue: function(val) {

+ 110 - 1
src/xt_pages/dialysis/dialysisPrintOrder.vue 查看文件

495
           >打印</el-button
495
           >打印</el-button
496
         >
496
         >
497
       </template>
497
       </template>
498
+      <template v-if="org_template_info.template_id == 36">
499
+        <div>
500
+          <el-button
501
+            :loading="loading"
502
+            size="small"
503
+            icon="el-icon-printer"
504
+            @click="printThisPage"
505
+            type="primary"
506
+            >打印全部</el-button
507
+          >
508
+          <el-button
509
+            :loading="loading"
510
+            size="small"
511
+            icon="el-icon-printer"
512
+            @click="printThisOnePage"
513
+            type="primary"
514
+            >打印纪录单</el-button
515
+          >
516
+          <el-button
517
+            :loading="loading"
518
+            size="small"
519
+            icon="el-icon-printer"
520
+            @click="printThisTwoPage"
521
+            type="primary"
522
+            >打印医嘱单</el-button
523
+          >
524
+        </div>
525
+      </template>
526
+      <template v-if="org_template_info.template_id == 37">
527
+        <el-button
528
+          :loading="loading"
529
+          size="small"
530
+          icon="el-icon-printer"
531
+          @click="printThisPage"
532
+          type="primary"
533
+          >打印</el-button
534
+        >
535
+      </template>
536
+      <template v-if="org_template_info.template_id == 38">
537
+        <el-button
538
+          :loading="loading"
539
+          size="small"
540
+          icon="el-icon-printer"
541
+          @click="printThisPage"
542
+          type="primary"
543
+          >打印</el-button
544
+        >
545
+      </template>
498
     </div>
546
     </div>
499
     <div class="app-container" style="min-height:0;">
547
     <div class="app-container" style="min-height:0;">
500
       <!--<div class="order-print-btn"-->
548
       <!--<div class="order-print-btn"-->
750
             v-if="org_template_info.template_id == 35"
798
             v-if="org_template_info.template_id == 35"
751
           >
799
           >
752
           </DialysisPrintOrderThirtyFive>
800
           </DialysisPrintOrderThirtyFive>
801
+          <DialysisPrintOrderThirtySix
802
+            v-bind:childResponse="childResponse"
803
+            v-if="org_template_info.template_id == 36"
804
+          >
805
+          </DialysisPrintOrderThirtySix>
806
+          <DialysisPrintOrderThirtySeven
807
+            v-bind:childResponse="childResponse"
808
+            v-if="org_template_info.template_id == 37"
809
+          >
810
+          </DialysisPrintOrderThirtySeven>
811
+          <DialysisPrintOrderThirtyEight
812
+            v-bind:childResponse="childResponse"
813
+            v-if="org_template_info.template_id == 38"
814
+          >
815
+          </DialysisPrintOrderThirtyEight>
753
         </div>
816
         </div>
754
       </el-container>
817
       </el-container>
755
     </div>
818
     </div>
804
 import DialysisPrintOrderThirtyThree from "./template/DialysisPrintOrderThirtyThree";
867
 import DialysisPrintOrderThirtyThree from "./template/DialysisPrintOrderThirtyThree";
805
 import DialysisPrintOrderThirtyFour from "./template/DialysisPrintOrderThirtyFour";
868
 import DialysisPrintOrderThirtyFour from "./template/DialysisPrintOrderThirtyFour";
806
 import DialysisPrintOrderThirtyFive from "./template/DialysisPrintOrderThirtyFive";
869
 import DialysisPrintOrderThirtyFive from "./template/DialysisPrintOrderThirtyFive";
870
+import DialysisPrintOrderThirtySix from "./template/DialysisPrintOrderThirtySix";
871
+import DialysisPrintOrderThirtySeven from "./template/DialysisPrintOrderThirtySeven";
872
+import DialysisPrintOrderThirtyEight from "./template/DialysisPrintOrderThirtyEight";
807
 export default {
873
 export default {
808
   name: "dialysisPrintOrder",
874
   name: "dialysisPrintOrder",
809
   components: {
875
   components: {
876
+    DialysisPrintOrderThirtyEight,
877
+    DialysisPrintOrderThirtySeven,
878
+    DialysisPrintOrderThirtySix,
810
     DialysisPrintOrderThirtyFive,
879
     DialysisPrintOrderThirtyFive,
811
     DialysisPrintOrderThirtyFour,
880
     DialysisPrintOrderThirtyFour,
812
     DialysisPrintOrderThirtyThree,
881
     DialysisPrintOrderThirtyThree,
1015
         '@media print {.dialysis-print-order {width: 960px; margin: 0 auto;}.dialysis-print-order .order-yy-name {margin: auto;text-align: center;font-size: 20px;letter-spacing: 5px;}.dialysis-print-order .order-title {  margin: auto;  font-weight: 600;  text-align: center;  font-size: 22px;  padding: 10px 20px 0px 20px;}.dialysis-print-order .table-box {  width: 100%;  line-height: 18px;  font-size: 14px;}.dialysis-print-order .print-table {  width: 100%;  text-align: center;  border-collapse: collapse;  line-height: 28px;  font-size: 14px;}.dialysis-print-order .print-table-no {  width: 100%;  text-align: center;  border-collapse: collapse;  font-size: 14px;}.dialysis-print-order .under-line {  border-bottom: 1px solid #999;  width: 95%;  text-align: center;  margin-left: 2px;}.dialysis-print-order .title-box {  text-align: center;  font-size: 16px;}.dialysis-print-order .radio-lebel-box {  font-weight: 400;  cursor: pointer;}.dialysis-print-order .radio-no {  opacity: 0;  outline: none;  position: absolute;  margin: 0;  width: 0;  height: 0;  z-index: -1;}.dialysis-print-order .radio-inner {  white-space: nowrap;  cursor: pointer;  outline: none;  display: inline-block;  line-height: 1;  position: relative;  vertical-align: middle;}.dialysis-print-order .radio-fang {  display: inline-block;  position: relative;  border: 1px solid #000;  box-sizing: border-box;  width: 14px;  height: 14px;  background-color: #fff;  z-index: 1;  transition: border-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46),    background-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46);}.dialysis-print-order .is-checked-radio::after {  content: "√";  font-size: 15px;}.dialysis-print-order .print-table-no tr td {  padding: 8px 5px;  line-height: 25px;}.dialysis-print-order .print-table tr td {  padding: 1px 1px;  /*line-height: 25px;*/}.es-img {  height: 25px;}.advice-name {  text-align: left;}.advice-children {  display: flex;}.title-box-pro {  border: 0 #fff;  line-height: 25px;  height: 25px;  text-align: left;  padding-left: 10px !important;}.title-box-pro-tr {  border: 0 #fff;}.text-align-left {  text-align: left !important;  padding-left: 10px !important;  font-size: 14px !important;  line-height: 25px;}.print-table-tr-new td {line-height: 20px !important;}.border-top-solid {border: solid 1px #000;}.print-template-two tr {line-height: 30px;}}';
1084
         '@media print {.dialysis-print-order {width: 960px; margin: 0 auto;}.dialysis-print-order .order-yy-name {margin: auto;text-align: center;font-size: 20px;letter-spacing: 5px;}.dialysis-print-order .order-title {  margin: auto;  font-weight: 600;  text-align: center;  font-size: 22px;  padding: 10px 20px 0px 20px;}.dialysis-print-order .table-box {  width: 100%;  line-height: 18px;  font-size: 14px;}.dialysis-print-order .print-table {  width: 100%;  text-align: center;  border-collapse: collapse;  line-height: 28px;  font-size: 14px;}.dialysis-print-order .print-table-no {  width: 100%;  text-align: center;  border-collapse: collapse;  font-size: 14px;}.dialysis-print-order .under-line {  border-bottom: 1px solid #999;  width: 95%;  text-align: center;  margin-left: 2px;}.dialysis-print-order .title-box {  text-align: center;  font-size: 16px;}.dialysis-print-order .radio-lebel-box {  font-weight: 400;  cursor: pointer;}.dialysis-print-order .radio-no {  opacity: 0;  outline: none;  position: absolute;  margin: 0;  width: 0;  height: 0;  z-index: -1;}.dialysis-print-order .radio-inner {  white-space: nowrap;  cursor: pointer;  outline: none;  display: inline-block;  line-height: 1;  position: relative;  vertical-align: middle;}.dialysis-print-order .radio-fang {  display: inline-block;  position: relative;  border: 1px solid #000;  box-sizing: border-box;  width: 14px;  height: 14px;  background-color: #fff;  z-index: 1;  transition: border-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46),    background-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46);}.dialysis-print-order .is-checked-radio::after {  content: "√";  font-size: 15px;}.dialysis-print-order .print-table-no tr td {  padding: 8px 5px;  line-height: 25px;}.dialysis-print-order .print-table tr td {  padding: 1px 1px;  /*line-height: 25px;*/}.es-img {  height: 25px;}.advice-name {  text-align: left;}.advice-children {  display: flex;}.title-box-pro {  border: 0 #fff;  line-height: 25px;  height: 25px;  text-align: left;  padding-left: 10px !important;}.title-box-pro-tr {  border: 0 #fff;}.text-align-left {  text-align: left !important;  padding-left: 10px !important;  font-size: 14px !important;  line-height: 25px;}.print-table-tr-new td {line-height: 20px !important;}.border-top-solid {border: solid 1px #000;}.print-template-two tr {line-height: 30px;}}';
1016
       const style6 =
1085
       const style6 =
1017
         '@media print {.dialysis-print-order{width:960px;margin:0 auto}.dialysis-print-order .order-yy-name{margin:auto;text-align:center;font-size:20px;letter-spacing:5px}.dialysis-print-order .order-title{margin:auto;font-weight:600;text-align:center;font-size:22px;padding:10px 20px 20px 20px}.dialysis-print-order .table-box{width:100%;line-height:23px;font-size:16px}.dialysis-print-order .print-table{width:100%;text-align:center;border-collapse:collapse;line-height:25px;font-size:16px}.dialysis-print-order .print-table-no{width:100%;text-align:center;border-collapse:collapse;font-size:16px}.dialysis-print-order .under-line{border-bottom:1px solid #999;width:95%;text-align:center;margin-left:2px}.dialysis-print-order .title-box{text-align:center;font-size:16px;border:1px solid #666}.dialysis-print-order .radio-lebel-box{font-weight:400;cursor:pointer}.dialysis-print-order .radio-no{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;z-index:-1}.dialysis-print-order .radio-inner{white-space:nowrap;cursor:pointer;outline:0;display:inline-block;line-height:1;position:relative;vertical-align:middle}.dialysis-print-order .radio-fang{display:inline-block;position:relative;border:1px solid #000;box-sizing:border-box;width:14px;height:14px;background-color:#fff;z-index:1;transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.dialysis-print-order .is-checked-radio::after{content:"√";font-size:15px}}.dialysis-print-order .print-table-no tr td { padding: 8px 5px; line-height: 25px; }.es-img{height: 20px; }.advice-name{text-align: left;}.advice-children{display:flex;} .dialysis-print-order .print-table tr td{padding: 0px 0px;} .print-template-two tr {line-height: 30px;}   .title-box-pro{border: 0 #fff;line-height: 40px;height: 40px;text-align: left;padding-left: 10px !important;}  .text-align-left{text-align: left !important;padding-left:10px !important;font-size: 14px !important;line-height: 25px;}';
1086
         '@media print {.dialysis-print-order{width:960px;margin:0 auto}.dialysis-print-order .order-yy-name{margin:auto;text-align:center;font-size:20px;letter-spacing:5px}.dialysis-print-order .order-title{margin:auto;font-weight:600;text-align:center;font-size:22px;padding:10px 20px 20px 20px}.dialysis-print-order .table-box{width:100%;line-height:23px;font-size:16px}.dialysis-print-order .print-table{width:100%;text-align:center;border-collapse:collapse;line-height:25px;font-size:16px}.dialysis-print-order .print-table-no{width:100%;text-align:center;border-collapse:collapse;font-size:16px}.dialysis-print-order .under-line{border-bottom:1px solid #999;width:95%;text-align:center;margin-left:2px}.dialysis-print-order .title-box{text-align:center;font-size:16px;border:1px solid #666}.dialysis-print-order .radio-lebel-box{font-weight:400;cursor:pointer}.dialysis-print-order .radio-no{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;z-index:-1}.dialysis-print-order .radio-inner{white-space:nowrap;cursor:pointer;outline:0;display:inline-block;line-height:1;position:relative;vertical-align:middle}.dialysis-print-order .radio-fang{display:inline-block;position:relative;border:1px solid #000;box-sizing:border-box;width:14px;height:14px;background-color:#fff;z-index:1;transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.dialysis-print-order .is-checked-radio::after{content:"√";font-size:15px}}.dialysis-print-order .print-table-no tr td { padding: 8px 5px; line-height: 25px; }.es-img{height: 20px; }.advice-name{text-align: left;}.advice-children{display:flex;} .dialysis-print-order .print-table tr td{padding: 0px 0px;} .print-template-two tr {line-height: 30px;}   .title-box-pro{border: 0 #fff;line-height: 40px;height: 40px;text-align: left;padding-left: 10px !important;}  .text-align-left{text-align: left !important;padding-left:10px !important;font-size: 14px !important;line-height: 25px;}';
1087
+      const style7 =
1088
+        '@media print {.dialysis-print-order {width: 960px; margin: 0 auto;}.dialysis-print-order .order-yy-name {margin: auto;text-align: center;font-size: 20px;letter-spacing: 5px;}.dialysis-print-order .order-title {  margin: auto;  font-weight: 600;  text-align: center;  font-size: 22px;  padding: 10px 20px 0px 20px;}.dialysis-print-order .table-box {  width: 100%;  line-height: 18px;  font-size: 18px;}.dialysis-print-order .print-table {  width: 100%;  text-align: center;  border-collapse: collapse;  line-height: 28px;  font-size: 18px;}.dialysis-print-order .print-table-no {  width: 100%;  text-align: center;  border-collapse: collapse;  font-size: 14px;}.dialysis-print-order .under-line {  border-bottom: 1px solid #999;  width: 95%;  text-align: center;  margin-left: 2px;}.dialysis-print-order .title-box {  text-align: center;  font-size: 16px;}.dialysis-print-order .radio-lebel-box {  font-weight: 400;  cursor: pointer;}.dialysis-print-order .radio-no {  opacity: 0;  outline: none;  position: absolute;  margin: 0;  width: 0;  height: 0;  z-index: -1;}.dialysis-print-order .radio-inner {  white-space: nowrap;  cursor: pointer;  outline: none;  display: inline-block;  line-height: 1;  position: relative;  vertical-align: middle;}.dialysis-print-order .radio-fang {  display: inline-block;  position: relative;  border: 1px solid #000;  box-sizing: border-box;  width: 18px;  height: 18px;  background-color: #fff;  z-index: 1;  transition: border-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46),    background-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46);}.dialysis-print-order .is-checked-radio::after {  content: "√";  font-size: 19px;}.dialysis-print-order .print-table-no tr td {  padding: 8px 5px;  line-height: 25px;}.dialysis-print-order .print-table tr td {  padding: 1px 1px;  /*line-height: 25px;*/}.es-img {  height: 25px;}.advice-name {  text-align: left;}.advice-children {  display: flex;}.title-box-pro {  border: 0 #fff;  line-height: 25px;  height: 25px;  text-align: left;  padding-left: 10px !important;}.title-box-pro-tr {  border: 0 #fff;}.text-align-left {  text-align: left !important;  padding-left: 10px !important;  font-size: 14px !important;  line-height: 25px;}.print-table-tr-new td {line-height: 20px !important;}.border-top-solid {border: solid 1px #000;}.print-template-two tr {line-height: 30px;}}';
1089
+      const style8 =
1090
+        '@media print {.dialysis-print-order{width:960px;margin:0 auto;font-size:10px;}.dialysis-print-order .order-yy-name{margin:auto;text-align:center;font-size:20px;letter-spacing:5px}.dialysis-print-order .order-title{margin:auto;font-weight:600;text-align:center;font-size:22px;padding:10px 20px 20px 20px}.dialysis-print-order .table-box{width:100%;line-height:23px;font-size:10px}.dialysis-print-order .print-table{width:100%;text-align:center;border-collapse:collapse;line-height:25px;font-size:14px}.dialysis-print-order .print-table-no{width:100%;text-align:center;border-collapse:collapse;font-size:14px}.dialysis-print-order .under-line{border-bottom:1px solid #999;width:95%;text-align:center;margin-left:2px}.dialysis-print-order .title-box{text-align:center;font-size:16px;border:1px solid #666}.dialysis-print-order .radio-lebel-box{font-weight:400;cursor:pointer}.dialysis-print-order .radio-no{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;z-index:-1}.dialysis-print-order .radio-inner{white-space:nowrap;cursor:pointer;outline:0;display:inline-block;line-height:1;position:relative;vertical-align:middle}.dialysis-print-order .radio-fang{display:inline-block;position:relative;border:1px solid #000;box-sizing:border-box;width:14px;height:14px;background-color:#fff;z-index:1;transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.dialysis-print-order .is-checked-radio::after{content:"√";font-size:15px}}.dialysis-print-order .print-table-no tr td { padding: 8px 5px; line-height: 25px; }.es-img{height: 20px; }.advice-name{text-align: left;}.advice-children{display:flex;} .dialysis-print-order .print-table tr td{padding: 0px 0px;} .print-template-two tr {line-height: 30px;}   .title-box-pro{border: 0 #fff;line-height: 40px;height: 40px;text-align: left;padding-left: 10px !important;}  .text-align-left{text-align: left !important;padding-left:10px !important;font-size: 14px !important;line-height: 25px;}.widthLength25{width: 25%;}.lineHeight{line-height: 20px;display: flex;justify-content: space-between;}';
1091
+
1018
 
1092
 
1019
       if (this.org_template_info.template_id == 1) {
1093
       if (this.org_template_info.template_id == 1) {
1020
         printJS({
1094
         printJS({
1195
         printJS({
1269
         printJS({
1196
           printable: "dialysis-print-box",
1270
           printable: "dialysis-print-box",
1197
           type: "html",
1271
           type: "html",
1198
-          style: style5,
1272
+          style: style7,
1199
           scanStyles: false
1273
           scanStyles: false
1200
         });
1274
         });
1201
       } else if (this.org_template_info.template_id == 29) {
1275
       } else if (this.org_template_info.template_id == 29) {
1247
           style: style,
1321
           style: style,
1248
           scanStyles: false
1322
           scanStyles: false
1249
         });
1323
         });
1324
+      } else if (this.org_template_info.template_id == 36) {
1325
+        printJS({
1326
+          printable: "dialysis-print-box-1",
1327
+          type: "html",
1328
+          style: style,
1329
+          scanStyles: false
1330
+        });
1331
+      } else if (this.org_template_info.template_id == 37) {
1332
+        printJS({
1333
+          printable: "dialysis-print-box",
1334
+          type: "html",
1335
+          style: style,
1336
+          scanStyles: false
1337
+        });
1338
+      } else if (this.org_template_info.template_id == 38) {
1339
+        printJS({
1340
+          printable: "dialysis-print-box",
1341
+          type: "html",
1342
+          style: style8,
1343
+          scanStyles: false
1344
+        });
1250
       }
1345
       }
1251
     },
1346
     },
1252
     printThisOnePage() {
1347
     printThisOnePage() {
1299
           style: style,
1394
           style: style,
1300
           scanStyles: false
1395
           scanStyles: false
1301
         });
1396
         });
1397
+      } else if(this.org_template_info.template_id == 36){
1398
+        printJS({
1399
+          printable: "dialysis-print-box-1-1",
1400
+          type: "html",
1401
+          style: style,
1402
+          scanStyles: false
1403
+        });
1302
       }
1404
       }
1303
     },
1405
     },
1304
     printThisTwoPage() {
1406
     printThisTwoPage() {
1351
           style: style,
1453
           style: style,
1352
           scanStyles: false
1454
           scanStyles: false
1353
         });
1455
         });
1456
+      } else if(this.org_template_info.template_id == 36){
1457
+        printJS({
1458
+          printable: "dialysis-print-box-1-2",
1459
+          type: "html",
1460
+          style: style,
1461
+          scanStyles: false
1462
+        });
1354
       }
1463
       }
1355
     },
1464
     },
1356
     getNumber() {
1465
     getNumber() {

+ 13 - 3
src/xt_pages/dialysis/template/DialysisPrintOrderOne.vue 查看文件

1386
 
1386
 
1387
           // this.advices = response.data.data.advices
1387
           // this.advices = response.data.data.advices
1388
 
1388
 
1389
-          this.advices =  response.data.data.advices.concat(response.data.data.doctorAdvice)
1389
+           var advices =  response.data.data.advices.concat(response.data.data.doctorAdvice)
1390
+           
1391
+          var newAdvices = this.unique(advices)
1392
+           console.log("newAdvices",newAdvices)
1390
 
1393
 
1394
+           this.advices = newAdvices
1395
+          console.log("去重后",this.advices)
1391
           this.monitors = response.data.data.monitors
1396
           this.monitors = response.data.data.monitors
1392
           this.summary = response.data.data.summary
1397
           this.summary = response.data.data.summary
1393
           this.org_template_info = response.data.data.org_template_info
1398
           this.org_template_info = response.data.data.org_template_info
1588
           // checker: 0,
1593
           // checker: 0,
1589
         }
1594
         }
1590
       )
1595
       )
1591
-    }
1596
+    },
1597
+     unique(arr) {
1598
+        const res = new Map();
1599
+        return arr.filter((arr) => !res.has(arr.id) && res.set(arr.id, 1));
1600
+    },
1592
   },
1601
   },
1593
   watch: {
1602
   watch: {
1594
     'patientInfo.gender': function() {
1603
     'patientInfo.gender': function() {
1614
         this.patientInfo_source_2 = false
1623
         this.patientInfo_source_2 = false
1615
         this.patientInfo_source_1 = false
1624
         this.patientInfo_source_1 = false
1616
       }
1625
       }
1617
-    }
1626
+    },
1627
+   
1618
   },
1628
   },
1619
   created() {
1629
   created() {
1620
     var xtuser = this.$store.getters.xt_user
1630
     var xtuser = this.$store.getters.xt_user

+ 21 - 21
src/xt_pages/dialysis/template/DialysisPrintOrderSix.vue 查看文件

553
                         {{ monitor.ultrafiltration_volume ? monitor.ultrafiltration_volume : "" }}
553
                         {{ monitor.ultrafiltration_volume ? monitor.ultrafiltration_volume : "" }}
554
                       </td>
554
                       </td>
555
                       <td v-if="(dialysisOrder && monitor.operate_time <= dialysisOrder.end_time) && ( dialysisOrder && monitor.operate_time >= dialysisOrder.start_time)">
555
                       <td v-if="(dialysisOrder && monitor.operate_time <= dialysisOrder.end_time) && ( dialysisOrder && monitor.operate_time >= dialysisOrder.start_time)">
556
-                        {{ monitor.ultrafiltration_volume ? monitor.ultrafiltration_volume : 0 }}
556
+                        {{ monitor.ultrafiltration_volume ? monitor.ultrafiltration_volume : "" }}
557
                       </td>
557
                       </td>
558
                       <td v-if="(prescription.mode_id == 2 || prescription.mode_id == 5 || prescription.mode_id == 12) && ((dialysisOrder && monitor.operate_time <= dialysisOrder.end_time) && (dialysisOrder && monitor.operate_time >= dialysisOrder.start_time))" style="width:50px">
558
                       <td v-if="(prescription.mode_id == 2 || prescription.mode_id == 5 || prescription.mode_id == 12) && ((dialysisOrder && monitor.operate_time <= dialysisOrder.end_time) && (dialysisOrder && monitor.operate_time >= dialysisOrder.start_time))" style="width:50px">
559
                         {{ monitor.displacement_quantity ? monitor.displacement_quantity : 0 }}
559
                         {{ monitor.displacement_quantity ? monitor.displacement_quantity : 0 }}
643
                       <!-- <td width="10%" v-if="(advice.children && advice.children.length > 0 || advice.parent_id > 0) && advice.isShow == 2" ></td> -->
643
                       <!-- <td width="10%" v-if="(advice.children && advice.children.length > 0 || advice.parent_id > 0) && advice.isShow == 2" ></td> -->
644
                       <td height="32px">
644
                       <td height="32px">
645
                         <span v-if="setAdminUserES(advice.advice_doctor) == ''">{{ getAdminUser(advice.advice_doctor) }}</span>
645
                         <span v-if="setAdminUserES(advice.advice_doctor) == ''">{{ getAdminUser(advice.advice_doctor) }}</span>
646
-                        <img style="height:20px;" :src="setAdminUserES(advice.advice_doctor)" alt="" srcset="" v-else />
646
+                        <img style="height:30px" :src="setAdminUserES(advice.advice_doctor)" alt="" srcset="" v-else />
647
                       </td>
647
                       </td>
648
                       <!-- <td height="35px">
648
                       <!-- <td height="35px">
649
                     <span v-if="setAdminUserES(advice.checker) == ''">{{getAdminUser(advice.checker)}}</span>
649
                     <span v-if="setAdminUserES(advice.checker) == ''">{{getAdminUser(advice.checker)}}</span>
651
                   </td> -->
651
                   </td> -->
652
                       <td height="32px">
652
                       <td height="32px">
653
                         <span v-if="setAdminUserES(advice.execution_staff) == ''">{{ getAdminUser(advice.execution_staff) }}</span>
653
                         <span v-if="setAdminUserES(advice.execution_staff) == ''">{{ getAdminUser(advice.execution_staff) }}</span>
654
-                        <img style="height:20px;" :src="setAdminUserES(advice.execution_staff)" alt="" srcset="" v-else />
654
+                        <img style="height:30px" :src="setAdminUserES(advice.execution_staff)" alt="" srcset="" v-else />
655
                       </td>
655
                       </td>
656
                       <td height="32px">
656
                       <td height="32px">
657
                         <span v-if="advice.execution_time">{{ getTime(advice.execution_time, "{h}:{i}") }}</span>
657
                         <span v-if="advice.execution_time">{{ getTime(advice.execution_time, "{h}:{i}") }}</span>
824
                 <!-- <td width="10%" v-if="(advice.children && advice.children.length > 0 || advice.parent_id > 0) && advice.isShow == 2" ></td> -->
824
                 <!-- <td width="10%" v-if="(advice.children && advice.children.length > 0 || advice.parent_id > 0) && advice.isShow == 2" ></td> -->
825
                 <td height="32px">
825
                 <td height="32px">
826
                   <span v-if="setAdminUserES(advice.advice_doctor) == ''">{{ getAdminUser(advice.advice_doctor) }}</span>
826
                   <span v-if="setAdminUserES(advice.advice_doctor) == ''">{{ getAdminUser(advice.advice_doctor) }}</span>
827
-                  <img style="height:20px;" :src="setAdminUserES(advice.advice_doctor)" alt="" srcset="" v-else />
827
+                  <img style="height:30px;" :src="setAdminUserES(advice.advice_doctor)" alt="" srcset="" v-else />
828
                 </td>
828
                 </td>
829
                 <!-- <td height="35px">
829
                 <!-- <td height="35px">
830
                 <span v-if="setAdminUserES(advice.checker) == ''">{{getAdminUser(advice.checker)}}</span>
830
                 <span v-if="setAdminUserES(advice.checker) == ''">{{getAdminUser(advice.checker)}}</span>
832
               </td> -->
832
               </td> -->
833
                 <td height="32px">
833
                 <td height="32px">
834
                   <span v-if="setAdminUserES(advice.execution_staff) == ''">{{ getAdminUser(advice.execution_staff) }}</span>
834
                   <span v-if="setAdminUserES(advice.execution_staff) == ''">{{ getAdminUser(advice.execution_staff) }}</span>
835
-                  <img style="height:20px;" :src="setAdminUserES(advice.execution_staff)" alt="" srcset="" v-else />
835
+                  <img style="height:30px;" :src="setAdminUserES(advice.execution_staff)" alt="" srcset="" v-else />
836
                 </td>
836
                 </td>
837
                 <td height="32px">
837
                 <td height="32px">
838
                   <span v-if="advice.execution_time">{{ getTime(advice.execution_time, "{h}:{i}") }}</span>
838
                   <span v-if="advice.execution_time">{{ getTime(advice.execution_time, "{h}:{i}") }}</span>
971
                   <div class="inline_block" style="flex:1;">
971
                   <div class="inline_block" style="flex:1;">
972
                     穿刺护士:
972
                     穿刺护士:
973
                     <div class="under_line" style="width: 80px;text-align: center">
973
                     <div class="under_line" style="width: 80px;text-align: center">
974
-                      <span v-if="setAdminUserES(dialysisOrder == null ? 0 : dialysisOrder.puncture_nurse) == ''">
974
+                      <span style="height: 30px;display: inline-block;" v-if="setAdminUserES(dialysisOrder == null ? 0 : dialysisOrder.puncture_nurse) == ''">
975
                         {{ getAdminUser(dialysisOrder == null ? 0 : dialysisOrder.puncture_nurse) }}</span>
975
                         {{ getAdminUser(dialysisOrder == null ? 0 : dialysisOrder.puncture_nurse) }}</span>
976
-                      <img style="height:20px;" :src="setAdminUserES(dialysisOrder == null ? 0 : dialysisOrder.puncture_nurse)" alt="" srcset="" v-else />
976
+                      <img style="height:30px;" :src="setAdminUserES(dialysisOrder == null ? 0 : dialysisOrder.puncture_nurse)" alt="" srcset="" v-else />
977
                     </div>
977
                     </div>
978
                   </div>
978
                   </div>
979
                   <div class="inline_block" style="flex:1;">
979
                   <div class="inline_block" style="flex:1;">
980
                     治疗护士:
980
                     治疗护士:
981
                     <div class="under_line" style="width: 80px;text-align: center">
981
                     <div class="under_line" style="width: 80px;text-align: center">
982
-                      <span v-if="setAdminUserES(dialysisOrder == null ? 0 : dialysisOrder.start_nurse) == ''">
982
+                      <span style="height: 30px;display: inline-block;" v-if="setAdminUserES(dialysisOrder == null ? 0 : dialysisOrder.start_nurse) == ''">
983
                         {{ getAdminUser(dialysisOrder == null ? 0 : dialysisOrder.start_nurse) }}</span>
983
                         {{ getAdminUser(dialysisOrder == null ? 0 : dialysisOrder.start_nurse) }}</span>
984
-                      <img style="height:20px;" :src="setAdminUserES(dialysisOrder == null ? 0 : dialysisOrder.start_nurse)" alt="" srcset="" v-else />
984
+                      <img style="height:30px;" :src="setAdminUserES(dialysisOrder == null ? 0 : dialysisOrder.start_nurse)" alt="" srcset="" v-else />
985
                     </div>
985
                     </div>
986
                   </div>
986
                   </div>
987
                   <div class="inline_block" style="flex:1;">
987
                   <div class="inline_block" style="flex:1;">
988
                     核对人员:
988
                     核对人员:
989
                     <div class="under_line" style="width: 80px;text-align: center" v-if="dialysisOrder == null">
989
                     <div class="under_line" style="width: 80px;text-align: center" v-if="dialysisOrder == null">
990
-                      <span v-if="setAdminUserES(check == null ? 0 : check.creater) == ''">
990
+                      <span style="height: 30px;display: inline-block;" v-if="setAdminUserES(check == null ? 0 : check.creater) == ''">
991
                         {{ getAdminUser(check == null ? 0 : check.creater) }}
991
                         {{ getAdminUser(check == null ? 0 : check.creater) }}
992
                       </span>
992
                       </span>
993
-                      <img style="height:20px;" :src="setAdminUserES(check == null ? 0 : check.creater)" alt="" srcset="" v-else />
993
+                      <img style="height:30px;" :src="setAdminUserES(check == null ? 0 : check.creater)" alt="" srcset="" v-else />
994
                     </div>
994
                     </div>
995
                     <div class="under_line" style="width: 80px;text-align: center" v-if="dialysisOrder != null && dialysisOrder.start_nurse == check.modifier">
995
                     <div class="under_line" style="width: 80px;text-align: center" v-if="dialysisOrder != null && dialysisOrder.start_nurse == check.modifier">
996
-                      <span v-if="setAdminUserES(check == null ? 0 : check.creater) == ''">
996
+                      <span style="height: 30px;display: inline-block;" v-if="setAdminUserES(check == null ? 0 : check.creater) == ''">
997
                         {{ getAdminUser(check == null ? 0 : check.creater) }}
997
                         {{ getAdminUser(check == null ? 0 : check.creater) }}
998
                       </span>
998
                       </span>
999
-                      <img style="height:20px;" :src="setAdminUserES(check == null ? 0 : check.creater)" alt="" srcset="" v-else />
999
+                      <img style="height:30px;" :src="setAdminUserES(check == null ? 0 : check.creater)" alt="" srcset="" v-else />
1000
                     </div>
1000
                     </div>
1001
                     <div class="under_line" style="width: 80px;text-align: center" v-if="dialysisOrder != null && dialysisOrder.start_nurse == check.creater">
1001
                     <div class="under_line" style="width: 80px;text-align: center" v-if="dialysisOrder != null && dialysisOrder.start_nurse == check.creater">
1002
-                      <span v-if="setAdminUserES(check == null ? 0 : check.modifier) == ''">
1002
+                      <span style="height: 30px;display: inline-block;" v-if="setAdminUserES(check == null ? 0 : check.modifier) == ''">
1003
                         {{ getAdminUser(check == null ? 0 : check.modifier) }}
1003
                         {{ getAdminUser(check == null ? 0 : check.modifier) }}
1004
                       </span>
1004
                       </span>
1005
-                      <img style="height:20px;" :src="setAdminUserES(check == null ? 0 : check.modifier)" alt="" srcset="" v-else />
1005
+                      <img style="height:30px;" :src="setAdminUserES(check == null ? 0 : check.modifier)" alt="" srcset="" v-else />
1006
                     </div>
1006
                     </div>
1007
                     <div class="under_line" style="width: 80px;text-align: center" v-if="dialysisOrder != null && dialysisOrder.start_nurse != check.creater && dialysisOrder.start_nurse != check.modifier">
1007
                     <div class="under_line" style="width: 80px;text-align: center" v-if="dialysisOrder != null && dialysisOrder.start_nurse != check.creater && dialysisOrder.start_nurse != check.modifier">
1008
-                      <span v-if="setAdminUserES(check == null ? 0 : check.creater) == ''">
1008
+                      <span style="height: 30px;display: inline-block;" v-if="setAdminUserES(check == null ? 0 : check.creater) == ''">
1009
                         {{ getAdminUser(check == null ? 0 : check.creater) }}
1009
                         {{ getAdminUser(check == null ? 0 : check.creater) }}
1010
                       </span>
1010
                       </span>
1011
-                      <img style="height:20px;" :src="setAdminUserES(check == null ? 0 : check.creater)" alt="" srcset="" v-else />
1011
+                      <img style="height:30px;" :src="setAdminUserES(check == null ? 0 : check.creater)" alt="" srcset="" v-else />
1012
                     </div>
1012
                     </div>
1013
                   </div>
1013
                   </div>
1014
                   <div class="inline_block" style="flex:1;">
1014
                   <div class="inline_block" style="flex:1;">
1015
                     下机护士:
1015
                     下机护士:
1016
                     <div class="under_line" style="width: 80px;text-align: center">
1016
                     <div class="under_line" style="width: 80px;text-align: center">
1017
-                      <span v-if="setAdminUserES(dialysisOrder == null ? 0 : dialysisOrder.finish_nurse) == ''">
1017
+                      <span style="height: 30px;display: inline-block;" v-if="setAdminUserES(dialysisOrder == null ? 0 : dialysisOrder.finish_nurse) == ''">
1018
                         {{ getAdminUser(dialysisOrder == null ? 0 : dialysisOrder.finish_nurse) }}
1018
                         {{ getAdminUser(dialysisOrder == null ? 0 : dialysisOrder.finish_nurse) }}
1019
                       </span>
1019
                       </span>
1020
-                      <img style="height:20px;" :src="setAdminUserES(dialysisOrder == null ? 0 : dialysisOrder.finish_nurse)" alt="" srcset="" v-else />
1020
+                      <img style="height:30px;" :src="setAdminUserES(dialysisOrder == null ? 0 : dialysisOrder.finish_nurse)" alt="" srcset="" v-else />
1021
                     </div>
1021
                     </div>
1022
                   </div>
1022
                   </div>
1023
                   <div class="inline_block" style="flex:1;">
1023
                   <div class="inline_block" style="flex:1;">
1024
                     治疗医生:
1024
                     治疗医生:
1025
                     <div class="under_line" style="width: 80px;text-align: center">
1025
                     <div class="under_line" style="width: 80px;text-align: center">
1026
-                      <span v-if="setAdminUserES(prescription.creater) == ''">
1026
+                      <span style="height: 30px;display: inline-block;" v-if="setAdminUserES(prescription.creater) == ''">
1027
                         {{ getAdminUser(prescription.creater) }}
1027
                         {{ getAdminUser(prescription.creater) }}
1028
                       </span>
1028
                       </span>
1029
-                      <img style="height:20px;" :src="setAdminUserES(prescription.creater)" alt="" srcset="" v-else />
1029
+                      <img style="height:30px;" :src="setAdminUserES(prescription.creater)" alt="" srcset="" v-else />
1030
                     </div>
1030
                     </div>
1031
                   </div>
1031
                   </div>
1032
                 </div>
1032
                 </div>

+ 5 - 3
src/xt_pages/dialysis/template/DialysisPrintOrderTen.vue 查看文件

322
                   <div class="inline_block" style="flex:1;">
322
                   <div class="inline_block" style="flex:1;">
323
                     透析(滤)器:
323
                     透析(滤)器:
324
                     <div class="under_line" style="width: 100px;text-align: center">
324
                     <div class="under_line" style="width: 100px;text-align: center">
325
-                      {{ prescription.dialyzer_perfusion_apparatus ? prescription.dialyzer_perfusion_apparatus : "/" }}
325
+                      <!-- {{ prescription.dialyzer_perfusion_apparatus ? prescription.dialyzer_perfusion_apparatus : "/" }} -->
326
+
327
+                      {{ prescription.dialysis_dialyszers ? prescription.dialysis_dialyszers : "/" }}
326
                     </div>
328
                     </div>
327
                   </div>
329
                   </div>
328
                   <div class="inline_block" style="flex:1;">
330
                   <div class="inline_block" style="flex:1;">
329
                     灌流器:
331
                     灌流器:
330
                     <div class="under_line" style="width: 70px;text-align: center">
332
                     <div class="under_line" style="width: 70px;text-align: center">
331
-                      /
333
+                      {{ prescription.dialysis_irrigation ? prescription.dialysis_irrigation : "/" }}
332
                     </div>
334
                     </div>
333
                   </div>
335
                   </div>
334
                   <div class="inline_block" style="flex:1;">
336
                   <div class="inline_block" style="flex:1;">
1401
         this.prescription = response.data.data.dialysisPrescription;
1403
         this.prescription = response.data.data.dialysisPrescription;
1402
 
1404
 
1403
         this.receiverTreatmentAccess =response.data.data.receiverTreatmentAccess;
1405
         this.receiverTreatmentAccess =response.data.data.receiverTreatmentAccess;
1404
-        console.log("透析监测",this.receiverTreatmentAccess)
1406
+        // console.log("透析监测",this.receiverTreatmentAccess)
1405
         this.prescription.mode = this.modeName(this.prescription.mode_id);
1407
         this.prescription.mode = this.modeName(this.prescription.mode_id);
1406
         var rwLen = this.replacementWays.length;
1408
         var rwLen = this.replacementWays.length;
1407
         this.prescription.replacement = "";
1409
         this.prescription.replacement = "";

+ 26 - 4
src/xt_pages/dialysis/template/DialysisPrintOrderThirty.vue 查看文件

100
           <tbody>
100
           <tbody>
101
             <tr>
101
             <tr>
102
                 <td width="70">血管通路:</td>
102
                 <td width="70">血管通路:</td>
103
-                <td width="370">
103
+                <td width="560">
104
                     <div>
104
                     <div>
105
-                        <label-box :isChecked="predialysis.blood_access_part_opera_name.indexOf('内瘘') > -1 ? true : false" showValue="内瘘"></label-box>
105
+                        <label-box :isChecked="predialysis.blood_access_part_opera_name.indexOf('绳梯') > -1 ? true : false" showValue="绳梯"></label-box>
106
                         &nbsp;
106
                         &nbsp;
107
+                        A:( 
108
+                          <span style="width:50px;display:inline-block;text-align:center;">
109
+                            &nbsp;<span v-if="predialysis.puncture_way.indexOf('A1')>-1">A1</span>
110
+                            <span v-if="predialysis.puncture_way.indexOf('A2')>-1">A2</span>
111
+                            <span v-if="predialysis.puncture_way.indexOf('A3')>-1">A3</span>
112
+                            <span v-if="predialysis.puncture_way.indexOf('A4')>-1">A4</span>
113
+                            <span v-if="predialysis.puncture_way.indexOf('A5')>-1">A5</span>
114
+                            <span v-if="predialysis.puncture_way.indexOf('A6')>-1">A6</span>
115
+                          </span>
116
+                        )&nbsp;
117
+                        V:( 
118
+                          <span style="width:50px;display:inline-block;text-align:center;">
119
+                            <span v-if="predialysis.puncture_way.indexOf('V1')>-1">V1</span>
120
+                            <span v-if="predialysis.puncture_way.indexOf('V2')>-1">V2</span>
121
+                            <span v-if="predialysis.puncture_way.indexOf('V3')>-1">V3</span>
122
+                            <span v-if="predialysis.puncture_way.indexOf('V4')>-1">V4</span>
123
+                            <span v-if="predialysis.puncture_way.indexOf('V5')>-1">V5</span>
124
+                            <span v-if="predialysis.puncture_way.indexOf('V6')>-1">V6</span>
125
+                          </span>
126
+                         )
107
                         <label-box :isChecked="predialysis.blood_access_part_opera_name.indexOf('长期管') > -1 ? true : false" showValue="长期管"></label-box>
127
                         <label-box :isChecked="predialysis.blood_access_part_opera_name.indexOf('长期管') > -1 ? true : false" showValue="长期管"></label-box>
108
                         &nbsp;
128
                         &nbsp;
109
                         <label-box :isChecked="predialysis.blood_access_part_opera_name.indexOf('临时管') > -1 ? true : false" showValue="临时管"></label-box>
129
                         <label-box :isChecked="predialysis.blood_access_part_opera_name.indexOf('临时管') > -1 ? true : false" showValue="临时管"></label-box>
112
                         &nbsp;
132
                         &nbsp;
113
                        <label-box :isChecked="predialysis.blood_access_part_opera_name.indexOf('人造血管') > -1 ? true : false" showValue="人造血管"></label-box>
133
                        <label-box :isChecked="predialysis.blood_access_part_opera_name.indexOf('人造血管') > -1 ? true : false" showValue="人造血管"></label-box>
114
                         &nbsp;
134
                         &nbsp;
135
+                       <label-box :isChecked="predialysis.blood_access_part_opera_name.indexOf('扣眼') > -1 ? true : false" showValue="扣眼"></label-box>
136
+                        &nbsp;
115
                     </div>
137
                     </div>
116
                 </td>
138
                 </td>
117
-                <td width='20'></td>
139
+                <td width='10'></td>
118
                 <td width="70">封管用药:</td>
140
                 <td width="70">封管用药:</td>
119
                 <td>
141
                 <td>
120
                     <div class="under-line" style="text-align:left;">&nbsp;{{prescription.remark?prescription.remark:''}}</div>
142
                     <div class="under-line" style="text-align:left;">&nbsp;{{prescription.remark?prescription.remark:''}}</div>
315
                     <tr>
337
                     <tr>
316
                       <td wdith='70'>下机情况:</td>
338
                       <td wdith='70'>下机情况:</td>
317
                       <td wdith='30'>凝血:</td>
339
                       <td wdith='30'>凝血:</td>
318
-                      <td width="240">
340
+                      <td width="250">
319
                           <label-box :isChecked="afterdialysis.cruor?(afterdialysis.cruor.indexOf('无凝血') > -1 ? true : false):false" showValue="无"></label-box>&nbsp;
341
                           <label-box :isChecked="afterdialysis.cruor?(afterdialysis.cruor.indexOf('无凝血') > -1 ? true : false):false" showValue="无"></label-box>&nbsp;
320
                           <label-box :isChecked="afterdialysis.cruor?(afterdialysis.cruor.indexOf('有凝血') > -1 ? true : false):false" showValue="有"></label-box>&nbsp;
342
                           <label-box :isChecked="afterdialysis.cruor?(afterdialysis.cruor.indexOf('有凝血') > -1 ? true : false):false" showValue="有"></label-box>&nbsp;
321
                           <label-box :isChecked="afterdialysis.cruor?(afterdialysis.cruor.indexOf('透析器-Ⅰ度') > -1 ? true : false):false" showValue="Ⅰ"></label-box>&nbsp;
343
                           <label-box :isChecked="afterdialysis.cruor?(afterdialysis.cruor.indexOf('透析器-Ⅰ度') > -1 ? true : false):false" showValue="Ⅰ"></label-box>&nbsp;

文件差異過大導致無法顯示
+ 1500 - 0
src/xt_pages/dialysis/template/DialysisPrintOrderThirtyEight.vue


+ 9 - 1
src/xt_pages/dialysis/template/DialysisPrintOrderThirtyFive.vue 查看文件

191
               <label-box :isChecked="predialysis.blood_access_part_opera_name.indexOf('颈内静脉') > -1 ? true : false" showValue="临时颈内静脉导管"></label-box>&nbsp;
191
               <label-box :isChecked="predialysis.blood_access_part_opera_name.indexOf('颈内静脉') > -1 ? true : false" showValue="临时颈内静脉导管"></label-box>&nbsp;
192
               <label-box :isChecked="predialysis.blood_access_part_opera_name.indexOf('股静脉') > -1 ? true : false" showValue="临时股静脉导管"></label-box>&nbsp;
192
               <label-box :isChecked="predialysis.blood_access_part_opera_name.indexOf('股静脉') > -1 ? true : false" showValue="临时股静脉导管"></label-box>&nbsp;
193
               <label-box :isChecked="predialysis.blood_access_part_opera_name.indexOf('人造血管') > -1 ? true : predialysis.blood_access_part_opera_name.indexOf('移植血管') > -1 ? true : false" showValue="其他"></label-box>&nbsp;
193
               <label-box :isChecked="predialysis.blood_access_part_opera_name.indexOf('人造血管') > -1 ? true : predialysis.blood_access_part_opera_name.indexOf('移植血管') > -1 ? true : false" showValue="其他"></label-box>&nbsp;
194
-              <span style="width:50px;display: inline-block;"></span>
194
+              
195
+              穿刺方式:
196
+              <span style="width:60px;display: inline-block;">
197
+                {{ predialysis.puncture_way ? predialysis.puncture_way : "" }}
198
+              </span>
199
+              位点:
200
+              <span style="width:60px;display: inline-block;">
201
+                {{ predialysis.pinholing ? predialysis.pinholing : "" }}
202
+              </span>
195
               穿刺者:
203
               穿刺者:
196
               <span style="width:50px;display: inline-block;">
204
               <span style="width:50px;display: inline-block;">
197
                 <span v-if="setAdminUserES(dialysisOrder == null ? 0 : dialysisOrder.puncture_nurse) == ''">
205
                 <span v-if="setAdminUserES(dialysisOrder == null ? 0 : dialysisOrder.puncture_nurse) == ''">

+ 156 - 115
src/xt_pages/dialysis/template/DialysisPrintOrderThirtyOne.vue 查看文件

139
           (<label-box :isChecked="predialysis.blood_access_part_opera_name.indexOf('内瘘-左') > -1 ? true : false" showValue="左"></label-box>
139
           (<label-box :isChecked="predialysis.blood_access_part_opera_name.indexOf('内瘘-左') > -1 ? true : false" showValue="左"></label-box>
140
               <label-box :isChecked="predialysis.blood_access_part_opera_name.indexOf('内瘘-右') > -1 ? true : false" showValue="右"></label-box>)
140
               <label-box :isChecked="predialysis.blood_access_part_opera_name.indexOf('内瘘-右') > -1 ? true : false" showValue="右"></label-box>)
141
           &nbsp;
141
           &nbsp;
142
-          <label-box :isChecked="predialysis.blood_access_part_opera_name.indexOf('中心静脉置管-左') > -1 ? true : predialysis.blood_access_part_opera_name.indexOf('中心静脉置管-右') > -1 ? true : false" showValue="中心静脉置管"></label-box>
143
-          (<label-box :isChecked="predialysis.blood_access_part_opera_name.indexOf('中心静脉置管-左') > -1 ? true : false" showValue="左"></label-box>
144
-              <label-box :isChecked="predialysis.blood_access_part_opera_name.indexOf('中心静脉置管-右') > -1 ? true : false" showValue="右"></label-box>)部位
142
+          <label-box :isChecked="predialysis.blood_access_part_opera_name.indexOf('中心静脉置管-左-颈内') > -1 ? true : predialysis.blood_access_part_opera_name.indexOf('中心静脉置管-左-锁骨下') > -1 ? true : predialysis.blood_access_part_opera_name.indexOf('中心静脉置管-左-股') > -1 ? true : predialysis.blood_access_part_opera_name.indexOf('中心静脉置管-右-颈内') > -1 ? true : predialysis.blood_access_part_opera_name.indexOf('中心静脉置管-右-锁骨下') > -1 ? true : predialysis.blood_access_part_opera_name.indexOf('中心静脉置管-右-股') > -1 ? true : false" showValue="中心静脉置管"></label-box>
143
+          (<label-box :isChecked="predialysis.blood_access_part_opera_name.indexOf('中心静脉置管-左-颈内') > -1 ? true : predialysis.blood_access_part_opera_name.indexOf('中心静脉置管-左-锁骨下') > -1 ? true : predialysis.blood_access_part_opera_name.indexOf('中心静脉置管-左-股') > -1 ? true : false" showValue="左"></label-box>
144
+              <label-box :isChecked="predialysis.blood_access_part_opera_name.indexOf('中心静脉置管-右-颈内') > -1 ? true : predialysis.blood_access_part_opera_name.indexOf('中心静脉置管-右-锁骨下') > -1 ? true : predialysis.blood_access_part_opera_name.indexOf('中心静脉置管-右-股') > -1 ? true : false" showValue="右"></label-box>)部位
145
           &nbsp;
145
           &nbsp;
146
-          <!-- <label-box :isChecked="predialysis.blood_access_part_id > 0 ? (getPartName(predialysis.blood_access_part_id).indexOf('颈内') > -1 ? true : false) : false" showValue="颈内"></label-box>
146
+          <label-box :isChecked="predialysis.blood_access_part_opera_name.indexOf('中心静脉置管-左-颈内')>-1?true:predialysis.blood_access_part_opera_name.indexOf('中心静脉置管-右-颈内')>-1?true:false" showValue="颈内"></label-box>
147
           &nbsp;
147
           &nbsp;
148
-          <label-box :isChecked="predialysis.blood_access_part_id > 0 ? (getPartName(predialysis.blood_access_part_id).indexOf('锁骨下') > -1 ? true : false) : false" showValue="锁骨下"></label-box>
148
+          <label-box :isChecked="predialysis.blood_access_part_opera_name.indexOf('中心静脉置管-左-锁骨下')>-1?true:predialysis.blood_access_part_opera_name.indexOf('中心静脉置管-右-锁骨下')>-1?true:false" showValue="锁骨下"></label-box>
149
           &nbsp;
149
           &nbsp;
150
-          <label-box :isChecked="predialysis.blood_access_part_id > 0 ? (getPartName(predialysis.blood_access_part_id).indexOf('股') > -1 ? true : false) : false" showValue="股"></label-box>
151
-          &nbsp;
152
-          <label-box :isChecked="predialysis.blood_access_part_id > 0 ? (getPartName(predialysis.blood_access_part_id).indexOf('其他') > -1? true : false) :false" showValue="其他"></label-box>
153
-          &nbsp; -->
154
-          <label-box :isChecked="predialysis.blood_access_part_id.indexOf('颈内')>-1?true:false" showValue="颈内"></label-box>
155
-          &nbsp;
156
-          <label-box :isChecked="predialysis.blood_access_part_id.indexOf('锁骨下')>-1?true:false" showValue="锁骨下"></label-box>
157
-          &nbsp;
158
-          <label-box :isChecked="predialysis.blood_access_part_id.indexOf('股')>-1?true:false" showValue="股"></label-box>
159
-          &nbsp;
160
-          <label-box :isChecked="predialysis.blood_access_part_id.indexOf('其他')>-1?true:false" showValue="其他"></label-box>
150
+          <label-box :isChecked="predialysis.blood_access_part_opera_name.indexOf('中心静脉置管-左-股')>-1?true:predialysis.blood_access_part_opera_name.indexOf('中心静脉置管-右-股')>-1?true:false" showValue="股"></label-box>
161
           &nbsp;
151
           &nbsp;
162
         </div>
152
         </div>
163
       </div>
153
       </div>
311
         </div>
301
         </div>
312
         出血
302
         出血
313
         <div class="inline_block under_line" style="width:150px;text-align: center;margin-right:30px;">
303
         <div class="inline_block under_line" style="width:150px;text-align: center;margin-right:30px;">
314
-          {{ predialysis.is_hemorrhage == 1 && predialysis.hemorrhage ? predialysis.hemorrhage : "" }}
304
+          <span v-if="predialysis.is_hemorrhage == 1">{{ predialysis.is_hemorrhage == 1 && predialysis.hemorrhage ? predialysis.hemorrhage : "" }}</span>
305
+          <span v-if="predialysis.is_hemorrhage == 2">无</span>
306
+          <span v-if="predialysis.is_hemorrhage != 2 && predialysis.is_hemorrhage != 1">/</span>
315
         </div>
307
         </div>
316
         跌倒风险预防措施
308
         跌倒风险预防措施
317
         <div class="inline_block under_line" style="width:100px;text-align: center;">
309
         <div class="inline_block under_line" style="width:100px;text-align: center;">
446
       <table class="print-table" border="1">
438
       <table class="print-table" border="1">
447
         <tbody>
439
         <tbody>
448
           <tr style="height:30px;line-height:30px">
440
           <tr style="height:30px;line-height:30px">
449
-            <td width="70" rowspan="3" style="padding-left:5px;border:none;border-right:1px solid #000;">
441
+            <td width="30" rowspan="4" style="padding-left:5px;border:none;border-right:1px solid #000;">
450
               透后小结
442
               透后小结
451
             </td>
443
             </td>
452
-
453
-            <td width="25" style="border:none;padding-left:5px;">
454
-              体温:
455
-            </td>
456
-            <td width="70" style="text-align:left;border:none;">
457
-              <div>
458
-                <span class="under_line" style="width:50px;display:inline-block;">
459
-                  {{ afterdialysis.temperature ? afterdialysis.temperature : "" }}
460
-                </span>℃
461
-              </div>
462
-            </td>
463
-            <!-- <td width="10" style="border:none;"></td> -->
464
-
465
-            <td width="20" style="border:none;padding-left:5px;">血压:</td>
466
-            <td width="60" style="text-align:left;border:none;line-height: 30px;">
467
-              <div>
468
-                <span class="under_line" style="width:100px;display:inline-block">
469
-                  {{ afterdialysis.systolic_blood_pressure ? afterdialysis.systolic_blood_pressure : "" }}/
470
-                  {{ afterdialysis.diastolic_blood_pressure ? afterdialysis.diastolic_blood_pressure : "" }}
471
-                </span>mmHg
472
-              </div>
473
-            </td>
474
-            <td width="10" style="border:none;padding-left:5px">脉搏:</td>
475
-            <td width="70" style="text-align:left;border:none;">
476
-              <div>
477
-                <span class="under_line" style="width:50px;display:inline-block">
478
-                  {{ afterdialysis.pulse_frequency ? afterdialysis.pulse_frequency : "" }}
479
-                </span>次/分
480
-              </div>
481
-            </td>
482
-            <td width="50" style="border:none;padding-left:5px">透后症状:</td>
483
-            <td width="100" style="text-align:left;border:none;">
484
-              <div>
485
-                <span class="under_line" style="width:100px;display:inline-block">
486
-                  {{ afterdialysis.symptom_after_dialysis ? afterdialysis.symptom_after_dialysis : "" }}
487
-                </span>
488
-              </div>
444
+            <td colspan="8">
445
+              <table class="table-box">
446
+                <tbody>
447
+                  <tr>
448
+                    <td width="50" style="border:none;padding-left:5px;">
449
+                      体温:
450
+                    </td>
451
+                    <td width="70" style="text-align:left;border:none;">
452
+                      <div>
453
+                        <span class="under_line" style="width:50px;display:inline-block;">
454
+                          {{ afterdialysis.temperature ? afterdialysis.temperature : "" }}
455
+                        </span>℃
456
+                      </div>
457
+                    </td>
458
+                    <!-- <td width="10" style="border:none;"></td> -->
459
+
460
+                    <td width="50" style="border:none;padding-left:5px;">血压:</td>
461
+                    <td width="120" style="text-align:left;border:none;line-height: 30px;">
462
+                      <div>
463
+                        <span class="under_line" style="width:100px;display:inline-block">
464
+                          {{ afterdialysis.systolic_blood_pressure ? afterdialysis.systolic_blood_pressure : "" }}/
465
+                          {{ afterdialysis.diastolic_blood_pressure ? afterdialysis.diastolic_blood_pressure : "" }}
466
+                        </span>mmHg
467
+                      </div>
468
+                    </td>
469
+                    <td width="50" style="border:none;padding-left:5px">脉搏:</td>
470
+                    <td width="70" style="text-align:left;border:none;">
471
+                      <div>
472
+                        <span class="under_line" style="width:50px;display:inline-block">
473
+                          {{ afterdialysis.pulse_frequency ? afterdialysis.pulse_frequency : "" }}
474
+                        </span>次/分
475
+                      </div>
476
+                    </td>
477
+                    <td width="70" style="border:none;padding-left:5px">透后症状:</td>
478
+                    <td width="100" style="text-align:left;border:none;">
479
+                      <div>
480
+                        <span class="under_line" style="width:100px;display:inline-block">
481
+                          {{ afterdialysis.symptom_after_dialysis ? afterdialysis.symptom_after_dialysis : "" }}
482
+                        </span>
483
+                      </div>
484
+                    </td>
485
+                  </tr>
486
+                </tbody>
487
+              </table>
488
+              <table class="table-box">
489
+                <tbody>
490
+                  <tr style="height:30px;line-height:30px;">
491
+                    <td width="80" style="border:none;padding-left:5px">实际置换量:</td>
492
+                    <td width="60" style="text-align:left;border:none;">
493
+                      <div>
494
+                        <span class="under_line" style="width:50px;display:inline-block">
495
+                          {{ afterdialysis.actual_displacement ? afterdialysis.actual_displacement : "" }}
496
+                        </span>L
497
+                      </div>
498
+                    </td>
499
+                    
500
+                    
501
+                    <!-- <td width="50" style="text-align:left;border:none;"></td> -->
502
+                    <!-- <td width="110" style="text-align:left;border:none;"></td> -->
503
+                    <td width="120" style="border:none;padding-left:5px">透析期间进食:</td>
504
+                    <td width="120" style="text-align:left;border:none;">
505
+                      <div>
506
+                        <span class="under_line" style="width:120px;display:inline-block">
507
+                          <span v-if='afterdialysis.is_eat == 1'>是</span>
508
+                          <span v-if='afterdialysis.is_eat == 2'>否</span>
509
+                        </span>
510
+                      </div>
511
+                    </td>
512
+                    <td width='20'></td>
513
+                    <td width="70" style="border:none;padding-left:5px">透析进食:</td>
514
+                    <td width="70" style="text-align:left;border:none;">
515
+                      <div>
516
+                        <span class="under_line" style="width:50px;display:inline-block">
517
+                          {{ afterdialysis.is_eat == 1 && afterdialysis.dialysis_during ? afterdialysis.dialysis_during : '' }}
518
+                        </span>g
519
+                      </div>
520
+                    </td>
521
+                    <td></td>
522
+                    <!-- <td width="10" style="text-align:left;border:none;"></td>
523
+                    <td width="110" style="text-align:left;border:none;"></td> -->
524
+                  </tr>
525
+                </tbody>
526
+              </table>
527
+              <table class="table-box">
528
+                <tbody>
529
+                  <tr>
530
+                    <td width="90" style="border:none;padding-left:5px">透析器凝血:</td>
531
+                    <td width="220" style="text-align:left;border:none;">
532
+                      <label-box :isChecked="afterdialysis.cruor ? (afterdialysis.cruor.indexOf('透析器0') > -1 ? true : false) :false" showValue="0"></label-box>
533
+                      <label-box :isChecked="afterdialysis.cruor ? (afterdialysis.cruor.indexOf('透析器+') > -1 ? true : false) :false" showValue="+"></label-box>
534
+                      <label-box :isChecked="afterdialysis.cruor ? (afterdialysis.cruor.indexOf('透析器++') > -1 ? true : false) :false" showValue="+ +"></label-box>
535
+                      <label-box :isChecked="afterdialysis.cruor ? (afterdialysis.cruor.indexOf('透析器+++') > -1 ? true : false) :false" showValue="+ + +"></label-box>
536
+                    </td>
537
+                    <td width="90" style="border:none;padding-left:5px">静脉管道:</td>
538
+                    <td width="220" style="text-align:left;border:none;">
539
+                      <label-box :isChecked="afterdialysis.intravenous_tube == 1 ? true : false" showValue="无"></label-box>&nbsp;
540
+                      <label-box :isChecked="afterdialysis.intravenous_tube == 2 ? true : false" showValue="+"></label-box>&nbsp;
541
+                      <label-box :isChecked="afterdialysis.intravenous_tube == 3 ? true : false" showValue="+ +"></label-box>&nbsp;
542
+                      <label-box :isChecked="afterdialysis.intravenous_tube == 4 ? true : false" showValue="+ + +"></label-box>&nbsp;
543
+                    </td>
544
+                    <td width="90" style="border:none;padding-left:5px">动脉管道:</td>
545
+                    <td width="220" style="text-align:left;border:none;">
546
+                      <label-box :isChecked="afterdialysis.arterial_tube == 1 ? true : false" showValue="无"></label-box>&nbsp;
547
+                      <label-box :isChecked="afterdialysis.arterial_tube == 2 ? true : false" showValue="+"></label-box>&nbsp;
548
+                      <label-box :isChecked="afterdialysis.arterial_tube == 3 ? true : false" showValue="+ +"></label-box>&nbsp;
549
+                      <label-box :isChecked="afterdialysis.arterial_tube == 4 ? true : false" showValue="+ + +"></label-box>&nbsp;
550
+                    </td>
551
+                    <td></td>
552
+                    <!-- <td width="10" style="text-align:left;border:none;"></td>
553
+                    <td width="110" style="text-align:left;border:none;"></td> -->
554
+                  </tr>
555
+                </tbody>
556
+              </table>
557
+              <table class="table-box">
558
+                <tbody>
559
+                  <tr style="height:30px;line-height:30px;">
560
+                    <td width="50" style="border:none;padding-left:5px;">内瘘:</td>
561
+                    <td width="150" colspan="3" style="text-align:left;border:none;">
562
+                      <div>
563
+                        <span class="under_line" style="width:150px;display:inline-block;">
564
+                          {{ afterdialysis.internal_fistula ? afterdialysis.internal_fistula : "" }}
565
+                        </span>
566
+                      </div>
567
+                    </td>
568
+                    <td width="70" style="border:none;padding-left:5px">下机护士:</td>
569
+                    <td width="100" style="text-align:left;border:none;">
570
+                      <div>
571
+                        <span class="under_line" style="width:100px;display:inline-block">
572
+                          <span v-if="setAdminUserES(dialysisOrder == null ? 0 : dialysisOrder.finish_nurse) == ''">
573
+                            {{ getAdminUser(dialysisOrder == null ? 0 : dialysisOrder.finish_nurse) }}</span>
574
+                          <img class="es-img" style="height:30px" :src="setAdminUserES(dialysisOrder == null ? 0 : dialysisOrder.finish_nurse)" alt="" srcset="" v-else />
575
+                        </span>
576
+                      </div>
577
+                    </td>
578
+                    <td></td>
579
+                    <!-- <td width="10" style="text-align:left;border:none;"></td>
580
+                    <td width="110" style="text-align:left;border:none;"></td> -->
581
+                    <!-- <td width="110" style="text-align:left;border:none;"></td> -->
582
+                    <!-- <td width="110" style="text-align:left;border:none;"></td> -->
583
+                  </tr>
584
+                </tbody>
585
+              </table>
489
             </td>
586
             </td>
490
-          </tr>
491
             
587
             
492
-          <tr style="height:30px;line-height:30px;">
493
-            <td width="90" style="border:none;padding-left:5px">实际置换量:</td>
494
-            <td width="30" style="text-align:left;border:none;">
495
-              <div>
496
-                <span class="under_line" style="width:50px;display:inline-block">
497
-                  {{ afterdialysis.actual_displacement ? afterdialysis.actual_displacement : "" }}
498
-                </span>L
499
-              </div>
500
-            </td>
501
             
588
             
502
-            <td width="90" style="border:none;padding-left:5px">透析器凝血:</td>
503
-            <td width="200" style="text-align:left;border:none;">
504
-              <label-box :isChecked="afterdialysis.cruor ? (afterdialysis.cruor.indexOf('透析器-0度') > -1 ? true : false) :false" showValue="0"></label-box>
505
-              <label-box :isChecked="afterdialysis.cruor ? (afterdialysis.cruor.indexOf('透析器-Ⅰ度') > -1 ? true : false) :false" showValue="+"></label-box>
506
-              <label-box :isChecked="afterdialysis.cruor ? (afterdialysis.cruor.indexOf('透析器-Ⅱ度') > -1 ? true : false) :false" showValue="+ +"></label-box>
507
-              <label-box :isChecked="afterdialysis.cruor ? (afterdialysis.cruor.indexOf('透析器-Ⅲ度') > -1 ? true : false) :false" showValue="+ + +"></label-box>
508
-            </td>
509
-            <!-- <td width="50" style="text-align:left;border:none;"></td> -->
510
-            <!-- <td width="110" style="text-align:left;border:none;"></td> -->
511
-            <td width="100" style="border:none;padding-left:5px">透析期间进食:</td>
512
-            <td width="50" style="text-align:left;border:none;">
513
-              <div>
514
-                <span class="under_line" style="width:50px;display:inline-block">
515
-                  <span v-if='afterdialysis.is_eat == 1'>是</span>
516
-                  <span v-if='afterdialysis.is_eat == 2'>否</span>
517
-                </span>
518
-              </div>
519
-            </td>
520
-            <td width="70" style="border:none;padding-left:5px">透析进食:</td>
521
-            <td width="50" style="text-align:left;border:none;">
522
-              <div>
523
-                <span class="under_line" style="width:50px;display:inline-block">
524
-                  {{ afterdialysis.is_eat == 1 && afterdialysis.dialysis_during ? afterdialysis.dialysis_during : '' }}
525
-                </span>g
526
-              </div>
527
-            </td>
528
-          </tr>
529
-          <tr style="height:30px;line-height:30px;">
530
-            <td width="20" style="border:none;padding-left:5px;">内瘘:</td>
531
-            <td width="150" colspan="3" style="text-align:left;border:none;">
532
-              <div>
533
-                <span class="under_line" style="width:150px;display:inline-block;">
534
-                  {{ afterdialysis.internal_fistula ? afterdialysis.internal_fistula : "" }}
535
-                </span>
536
-              </div>
537
-            </td>
538
-            <td width="50" style="border:none;padding-left:5px">下机护士:</td>
539
-            <td width="100" style="text-align:left;border:none;">
540
-              <div>
541
-                <span class="under_line" style="width:100px;display:inline-block">
542
-                  <span v-if="setAdminUserES(dialysisOrder == null ? 0 : dialysisOrder.finish_nurse) == ''">
543
-                    {{ getAdminUser(dialysisOrder == null ? 0 : dialysisOrder.finish_nurse) }}</span>
544
-                  <img class="es-img" style="height:30px" :src="setAdminUserES(dialysisOrder == null ? 0 : dialysisOrder.finish_nurse)" alt="" srcset="" v-else />
545
-                </span>
546
-              </div>
547
-            </td>
548
-            <td width="10" style="text-align:left;border:none;"></td>
549
-            <td width="110" style="text-align:left;border:none;"></td>
550
-            <!-- <td width="110" style="text-align:left;border:none;"></td> -->
551
-            <!-- <td width="110" style="text-align:left;border:none;"></td> -->
552
           </tr>
589
           </tr>
590
+            
591
+          
592
+          
593
+          
553
         </tbody>
594
         </tbody>
554
       </table>
595
       </table>
555
 
596
 

文件差異過大導致無法顯示
+ 1599 - 0
src/xt_pages/dialysis/template/DialysisPrintOrderThirtySeven.vue


文件差異過大導致無法顯示
+ 1840 - 0
src/xt_pages/dialysis/template/DialysisPrintOrderThirtySix.vue


+ 112 - 112
src/xt_pages/dialysis/template/DialysisPrintOrderTwentyEight.vue 查看文件

10
           <td width="90">
10
           <td width="90">
11
             <div class="under-line">&nbsp;{{ patientInfo.name }}</div>
11
             <div class="under-line">&nbsp;{{ patientInfo.name }}</div>
12
           </td>
12
           </td>
13
-          <td width="30"></td>
13
+          <td width="10"></td>
14
           <td width="50">性 别:</td>
14
           <td width="50">性 别:</td>
15
           <td width="50">
15
           <td width="50">
16
             <div class="under-line">
16
             <div class="under-line">
17
               {{ patientInfo_gender_1 ? "男" : "女" }}
17
               {{ patientInfo_gender_1 ? "男" : "女" }}
18
             </div>
18
             </div>
19
           </td>
19
           </td>
20
-          <td width="30"></td>
20
+          <td width="10"></td>
21
           <td width="50">年 龄:</td>
21
           <td width="50">年 龄:</td>
22
           <td width="40">
22
           <td width="40">
23
             <div class="under-line">{{ getAge(patientInfo) }}</div>
23
             <div class="under-line">{{ getAge(patientInfo) }}</div>
24
           </td>
24
           </td>
25
           <td>岁</td>
25
           <td>岁</td>
26
 
26
 
27
-          <td width="120">透析号/住院号:</td>
28
-          <td width="130">
27
+          <td width="140">透析号/住院号:</td>
28
+          <td width="200">
29
             <div class="under-line">&nbsp;{{ patientInfo.dialysis_no }} /{{ receiverTreatmentAccess.admission_number ? receiverTreatmentAccess.admission_number : "无" }}
29
             <div class="under-line">&nbsp;{{ patientInfo.dialysis_no }} /{{ receiverTreatmentAccess.admission_number ? receiverTreatmentAccess.admission_number : "无" }}
30
             </div>
30
             </div>
31
           </td>
31
           </td>
32
-          <td width="30"></td>
32
+          <td width="10"></td>
33
           <td width="80">治疗日期:</td>
33
           <td width="80">治疗日期:</td>
34
           <td width="120">
34
           <td width="120">
35
             <div class="under-line">
35
             <div class="under-line">
43
       <table class="table-box" style="margin-top: 10px;">
43
       <table class="table-box" style="margin-top: 10px;">
44
         <tbody>
44
         <tbody>
45
         <tr>
45
         <tr>
46
-          <td width="40">诊 断:</td>
46
+          <td width="60">诊 断:</td>
47
           <td width="">
47
           <td width="">
48
             <div class="under-line" style="text-align:left">
48
             <div class="under-line" style="text-align:left">
49
               &nbsp;{{ patientInfo.diagnose }}
49
               &nbsp;{{ patientInfo.diagnose }}
50
             </div>
50
             </div>
51
           </td>
51
           </td>
52
-          <td width="60">治疗次数:</td>
52
+          <td width="80">治疗次数:</td>
53
           <td width="60">
53
           <td width="60">
54
                 <div class="under-line">
54
                 <div class="under-line">
55
                     &nbsp;{{ patientInfo.total_dialysis + patientInfo.user_sys_before_count ? patientInfo.total_dialysis + patientInfo.user_sys_before_count : "" }}
55
                     &nbsp;{{ patientInfo.total_dialysis + patientInfo.user_sys_before_count ? patientInfo.total_dialysis + patientInfo.user_sys_before_count : "" }}
67
             <table class="table-box">
67
             <table class="table-box">
68
               <tbody>
68
               <tbody>
69
               <tr>
69
               <tr>
70
-                <td width="70">入科方式:</td>
71
-                <td width="240">
70
+                <td width="80">入科方式:</td>
71
+                <td width="260">
72
                   <div style="display:flex;justify-content:space-between;">
72
                   <div style="display:flex;justify-content:space-between;">
73
                     <label-box v-for="(item, index) in way_arr" :key="index" :isChecked="receiverTreatmentAccess.way == item.id ? true : false" :showValue="item.name"></label-box>
73
                     <label-box v-for="(item, index) in way_arr" :key="index" :isChecked="receiverTreatmentAccess.way == item.id ? true : false" :showValue="item.name"></label-box>
74
                     <!--&nbsp-->
74
                     <!--&nbsp-->
80
                   </div>
80
                   </div>
81
                 </td>
81
                 </td>
82
 
82
 
83
-                <td width="50"></td>
83
+                <td width="20"></td>
84
                 <td width="50">意识:</td>
84
                 <td width="50">意识:</td>
85
-                <td width="240">
85
+                <td width="260">
86
                   <div style="display:flex;justify-content:space-between;">
86
                   <div style="display:flex;justify-content:space-between;">
87
                     <label-box v-for="(item, index) in consciousness_arr" :key="index" :isChecked="receiverTreatmentAccess.consciousness == item.id ? true : false" :showValue="item.name"></label-box>
87
                     <label-box v-for="(item, index) in consciousness_arr" :key="index" :isChecked="receiverTreatmentAccess.consciousness == item.id ? true : false" :showValue="item.name"></label-box>
88
 
88
 
99
                   </div>
99
                   </div>
100
                 </td>
100
                 </td>
101
                 <td width='20'></td>
101
                 <td width='20'></td>
102
-                <td width='60'>透析频次</td>
102
+                <td width='80'>透析频次</td>
103
                 <td width="70">
103
                 <td width="70">
104
                   <div class="under-line">
104
                   <div class="under-line">
105
                     &nbsp;{{ predialysis.dialysis_count ? predialysis.dialysis_count : "" }}
105
                     &nbsp;{{ predialysis.dialysis_count ? predialysis.dialysis_count : "" }}
106
                   </div>
106
                   </div>
107
                 </td>
107
                 </td>
108
-                <td width='40'>次/周</td>
108
+                <td width='50'>次/周</td>
109
                 <td></td>
109
                 <td></td>
110
               </tr>
110
               </tr>
111
               </tbody>
111
               </tbody>
114
             <table class="table-box">
114
             <table class="table-box">
115
               <tbody>
115
               <tbody>
116
               <tr>
116
               <tr>
117
-                <td width="80">生命体征:</td>
118
-                <td width="40">体温:</td>
117
+                <td width="100">生命体征:</td>
118
+                <td width="50">体温:</td>
119
                 <td width="70">
119
                 <td width="70">
120
                   <div class="under-line">
120
                   <div class="under-line">
121
                     &nbsp;{{ predialysis.temperature ? predialysis.temperature : "" }}
121
                     &nbsp;{{ predialysis.temperature ? predialysis.temperature : "" }}
131
                 <td width="35">次/分</td>
131
                 <td width="35">次/分</td>
132
                 <td width="30"></td> -->
132
                 <td width="30"></td> -->
133
 
133
 
134
-                <td width="40">脉搏:</td>
134
+                <td width="50">脉搏:</td>
135
                 <td width="70">
135
                 <td width="70">
136
                   <div class="under-line">
136
                   <div class="under-line">
137
                     &nbsp;{{ predialysis.pulse_frequency ? predialysis.pulse_frequency : "" }}
137
                     &nbsp;{{ predialysis.pulse_frequency ? predialysis.pulse_frequency : "" }}
138
                   </div>
138
                   </div>
139
                 </td>
139
                 </td>
140
-                <td width="40">次/分</td>
140
+                <td width="50">次/分</td>
141
                 <td width="30"></td>
141
                 <td width="30"></td>
142
 
142
 
143
-                <td width="40">血压:</td>
143
+                <td width="50">血压:</td>
144
                 <td width="140">
144
                 <td width="140">
145
                   <div class="under-line">
145
                   <div class="under-line">
146
-                    {{ predialysis.systolic_blood_pressure ? predialysis.systolic_blood_pressure : "" }}/
147
-                    {{ predialysis.diastolic_blood_pressure ? predialysis.diastolic_blood_pressure : "" }}
146
+                    {{ monitors[0] && monitors[0].systolic_blood_pressure ? monitors[0].systolic_blood_pressure : "" }}/
147
+                    {{ monitors[0] && monitors[0].diastolic_blood_pressure ? monitors[0].diastolic_blood_pressure : "" }}
148
                   </div>
148
                   </div>
149
                 </td>
149
                 </td>
150
                 <td width="35">mmHg</td>
150
                 <td width="35">mmHg</td>
157
             <table class="table-box">
157
             <table class="table-box">
158
               <tbody>
158
               <tbody>
159
               <tr>
159
               <tr>
160
-                <td width="86">导管穿刺口:</td>
161
-                <td width="240">
160
+                <td width="100">导管穿刺口:</td>
161
+                <td width="330">
162
                   <div style="display:flex;justify-content:space-between;">
162
                   <div style="display:flex;justify-content:space-between;">
163
+                    <label-box :isChecked="predialysis.catheter.indexOf('正常') > -1 ? true : false" showValue="正常"></label-box>
163
                     <label-box :isChecked="predialysis.catheter.indexOf('穿刺口-干洁') > -1 ? true : false" showValue="干洁"></label-box>
164
                     <label-box :isChecked="predialysis.catheter.indexOf('穿刺口-干洁') > -1 ? true : false" showValue="干洁"></label-box>
164
-                    &nbsp;
165
                     <label-box :isChecked="predialysis.catheter.indexOf('穿刺口-红肿') > -1 ? true : false" showValue="红肿"></label-box>
165
                     <label-box :isChecked="predialysis.catheter.indexOf('穿刺口-红肿') > -1 ? true : false" showValue="红肿"></label-box>
166
-                    &nbsp;
167
                     <label-box :isChecked="predialysis.catheter.indexOf('穿刺口-分泌物') > -1 ? true : false" showValue="分泌物"></label-box>
166
                     <label-box :isChecked="predialysis.catheter.indexOf('穿刺口-分泌物') > -1 ? true : false" showValue="分泌物"></label-box>
168
-                    &nbsp;
169
                     <label-box :isChecked="predialysis.catheter.indexOf('穿刺口-渗血') > -1 ? true : false" showValue="渗血"></label-box>
167
                     <label-box :isChecked="predialysis.catheter.indexOf('穿刺口-渗血') > -1 ? true : false" showValue="渗血"></label-box>
170
                   </div>
168
                   </div>
171
                 </td>
169
                 </td>
172
-                <td width="40"></td>
173
                 <!-- <td width="65">导管打折</td>
170
                 <!-- <td width="65">导管打折</td>
174
                 <td width="10">(</td>
171
                 <td width="10">(</td>
175
                 <td width="80">
172
                 <td width="80">
193
                 <td></td> -->
190
                 <td></td> -->
194
 
191
 
195
                 <!-- 体位 -->
192
                 <!-- 体位 -->
196
-                <td width="40">体位:</td>
197
-                <td width="400">
193
+                <td></td>
194
+              </tr>
195
+              </tbody>
196
+            </table>
197
+            <table class="table-box">
198
+              <tbody>
199
+              <tr>
200
+                <td width="50">体位:</td>
201
+                <td width="440">
198
                   <div style="display:flex;justify-content:space-between;">
202
                   <div style="display:flex;justify-content:space-between;">
199
                     <label-box v-for="(item, index) in posture_arr" :key="index" :isChecked="receiverTreatmentAccess.posture == item.id ? true : false" :showValue="item.name"></label-box>
203
                     <label-box v-for="(item, index) in posture_arr" :key="index" :isChecked="receiverTreatmentAccess.posture == item.id ? true : false" :showValue="item.name"></label-box>
200
 
204
 
219
               </tr>
223
               </tr>
220
               </tbody>
224
               </tbody>
221
             </table>
225
             </table>
222
-
223
             <table class="table-box">
226
             <table class="table-box">
224
               <tbody>
227
               <tbody>
225
               <tr>
228
               <tr>
226
-                <td width="70">内瘘评估:</td>
227
-                <td width="35">震颤:</td>
229
+                <td width="80">内瘘评估:</td>
230
+                <td width="50">震颤:</td>
228
                 <td width="210">
231
                 <td width="210">
229
                   <div style="display:flex;justify-content:space-between;">
232
                   <div style="display:flex;justify-content:space-between;">
230
                     <label-box :isChecked="predialysis.internal_fistula.indexOf('震颤-存在') > -1 ? true : false" showValue="存在"></label-box>
233
                     <label-box :isChecked="predialysis.internal_fistula.indexOf('震颤-存在') > -1 ? true : false" showValue="存在"></label-box>
236
                 </td>
239
                 </td>
237
                 <td width="50"></td>
240
                 <td width="50"></td>
238
 
241
 
239
-                <td width="95">内瘘皮肤情况:</td>
240
-                <td width="220">
241
-                  <div style="display:flex;justify-content:space-between;">
242
+                <td width="120">内瘘皮肤情况:</td>
243
+                <td style="text-align:left;">
244
+                  <div>
242
                     <label-box :isChecked="predialysis.internal_fistula_skin.indexOf('正常') > -1 ? true : false" showValue="正常"></label-box>
245
                     <label-box :isChecked="predialysis.internal_fistula_skin.indexOf('正常') > -1 ? true : false" showValue="正常"></label-box>
243
                     &nbsp;
246
                     &nbsp;
244
                     <label-box :isChecked="predialysis.internal_fistula_skin.indexOf('瘀斑') > -1 ? true : false" showValue="瘀斑"></label-box>
247
                     <label-box :isChecked="predialysis.internal_fistula_skin.indexOf('瘀斑') > -1 ? true : false" showValue="瘀斑"></label-box>
248
                     <label-box :isChecked="predialysis.internal_fistula_skin.indexOf('肿') > -1 ? true : false" showValue="肿"></label-box>
251
                     <label-box :isChecked="predialysis.internal_fistula_skin.indexOf('肿') > -1 ? true : false" showValue="肿"></label-box>
249
                   </div>
252
                   </div>
250
                 </td>
253
                 </td>
251
-                <td></td>
252
               </tr>
254
               </tr>
253
               </tbody>
255
               </tbody>
254
             </table>
256
             </table>
256
             <table class="table-box">
258
             <table class="table-box">
257
               <tbody>
259
               <tbody>
258
                 <tr>
260
                 <tr>
259
-                  <td width="40">皮肤:</td>
260
-                  <td width="600">
261
+                  <td width="50">皮肤:</td>
262
+                  <td width="780">
261
                     <div style="display:flex;justify-content:space-between;">
263
                     <div style="display:flex;justify-content:space-between;">
262
                       <!-- <label-box showValue="完整" :isChecked="predialysis.skin == 1 ? true : false"></label-box>
264
                       <!-- <label-box showValue="完整" :isChecked="predialysis.skin == 1 ? true : false"></label-box>
263
                       <label-box showValue="干燥" :isChecked="predialysis.skin == 2 ? true : false"></label-box>
265
                       <label-box showValue="干燥" :isChecked="predialysis.skin == 2 ? true : false"></label-box>
277
                       <label-box showValue="出血点" :isChecked="predialysis.skin.indexOf('出血点')>-1 ? true : false"></label-box>
279
                       <label-box showValue="出血点" :isChecked="predialysis.skin.indexOf('出血点')>-1 ? true : false"></label-box>
278
                       <label-box showValue="压疮" :isChecked="predialysis.skin.indexOf('压疮')>-1 ? true : false"></label-box>
280
                       <label-box showValue="压疮" :isChecked="predialysis.skin.indexOf('压疮')>-1 ? true : false"></label-box>
279
                       <label-box showValue="皮下淤血" :isChecked="predialysis.skin.indexOf('皮下淤血')>-1 ? true : false"></label-box>
281
                       <label-box showValue="皮下淤血" :isChecked="predialysis.skin.indexOf('皮下淤血')>-1 ? true : false"></label-box>
282
+                      <label-box showValue="皮下出血" :isChecked="predialysis.skin.indexOf('皮下出血')>-1 ? true : false"></label-box>
280
                       &ensp;
283
                       &ensp;
281
                     </div>
284
                     </div>
282
                   </td>
285
                   </td>
283
 
286
 
284
-                  <td width="35">其它</td>
287
+                  <td width="50">其它</td>
285
                   <td width="">
288
                   <td width="">
286
                     <div class="under-line">
289
                     <div class="under-line">
287
                       &nbsp;
290
                       &nbsp;
295
             <table class="table-box">
298
             <table class="table-box">
296
               <tbody>
299
               <tbody>
297
               <tr>
300
               <tr>
298
-                <td width="86">活动性出血:</td>
299
-                <td width="40">
301
+                <td width="110">活动性出血:</td>
302
+                <td width="60">
300
                   <div>
303
                   <div>
301
                     <label-box :isChecked="predialysis.is_hemorrhage == 2 ? true : false" showValue="无"></label-box>
304
                     <label-box :isChecked="predialysis.is_hemorrhage == 2 ? true : false" showValue="无"></label-box>
302
                     <!-- &nbsp;
305
                     <!-- &nbsp;
309
                   </div>
312
                   </div>
310
                 </td>
313
                 </td>
311
                 <!-- <td width="10">(</td> -->
314
                 <!-- <td width="10">(</td> -->
312
-                <td width="380">
315
+                <td width="500" style="text-align:left;">
313
                   <div>
316
                   <div>
314
                     <label-box :isChecked="predialysis.is_hemorrhage == 1 && predialysis.hemorrhage.indexOf('牙龈出血') > -1 ? true : false" showValue="牙龈出血"></label-box>
317
                     <label-box :isChecked="predialysis.is_hemorrhage == 1 && predialysis.hemorrhage.indexOf('牙龈出血') > -1 ? true : false" showValue="牙龈出血"></label-box>
315
                     &nbsp;
318
                     &nbsp;
322
                   </div>
325
                   </div>
323
                 </td>
326
                 </td>
324
 
327
 
325
-                <td width="35">其它</td>
328
+                <td width="50">其它</td>
326
                 <td width="">
329
                 <td width="">
327
                   <div class="under-line">
330
                   <div class="under-line">
328
                     &nbsp;
331
                     &nbsp;
337
             <table class="table-box">
340
             <table class="table-box">
338
               <tbody>
341
               <tbody>
339
               <tr>
342
               <tr>
340
-                <td width="70">血管通路:</td>
341
-                <td width="590">
343
+                <td width="90">血管通路:</td>
344
+                <td style="text-align:left;">
342
                   <div>
345
                   <div>
343
                     <label-box :isChecked="predialysis.blood_access_part_opera_name.indexOf('自体内瘘') > -1 ? true : false" showValue="自体内瘘"></label-box>
346
                     <label-box :isChecked="predialysis.blood_access_part_opera_name.indexOf('自体内瘘') > -1 ? true : false" showValue="自体内瘘"></label-box>
344
                     &nbsp;
347
                     &nbsp;
357
                     &nbsp;
360
                     &nbsp;
358
                   </div>
361
                   </div>
359
                 </td>
362
                 </td>
360
-
361
-                <td></td>
362
               </tr>
363
               </tr>
363
               </tbody>
364
               </tbody>
364
             </table>
365
             </table>
365
             <table class="table-box">
366
             <table class="table-box">
366
               <tbody>
367
               <tbody>
367
               <tr>
368
               <tr>
368
-                <td width="70">穿刺方式:</td>
369
-                <td width="200">
369
+                <td width="90">穿刺方式:</td>
370
+                <td width="260" style="text-align:left;">
370
                   <div>
371
                   <div>
371
                     <label-box showValue="绳梯" :isChecked="predialysis.puncture_way.indexOf('绳梯')>-1 ? true : false"></label-box>&nbsp;
372
                     <label-box showValue="绳梯" :isChecked="predialysis.puncture_way.indexOf('绳梯')>-1 ? true : false"></label-box>&nbsp;
372
                     <label-box showValue="定点" :isChecked="predialysis.puncture_way.indexOf('定点')>-1 ? true : false"></label-box>&nbsp;
373
                     <label-box showValue="定点" :isChecked="predialysis.puncture_way.indexOf('定点')>-1 ? true : false"></label-box>&nbsp;
375
                 </td>
376
                 </td>
376
                 <td width='20'></td>
377
                 <td width='20'></td>
377
                 <td width="70">穿刺针:</td>
378
                 <td width="70">穿刺针:</td>
378
-                <td width="180">
379
+                <td width="260" style="text-align:left;">
379
                   <div>
380
                   <div>
380
                     <label-box :isChecked="predialysis.puncture_needle && predialysis.puncture_needle.indexOf('16G') > -1 ? true : false" showValue="16G"></label-box>
381
                     <label-box :isChecked="predialysis.puncture_needle && predialysis.puncture_needle.indexOf('16G') > -1 ? true : false" showValue="16G"></label-box>
381
                     &nbsp;
382
                     &nbsp;
403
             <table class="table-box">
404
             <table class="table-box">
404
               <tbody>
405
               <tbody>
405
               <tr>
406
               <tr>
406
-                <td width="60">干体重:</td>
407
+                <td width="80">干体重:</td>
407
                 <td width="50">
408
                 <td width="50">
408
                   <div class="under-line">
409
                   <div class="under-line">
409
                     &nbsp;{{ predialysis.dry_weight ? predialysis.dry_weight : "" }}
410
                     &nbsp;{{ predialysis.dry_weight ? predialysis.dry_weight : "" }}
411
                 </td>
412
                 </td>
412
                 <td width="20">Kg</td>
413
                 <td width="20">Kg</td>
413
                 <td></td>
414
                 <td></td>
414
-                <td width="70">透前体重:</td>
415
+                <td width="90">透前体重:</td>
415
                 <td width="50">
416
                 <td width="50">
416
                   <div class="under-line">
417
                   <div class="under-line">
417
                     &nbsp;{{ predialysis.weight_before ? predialysis.weight_before : "" }}
418
                     &nbsp;{{ predialysis.weight_before ? predialysis.weight_before : "" }}
420
                 <td width="20">Kg</td>
421
                 <td width="20">Kg</td>
421
 
422
 
422
                 <td></td>
423
                 <td></td>
423
-                <td width="100">计划治疗时间:</td>
424
+                <td width="120">计划治疗时间:</td>
424
                 <td width="40">
425
                 <td width="40">
425
                   <div class="under-line">
426
                   <div class="under-line">
426
                     &nbsp;{{ prescription.dialysis_duration_hour ? prescription.dialysis_duration_hour : "0" }}
427
                     &nbsp;{{ prescription.dialysis_duration_hour ? prescription.dialysis_duration_hour : "0" }}
434
                 </td>
435
                 </td>
435
                 <td width="35">min</td>
436
                 <td width="35">min</td>
436
                 <td></td>
437
                 <td></td>
437
-                <td width="80">透析机编号:</td>
438
+                <td width="100">透析机编号:</td>
438
                 <td width="120">
439
                 <td width="120">
439
                   <div class="under-line">{{ getNumber() }}</div>
440
                   <div class="under-line">{{ getNumber() }}</div>
440
                 </td>
441
                 </td>
483
                     &nbsp;{{ prescription.replacement_total ? prescription.replacement_total : "/" }}
484
                     &nbsp;{{ prescription.replacement_total ? prescription.replacement_total : "/" }}
484
                   </div>
485
                   </div>
485
                 </td>
486
                 </td>
486
-                <td width="20">ml</td>
487
+                <td width="10">ml</td>
487
 
488
 
488
                 <td width="80">透析方式:</td>
489
                 <td width="80">透析方式:</td>
489
-                <td width="50">
490
+                <td width="60">
490
                   <label-box :isChecked="prescription.mode_id == 1 ? true : false" showValue="HD"></label-box>
491
                   <label-box :isChecked="prescription.mode_id == 1 ? true : false" showValue="HD"></label-box>
491
                 </td>
492
                 </td>
492
-                <td width="60">
493
+                <td width="70">
493
                   <label-box :isChecked="prescription.mode_id == 2 ? true : false" showValue="HDF"></label-box>
494
                   <label-box :isChecked="prescription.mode_id == 2 ? true : false" showValue="HDF"></label-box>
494
                 </td>
495
                 </td>
495
                 <td width="50">
496
                 <td width="50">
498
                 <td width="50">
499
                 <td width="50">
499
                   <label-box :isChecked="prescription.mode_id == 4 ? true : false" showValue="HP"></label-box>
500
                   <label-box :isChecked="prescription.mode_id == 4 ? true : false" showValue="HP"></label-box>
500
                 </td>
501
                 </td>
501
-                <td width="80">
502
+                <td width="90">
502
                   <label-box :isChecked="prescription.mode_id == 3 ? true : false" showValue="HD+HP"></label-box>
503
                   <label-box :isChecked="prescription.mode_id == 3 ? true : false" showValue="HD+HP"></label-box>
503
                 </td>
504
                 </td>
504
-                <td width="90">透析器型号:</td>
505
-                <td width="100">
505
+                <td width="100">透析器型号:</td>
506
+                <td width="80">
506
                   <div class="under-line">
507
                   <div class="under-line">
507
                     &nbsp;{{ prescription.dialyzer_perfusion_apparatus ? prescription.dialyzer_perfusion_apparatus : "/" }}
508
                     &nbsp;{{ prescription.dialyzer_perfusion_apparatus ? prescription.dialyzer_perfusion_apparatus : "/" }}
508
                   </div>
509
                   </div>
537
                 <td width="70">
538
                 <td width="70">
538
                   <label-box :isChecked="prescription.anticoagulant == 1 ? true : false" showValue="无肝素"></label-box>
539
                   <label-box :isChecked="prescription.anticoagulant == 1 ? true : false" showValue="无肝素"></label-box>
539
                 </td>
540
                 </td>
540
-                <td width="80">
541
+                <td width="100">
541
                   <label-box :isChecked="prescription.anticoagulant == 2 ? true : false" showValue="普通肝素:"></label-box>
542
                   <label-box :isChecked="prescription.anticoagulant == 2 ? true : false" showValue="普通肝素:"></label-box>
542
                 </td>
543
                 </td>
543
                 <td width="35">首剂</td>
544
                 <td width="35">首剂</td>
591
             <table class="table-box">
592
             <table class="table-box">
592
               <tbody>
593
               <tbody>
593
               <tr>
594
               <tr>
594
-                <td width="85">透析液配方:</td>
595
-                <td width='90'>B液: 碳酸盐:</td>
596
-                <td width='30'>A液:</td>
595
+                <td width="110">透析液配方:</td>
596
+                <td width='110'>B液: 碳酸盐:</td>
597
+                <td width='50'>A液:</td>
597
                 <td width="10">钙</td>
598
                 <td width="10">钙</td>
598
                 <td width="10">(</td>
599
                 <td width="10">(</td>
599
-                <td width="210">
600
+                <td width="270">
600
                   <label-box :isChecked="prescription.dialysate_formulation_name.indexOf('A液:钙(1.25mmol/L)钾(2.0mmol/L)') > -1 ? true : prescription.dialysate_formulation_name.indexOf('A液:钙(1.25mmol/L)钾(3.5mmol/L)') > -1 ? true : false" showValue="1.25mmol/L"></label-box>
601
                   <label-box :isChecked="prescription.dialysate_formulation_name.indexOf('A液:钙(1.25mmol/L)钾(2.0mmol/L)') > -1 ? true : prescription.dialysate_formulation_name.indexOf('A液:钙(1.25mmol/L)钾(3.5mmol/L)') > -1 ? true : false" showValue="1.25mmol/L"></label-box>
601
                   &nbsp;
602
                   &nbsp;
602
                   <label-box :isChecked="prescription.dialysate_formulation_name.indexOf('A液:钙(1.5mmol/L)钾(2.0mmol/L)') > -1 ? true : prescription.dialysate_formulation_name.indexOf('A液:钙(1.5mmol/L)钾(3.5mmol/L)') > -1 ? true : false" showValue="1.5mmol/L"></label-box>
603
                   <label-box :isChecked="prescription.dialysate_formulation_name.indexOf('A液:钙(1.5mmol/L)钾(2.0mmol/L)') > -1 ? true : prescription.dialysate_formulation_name.indexOf('A液:钙(1.5mmol/L)钾(3.5mmol/L)') > -1 ? true : false" showValue="1.5mmol/L"></label-box>
605
                 <td width="10">)</td>
606
                 <td width="10">)</td>
606
                 <td width="10">钾</td>
607
                 <td width="10">钾</td>
607
                 <td width="10">(</td>
608
                 <td width="10">(</td>
608
-                <td width="210">
609
+                <td width="270">
609
                   <label-box :isChecked="prescription.dialysate_formulation_name.indexOf('A液:钙(1.25mmol/L)钾(2.0mmol/L)') > -1 ? true : prescription.dialysate_formulation_name.indexOf('A液:钙(1.5mmol/L)钾(2.0mmol/L)') > -1 ? true : false" showValue="2.0mmol/L"></label-box>
610
                   <label-box :isChecked="prescription.dialysate_formulation_name.indexOf('A液:钙(1.25mmol/L)钾(2.0mmol/L)') > -1 ? true : prescription.dialysate_formulation_name.indexOf('A液:钙(1.5mmol/L)钾(2.0mmol/L)') > -1 ? true : false" showValue="2.0mmol/L"></label-box>
610
                   &nbsp;
611
                   &nbsp;
611
                   <label-box :isChecked="prescription.dialysate_formulation_name.indexOf('A液:钙(1.25mmol/L)钾(3.5mmol/L)') > -1 ? true : prescription.dialysate_formulation_name.indexOf('A液:钙(1.5mmol/L)钾(3.5mmol/L)') > -1 ? true : false" showValue="3.5mmol/L"></label-box>
612
                   <label-box :isChecked="prescription.dialysate_formulation_name.indexOf('A液:钙(1.25mmol/L)钾(3.5mmol/L)') > -1 ? true : prescription.dialysate_formulation_name.indexOf('A液:钙(1.5mmol/L)钾(3.5mmol/L)') > -1 ? true : false" showValue="3.5mmol/L"></label-box>
620
             <table class="table-box">
621
             <table class="table-box">
621
               <tbody>
622
               <tbody>
622
               <tr>
623
               <tr>
623
-                <td width="40">其他:</td>
624
+                <td width="50">其他:</td>
624
                 <td width="">
625
                 <td width="">
625
                   <div class="under-line">&nbsp;</div>
626
                   <div class="under-line">&nbsp;</div>
626
                 </td>
627
                 </td>
776
           <td width="60">时间</td>
777
           <td width="60">时间</td>
777
           <td width="40" style="line-height:20px">T<br />℃</td>
778
           <td width="40" style="line-height:20px">T<br />℃</td>
778
           <td width="80" style="line-height:20px">Bp<br />mmHg</td>
779
           <td width="80" style="line-height:20px">Bp<br />mmHg</td>
779
-          <td width="40" style="line-height:20px">P<br />次/分</td>
780
+          <td width="50" style="line-height:20px">P<br />次/分</td>
780
           <td width="60" style="line-height:20px">R<br />次/分</td>
781
           <td width="60" style="line-height:20px">R<br />次/分</td>
781
           <td width="60" style="line-height:20px">静脉压<br />{{monitors[0] && monitors[0]['venous_pressure_type'] == 2 ? 'kpa' : 'mmHg'}}</td>
782
           <td width="60" style="line-height:20px">静脉压<br />{{monitors[0] && monitors[0]['venous_pressure_type'] == 2 ? 'kpa' : 'mmHg'}}</td>
782
           <td width="60" style="line-height:20px">动脉压<br />{{monitors[0] && monitors[0]['venous_pressure_type'] == 2 ? 'kpa' : 'mmHg'}}</td>
783
           <td width="60" style="line-height:20px">动脉压<br />{{monitors[0] && monitors[0]['venous_pressure_type'] == 2 ? 'kpa' : 'mmHg'}}</td>
986
                   </td>
987
                   </td>
987
                 </tr> -->
988
                 </tr> -->
988
                 <tr>
989
                 <tr>
989
-                  <td width="70">拔针压迫:</td>
990
-                  <td width="350">
990
+                  <td width="90">拔针压迫:</td>
991
+                  <td width="450">
991
                     <div style="display:flex;justify-content:space-between;">
992
                     <div style="display:flex;justify-content:space-between;">
992
                       <label-box showValue="自己压迫" :isChecked="afterdialysis.hemostasis_opera == 3 ? true : false"></label-box>
993
                       <label-box showValue="自己压迫" :isChecked="afterdialysis.hemostasis_opera == 3 ? true : false"></label-box>
993
                       &nbsp;
994
                       &nbsp;
998
                     </div>
999
                     </div>
999
                   </td>
1000
                   </td>
1000
                   <td width="50"></td>
1001
                   <td width="50"></td>
1001
-                  <td width="70">内瘘震颤:</td>
1002
+                  <td width="90">内瘘震颤:</td>
1002
                   <td width="200">
1003
                   <td width="200">
1003
                     <div style="display:flex;justify-content:space-between;">
1004
                     <div style="display:flex;justify-content:space-between;">
1004
                       <label-box :isChecked="afterdialysis.internal_fistula.indexOf('震颤-存在') > -1 ? true : false" showValue="存在"></label-box>
1005
                       <label-box :isChecked="afterdialysis.internal_fistula.indexOf('震颤-存在') > -1 ? true : false" showValue="存在"></label-box>
1014
               <table class="table-box">
1015
               <table class="table-box">
1015
                 <tbody>
1016
                 <tbody>
1016
                 <tr>
1017
                 <tr>
1017
-                  <td width="130">拔针后穿刺点渗血:</td>
1018
-                  <td width="80">
1018
+                  <td width="160">拔针后穿刺点渗血:</td>
1019
+                  <td width="100">
1019
                     <div style="display:flex;justify-content:space-between;">
1020
                     <div style="display:flex;justify-content:space-between;">
1020
                       <label-box :isChecked="afterdialysis.puncture_point_oozing_blood == 1 ? true : false" showValue="有"></label-box>
1021
                       <label-box :isChecked="afterdialysis.puncture_point_oozing_blood == 1 ? true : false" showValue="有"></label-box>
1021
                       <label-box :isChecked="afterdialysis.puncture_point_oozing_blood == 2 ? true : false" showValue="无"></label-box>
1022
                       <label-box :isChecked="afterdialysis.puncture_point_oozing_blood == 2 ? true : false" showValue="无"></label-box>
1022
                     </div>
1023
                     </div>
1023
                   </td>
1024
                   </td>
1024
                   <td width="10"></td>
1025
                   <td width="10"></td>
1025
-                  <td width="85">穿刺处血肿:</td>
1026
-                  <td width="80">
1026
+                  <td width="100">穿刺处血肿:</td>
1027
+                  <td width="100">
1027
                     <div style="display:flex;justify-content:space-between;">
1028
                     <div style="display:flex;justify-content:space-between;">
1028
                       <label-box :isChecked="afterdialysis.puncture_point_haematoma == 1 ? true : false" showValue="有"></label-box>
1029
                       <label-box :isChecked="afterdialysis.puncture_point_haematoma == 1 ? true : false" showValue="有"></label-box>
1029
                       <label-box :isChecked="afterdialysis.puncture_point_haematoma == 2 ? true : false" showValue="无"></label-box>
1030
                       <label-box :isChecked="afterdialysis.puncture_point_haematoma == 2 ? true : false" showValue="无"></label-box>
1031
                   </td>
1032
                   </td>
1032
 
1033
 
1033
                   <td width="10"></td>
1034
                   <td width="10"></td>
1034
-                  <td width="105">中心静脉封管:</td>
1035
-                  <td width="40">肝素:</td>
1036
-                  <td width="30">A端</td>
1035
+                  <td width="120">中心静脉封管:</td>
1036
+                  <td width="50">肝素:</td>
1037
+                  <td width="40">A端</td>
1037
                   <td width="30">
1038
                   <td width="30">
1038
                     <div class="under-line">&nbsp;{{ afterdialysis.cvc_a ? afterdialysis.cvc_a : "" }}</div>
1039
                     <div class="under-line">&nbsp;{{ afterdialysis.cvc_a ? afterdialysis.cvc_a : "" }}</div>
1039
                   </td>
1040
                   </td>
1040
                   <td width="20">ml</td>
1041
                   <td width="20">ml</td>
1041
-                  <td width="30">V端</td>
1042
+                  <td width="40">V端</td>
1042
                   <td width="30">
1043
                   <td width="30">
1043
                     <div class="under-line">&nbsp;{{ afterdialysis.cvc_v ? afterdialysis.cvc_v : "" }}</div>
1044
                     <div class="under-line">&nbsp;{{ afterdialysis.cvc_v ? afterdialysis.cvc_v : "" }}</div>
1044
                   </td>
1045
                   </td>
1051
               <table class="table-box">
1052
               <table class="table-box">
1052
                 <tbody>
1053
                 <tbody>
1053
                 <tr>
1054
                 <tr>
1054
-                  <td width="85">透析并发症:</td>
1055
-                  <td width="600">
1055
+                  <td width="110">透析并发症:</td>
1056
+                  <td width="640">
1056
                     <div style="display:flex;justify-content:space-between;">
1057
                     <div style="display:flex;justify-content:space-between;">
1057
                       <label-box :isChecked="afterdialysis.complication.indexOf('无') > -1 ? true : false" showValue="无"></label-box>
1058
                       <label-box :isChecked="afterdialysis.complication.indexOf('无') > -1 ? true : false" showValue="无"></label-box>
1058
                       <label-box :isChecked="afterdialysis.complication.indexOf('头晕') > -1 ? true : false" showValue="头晕"></label-box>
1059
                       <label-box :isChecked="afterdialysis.complication.indexOf('头晕') > -1 ? true : false" showValue="头晕"></label-box>
1093
                       ></label-box> -->
1094
                       ></label-box> -->
1094
                     </div>
1095
                     </div>
1095
                   </td>
1096
                   </td>
1096
-                  <td width="40">其他:</td>
1097
+                  <td width="50">其他:</td>
1097
                   <td width="">
1098
                   <td width="">
1098
                     <div class="under-line">
1099
                     <div class="under-line">
1099
                       &nbsp;{{ afterdialysis.complication ? getComplication(afterdialysis.complication) : '' }}
1100
                       &nbsp;{{ afterdialysis.complication ? getComplication(afterdialysis.complication) : '' }}
1106
               <table class="table-box">
1107
               <table class="table-box">
1107
                 <tbody>
1108
                 <tbody>
1108
                 <tr>
1109
                 <tr>
1109
-                  <td width="40">凝血:</td>
1110
-                  <td width="60">透析器:</td>
1111
-                  <td width="220">
1110
+                  <td width="50">凝血:</td>
1111
+                  <td width="70">透析器:</td>
1112
+                  <td width="240">
1112
                     <div style="display:flex;justify-content:space-between;">
1113
                     <div style="display:flex;justify-content:space-between;">
1113
                       <label-box :isChecked="afterdialysis.cruor.indexOf('透析器-0度') > -1 ? true : false" showValue="无"></label-box>
1114
                       <label-box :isChecked="afterdialysis.cruor.indexOf('透析器-0度') > -1 ? true : false" showValue="无"></label-box>
1114
                       <label-box :isChecked="afterdialysis.cruor.indexOf('透析器-Ⅰ度') > -1 ? true : false" showValue="+"></label-box>
1115
                       <label-box :isChecked="afterdialysis.cruor.indexOf('透析器-Ⅰ度') > -1 ? true : false" showValue="+"></label-box>
1116
                       <label-box :isChecked="afterdialysis.cruor.indexOf('透析器-Ⅲ度')> -1  ? true : false" showValue="+ + +"></label-box>
1117
                       <label-box :isChecked="afterdialysis.cruor.indexOf('透析器-Ⅲ度')> -1  ? true : false" showValue="+ + +"></label-box>
1117
                     </div>
1118
                     </div>
1118
                   </td>
1119
                   </td>
1119
-                  <td width="20"></td>
1120
-                  <td width="70">静脉管道:</td>
1121
-                    <td width="220">
1120
+                  <td width="10"></td>
1121
+                  <td width="100">静脉管道:</td>
1122
+                    <td width="240">
1122
                       <div style="display:flex;justify-content:space-between;">
1123
                       <div style="display:flex;justify-content:space-between;">
1123
                         <label-box :isChecked="afterdialysis.intravenous_tube == 1 ? true : false" showValue="无"></label-box>
1124
                         <label-box :isChecked="afterdialysis.intravenous_tube == 1 ? true : false" showValue="无"></label-box>
1124
                         <label-box :isChecked="afterdialysis.intravenous_tube == 2 ? true : false" showValue="+"></label-box>
1125
                         <label-box :isChecked="afterdialysis.intravenous_tube == 2 ? true : false" showValue="+"></label-box>
1126
                         <label-box :isChecked="afterdialysis.intravenous_tube == 4 ? true : false" showValue="+ + +"></label-box>
1127
                         <label-box :isChecked="afterdialysis.intravenous_tube == 4 ? true : false" showValue="+ + +"></label-box>
1127
                       </div>
1128
                       </div>
1128
                     </td>
1129
                     </td>
1129
-                    <td width="20"></td>
1130
-                    <td width="70">动脉管道:</td>
1131
-                    <td width="220">
1130
+                    <td width="10"></td>
1131
+                    <td width="100">动脉管道:</td>
1132
+                    <td width="240">
1132
                       <div style="display:flex;justify-content:space-between;">
1133
                       <div style="display:flex;justify-content:space-between;">
1133
                         <label-box :isChecked="afterdialysis.arterial_tube == 1 ? true : false" showValue="无"></label-box>
1134
                         <label-box :isChecked="afterdialysis.arterial_tube == 1 ? true : false" showValue="无"></label-box>
1134
                         <label-box :isChecked="afterdialysis.arterial_tube == 2 ? true : false" showValue="+"></label-box>
1135
                         <label-box :isChecked="afterdialysis.arterial_tube == 2 ? true : false" showValue="+"></label-box>
1136
                         <label-box :isChecked="afterdialysis.arterial_tube == 4 ? true : false" showValue="+ + +"></label-box>
1137
                         <label-box :isChecked="afterdialysis.arterial_tube == 4 ? true : false" showValue="+ + +"></label-box>
1137
                       </div>
1138
                       </div>
1138
                     </td>
1139
                     </td>
1139
-                  <td></td>
1140
                 </tr>
1140
                 </tr>
1141
                 </tbody>
1141
                 </tbody>
1142
               </table>
1142
               </table>
1144
               <table class="table-box">
1144
               <table class="table-box">
1145
                 <tbody>
1145
                 <tbody>
1146
                 <tr>
1146
                 <tr>
1147
-                  <td width="70">透后体重:</td>
1147
+                  <td width="90">透后体重:</td>
1148
                   <td width="50">
1148
                   <td width="50">
1149
                     <div class="under-line">
1149
                     <div class="under-line">
1150
                       &nbsp;{{ afterdialysis.weight_after ? afterdialysis.weight_after : "" }}
1150
                       &nbsp;{{ afterdialysis.weight_after ? afterdialysis.weight_after : "" }}
1151
                     </div>
1151
                     </div>
1152
                   </td>
1152
                   </td>
1153
                   <td width="20">Kg</td>
1153
                   <td width="20">Kg</td>
1154
-                  <td width="20"></td>
1155
-                  <td width="90">实际超滤总量</td>
1154
+                  <td width="10"></td>
1155
+                  <td width="120">实际超滤总量</td>
1156
                   <td width="40">
1156
                   <td width="40">
1157
                     <div class="under-line">
1157
                     <div class="under-line">
1158
                       &nbsp;{{ afterdialysis.actual_ultrafiltration ? afterdialysis.actual_ultrafiltration : "" }}
1158
                       &nbsp;{{ afterdialysis.actual_ultrafiltration ? afterdialysis.actual_ultrafiltration : "" }}
1159
                     </div>
1159
                     </div>
1160
                   </td>
1160
                   </td>
1161
                   <td width="10">ml</td>
1161
                   <td width="10">ml</td>
1162
-                  <td width="20"></td>
1163
-                  <td width="90">实际治疗时间</td>
1162
+                  <td width="10"></td>
1163
+                  <td width="120">实际治疗时间</td>
1164
                   <td width="40">
1164
                   <td width="40">
1165
                     <div class="under-line">
1165
                     <div class="under-line">
1166
                       &nbsp;{{ afterdialysis.actual_treatment_hour ? afterdialysis.actual_treatment_hour : "0" }}
1166
                       &nbsp;{{ afterdialysis.actual_treatment_hour ? afterdialysis.actual_treatment_hour : "0" }}
1172
                       &nbsp;{{ afterdialysis.actual_treatment_minute ? afterdialysis.actual_treatment_minute : "0" }}
1172
                       &nbsp;{{ afterdialysis.actual_treatment_minute ? afterdialysis.actual_treatment_minute : "0" }}
1173
                     </div>
1173
                     </div>
1174
                   </td>
1174
                   </td>
1175
-                  <td width="35">min</td>
1176
-                  <td width="40">去向:</td>
1177
-                    <td width="160">
1175
+                  <td width="20">min</td>
1176
+                  <td width="50">去向:</td>
1177
+                    <td width="200">
1178
                       <div style="display:flex;justify-content:space-between;">
1178
                       <div style="display:flex;justify-content:space-between;">
1179
                         <label-box :isChecked="afterdialysis.patient_gose == 1 ? true : false" showValue="回家"></label-box>
1179
                         <label-box :isChecked="afterdialysis.patient_gose == 1 ? true : false" showValue="回家"></label-box>
1180
                         <label-box :isChecked="afterdialysis.patient_gose == 2 ? true : false" showValue="留观"></label-box>
1180
                         <label-box :isChecked="afterdialysis.patient_gose == 2 ? true : false" showValue="留观"></label-box>
1308
         <tbody>
1308
         <tbody>
1309
         <tr>
1309
         <tr>
1310
           <td width="300"></td>
1310
           <td width="300"></td>
1311
-          <td width="30">医生</td>
1311
+          <td width="50">医生</td>
1312
           <td width="80">
1312
           <td width="80">
1313
             <div class="under-line">
1313
             <div class="under-line">
1314
               &nbsp;
1314
               &nbsp;
1316
               <img style="height:30px;" :src="setAdminUserES(prescription==null?0:(prescription.prescription_doctor?prescription.prescription_doctor:''))" alt="" srcset="" v-else />
1316
               <img style="height:30px;" :src="setAdminUserES(prescription==null?0:(prescription.prescription_doctor?prescription.prescription_doctor:''))" alt="" srcset="" v-else />
1317
             </div>
1317
             </div>
1318
           </td>
1318
           </td>
1319
-          <td width="50">责任护士</td>
1319
+          <td width="90">责任护士</td>
1320
           <td width="80">
1320
           <td width="80">
1321
             <div class="under-line">
1321
             <div class="under-line">
1322
               &nbsp;
1322
               &nbsp;
1324
               <img class="es-img" style="height:30px" :src="setAdminUserES(dialysisOrder==null?0:dialysisOrder.start_nurse)" alt="" srcset="" v-else>
1324
               <img class="es-img" style="height:30px" :src="setAdminUserES(dialysisOrder==null?0:dialysisOrder.start_nurse)" alt="" srcset="" v-else>
1325
             </div>
1325
             </div>
1326
           </td>
1326
           </td>
1327
-          <td width="50">穿刺护士</td>
1327
+          <td width="90">穿刺护士</td>
1328
           <td width="80">
1328
           <td width="80">
1329
             <div class="under-line">
1329
             <div class="under-line">
1330
               &nbsp;
1330
               &nbsp;
1332
               <img class="es-img" style="height:30px" :src="setAdminUserES(dialysisOrder==null?0:dialysisOrder.puncture_nurse)" alt="" srcset="" v-else>
1332
               <img class="es-img" style="height:30px" :src="setAdminUserES(dialysisOrder==null?0:dialysisOrder.puncture_nurse)" alt="" srcset="" v-else>
1333
             </div>
1333
             </div>
1334
           </td>
1334
           </td>
1335
-          <td width="50">核对护士</td>
1335
+          <td width="90">核对护士</td>
1336
           <td width="80">
1336
           <td width="80">
1337
             <div class="under-line">
1337
             <div class="under-line">
1338
               &nbsp;
1338
               &nbsp;
2010
             if (this.org_template_info.org_id == 9535) {
2010
             if (this.org_template_info.org_id == 9535) {
2011
               this.isShowZero = true
2011
               this.isShowZero = true
2012
             }
2012
             }
2013
-            if (this.monitors.length < 9) {
2014
-              var nl = 9 - this.monitors.length
2013
+            if (this.monitors.length < 6) {
2014
+              var nl = 6 - this.monitors.length
2015
               for (let index = 0; index < nl; index++) {
2015
               for (let index = 0; index < nl; index++) {
2016
                 this.monitors.push([])
2016
                 this.monitors.push([])
2017
               }
2017
               }
2371
   .dialysis-print-order .table-box {
2371
   .dialysis-print-order .table-box {
2372
     width: 100%;
2372
     width: 100%;
2373
     line-height: 23px;
2373
     line-height: 23px;
2374
-    font-size: 14px;
2374
+    font-size: 18px;
2375
   }
2375
   }
2376
 
2376
 
2377
   .dialysis-print-order .print-table {
2377
   .dialysis-print-order .print-table {
2379
     text-align: center;
2379
     text-align: center;
2380
     border-collapse: collapse;
2380
     border-collapse: collapse;
2381
     line-height: 40px;
2381
     line-height: 40px;
2382
-    font-size: 14px;
2382
+    font-size: 18px;
2383
   }
2383
   }
2384
 
2384
 
2385
   .dialysis-print-order .print-table-no {
2385
   .dialysis-print-order .print-table-no {
2386
     width: 100%;
2386
     width: 100%;
2387
     text-align: center;
2387
     text-align: center;
2388
     border-collapse: collapse;
2388
     border-collapse: collapse;
2389
-    font-size: 14px;
2389
+    font-size: 18px;
2390
   }
2390
   }
2391
 
2391
 
2392
   .dialysis-print-order .under-line {
2392
   .dialysis-print-order .under-line {
2398
 
2398
 
2399
   .dialysis-print-order .title-box {
2399
   .dialysis-print-order .title-box {
2400
     text-align: center;
2400
     text-align: center;
2401
-    font-size: 16px;
2401
+    font-size: 18px;
2402
   }
2402
   }
2403
 
2403
 
2404
   .dialysis-print-order .radio-lebel-box {
2404
   .dialysis-print-order .radio-lebel-box {
2431
     position: relative;
2431
     position: relative;
2432
     border: 1px solid #000;
2432
     border: 1px solid #000;
2433
     box-sizing: border-box;
2433
     box-sizing: border-box;
2434
-    width: 14px;
2435
-    height: 14px;
2434
+    width: 18px !important;
2435
+    height: 18px !important;
2436
     background-color: #fff;
2436
     background-color: #fff;
2437
     z-index: 1;
2437
     z-index: 1;
2438
     transition: border-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46),
2438
     transition: border-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46),
2441
 
2441
 
2442
   .dialysis-print-order .is-checked-radio::after {
2442
   .dialysis-print-order .is-checked-radio::after {
2443
     content: "√";
2443
     content: "√";
2444
-    font-size: 15px;
2444
+    font-size: 19px;
2445
   }
2445
   }
2446
 
2446
 
2447
   .dialysis-print-order .print-table-no tr td {
2447
   .dialysis-print-order .print-table-no tr td {

+ 57 - 12
src/xt_pages/dialysis/template/DialysisPrintOrderTwentyFour.vue 查看文件

605
                             <td width='100'>
605
                             <td width='100'>
606
                                 <label-box :isChecked="prescription.anticoagulant == 3 ? true : prescription.anticoagulant == 6 ? true : prescription.anticoagulant == 7 ? true : false" showValue="低分子肝素"></label-box>
606
                                 <label-box :isChecked="prescription.anticoagulant == 3 ? true : prescription.anticoagulant == 6 ? true : prescription.anticoagulant == 7 ? true : false" showValue="低分子肝素"></label-box>
607
                             </td>
607
                             </td>
608
-                            <td width='100'>
608
+                            <!-- <td width='100'>
609
                                 <div class="under-line">
609
                                 <div class="under-line">
610
                                     &nbsp;{{ prescription.antioxidant_commodity_name ? prescription.antioxidant_commodity_name : '' }}
610
                                     &nbsp;{{ prescription.antioxidant_commodity_name ? prescription.antioxidant_commodity_name : '' }}
611
                                 </div>
611
                                 </div>
612
-                            </td>
612
+                            </td> -->
613
                             <td width='10'>(</td>
613
                             <td width='10'>(</td>
614
                             <td width='40'>首剂</td>
614
                             <td width='40'>首剂</td>
615
                             <td width='50'>
615
                             <td width='50'>
768
                             </span>
768
                             </span>
769
                         </div>
769
                         </div>
770
                     </td>
770
                     </td>
771
+                    <td width='50'>其他:</td>
772
+                    <td width='100'>
773
+                      
774
+                      <div class="under-line">
775
+                        <span>
776
+                          {{afterdialysis.sealing_fluid_dispose ? otherSealingFluidDispose(afterdialysis.sealing_fluid_dispose) : ''}}
777
+                        </span>   
778
+                      </div>
779
+                    </td>
780
+
771
                     <td width='10'>A:</td>
781
                     <td width='10'>A:</td>
772
                     <td width='50'>
782
                     <td width='50'>
773
                         <div class="under-line">
783
                         <div class="under-line">
783
                         </div>
793
                         </div>
784
                     </td>
794
                     </td>
785
                     <td width='10'>ml</td>
795
                     <td width='10'>ml</td>
796
+                    
797
+                    
798
+                    <td></td>
799
+                  </tr>
800
+                </tbody>
801
+              </table>
802
+              <table class="table-box">
803
+                <tbody>
804
+                  <tr>
805
+                    <td></td>
786
                     <td width='70'>医生签名</td>
806
                     <td width='70'>医生签名</td>
787
                     <td width='100'>
807
                     <td width='100'>
788
-                        <div class="under-line">
789
-                            &nbsp;
790
-                            <span v-if="setAdminUserES(prescription==null?0:(prescription.prescription_doctor?prescription.prescription_doctor:'')) == ''"> {{ getAdminUser(prescription==null?0:(prescription.prescription_doctor?prescription.prescription_doctor:'')) }} </span>
791
-                            <img style="height:30px;" :src="setAdminUserES(prescription==null?0:(prescription.prescription_doctor?prescription.prescription_doctor:''))" alt="" srcset="" v-else />
792
-                        </div>
808
+                      <div class="under-line">
809
+                          &nbsp;
810
+                          <span v-if="setAdminUserES(prescription==null?0:(prescription.prescription_doctor?prescription.prescription_doctor:'')) == ''"> {{ getAdminUser(prescription==null?0:(prescription.prescription_doctor?prescription.prescription_doctor:'')) }} </span>
811
+                          <img style="height:30px;" :src="setAdminUserES(prescription==null?0:(prescription.prescription_doctor?prescription.prescription_doctor:''))" alt="" srcset="" v-else />
812
+                      </div>
793
                     </td>
813
                     </td>
794
-                    
795
-                    <td></td>
796
                   </tr>
814
                   </tr>
797
                 </tbody>
815
                 </tbody>
798
               </table>
816
               </table>
1249
             <td style="line-height:20px;" width="40">钠<br />浓<br />度<br /><span style="font-size:10px; !important">mmol/L</span></td>
1267
             <td style="line-height:20px;" width="40">钠<br />浓<br />度<br /><span style="font-size:10px; !important">mmol/L</span></td>
1250
             <td style="line-height:20px;" width="40">电<br />导<br />度<br /><span style="font-size:10px; !important">ms/cm</span></td>
1268
             <td style="line-height:20px;" width="40">电<br />导<br />度<br /><span style="font-size:10px; !important">ms/cm</span></td>
1251
             
1269
             
1252
-            <td style="line-height:20px;" width="60">透析液<br />温度<br /><span style="font-size:10px; !important">ml</span></td>
1270
+            <td style="line-height:20px;" width="60">透析液<br />温度<br /><span style="font-size:10px; !important">℃</span></td>
1271
+            <td style="line-height:20px;" width="100">抗凝剂</td>
1253
             <td style="line-height:20px;" width="">病情变化及处理</td>
1272
             <td style="line-height:20px;" width="">病情变化及处理</td>
1254
             <td style="line-height:20px;" width="60">签名</td>
1273
             <td style="line-height:20px;" width="60">签名</td>
1255
           </tr>
1274
           </tr>
1287
             <td>
1306
             <td>
1288
               &nbsp;{{ monitor.transmembrane_pressure ? monitor.transmembrane_pressure : "" }}
1307
               &nbsp;{{ monitor.transmembrane_pressure ? monitor.transmembrane_pressure : "" }}
1289
             </td>
1308
             </td>
1290
-            <td>&nbsp;{{ monitor.ultrafiltration_rate ? monitor.ultrafiltration_rate : "" }}</td>
1309
+            <td>&nbsp;<span v-if="getTime(monitor.operate_time, '{h}:{i}')">{{ monitor.ultrafiltration_rate ? monitor.ultrafiltration_rate : "0" }}</span></td>
1291
             <td>&nbsp;{{ monitor.sodium_concentration ? monitor.sodium_concentration : "" }}</td>
1310
             <td>&nbsp;{{ monitor.sodium_concentration ? monitor.sodium_concentration : "" }}</td>
1292
             <td>&nbsp;{{ monitor.conductivity ? monitor.conductivity : "" }}</td>
1311
             <td>&nbsp;{{ monitor.conductivity ? monitor.conductivity : "" }}</td>
1293
 
1312
 
1294
             <td>&nbsp;{{ monitor.dialysate_temperature ? monitor.dialysate_temperature : '' }}</td>
1313
             <td>&nbsp;{{ monitor.dialysate_temperature ? monitor.dialysate_temperature : '' }}</td>
1314
+            <td>&nbsp;
1315
+              <span v-if="monitor.monitor_anticoagulant == 0"></span>
1316
+              <span v-if="monitor.monitor_anticoagulant == 1">无肝素</span>
1317
+              <span v-if="monitor.monitor_anticoagulant == 2">普通肝素</span>
1318
+              <span v-if="monitor.monitor_anticoagulant == 3">低分子肝素</span>
1319
+              <span v-if="monitor.monitor_anticoagulant == 4">阿加曲班</span>
1320
+              <span v-if="monitor.monitor_anticoagulant == 5">枸橼酸钠</span>
1321
+              <span v-if="monitor.monitor_anticoagulant == 6">低分子肝素钙</span>
1322
+              <span v-if="monitor.monitor_anticoagulant == 7">低分子肝素钠</span>
1323
+              <span v-if="monitor.monitor_anticoagulant == 8">依诺肝素</span>
1324
+              <span v-if="monitor.monitor_anticoagulant == 9">达肝素</span>
1325
+              <span v-if="monitor.monitor_anticoagulant_value!=undefined && monitor.monitor_anticoagulant_value!='' ">({{monitor.monitor_anticoagulant_value}})</span>
1326
+            </td>
1295
             <td style="text-align:left;line-height:20px;">
1327
             <td style="text-align:left;line-height:20px;">
1296
               &nbsp;{{ monitor.symptom }} &nbsp;{{ monitor.dispose }} &nbsp;{{ monitor.result }}
1328
               &nbsp;{{ monitor.symptom }} &nbsp;{{ monitor.dispose }} &nbsp;{{ monitor.result }}
1297
             </td>
1329
             </td>
1437
     }
1469
     }
1438
   },
1470
   },
1439
   methods: {
1471
   methods: {
1472
+    otherSealingFluidDispose(sealing_fluid_dispose){
1473
+      let sealing_fluid_dispose_name = ''
1474
+      let str = sealing_fluid_dispose.split(',')
1475
+      str.map(item => {
1476
+        if(item.indexOf('肝素') == -1 && item.indexOf('NS') == -1 && item.indexOf('特殊')){
1477
+          sealing_fluid_dispose_name += item + " "
1478
+        }
1479
+      })
1480
+      return sealing_fluid_dispose_name
1481
+    },
1440
     getDialyzerPerfusionApparatus(dialyzer_perfusion_apparatus,name){
1482
     getDialyzerPerfusionApparatus(dialyzer_perfusion_apparatus,name){
1441
       let str = ''
1483
       let str = ''
1442
       if(dialyzer_perfusion_apparatus.indexOf(',') > -1){
1484
       if(dialyzer_perfusion_apparatus.indexOf(',') > -1){
1588
        if(arr[i] == "肝素1.7ml"){
1630
        if(arr[i] == "肝素1.7ml"){
1589
           strname = "肝素1.7ml"
1631
           strname = "肝素1.7ml"
1590
         }
1632
         }
1633
+       if(arr[i] == "肝素4ml"){
1634
+          strname = "肝素4ml"
1635
+        }
1591
       }
1636
       }
1592
       return strname
1637
       return strname
1593
     },
1638
     },
1766
           }
1811
           }
1767
           this.check = response.data.data.check
1812
           this.check = response.data.data.check
1768
           this.predialysis = response.data.data.PredialysisEvaluation
1813
           this.predialysis = response.data.data.PredialysisEvaluation
1769
-          console.log('透前评估', this.predialysis)
1814
+          // console.log('透前评估', this.predialysis)
1770
           this.predialysis.blood_access_part_opera_name = this.bloodAccessParOperaName(
1815
           this.predialysis.blood_access_part_opera_name = this.bloodAccessParOperaName(
1771
             this.predialysis.blood_access_part_opera_id
1816
             this.predialysis.blood_access_part_opera_id
1772
           )
1817
           )

+ 8 - 12
src/xt_pages/dialysis/template/DialysisPrintOrderTwentyNine.vue 查看文件

132
                 <tbody>
132
                 <tbody>
133
                   <tr>
133
                   <tr>
134
                     <td width="70">血管通路:</td>
134
                     <td width="70">血管通路:</td>
135
-                    <td width="460">
135
+                    <td width="480">
136
                       <div>
136
                       <div>
137
                         <label-box :isChecked="predialysis.blood_access_part_opera_name.indexOf('自体内瘘') > -1 ? true : false" showValue="自体内瘘"></label-box>
137
                         <label-box :isChecked="predialysis.blood_access_part_opera_name.indexOf('自体内瘘') > -1 ? true : false" showValue="自体内瘘"></label-box>
138
                         &nbsp;
138
                         &nbsp;
297
                             &nbsp;{{ prescription.dialyzer_perfusion_apparatus ? prescription.dialyzer_perfusion_apparatus : "" }}
297
                             &nbsp;{{ prescription.dialyzer_perfusion_apparatus ? prescription.dialyzer_perfusion_apparatus : "" }}
298
                         </div>
298
                         </div>
299
                         </td>
299
                         </td>
300
-                        <td width="20"></td>
301
-                        <td width="80">透析机:</td>
302
-                        <td width="80">
303
-                        <div class="under-line">
304
-                            &nbsp;{{ predialysis.machine_type ? predialysis.machine_type : "" }}
305
-                        </div>
306
-                        </td>
307
                         <td></td>
300
                         <td></td>
308
                     </tr>
301
                     </tr>
309
                     </tbody>
302
                     </tbody>
526
                 <tbody>
519
                 <tbody>
527
                   <tr>
520
                   <tr>
528
                     <!-- <td width="70">其他记录:</td> -->
521
                     <!-- <td width="70">其他记录:</td> -->
529
-                    <td width="70">治疗方案:</td>
530
-                    <td width="">
531
-                      <div style="width: 95%;line-height: 25px;text-align: left;margin-left: 2px;text-underline-position: under; text-decoration: underline;">
532
-                        {{ summary.dialysis_summary ? summary.dialysis_summary : "" }}
522
+                    <td width="70" style="text-align:left;">治疗方案:
523
+                      <div style="width: 95%;line-height: 25px;text-align: left;margin-left: 2px;text-underline-position: under; text-decoration: underline;display:inline;">
524
+                        <span>宣教:{{ summary.mission ? summary.mission : "" }}</span>
525
+                        <span>小结:{{ summary.dialysis_summary ? summary.dialysis_summary : "" }}</span>
533
                       </div>
526
                       </div>
534
                     </td>
527
                     </td>
528
+                    <!-- <td width="">
529
+                      
530
+                    </td> -->
535
                   </tr>
531
                   </tr>
536
                 </tbody>
532
                 </tbody>
537
               </table>
533
               </table>

+ 515 - 0
src/xt_pages/hospitalStation/11.vue 查看文件

1
+<template>
2
+  <div class="main-contain outpatientChargesManagement">
3
+    <div class="position">
4
+      <bread-crumb :crumbs='crumbs'></bread-crumb>
5
+    </div>
6
+    <div class="app-container" style="display:flex;flex: 1;padding: 20px 20px 0px 20px;">
7
+      <div class="mainLeft">
8
+        <!--<div class="mainCell" style="justify-content: space-between;">-->
9
+        <!--<p>未就诊:<span>1</span>人</p>-->
10
+        <!--<p>已就诊:<span>0</span>人</p>-->
11
+        <!--</div>-->
12
+        <!--<div class="mainCell">-->
13
+        <!--<el-radio-group v-model="radio" @change="changeRadio">-->
14
+        <!--<el-radio :label=1>未就诊</el-radio>-->
15
+        <!--<el-radio :label=2>已就诊</el-radio>-->
16
+        <!--<el-radio :label=3>全部</el-radio>-->
17
+        <!--</el-radio-group>-->
18
+        <!--</div>-->
19
+        <div class="mainCell" style="margin-bottom:10px;">
20
+          <el-input size="small" @keyup.enter.native='searchAction' v-model.trim="search_input" class="filter-item"/>
21
+          <el-button size="small" style="margin-left:10px;" class="filter-item" type="primary" @click="searchAction">
22
+            搜索
23
+          </el-button>
24
+        </div>
25
+        <div style="flex:1;overflow-y:auto;">
26
+          <el-table :data="patientTableData" border style="width: 100%;" :row-style="{ color: '#303133' }"
27
+                    :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
28
+                    highlight-current-row ref="tab"
29
+                    @current-change="handleCurrentChange">
30
+            <el-table-column align="center" prop="name" label="患者姓名">
31
+              <template slot-scope="scope">{{ scope.row.patients.name }}</template>
32
+            </el-table-column>
33
+            <el-table-column align="center" prop="name" label="就诊号" width="90">
34
+              <template slot-scope="scope">{{ scope.row.his_patient.number }}</template>
35
+            </el-table-column>
36
+          </el-table>
37
+        </div>
38
+      </div>
39
+      <div class="mainRight">
40
+        <div class="mainCell" style="margin-bottom:10px;flex-direction: row-reverse;">
41
+          <el-button size="small" @click="open(1)" type="primary" style="margin-left:10px;">打印处置单</el-button>
42
+          <el-button size="small" @click="open(2)" type="primary">打印治疗单</el-button>
43
+          <el-button size="small" @click="open(3)" type="primary">打印</el-button>
44
+          <el-button v-loading="loadingone" v-if="hisPatientInfo == null || hisPatientInfo.id == 0 " size="small" @click="open(6)"
45
+                     type="primary">挂号
46
+          </el-button>
47
+          <el-button v-loading="loadingtwo" v-if="hisPatientInfo != null && hisPatientInfo.id > 0 " size="small" @click="open(4)"
48
+                     type="primary">收费
49
+          </el-button>
50
+          <el-button size="small" @click="open(5)" type="primary">退费</el-button>
51
+        </div>
52
+        <div class="mainCenter">
53
+          <div class="centerLeft">
54
+            <div class="tabsBox">
55
+              <!--<el-button type="text" class="addTab" @click="addCharges" icon="el-icon-circle-plus">附加收费</el-button>-->
56
+              <el-tabs class="preTabs" v-model="editableTabsValue" type="card" @tab-click="tabclickEvent">
57
+                <el-tab-pane
58
+                  v-for="(item, index) in prescriptions"
59
+                  :key="index"
60
+                  :label="item.name"
61
+                  :name="item.name"
62
+                >
63
+                </el-tab-pane>
64
+                <div class="RP">Rp</div>
65
+                <prescription-table ref="prescription_tables" :prescription="curPrescriptions"></prescription-table>
66
+              </el-tabs>
67
+
68
+            </div>
69
+            <div class="costBox">
70
+              <span>当前处方总费用:<span style="color:red;">{{ getTotal() }}元</span></span>
71
+              <span>{{ state }}</span>
72
+            </div>
73
+          </div>
74
+          <div class="centerRight">
75
+            <p class="centerRightTitle">人员信息</p>
76
+            <div style="display:flex;justify-content: space-between;line-height:30px;">
77
+              <span style="font-size:14px;">人员编码:</span>
78
+              <span style="font-size:14px;">日期:{{record_date}}</span>
79
+            </div>
80
+            <ul class="basicUl">
81
+              <li style="width:50%;">姓名:{{patientInfo.name}}</li>
82
+              <li style="width:50%;">性别:{{patientInfo.gender == 1 ? '男' : '女' }}</li>
83
+              <li style="width:50%;">年龄:{{patientInfo.age }}</li>
84
+              <li style="width:50%;">身高:{{patientInfo.height}}</li>
85
+              <li style="width:50%;">体重:{{patientInfo.weight}}</li>
86
+              <li style="width:50%;">电话:{{patientInfo.phone}}</li>
87
+              <li style="width:100%;">地址:{{patientInfo.home_address}}</li>
88
+            </ul>
89
+            <p class="centerRightTitle">诊断信息</p>
90
+            <div style="display:flex;justify-content: space-between;line-height:30px;">
91
+              <span style="font-size:14px;">门诊编号:676273816287361</span>
92
+            </div>
93
+            <ul class="basicUl">
94
+              <li style="width:50%;">医生:{{ }}</li>
95
+              <li style="width:50%;">科室:{{ }}</li>
96
+              <li style="width:100%;">费用:{{ }}元</li>
97
+              <li style="width:100%;">判断结果:</li>
98
+              <li style="width:100%;">是否有传染病:</li>
99
+              <li style="width:100%;">血压:</li>
100
+            </ul>
101
+          </div>
102
+        </div>
103
+      </div>
104
+    </div>
105
+    <!--<additionalCharges ref='additionalCharges'></additionalCharges>-->
106
+  </div>
107
+</template>
108
+
109
+
110
+<script>
111
+  import BreadCrumb from '@/xt_pages/components/bread-crumb'
112
+  import noCharge from './components/noCharge'
113
+  import charged from './components/charged'
114
+  import medicalInsuranceRefund from './components/medicalInsuranceRefund'
115
+  import prescriptionTable from './components/prescriptionTable'
116
+  import additionalCharges from './components/additionalCharges'
117
+  import { getPatientInformation, getPatientList } from '@/api/project/project'
118
+  import { getPatientInfo, getSchedulePatientList, register,upload } from '@/api/his/his'
119
+
120
+  const moment = require('moment');
121
+  export default {
122
+    components: {
123
+      BreadCrumb,
124
+      noCharge,
125
+      charged,
126
+      medicalInsuranceRefund,
127
+      prescriptionTable,
128
+      additionalCharges
129
+    },
130
+    data() {
131
+      return {
132
+        crumbs: [
133
+          { path: false, name: '门诊收费' },
134
+          { path: false, name: '门诊收费管理' }
135
+        ],
136
+        curPrescriptions: {},
137
+        prescriptions: [],
138
+        record_date: '',
139
+        tableData: [],
140
+        editableTabsValue: '1',
141
+        loadingone:false,
142
+        editableTabs: [{
143
+          title: '处方1',
144
+          name: '1'
145
+        }],
146
+        tabIndex: 1,
147
+        hisPatientInfo: {},
148
+        loadingtwo:false,
149
+        patientTableData: [{
150
+          name: '杨美英',
151
+          mdtrt_id: '1709946'
152
+        }],
153
+        patientInfo: { id: 0 },
154
+        doctor: {},
155
+        total: 0,
156
+        state: '未收费',
157
+        radio: 1,
158
+        radioStatus: 1,
159
+        search_input: '',
160
+        start_time: moment().locale('zh-cn').format('YYYY-MM-DD')
161
+      }
162
+    },
163
+    created() {
164
+      var nowDate = new Date();
165
+      var nowYear = nowDate.getFullYear();
166
+      var nowMonth = nowDate.getMonth() + 1;
167
+      var nowDay = nowDate.getDate();
168
+      this.record_date =
169
+        nowYear +
170
+        '-' +
171
+        (nowMonth < 10 ? '0' + nowMonth : nowMonth) +
172
+        '-' +
173
+        (nowDay < 10 ? '0' + nowDay : nowDay);
174
+
175
+      //获取患者信息
176
+      this.getPatientList()
177
+    },
178
+    methods: {
179
+      tabclickEvent(val) {
180
+        for (let i = 0; i < this.prescriptions.length; i++) {
181
+          if (this.prescriptions[i].name == val.name) {
182
+            this.curPrescriptions = {};
183
+            var temp = this.deepClone(this.prescriptions[i]);
184
+            this.curPrescriptions = temp;
185
+            console.log(this.curPrescriptions)
186
+          }
187
+        }
188
+      }, deepClone(source) {
189
+        if (!source && typeof source !== 'object') {
190
+          throw new Error('error arguments', 'shallowClone')
191
+        }
192
+        const targetObj = source.constructor === Array ? [] : {};
193
+        Object.keys(source).forEach((keys) => {
194
+          if (source[keys] && typeof source[keys] === 'object') {
195
+            targetObj[keys] = this.deepClone(source[keys])
196
+          } else {
197
+            targetObj[keys] = source[keys]
198
+          }
199
+        });
200
+        return targetObj
201
+      },
202
+      getTotal() {
203
+        var total = 0;
204
+        console.log(this.prescriptions);
205
+        for (let i = 0; i < this.prescriptions.length; i++) {
206
+          if (this.prescriptions[i].advices != null) {
207
+            for (let a = 0; a < this.prescriptions[i].advices.length; a++) {
208
+              total = total + this.prescriptions[i].advices[a].price * this.prescriptions[i].advices[a].prescribing_number
209
+            }
210
+          }
211
+          if (this.prescriptions[i].project != null) {
212
+            for (let b = 0; b < this.prescriptions[i].project.length; b++) {
213
+              total = total + this.prescriptions[i].project[b].price * this.prescriptions[i].project[b].count
214
+            }
215
+          }
216
+        }
217
+        return total
218
+      },
219
+      moreState(tab, event) {
220
+        if (tab == 'more') {
221
+          return false
222
+        }
223
+      },
224
+      open(index) {
225
+        if (index == 1) {
226
+        } else if (index == 2) {
227
+
228
+        } else if (index == 4) {
229
+
230
+          let params = {
231
+            'id': this.patientInfo.id,
232
+            'record_time': this.record_date
233
+          };
234
+          this.loadingtwo = true;
235
+          upload(params).then(response => {
236
+            if (response.data.state == 0) {
237
+              this.$message.error(response.data.msg);
238
+              this.loadingtwo = false;
239
+
240
+              return false
241
+
242
+            } else {
243
+              this.loadingtwo = false
244
+
245
+            }
246
+          });
247
+
248
+          this.state = '已收费';
249
+          this.$message({ message: '收费成功', type: 'success' })
250
+        } else if (index == 5) {
251
+          this.$message({ message: '退费成功', type: 'success' })
252
+        } else if (index == 6) {
253
+
254
+          if (this.patientInfo.id == 0) {
255
+            this.$message.error('请先选择要挂号的病人');
256
+            return
257
+          }
258
+          let params = {
259
+            'id': this.patientInfo.id,
260
+            'record_time': this.record_date
261
+          };
262
+          this.loadingone = true;
263
+          register(params).then(response => {
264
+            if (response.data.state == 0) {
265
+              this.$message.error(response.data.msg);
266
+              this.loadingone = false;
267
+
268
+              return false
269
+
270
+            } else {
271
+              this.loadingone = false;
272
+              var his_info = response.data.data.his_info;
273
+              this.hisPatientInfo = his_info
274
+            }
275
+          })
276
+        }
277
+      },
278
+      addTab(targetName) {
279
+        let newTabName = ++this.tabIndex + '';
280
+        this.editableTabs.push({
281
+          title: '处方' + this.tabIndex,
282
+          name: newTabName
283
+        });
284
+        this.editableTabsValue = newTabName
285
+      },
286
+      removeTab(targetName) {
287
+        let tabs = this.editableTabs;
288
+        let activeName = this.editableTabsValue;
289
+        if (activeName === targetName) {
290
+          tabs.forEach((tab, index) => {
291
+            if (tab.name === targetName) {
292
+              let nextTab = tabs[index + 1] || tabs[index - 1];
293
+              if (nextTab) {
294
+                activeName = nextTab.name
295
+              }
296
+            }
297
+          })
298
+        }
299
+
300
+        this.editableTabsValue = activeName;
301
+        this.editableTabs = tabs.filter(tab => tab.name !== targetName)
302
+      },
303
+      addCharges() {
304
+        this.$refs.additionalCharges.show()
305
+      },
306
+      choosePatient() {
307
+
308
+      },
309
+      changeRadio(id) {
310
+        console.log(id);
311
+        this.radioStatus = id;
312
+        this.getPatientList()
313
+      },
314
+
315
+      //患者列表
316
+      getPatientList() {
317
+        let params = {
318
+          'record_date': this.record_date
319
+        };
320
+        getSchedulePatientList(params).then(response => {
321
+          if (response.data.state == 0) {
322
+            this.$message.error(response.data.msg);
323
+            return false
324
+          } else {
325
+            this.patientTableData = [];
326
+            // let cal_one = 0
327
+            // let cal_two = 0
328
+            for (let i = 0; i < response.data.data.list.length; i++) {
329
+              // if (response.data.data.list[i].prescription == null || response.data.data.list[i].prescription.length == 0) {
330
+              //   // cal_one = cal_one + 1
331
+              // }
332
+              if (response.data.data.list[i].prescription != null && response.data.data.list[i].prescription.length > 0) {
333
+                // cal_two = cal_two + 1
334
+                this.patientTableData.push(response.data.data.list[i])
335
+              }
336
+            }
337
+
338
+            // this.cal_one = cal_one
339
+            // this.cal_two = cal_two
340
+          }
341
+        })
342
+      },
343
+
344
+      unique(arr) {
345
+        const res = new Map();
346
+        return arr.filter((arr) => !res.has(arr.id_card_no) && res.set(arr.id_card_no, 1))
347
+      },
348
+      handleCurrentChange(val) {
349
+        this.getPatientInformation(val.patients.id)
350
+      }, //获取患者的基本信息
351
+      getPatientInformation(id) {
352
+        let params = {
353
+          'record_date': this.record_date,
354
+          'patient_id': id
355
+        };
356
+        getPatientInfo(params).then(response => {
357
+          if (response.data.state == 0) {
358
+            this.$message.error(response.data.msg);
359
+            return false
360
+          } else {
361
+            this.patientInfo = response.data.data.xt_info;
362
+            this.hisPatientInfo = response.data.data.his_info;
363
+            this.prescriptions = [];
364
+            for (let i = 0; i < response.data.data.prescription.length; i++) {
365
+              var prescription = response.data.data.prescription[i];
366
+              let index = i + 1;
367
+              let obj = {
368
+                name: '处方' + index,
369
+                advices: prescription.advices,
370
+                project: prescription.project,
371
+                type: response.data.data.prescription[i].type
372
+              };
373
+              this.prescriptions.push(obj);
374
+              this.curPrescriptions = this.prescriptions[0]
375
+
376
+            }
377
+            // this.$refs.prescriptions.setData(this.prescriptions)
378
+          }
379
+        })
380
+      }
381
+    }
382
+  }
383
+</script>
384
+
385
+<style lang="scss" scoped>
386
+  .app-container {
387
+    height: 100%;
388
+  }
389
+
390
+  .outpatientChargesManagement {
391
+    height: 100%;
392
+    display: flex;
393
+    flex-direction: column;
394
+
395
+  .mainLeft {
396
+    width: 200px;
397
+    height: 100%;
398
+    display: flex;
399
+    flex-direction: column;
400
+
401
+  .el-radio {
402
+    margin-right: 5px;
403
+  }
404
+
405
+  }
406
+  .mainCell {
407
+    height: 36px;
408
+    display: flex;
409
+    align-items: center;
410
+  }
411
+
412
+  .mainRight {
413
+    margin-left: 20px;
414
+    flex: 1;
415
+    height: 100%;
416
+    display: flex;
417
+    flex-direction: column;
418
+    overflow-y: auto;
419
+
420
+  .cellSpan {
421
+    min-width: 80px;
422
+    display: inline-block;
423
+    margin-right: 10px;
424
+  }
425
+
426
+  }
427
+  .tabsBox {
428
+    position: relative;
429
+    height: 90%;
430
+    overflow-y: auto;
431
+    margin-bottom: 60px;
432
+
433
+  .el-tabs__item {
434
+    padding: 0 10px;
435
+  }
436
+
437
+  }
438
+  .addTab {
439
+    position: absolute;
440
+    right: 0;
441
+    top: 6px;
442
+    z-index: 20;
443
+  }
444
+
445
+  .mainCenter {
446
+    display: flex;
447
+    flex: 1;
448
+  }
449
+
450
+  .costBox {
451
+    width: 100%;
452
+    height: 60px;
453
+    background: #fff;
454
+    position: absolute;
455
+    bottom: 0;
456
+    display: flex;
457
+    align-items: center;
458
+    justify-content: space-between;
459
+  }
460
+
461
+  .centerLeft {
462
+    flex: 1;
463
+    display: flex;
464
+    flex-direction: column;
465
+    position: relative;
466
+  }
467
+
468
+  .centerRight {
469
+    width: 300px;
470
+    margin-left: 5px;
471
+    display: flex;
472
+    flex-direction: column;
473
+  }
474
+
475
+  .RP {
476
+    color: #409EFF;
477
+    font-size: 20px;
478
+    margin-bottom: 5px;
479
+  }
480
+
481
+  .centerRightTitle {
482
+    color: #409EFF;
483
+    padding-top: 10px;;
484
+  }
485
+
486
+  .basicUl {
487
+    border-top: 1px solid #e5e5e5;
488
+    border-left: 1px solid #e5e5e5;
489
+    display: flex;
490
+    flex-wrap: wrap;
491
+
492
+  li {
493
+    border-bottom: 1px solid #e5e5e5;
494
+    border-right: 1px solid #e5e5e5;
495
+    width: 100%;
496
+    height: 38px;
497
+    line-height: 38px;
498
+    text-indent: 5px;
499
+    font-size: 14px;
500
+  }
501
+
502
+  }
503
+  }
504
+</style>
505
+
506
+<style lang="scss">
507
+  #tab-more {
508
+
509
+  .el-icon-close {
510
+    display: none;
511
+  }
512
+
513
+  }
514
+</style>
515
+

+ 82 - 0
src/xt_pages/hospitalStation/advancePayment.vue 查看文件

1
+<template>
2
+    <div class="main-contain outpatientChargesManagement">
3
+        <div class="position">
4
+            <bread-crumb :crumbs='crumbs'></bread-crumb>
5
+        </div>
6
+        <div class="app-container">
7
+            <div style="display: flex;justify-content: space-between;margin-bottom:10px;">
8
+                <div>
9
+                    <el-input size="small" style="width:150px;" @keyup.enter.native='searchAction' v-model.trim="search_input" class="filter-item"/>
10
+                    <el-button size="small" style="margin-left:10px;" class="filter-item" type="primary" @click="searchAction">搜索</el-button>
11
+                </div>
12
+                <el-button size="small" type="primary">预交金查询</el-button>
13
+            </div>
14
+            <el-table :data="tableData" border height="500" style="width: 100%;" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
15
+                <el-table-column type="selection" width="55" align="center"></el-table-column>
16
+                <el-table-column align="center" prop="name" label="序号">
17
+                    <template slot-scope="scope">{{ scope.row.date }}</template>
18
+                </el-table-column>
19
+                <el-table-column align="center" prop="name" label="患者姓名">
20
+                    <template slot-scope="scope">{{ scope.row.date }}</template>
21
+                </el-table-column>
22
+                <el-table-column align="center" prop="name" label="证件号码">
23
+                    <template slot-scope="scope">{{ scope.row.date }}</template>
24
+                </el-table-column>
25
+                <el-table-column align="center" prop="name" label="患者类型">
26
+                    <template slot-scope="scope">{{ scope.row.date }}</template>
27
+                </el-table-column>
28
+                <el-table-column align="center" prop="name" label="地址">
29
+                    <template slot-scope="scope">{{ scope.row.date }}</template>
30
+                </el-table-column>
31
+                <el-table-column align="center" prop="name" label="预交金余额(元)">
32
+                    <template slot-scope="scope">{{ scope.row.date }}</template>
33
+                </el-table-column>
34
+                <el-table-column align="center" prop="name" label="已交金额(元)">
35
+                    <template slot-scope="scope">{{ scope.row.date }}</template>
36
+                </el-table-column>
37
+                <el-table-column align="center" prop="name" label="操作" width="300">
38
+                    <template slot-scope="scope">
39
+                        <el-button size="mini" type="primary">交款</el-button>
40
+                        <el-button size="mini" type="danger">删除</el-button>
41
+                        <el-button size="mini" type="primary">结算</el-button>
42
+                    </template>
43
+                </el-table-column>
44
+            </el-table>
45
+        </div>
46
+    </div>
47
+</template>
48
+
49
+
50
+<script>
51
+import BreadCrumb from '@/xt_pages/components/bread-crumb'
52
+export default {
53
+    components:{
54
+        BreadCrumb,
55
+    },
56
+    data(){
57
+        return{
58
+            crumbs: [
59
+                { path: false, name: '门诊收费' },
60
+                { path: false, name: '预交金' }
61
+            ],
62
+            tableData: [{
63
+            date: '2016-05-02',
64
+            name: '王小虎',
65
+            address: '上海市普陀区金沙江路 1518 弄'
66
+            }, {
67
+            date: '2016-05-04',
68
+            name: '王小虎',
69
+            address: '上海市普陀区金沙江路 1517 弄'
70
+            }, {
71
+            date: '2016-05-01',
72
+            name: '王小虎',
73
+            address: '上海市普陀区金沙江路 1519 弄'
74
+            }, {
75
+            date: '2016-05-03',
76
+            name: '王小虎',
77
+            address: '上海市普陀区金沙江路 1516 弄'
78
+            }]
79
+        }
80
+    }
81
+}
82
+</script>

+ 481 - 0
src/xt_pages/hospitalStation/allListPrint.vue 查看文件

1
+<template>
2
+  <div>
3
+    <template>
4
+      <el-button
5
+        style="position:fixed;right:25px;z-index:999"
6
+        :loading="loading"
7
+        size="small"
8
+        icon="el-icon-printer"
9
+        @click="printThisPage"
10
+        type="primary"
11
+      >打印
12
+      </el-button
13
+      >
14
+    </template>
15
+
16
+    <div class='dialysisPage' style="padding-top:40px;">
17
+      <printOne :list="list" :patient="patient" :order="order" :admin="admin"></printOne>
18
+    </div>
19
+  </div>
20
+</template>
21
+
22
+<script>
23
+  import { getHisOrderDetailCollect } from '@/api/his/his'
24
+  import { uParseTime } from '@/utils/tools'
25
+  import printOne from './allListTemplate/printOne'
26
+
27
+  export default {
28
+    name: 'allListPrint',
29
+    components: {
30
+      printOne
31
+    },
32
+    props: {
33
+      paramsObj: Object
34
+    },
35
+    data() {
36
+      return {
37
+        list: [],
38
+        patient: {},
39
+        order: {},
40
+        admin: {}
41
+      }
42
+    },
43
+
44
+    created() {
45
+      this.getInfo(this.paramsObj.id)
46
+
47
+    },
48
+    methods: {
49
+      getTimes(time) {
50
+        return uParseTime(time, '{y}-{m}-{d} {h}:{i}')
51
+      }, getInfo(order_id) {
52
+        let params = {
53
+          id: order_id
54
+        };
55
+        getHisOrderDetailCollect(params).then(response => {
56
+          if (response.data.state == 0) {
57
+            this.$message.error(response.data.msg);
58
+            return false
59
+          } else {
60
+            this.order = response.data.data.order;
61
+            this.patient = response.data.data.patient;
62
+            this.admin = response.data.data.admin_info;
63
+            var order_info = response.data.data.order_info;
64
+
65
+            //获取所有项目类型进行去重
66
+            let med_chrgitm_types = [];
67
+            for (let i = 0; i < order_info.length; i++) {
68
+              med_chrgitm_types.push(order_info[i].med_chrgitm_type)
69
+            }
70
+            const obj = {};
71
+            med_chrgitm_types = med_chrgitm_types.reduce((cur, next) => {
72
+              obj[next] ? '' : obj[next] = true && cur.push(next);
73
+              return cur
74
+            }, []); // 设置cur默认类型为数组,并且初始值为空的数组
75
+
76
+            let tempOrderInfo = [];
77
+
78
+            for (let i = 0; i < med_chrgitm_types.length; i++) {
79
+              let obj = {
80
+                total: 0,
81
+                details: []
82
+              };
83
+              let tempDetails = [];
84
+              for (let b = 0; b < order_info.length; b++) {
85
+                if (med_chrgitm_types[i] == order_info[b].med_chrgitm_type) {
86
+                  tempDetails.push(order_info[b])
87
+                }
88
+              }
89
+
90
+              obj.details = this.setNewData(tempDetails);
91
+              obj.total = this.getTotal(obj.details);
92
+
93
+              obj.details.push({
94
+                total: obj.total,
95
+                is_total: 1,
96
+              });
97
+              this.list =  this.list.concat(obj.details)
98
+            }
99
+
100
+
101
+
102
+
103
+          }
104
+        })
105
+      }, getTotal:function(items){
106
+        let total = 0;
107
+        for(let i = 0; i < items.length; i++){
108
+          total = Number(total) + Number((parseFloat(items[i].count) * parseFloat(items[i].price)).toFixed(2))
109
+        }
110
+        return total.toFixed(2)
111
+      },setNewData(details) {
112
+        let drug_ids = [];
113
+        let project_ids = [];
114
+
115
+        for (let i = 0; i < details.length; i++) {
116
+          if (details[i].advice && details[i].advice.id > 0 && details[i].advice.prescription && details[i].advice.prescription.type == 1) { //药品
117
+            let obj = {
118
+              id: details[i].advice.drug_id,
119
+              price: details[i].advice.price
120
+            };
121
+            drug_ids.push(obj)
122
+          } else if (details[i].project && details[i].project.id > 0 && details[i].project.prescription && details[i].project.prescription.type == 2) { //项目
123
+            let obj = {
124
+              id: details[i].project.project_id,
125
+              price: details[i].project.price
126
+
127
+            };
128
+            project_ids.push(obj)
129
+
130
+          }
131
+
132
+        }
133
+        //
134
+        // console.log('old ids')
135
+        // console.log(drug_ids)
136
+        // console.log(project_ids)
137
+        // console.log('old ids')
138
+
139
+        let new_drug_ids = this.unique(drug_ids);
140
+        let new_project_ids = this.unique(project_ids);
141
+        let list = [];
142
+
143
+        console.log('ids');
144
+        console.log(new_drug_ids);
145
+        console.log(new_project_ids);
146
+        console.log('ids');
147
+
148
+        if (new_drug_ids.length > 0 && new_project_ids.length == 0) {
149
+          for (let i = 0; i < new_drug_ids.length; i++) {
150
+            let obj = {};
151
+            let count = 0;
152
+            for (let a = 0; a < details.length; a++) {
153
+              if (new_drug_ids[i].id == details[a].advice.drug_id && new_drug_ids[i].price == details[a].advice.price) {
154
+                obj['name'] = details[a].advice.advice_name;
155
+                obj['spec'] = details[a].advice.drug.drug_spec;
156
+                obj['unit'] = details[a].advice.drug.max_unit;
157
+
158
+                obj['med_chrgitm_type'] = this.getType(details[a].med_chrgitm_type);
159
+                obj['price'] = parseFloat(details[a].pric);
160
+                obj['is_total'] = 2;
161
+                count = count + details[a].cnt
162
+              }
163
+            }
164
+            obj['count'] = count;
165
+            list.push(obj)
166
+          }
167
+        }
168
+
169
+        if (new_drug_ids.length == 0 && new_project_ids.length > 0) {
170
+          for (let i = 0; i < new_project_ids.length; i++) {
171
+            let obj = {};
172
+            let count = 0;
173
+            for (let a = 0; a < details.length; a++) {
174
+              if (new_project_ids[i].id == details[a].project.project_id && new_project_ids[i].price == details[a].project.price) {
175
+                obj['name'] = details[a].project.project.project_name;
176
+                obj['spec'] = '1';
177
+                obj['unit'] = details[a].project.project.unit;
178
+                obj['med_chrgitm_type'] = this.getType(details[a].med_chrgitm_type);
179
+                obj['price'] = parseFloat(details[a].pric);
180
+                obj['is_total'] = 2;
181
+
182
+                count = count + details[a].cnt
183
+              }
184
+            }
185
+            obj['count'] = count;
186
+            list.push(obj)
187
+          }
188
+        }
189
+
190
+        return list
191
+
192
+      }, unique(array) {
193
+        // res用来存储结果
194
+        var res = [];
195
+        for (var i = 0, arrayLen = array.length; i < arrayLen; i++) {
196
+          for (var j = 0, resLen = res.length; j < resLen; j++) {
197
+            if (array[i].id === res[j].id && array[i].price === res[j].price) {
198
+              break
199
+            }
200
+          }
201
+          // 如果array[i]是唯一的,那么执行完循环,j等于resLen
202
+          if (j === resLen) {
203
+            res.push(array[i])
204
+          }
205
+        }
206
+        return res
207
+      },
208
+
209
+      getType(med_chrgitm_type) {
210
+        switch (med_chrgitm_type) {
211
+          case '01':
212
+            return '床位费';
213
+            break;
214
+          case '02':
215
+            return '诊察费';
216
+
217
+            break;
218
+          case '03':
219
+            return '检查费';
220
+
221
+            break;
222
+          case '04':
223
+            return '化验费';
224
+            break;
225
+          case '05':
226
+            return '治疗费';
227
+
228
+            break;
229
+          case '06':
230
+            return '手术费';
231
+
232
+            break;
233
+          case '07':
234
+            return '护理费';
235
+
236
+            break;
237
+          case '08':
238
+            return '材料费';
239
+
240
+            break;
241
+          case '09':
242
+            return '西药费';
243
+
244
+            break;
245
+          case '10':
246
+            return '中药饮片费';
247
+
248
+            break;
249
+          case '11':
250
+            return '中成药费';
251
+
252
+            break;
253
+          case '12':
254
+            return '一般诊疗费';
255
+
256
+            break;
257
+          case '13':
258
+            return '挂号费';
259
+
260
+            break;
261
+          case '14':
262
+            return '其他费';
263
+
264
+            break
265
+
266
+        }
267
+
268
+      },
269
+      printThisPage() {
270
+
271
+        const style =
272
+          '@media print {.allListTitle{font-size: 24px;text-align: center;font-weight: bold;margin-bottom: 10px;}.allListInfo{display: flex;font-size: 16px;justify-content: space-between;margin: 10px 0;} .allListTable{width: 100%;text-align: center;border-collapse: collapse;line-height: 40px;font-size: 14px;border-color: #000;text-align:left;}.allListTable tr td {padding: 0 5px;}.tableBottom{font-size: 16px;display: flex;margin-top: 20px;}.tableBottomOne{margin-right: 40px;}}';
273
+        printJS({
274
+          printable: 'allList-print',
275
+          type: 'html',
276
+          style: style,
277
+          scanStyles: false
278
+        })
279
+
280
+        // if (this.org_template_info.template_id == 1) {
281
+        //   printJS({
282
+        //     printable: "dialysis-print-box",
283
+        //     type: "html",
284
+        //     style: style,
285
+        //     scanStyles: false
286
+        //   });
287
+        // }
288
+      }
289
+    }
290
+
291
+  }
292
+</script>
293
+
294
+<style>
295
+  .dialysis-print-order {
296
+    width: 960px;
297
+    margin: 0 auto;
298
+  }
299
+
300
+  .dialysis-print-order .order-yy-name {
301
+    margin: auto;
302
+    text-align: center;
303
+    font-size: 20px;
304
+    letter-spacing: 5px;
305
+  }
306
+
307
+  .dialysis-print-order .order-title {
308
+    margin: auto;
309
+    font-weight: 600;
310
+    text-align: center;
311
+    font-size: 22px;
312
+    padding: 10px;
313
+  }
314
+
315
+  .dialysis-print-order .table-box {
316
+    width: 100%;
317
+    line-height: 23px;
318
+    font-size: 14px;
319
+  }
320
+
321
+  .dialysis-print-order .print-table {
322
+    width: 100%;
323
+    text-align: center;
324
+    border-collapse: collapse;
325
+    line-height: 40px;
326
+    font-size: 14px;
327
+    border-color: #000;
328
+  }
329
+
330
+  .dialysis-print-order .print-table-no {
331
+    width: 100%;
332
+    text-align: center;
333
+    border-collapse: collapse;
334
+    font-size: 14px;
335
+  }
336
+
337
+  .dialysis-print-order .under-line {
338
+    border-bottom: 1px solid #999;
339
+    width: 95%;
340
+    text-align: center;
341
+    margin-left: 2px;
342
+  }
343
+
344
+  .dialysis-print-order .title-box {
345
+    text-align: center;
346
+    font-size: 16px;
347
+  }
348
+
349
+  .dialysis-print-order .radio-lebel-box {
350
+    font-weight: 400;
351
+    cursor: pointer;
352
+  }
353
+
354
+  .dialysis-print-order .radio-no {
355
+    opacity: 0;
356
+    outline: none;
357
+    position: absolute;
358
+    margin: 0;
359
+    width: 0;
360
+    height: 0;
361
+    z-index: -1;
362
+  }
363
+
364
+  .dialysis-print-order .radio-inner {
365
+    white-space: nowrap;
366
+    cursor: pointer;
367
+    outline: none;
368
+    display: inline-block;
369
+    line-height: 1;
370
+    position: relative;
371
+    vertical-align: middle;
372
+  }
373
+
374
+  .dialysis-print-order .radio-fang {
375
+    display: inline-block;
376
+    position: relative;
377
+    border: 1px solid #000;
378
+    box-sizing: border-box;
379
+    width: 14px;
380
+    height: 14px;
381
+    background-color: #fff;
382
+    z-index: 1;
383
+    transition: border-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46),
384
+    background-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46);
385
+  }
386
+
387
+  .dialysis-print-order .is-checked-radio::after {
388
+    content: "√";
389
+    font-size: 15px;
390
+  }
391
+
392
+  .dialysis-print-order .print-table-no tr td {
393
+    padding: 8px 5px;
394
+    line-height: 25px;
395
+  }
396
+
397
+  .dialysis-print-order .print-table tr td {
398
+    padding: 1px 1px;
399
+    /*line-height: 25px;*/
400
+  }
401
+
402
+  .es-img {
403
+    height: 30px;
404
+  }
405
+
406
+  .advice-name {
407
+    text-align: left;
408
+  }
409
+
410
+  .advice-children {
411
+    display: flex;
412
+  }
413
+
414
+  .title-box-pro {
415
+    border: 0 #fff;
416
+    line-height: 25px;
417
+    height: 25px;
418
+    text-align: left;
419
+    padding-left: 10px !important;
420
+  }
421
+
422
+  .title-box-pro-tr {
423
+    border: 0 #fff;
424
+  }
425
+
426
+  .text-align-left {
427
+    text-align: left !important;
428
+    padding-left: 10px !important;
429
+    font-size: 14px !important;
430
+    line-height: 25px;
431
+  }
432
+
433
+  .print-table-tr-new td {
434
+    line-height: 20px !important;
435
+  }
436
+
437
+  .border-top-solid {
438
+    border: solid 1px #000;
439
+  }
440
+
441
+  .print-template-two tr {
442
+    line-height: 30px;
443
+  }
444
+
445
+  .table-box1 {
446
+    border: 1px solid #000;
447
+    width: 100%;
448
+    line-height: 30px;
449
+    font-size: 14px;
450
+    border-collapse: collapse;
451
+  }
452
+
453
+  .table-box1 tr {
454
+    border-bottom: 1px solid #000;
455
+  }
456
+</style>
457
+
458
+<style lang="scss">
459
+
460
+  .newContainer {
461
+
462
+  .dialysisPage::-webkit-scrollbar {
463
+    height: 15px;
464
+  }
465
+
466
+  .el-date-editor {
467
+
468
+  .el-input__inner {
469
+    padding-right: 0px;
470
+  }
471
+
472
+  }
473
+  .el-table td, .el-table th {
474
+    text-align: center;
475
+  }
476
+
477
+  }
478
+  .newContainer::-webkit-scrollbar {
479
+    height: 15px !important;
480
+  }
481
+</style>

+ 174 - 0
src/xt_pages/hospitalStation/allListTemplate/printOne.vue 查看文件

1
+<template>
2
+    <div id="allList-print" class="allList-print">
3
+        <div v-for='(i,index) in pageArr.length' :key="index">
4
+            <div class="allListTitle">{{$store.getters.xt_user.org.org_name}}费用汇总</div>
5
+            <div class="allListInfo">
6
+            <div>患者姓名:{{patient.name}}</div>
7
+            <div>透析号:{{patient.dialysis_no}}</div>
8
+            <div>性别:{{patient.gender == 1 ? '男': '女'}}</div>
9
+            <div>年龄:{{patient.age}}  岁</div>
10
+            <div>日期:{{getTimes(order.settle_start_time)}} 至 {{getTimes(order.settle_end_time)}}</div>
11
+
12
+            </div>
13
+            <table class="allListTable" border="1">
14
+                <tr>
15
+                    <td style="width:10%">类别</td>
16
+                    <td style="width:50%">项目名称</td>
17
+                    <td style="width:10%">规格</td>
18
+                    <td style="width:10%">单价(元)</td>
19
+                    <td style="width:10%">数量</td>
20
+                    <td style="width:10%">金额(元)</td>
21
+                </tr>
22
+                <template v-for='item in list.slice(index * 13,(index * 13) + pageArr[index])'>
23
+                    <tr v-if="item.is_total == 2">
24
+                        <td style="width:10%">{{item.med_chrgitm_type}}</td>
25
+                        <td style="width:50%">{{item.name}}</td>
26
+                        <td style="width:10%">{{item.spec}}</td>
27
+                        <td style="width:10%">{{(item.price).toFixed(2)}}</td>
28
+                        <td style="width:10%">{{item.count}}{{item.unit}}</td>
29
+                        <td style="width:10%">{{(item.price * item.count).toFixed(2)}}</td>
30
+                    </tr>
31
+                    <tr>
32
+                        <td colspan="6" style="text-align:right;" v-if="item.is_total == 1">合计:{{item.total}}元</td>
33
+                    </tr>
34
+                </template>
35
+            </table>
36
+            <div class="tableBottom">
37
+            <div class="tableBottomOne">制表人:{{admin.user_name}}</div>
38
+            <div class="tableBottomOne">制表日期:{{ getNowTime()}}</div>
39
+            <div class="tableBottomOne">总费用:{{order.medfee_sumamt}}元</div>
40
+            </div>
41
+        </div>
42
+    </div>
43
+</template>
44
+
45
+<script>
46
+  import { uParseTime } from '@/utils/tools'
47
+
48
+  export default {
49
+    props: {
50
+      list: {
51
+        type: Array,
52
+        default: function () {
53
+          return [];
54
+        }
55
+      }, patient: {
56
+        type: Object,
57
+        default: function () {
58
+          return {};
59
+        }
60
+      }, order: {
61
+        type: Object,
62
+        default: function () {
63
+          return {};
64
+        }
65
+      }, admin: {
66
+        type: Object,
67
+        default: function () {
68
+          return {};
69
+        }
70
+      },
71
+    },
72
+    data(){
73
+        return{
74
+            page:1,
75
+            pageArr:[],
76
+        }
77
+    },
78
+    methods:{
79
+      getNowTime: function () {
80
+        let dateTime;
81
+        let yy = new Date().getFullYear();
82
+        let mm = new Date().getMonth() + 1;
83
+        let dd = new Date().getDate();
84
+        let hh = new Date().getHours();
85
+        let mf = new Date().getMinutes() < 10 ? '0' + new Date().getMinutes()
86
+          :
87
+          new Date().getMinutes();
88
+        let ss = new Date().getSeconds() < 10 ? '0' + new Date().getSeconds()
89
+          :
90
+          new Date().getSeconds();
91
+        dateTime = yy + '-' + mm + '-' + dd + ' ' + hh + ':' + mf + ':' + ss;
92
+        return dateTime
93
+      },
94
+      getTimes(time) {
95
+        return uParseTime(time, '{y}-{m}-{d}')
96
+      },getTotal:function(items){
97
+        let total = 0;
98
+        for(let i = 0; i < items.length; i++){
99
+          total = total + (items[i].count * items[i].price).toFixed(2)
100
+        }
101
+        return total
102
+
103
+      },
104
+      getPage(){
105
+        if(this.list.length <= 13){
106
+            this.page = 1;
107
+            this.pageArr.push(this.list.length)
108
+        }else if(this.list.length > 13){
109
+            this.page = parseInt(this.list.length / 13);
110
+            let num = this.list.length % 13;
111
+            for (var i=0;i<this.page;i++){
112
+                this.pageArr.push(13)
113
+            }
114
+            if(num != 0){
115
+                this.pageArr.push(num)
116
+            }
117
+        }
118
+      }
119
+
120
+    },
121
+    watch:{
122
+        list: {
123
+            handler(newVal) {
124
+                this.getPage()
125
+            },
126
+            deep: true
127
+        }
128
+    }
129
+  }
130
+
131
+
132
+</script>
133
+
134
+<style lang="scss" scoped>
135
+.allList-print{
136
+    -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 60px rgba(0, 0, 0, 0.06) inset;
137
+    -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset;
138
+    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset;
139
+    margin-bottom: 20px;
140
+    padding:20px 10px;
141
+}
142
+.allListTitle{
143
+    font-size: 24px;
144
+    text-align: center;
145
+    font-weight: bold;
146
+    margin-bottom: 10px;
147
+}
148
+.allListInfo{
149
+    display: flex;
150
+    font-size: 16px;
151
+    justify-content: space-between;
152
+    margin: 10px 0;
153
+}
154
+.allListTable{
155
+    width: 100%;
156
+    text-align: center;
157
+    border-collapse: collapse;
158
+    line-height: 40px;
159
+    font-size: 14px;
160
+    border-color: #000;
161
+    text-align: left;
162
+}
163
+.allListTable tr td {
164
+    padding: 0 5px;
165
+}
166
+.tableBottom{
167
+    font-size: 16px;
168
+    display: flex;
169
+    margin-top: 20px;
170
+}
171
+.tableBottomOne{
172
+    margin-right: 40px;
173
+}
174
+</style>

+ 208 - 0
src/xt_pages/hospitalStation/components/ChargePrescriptionTable.vue 查看文件

1
+<template>
2
+  <div class="prescriptionTable">
3
+    <el-table v-if="prescription.type == 1" :data="prescription.advices" border style="width: 99%;"
4
+              :row-style="{ color: '#303133' }"
5
+              :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
6
+      <el-table-column align="center" type="index" width="40" label="序号"></el-table-column>
7
+      <el-table-column align="center" prop="name" label="名称">
8
+        <template slot-scope="scope"><span :title='scope.row.drug_name'>{{ scope.row.drug_name }}</span></template>
9
+      </el-table-column>
10
+
11
+      <el-table-column align="center" prop="name" width="90" label="单次用量">
12
+        <template slot-scope="scope">
13
+          <!--<el-input v-model="scope.row.single_dose" readonly style="width:65%;"></el-input>-->
14
+          <div>{{scope.row.single_dose}}&nbsp;&nbsp;{{scope.row.single_dose_unit}}</div>
15
+        </template>
16
+      </el-table-column>
17
+      <el-table-column align="center" prop="name" width="100" label="用法">
18
+        <template slot-scope="scope">
19
+          <!--<el-input v-model="scope.row.delivery_way" readonly></el-input>-->
20
+          <div> {{scope.row.delivery_way}}</div>
21
+
22
+        </template>
23
+      </el-table-column>
24
+      <el-table-column align="center" prop="name" width="100" label="频率">
25
+        <template slot-scope="scope">
26
+          <div> {{scope.row.execution_frequency}}</div>
27
+
28
+          <!--<el-input v-model="scope.row.execution_frequency" readonly></el-input>-->
29
+        </template>
30
+      </el-table-column>
31
+
32
+      <el-table-column align="center" prop="day" width="50" label="天数">
33
+        <template slot-scope="scope">{{scope.row.day}}天</template>
34
+      </el-table-column>
35
+
36
+      <el-table-column align="center" prop="name" width="100" label="总量">
37
+        <template slot-scope="scope">
38
+          <!--<el-input v-model="scope.row.prescribing_number" style="width:60%" readonly placeholder=""></el-input>-->
39
+          <div>{{scope.row.prescribing_number}}&nbsp;&nbsp;{{scope.row.prescribing_number_unit}}</div>
40
+        </template>
41
+      </el-table-column>
42
+      <el-table-column align="center" prop="name" width="60" label="单价">
43
+        <template slot-scope="scope">
44
+          <div> {{scope.row.retail_price}}元</div>
45
+
46
+          <!--<el-input v-model="scope.row.retail_price" placeholder="" readonly></el-input>-->
47
+        </template>
48
+      </el-table-column>
49
+      <el-table-column align="center" prop="name" width="50" label="备注">
50
+        <template slot-scope="scope">
51
+          <!--<el-input v-model="scope.row.remark" :title="scope.row.remark" placeholder="" readonly></el-input>-->
52
+          <div> {{scope.row.remark}}</div>
53
+        </template>
54
+      </el-table-column>
55
+    </el-table>
56
+    <el-table v-if="prescription.type == 2" :data="prescription.project" border style="width: 99%;"
57
+              :row-style="{ color: '#303133' }"
58
+              :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
59
+      <el-table-column align="center" type="index" width="40" label="序号"></el-table-column>
60
+      <el-table-column align="center" prop="project_name" label="名称">
61
+        <template slot-scope="scope">{{ scope.row.project_name }}</template>
62
+      </el-table-column>
63
+      <el-table-column align="center" prop="statistical_classification" width="100" label="组">
64
+        <template slot-scope="scope">{{getGroup(scope.row.statistical_classification)}}</template>
65
+      </el-table-column>
66
+      <el-table-column align="center" prop="single_dose" width="80" label="单次用量">
67
+        <template slot-scope="scope">{{scope.row.single_dose}}{{scope.row.unit}}</template>
68
+
69
+      </el-table-column>
70
+      <el-table-column align="center" prop="delivery_way" width="80" label="用法">
71
+        <template slot-scope="scope">
72
+          <!--<el-input v-model="scope.row.delivery_way" placeholder="" readonly></el-input>-->
73
+          {{scope.row.delivery_way}}
74
+
75
+        </template>
76
+      </el-table-column>
77
+      <el-table-column align="center" prop="execution_frequency" width="80" label="频率">
78
+        <template slot-scope="scope">
79
+          <!--<el-input v-model="scope.row.execution_frequency" placeholder="" readonly></el-input>-->
80
+          {{scope.row.execution_frequency}}
81
+
82
+        </template>
83
+      </el-table-column>
84
+      <el-table-column align="center" prop="number_days" width="50" label="天数">
85
+        <template slot-scope="scope">
86
+          <!--<el-input v-model="scope.row.number_days" placeholder="" readonly></el-input>-->
87
+          {{scope.row.number_days}}天
88
+
89
+        </template>
90
+
91
+      </el-table-column>
92
+      <el-table-column align="center" prop="total" width="50" label="总量">
93
+        <template slot-scope="scope">
94
+          <div style="display:flex;">
95
+            <!--<el-input v-model="scope.row.total" placeholder="" readonly></el-input>-->
96
+            {{scope.row.total}}
97
+
98
+            <div>{{scope.row.unit}}</div>
99
+
100
+          </div>
101
+        </template>
102
+      </el-table-column>
103
+      <el-table-column align="center" prop="name" width="50" label="单价">
104
+        <template slot-scope="scope">
105
+          <!--<el-input v-model="scope.row.price" placeholder="" readonly></el-input>-->
106
+          {{scope.row.price}}元
107
+
108
+        </template>
109
+      </el-table-column>
110
+      <el-table-column align="center" prop="name" width="50" label="备注">
111
+        <template slot-scope="scope">
112
+          <!--<el-input v-model="scope.row.remark" readonly></el-input>-->
113
+          {{scope.row.remark}}
114
+
115
+        </template>
116
+      </el-table-column>
117
+    </el-table>
118
+
119
+    <div class="additionalBox">
120
+      <div class="additionalOne" v-for="(item,index) in prescription.addition" :key="index">
121
+        <span :title="item.item_name">{{item.item_name}}</span>
122
+        <el-input v-model="item.price" placeholder="" style="width:50px;" readonly></el-input>
123
+        共
124
+        <el-input v-model="item.count" placeholder="" style="width:50px;" readonly></el-input>
125
+        次
126
+        <!--<i class="el-icon-delete deleteIcon" @click="delAddition(index,item)"></i>-->
127
+      </div>
128
+    </div>
129
+  </div>
130
+</template>
131
+
132
+<script>
133
+  import { getInitData } from '@/api/his/his'
134
+  import { getDictionaryDataConfig} from "@/utils/data";
135
+
136
+  export default {
137
+    props: {
138
+      prescription: Object
139
+    },
140
+    data() {
141
+      return {
142
+        drugways: [],
143
+        efs: []
144
+      }
145
+    }, mounted() {
146
+      getInitData().then(response => {
147
+        if (response.data.state == 0) {
148
+          this.$message.error(response.data.msg);
149
+          return false
150
+        } else {
151
+          this.drugways = response.data.data.drugways;
152
+          this.efs = response.data.data.efs
153
+        }
154
+      })
155
+    }, methods:  {
156
+
157
+
158
+      getGroup(id){
159
+        var name = "";
160
+        var statistics_category =  getDictionaryDataConfig('system','statistics_category');
161
+        console.log("2235",statistics_category);
162
+        for(let i=0;i<statistics_category.length;i++){
163
+          if(id == statistics_category[i].id){
164
+            name = statistics_category[i].name
165
+          }
166
+        }
167
+        return name
168
+      },
169
+
170
+
171
+    }
172
+  }
173
+</script>
174
+
175
+<style lang="scss">
176
+  .prescriptionTable{
177
+  .additionalBox{
178
+    margin-top: 20px;
179
+    display: flex;
180
+    flex-wrap: wrap;
181
+  .additionalOne{
182
+    margin-right:20px;
183
+    margin-bottom:10px;
184
+    display: flex;
185
+    align-items: center;
186
+  >span{
187
+    white-space: nowrap;
188
+    overflow: hidden;
189
+    text-overflow: ellipsis;
190
+    width:80px;
191
+    display: inline-block;
192
+    font-size: 14px;
193
+  }
194
+  }
195
+  .deleteIcon{
196
+    color:red;
197
+    margin-left:5px;
198
+  }
199
+  }
200
+  .el-table th .cell, .el-table td .cell{
201
+    padding: 0 2px;
202
+    white-space: pre-line;
203
+  }
204
+  .el-icon-delete{
205
+    color:red;
206
+  }
207
+  }
208
+</style>

+ 69 - 0
src/xt_pages/hospitalStation/components/additionalCharges.vue 查看文件

1
+<template>
2
+    <el-dialog
3
+        title="附加收费"
4
+        width="300px"
5
+        :visible.sync="visible"
6
+        :before-close="_close"
7
+    >
8
+        <el-table :data="addtions_charge" border style="width: 100%;" height="300"
9
+         :row-style="{ color: '#303133' }"
10
+         :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
11
+          highlight-current-row
12
+          >
13
+            <el-table-column align="center" prop="name" label="名称" width="100">
14
+                <template slot-scope="scope">{{ scope.row.item_name }}</template>
15
+            </el-table-column>
16
+            <el-table-column align="center" prop="name" label="金额(元)">
17
+                <template slot-scope="scope">
18
+            {{ scope.row.price }}
19
+                </template>
20
+            </el-table-column>
21
+        </el-table>
22
+        <div slot="footer" class="dialog-footer">
23
+            <el-button @click="hide">取 消</el-button>
24
+        </div>
25
+    </el-dialog>
26
+</template>
27
+
28
+<script>
29
+import { saveCharges } from "@/api/project/project"
30
+export default {
31
+  props: {
32
+    addtions_charge: Array
33
+
34
+  },
35
+    data(){
36
+        return{
37
+            visible:false,
38
+            form:{
39
+                name:''
40
+            },
41
+            tableData:[
42
+
43
+            ],
44
+            patient_id:0,
45
+            chargeTable:[]
46
+        }
47
+    },
48
+    methods:{
49
+        _close: function(done) {
50
+            done()
51
+        },
52
+        clear: function() {
53
+            this.form.id = 0;
54
+            this.form.name = "";
55
+            this.form.intro = "";
56
+        },
57
+        show() {
58
+           this.visible = true
59
+        },
60
+        hide() {
61
+           this.visible = false
62
+        },
63
+
64
+
65
+    },
66
+
67
+}
68
+</script>
69
+

+ 135 - 0
src/xt_pages/hospitalStation/components/advice.vue 查看文件

1
+<template>
2
+    <el-dialog
3
+        title="新增医嘱"
4
+        width="1000px"
5
+        :visible.sync="visible"
6
+        :before-close="_close"
7
+    >
8
+        <div>
9
+            <el-form :model="form" :rules="rules" class="adviceForm" ref="form" label-width="100px" style="display: flex;flex-wrap: wrap;justify-content: space-between;">
10
+                <el-form-item class="width50" label="开嘱医生 : " prop="name">
11
+                    张三
12
+                </el-form-item>
13
+                <el-form-item class="width50" label="开嘱时间 : " prop="name">
14
+                    张三
15
+                </el-form-item>
16
+                <el-form-item label="医嘱内容: " prop="name" style="width:100%;">
17
+                    <el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="textarea"></el-input>
18
+                </el-form-item>
19
+                <el-form-item class="width50" label="药品规格 : " prop="name">
20
+                    <el-input v-model="form.name" placeholder="" style="width:180px;"></el-input>
21
+                    <el-select v-model="value" style="width:180px;margin-left:9px;" placeholder="请选择">
22
+                        <el-option
23
+                        v-for="item in options"
24
+                        :key="item.value"
25
+                        :label="item.label"
26
+                        :value="item.value">
27
+                        </el-option>
28
+                    </el-select>
29
+                </el-form-item>
30
+                <el-form-item class="width50" label="总量 : " prop="name">
31
+                    <el-input v-model="form.name" placeholder="" style="width:180px;"></el-input>
32
+                    <el-select v-model="value" style="width:180px;margin-left:9px;" placeholder="请选择">
33
+                        <el-option
34
+                        v-for="item in options"
35
+                        :key="item.value"
36
+                        :label="item.label"
37
+                        :value="item.value">
38
+                        </el-option>
39
+                    </el-select>
40
+                </el-form-item>
41
+                <el-form-item class="width50" label="每次量 : " prop="name">
42
+                    <el-input v-model="form.name" placeholder="" style="width:180px;"></el-input>
43
+                    <el-select v-model="value" style="width:180px;margin-left:9px;" placeholder="请选择">
44
+                        <el-option
45
+                        v-for="item in options"
46
+                        :key="item.value"
47
+                        :label="item.label"
48
+                        :value="item.value">
49
+                        </el-option>
50
+                    </el-select>
51
+                </el-form-item>
52
+                <el-form-item class="width50" label="用法 : " prop="name">
53
+                    <el-select v-model="value" style="width:100%;" placeholder="请选择">
54
+                        <el-option
55
+                        v-for="item in options"
56
+                        :key="item.value"
57
+                        :label="item.label"
58
+                        :value="item.value">
59
+                        </el-option>
60
+                    </el-select>
61
+                </el-form-item>
62
+                <el-form-item class="width50" label="执行频率 : " prop="name">
63
+                    <el-select v-model="value" style="width:100%;" placeholder="请选择">
64
+                        <el-option
65
+                        v-for="item in options"
66
+                        :key="item.value"
67
+                        :label="item.label"
68
+                        :value="item.value">
69
+                        </el-option>
70
+                    </el-select>
71
+                </el-form-item>
72
+                <el-form-item class="width50" label="天数 : " prop="name">
73
+                    <el-input v-model="form.name" placeholder=""></el-input>
74
+                </el-form-item>
75
+                <el-form-item label="限制说明 : " prop="name" style="width:100%;">
76
+                    <el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="textarea"></el-input>
77
+                </el-form-item>
78
+            </el-form>
79
+        </div>
80
+        <div slot="footer" class="dialog-footer">
81
+            <el-button @click="hide">取 消</el-button>
82
+            <el-button type="primary" :loading="submitLoading" @click="submitAction()">保 存</el-button>
83
+        </div>
84
+    </el-dialog>         
85
+</template>
86
+
87
+<script>
88
+export default {
89
+    data(){
90
+        return{
91
+            visible:false,
92
+            form:{
93
+                name:''
94
+            },
95
+        }
96
+    },
97
+    methods:{
98
+        _close: function(done) {
99
+            // this.clear()
100
+            done()
101
+        },
102
+        clear: function() {
103
+            this.form.id = 0;
104
+            this.form.name = "";
105
+            this.form.intro = "";
106
+        },
107
+        show() {
108
+            // this.clear()
109
+            this.visible = true
110
+        },
111
+        hide() {
112
+            // this.clear()
113
+            this.visible = false
114
+        },
115
+    }
116
+}
117
+</script>
118
+
119
+<style lang="scss" scoped>
120
+.adviceForm{
121
+    .width33{
122
+        width:33%;
123
+    }
124
+    .width50{
125
+        width:50%;
126
+    }
127
+    .width100{
128
+        width:100%;
129
+    }
130
+    .el-radio{
131
+        margin-right:2px;
132
+    }
133
+}
134
+</style>
135
+

+ 359 - 0
src/xt_pages/hospitalStation/components/callPrescription.vue 查看文件

1
+<template>
2
+  <el-dialog
3
+    :title="name"
4
+    :visible.sync="isLastOrNextVisible"
5
+    @close="hide"
6
+    width="1010px"
7
+    class="callPrescription"
8
+    :modal-append-to-body="false"
9
+  >
10
+    <el-date-picker
11
+      v-model="start_time"
12
+      prefix-icon="el-icon-date"
13
+      @change="changeTime"
14
+      :editable="false"
15
+      style="width: 150px;"
16
+      type="date"
17
+      placeholder="选择日期时间"
18
+      align="right"
19
+      format="yyyy-MM-dd"
20
+      value-format="yyyy-MM-dd"
21
+    ></el-date-picker>
22
+    <span class>-</span>
23
+    <el-date-picker
24
+      v-model="end_time"
25
+      prefix-icon="el-icon-date"
26
+      @change="changeEndTime"
27
+      :editable="false"
28
+      style="width: 150px;"
29
+      type="date"
30
+      placeholder="选择日期时间"
31
+      align="right"
32
+      format="yyyy-MM-dd"
33
+      value-format="yyyy-MM-dd"
34
+    ></el-date-picker>
35
+
36
+
37
+    <div v-for="(item,index) in allPrescription" :key="index">
38
+      <div class="quote" v-if="item.prescriptions.length > 0">引用 {{getTime(item.record_date, '{y}年{m}月{d}日')}} 的处方</div>
39
+      <el-checkbox-group v-model="item.check_group">
40
+        <div v-for="(subItem,index2) in item.prescriptions" :key="index2">
41
+          <el-checkbox style="margin:10px 0;" :label="subItem.id">{{'处方' + (index2+ 1)}}</el-checkbox>
42
+          <el-table v-if="subItem.type  == 1" :data="subItem.doctor_advice" border style="width: 99%;"
43
+                    :row-style="{ color: '#303133' }"
44
+                    :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
45
+            <el-table-column align="center" type="index" width="60" label="序号"></el-table-column>
46
+            <el-table-column align="center" prop="drug_name"  width="160" label="名称">
47
+              <template slot-scope="scope">
48
+                <span>{{ scope.row.advice_name }}</span>
49
+              </template>
50
+            </el-table-column>
51
+
52
+            <el-table-column align="center" prop="single_dose" width="90" label="单次用量">
53
+              <template slot-scope="scope">
54
+                <div>{{scope.row.single_dose}}{{scope.row.single_dose_unit}}</div>
55
+              </template>
56
+            </el-table-column>
57
+            <el-table-column align="center" prop="delivery_way" width="100" label="用法">
58
+              <template slot-scope="scope">
59
+                {{scope.row.delivery_way}}
60
+              </template>
61
+            </el-table-column>
62
+            <el-table-column align="center" prop="execution_frequency" width="100" label="频率">
63
+              <template slot-scope="scope">
64
+                {{scope.row.execution_frequency}}
65
+              </template>
66
+            </el-table-column>
67
+
68
+            <el-table-column align="center" prop="day" width="60" label="天数">
69
+              <template slot-scope="scope">
70
+                {{scope.row.day}}
71
+              </template>
72
+            </el-table-column>
73
+
74
+            <el-table-column align="center" prop="prescribing_number" width="100" label="总量">
75
+              <template slot-scope="scope">
76
+                <div>{{scope.row.prescribing_number}} {{scope.row.prescribing_number_unit}}</div>
77
+              </template>
78
+            </el-table-column>
79
+            <el-table-column align="center" prop="retail_price" width="80" label="单价">
80
+              <template slot-scope="scope">
81
+                <div>{{scope.row.price}}元</div>
82
+              </template>
83
+            </el-table-column>
84
+            <el-table-column align="center" prop="remark" label="备注">
85
+              <template slot-scope="scope">
86
+                <div>{{scope.row.remark}}</div>
87
+              </template>
88
+            </el-table-column>
89
+          </el-table>
90
+          <el-table v-if="subItem.type == 2" :data="subItem.project" border style="width: 99%;"
91
+                    :row-style="{ color: '#303133' }"
92
+                    :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
93
+            <el-table-column align="center" type="index" width="60" label="序号"></el-table-column>
94
+            <el-table-column align="center" prop="project_name" width="160" label="名称">
95
+              <template slot-scope="scope">
96
+                <span>{{ scope.row.project.project_name }}</span>
97
+              </template>
98
+            </el-table-column>
99
+            <el-table-column align="center" prop="statistical_classification" width="100" label="组">
100
+              <template slot-scope="scope">{{getGroup(scope.row.statistical_classification)}}</template>
101
+            </el-table-column>
102
+            <el-table-column align="center" prop="single_dose" width="90" label="单次用量">
103
+              <template slot-scope="scope">
104
+                <!--<el-input v-model="scope.row.single_dose" placeholder=""></el-input>-->
105
+                <span>{{ scope.row.single_dose }}</span>
106
+
107
+              </template>
108
+            </el-table-column>
109
+            <el-table-column align="center" prop="delivery_way" width="100" label="用法">
110
+              <template slot-scope="scope">
111
+                <!--<el-input v-model="scope.row.delivery_way" placeholder=""></el-input>-->
112
+                <span>{{ scope.row.delivery_way }}</span>
113
+
114
+              </template>
115
+            </el-table-column>
116
+            <el-table-column align="center" prop="execution_frequency" width="100" label="频率">
117
+              <template slot-scope="scope">
118
+                <!--<el-input v-model="scope.row.execution_frequency" placeholder=""></el-input>-->
119
+                <span>{{ scope.row.execution_frequency }}</span>
120
+
121
+              </template>
122
+            </el-table-column>
123
+            <el-table-column align="center" prop="number_days" width="70" label="天数">
124
+              <template slot-scope="scope">
125
+                <!--<el-input v-model="scope.row.number_days" placeholder=""></el-input>-->
126
+                <span>{{ scope.row.number_days }}</span>
127
+
128
+              </template>
129
+            </el-table-column>
130
+            <el-table-column align="center" prop="total" width="70" label="总量">
131
+              <template slot-scope="scope">
132
+                <div>{{ scope.row.count }}{{scope.row.unit}}</div>
133
+              </template>
134
+            </el-table-column>
135
+            <el-table-column align="center" prop="name" width="60" label="单价">
136
+              <template slot-scope="scope">
137
+                <!--<el-input v-model="scope.row.price" placeholder="" readonly></el-input>-->
138
+                <span>{{ scope.row.price }}</span>
139
+
140
+              </template>
141
+            </el-table-column>
142
+            <el-table-column align="center" prop="name" label="备注">
143
+              <template slot-scope="scope">
144
+                <!--<el-input v-model="scope.row.remark" :title="scope.row.remark"></el-input>-->
145
+                <span>{{ scope.row.remark }}</span>
146
+
147
+              </template>
148
+            </el-table-column>
149
+          </el-table>
150
+        </div>
151
+      </el-checkbox-group>
152
+
153
+    </div>
154
+
155
+
156
+    <div slot="footer" class="dialog-footer">
157
+      <el-button @click="isLastOrNextVisible = false">取 消</el-button>
158
+      <el-button type="primary" @click="save">保存</el-button>
159
+    </div>
160
+  </el-dialog>
161
+
162
+
163
+</template>
164
+
165
+<script>
166
+  import { uParseTime } from '@/utils/tools'
167
+  import { getDictionaryDataConfig} from "@/utils/data";
168
+
169
+  import {
170
+    getCallHisPrescription
171
+  } from '@/api/his/his'
172
+  export default {
173
+    name: "callPrescription",
174
+    data() {
175
+      return {
176
+        start_time:"",
177
+        end_time:"",
178
+        srcPrescriptions:[],
179
+        name:"",
180
+        request_record_date:'',
181
+        patient_id:0,
182
+        allPrescription: [],
183
+        isLastOrNextVisible: false,
184
+
185
+      }
186
+    }, methods: {
187
+      changeTime(){
188
+        let params={
189
+          patient_id:this.patient_id,
190
+          start_time: this.start_time,
191
+          end_time:this.end_time,
192
+          p_type:1,
193
+
194
+        };
195
+        this.GetCallHisPrescription(params)
196
+      },changeEndTime(){
197
+        let params={
198
+          patient_id:this.patient_id,
199
+          start_time: this.start_time,
200
+          end_time:this.end_time,
201
+          p_type:1,
202
+
203
+        };
204
+        this.GetCallHisPrescription(params)
205
+      },
206
+      GetCallHisPrescription(params){
207
+        getCallHisPrescription(params).then(response => {
208
+          if (response.data.state == 1) {
209
+            this.allPrescription = response.data.data.prescriptions;
210
+            for (let i = 0; i < this.allPrescription.length; i++){
211
+              this.allPrescription[i].check_group = []
212
+            }
213
+            this.request_record_date = uParseTime(response.data.data.prescriptions[0].record_date, '{y}-{m}-{d}')
214
+          } else {
215
+            this.$message.error(response.data.msg)
216
+
217
+          }
218
+        })
219
+      },
220
+      save() {
221
+        let replace_one = [];
222
+        let replace_two = [];
223
+
224
+        let checkGroup = [];
225
+        let allPrescriptions = [];
226
+        let targetPrescriptions = [];
227
+        let prescriptions = [];
228
+        for (let i = 0; i < this.allPrescription.length; i++) {
229
+          for (let a = 0; a < this.allPrescription[i].check_group.length; a++) {
230
+            checkGroup.push(this.allPrescription[i].check_group[a])
231
+          }
232
+          for (let a = 0; a < this.allPrescription[i].prescriptions.length; a++) {
233
+            allPrescriptions.push(this.allPrescription[i].prescriptions[a])
234
+          }
235
+        }
236
+        for (let i = 0; i < allPrescriptions.length; i++){
237
+          for (let a = 0; a < checkGroup.length; a++){
238
+            if(allPrescriptions[i].id == checkGroup[a]){
239
+              targetPrescriptions.push(allPrescriptions[i])
240
+            }
241
+          }
242
+        }
243
+
244
+        if (targetPrescriptions.length > 0) {
245
+          for (let i = 0; i < targetPrescriptions.length; i++) {
246
+            var prescription = targetPrescriptions[i];
247
+            let tempAdvice = [];
248
+            let tempProject = [];
249
+            let tempAddition = [];
250
+            for (let b = 0; b < prescription.doctor_advice.length; b++) {
251
+              let obj = {
252
+                advice_id: 0,
253
+                drug_name: prescription.doctor_advice[b].advice_name,
254
+                single_dose: prescription.doctor_advice[b].single_dose,
255
+                delivery_way: prescription.doctor_advice[b].delivery_way,
256
+                execution_frequency: prescription.doctor_advice[b].execution_frequency,
257
+                retail_price: prescription.doctor_advice[b].price.toString(),
258
+                remark: prescription.doctor_advice[b].remark,
259
+                day:prescription.doctor_advice[b].day,
260
+                prescribing_number:prescription.doctor_advice[b].prescribing_number.toString(),
261
+                single_dose_unit:prescription.doctor_advice[b].single_dose_unit,
262
+                prescribing_number_unit:prescription.doctor_advice[b].prescribing_number_unit,
263
+                medical_insurance_number:prescription.doctor_advice[b].med_list_codg,
264
+                id:prescription.doctor_advice[b].drug_id
265
+              };
266
+              tempAdvice.push(obj)
267
+
268
+            }
269
+
270
+
271
+            for (let b = 0; b < prescription.project.length; b++) {
272
+              let obj = {
273
+                id: 0,
274
+                project_id: prescription.project[b].project_id,
275
+                project_name: prescription.project[b].project.project_name,
276
+                statistical_classification: prescription.project[b].project.statistical_classification,
277
+                single_dose: prescription.project[b].single_dose,
278
+                delivery_way: prescription.project[b].delivery_way,
279
+                execution_frequency: prescription.project[b].execution_frequency,
280
+                number_days: prescription.project[b].day,
281
+                total:prescription.project[b].count,
282
+                price:prescription.project[b].price,
283
+                remark:prescription.project[b].remark,
284
+                medical_code:prescription.project[b].project.medical_code,
285
+              };
286
+              tempProject.push(obj)
287
+            }
288
+            let obj = {
289
+              id: 0,
290
+              advices: tempAdvice,
291
+              project: tempProject,
292
+              addition:tempAddition,
293
+              type:prescription.type,
294
+              order_status:0,
295
+            };
296
+            prescriptions.push(obj)
297
+          }
298
+        }
299
+
300
+        if(this.srcPrescriptions.length == 1){
301
+          if(this.srcPrescriptions[0].advices.length == 0 && this.srcPrescriptions[0].project.length == 0){
302
+            this.srcPrescriptions = [];
303
+            this.srcPrescriptions = prescriptions;
304
+            this.$emit('call', this.srcPrescriptions)
305
+          }else{
306
+
307
+            this.srcPrescriptions =  this.srcPrescriptions.concat(prescriptions);
308
+            this.$emit('call', this.srcPrescriptions)
309
+          }
310
+        }else{
311
+          this.srcPrescriptions =  this.srcPrescriptions.concat(prescriptions);
312
+          this.$emit('call', this.srcPrescriptions)
313
+        }
314
+      },show(name,id,end_time, start_time,srcPrescriptions,prescriptions){
315
+        this.srcPrescriptions = srcPrescriptions;
316
+        this.start_time  = start_time;
317
+        this.end_time = end_time;
318
+        this.patient_id = id;
319
+        this.name = '处方调用' + '('+name +')';
320
+        this.allPrescription = prescriptions;
321
+        for (let i = 0; i < this.allPrescription.length; i++){
322
+          this.allPrescription[i].check_group = []
323
+        }
324
+        this.isLastOrNextVisible = true
325
+      },close(){
326
+        this.isLastOrNextVisible = false
327
+      },hide(){
328
+        this.$emit('callCancel')
329
+
330
+      },getTime(time, template){
331
+        return uParseTime(time,template)
332
+
333
+      }, getGroup(id){
334
+        var name = "";
335
+        var statistics_category =  getDictionaryDataConfig('system','statistics_category');
336
+        for(let i=0;i<statistics_category.length;i++){
337
+          if(id == statistics_category[i].id){
338
+            name = statistics_category[i].name
339
+          }
340
+        }
341
+        return name
342
+      },   getDictionaryDataConfig(module, filed_name) {
343
+        return getDictionaryDataConfig(module, filed_name)
344
+      },
345
+    }
346
+  }
347
+</script>
348
+
349
+<style lang="scss">
350
+.callPrescription{
351
+  .el-dialog__body{
352
+    padding:0px 20px 30px;
353
+  }
354
+  .quote{
355
+    margin-top: 10px;
356
+    font-size: 14px;
357
+  }
358
+}
359
+</style>

+ 257 - 0
src/xt_pages/hospitalStation/components/chargeDialog.vue 查看文件

1
+<template>
2
+  <el-dialog width="854px" title="收费单" class="chargeDialog" :visible.sync="visibility" :close-on-click-modal="isClose"
3
+             :close-on-press-escape="isClose">
4
+
5
+    <el-form :model="form"  ref="formValue" label-width="100px">
6
+
7
+      <el-form-item label="日期:" style="width:100%;">
8
+        <div>{{record_date}}</div>
9
+      </el-form-item>
10
+
11
+      <el-form-item label="总计:" prop="name" :validate-event="is_Name" style="width:33%;">
12
+        <el-input type="number" v-model="form.total" :disabled="true"></el-input>
13
+      </el-form-item>
14
+      <el-form-item label="医保:" prop="name" :validate-event="is_Name" style="width:33%;">
15
+        <el-input type="number" v-model="form.medical_insurance_price" :disabled="true"></el-input>
16
+      </el-form-item>
17
+
18
+
19
+      <el-form-item label="自费:" prop="age" :validate-event="is_Name" style="width:33%;">
20
+        <el-input type="number" v-model="form.private_price" :disabled="true"></el-input>
21
+      </el-form-item>
22
+
23
+
24
+      <el-form-item label="支付方式:" style="width:100%;">
25
+        <!-- <el-select v-model="form.pay_way" placeholder="请选择">
26
+          <el-option
27
+            v-for="(item,index) in payWays"
28
+            :key="index"
29
+            :label="item.label"
30
+            :value="item.value">
31
+          </el-option>
32
+        </el-select> -->
33
+        <el-radio-group v-model="form.pay_way">
34
+          <el-radio :label="index" v-for="(item,index) in payWays" :key="index">{{ item.label }}</el-radio>
35
+        </el-radio-group>
36
+      </el-form-item>
37
+
38
+
39
+      <el-form-item label="付款金额:" prop="id_card" :validate-event="is_Name">
40
+        <el-input type="number" v-model="form.pay_price" :disabled="true"></el-input>
41
+      </el-form-item>
42
+
43
+
44
+      <el-form-item label="付款卡号:" prop="id_card" :validate-event="is_Name">
45
+        <el-input v-model="form.pay_card_no"></el-input>
46
+      </el-form-item>
47
+
48
+      <el-form-item class="specialFormItem" label="折扣金额:">
49
+        <div style="display:flex;">
50
+          <el-input v-model="form.discount_price" :disabled="form.preferential_price != 0" @change="changeDiscountPrice"></el-input>
51
+        </div>
52
+      </el-form-item>
53
+      <el-form-item class="specialFormItem" label="优惠金额:">
54
+        <div style="display:flex;">
55
+          <el-input v-model="form.preferential_price" :disabled="form.discount_price != 0" @change="changePreferentialPrice"></el-input>
56
+        </div>
57
+      </el-form-item>
58
+      <el-form-item label="实收金额:">
59
+        <div style="display:flex;">
60
+          <el-input v-model="form.reality_price" @change="realityPrice"></el-input>
61
+        </div>
62
+      </el-form-item>
63
+      <el-form-item label="找回金额:">
64
+        <div style="display:flex;">
65
+          <el-input v-model.number="form.found_price"></el-input>
66
+        </div>
67
+      </el-form-item>
68
+
69
+      <el-form-item label="发票编码:">
70
+        <div style="display:flex;">
71
+          <el-input v-model.number="form.fapiao_code"></el-input>
72
+        </div>
73
+      </el-form-item>
74
+
75
+
76
+      <el-form-item label="发票号码:">
77
+        <div style="display:flex;">
78
+          <el-input v-model.number="form.fapiao_number"></el-input>
79
+        </div>
80
+      </el-form-item>
81
+
82
+    </el-form>
83
+
84
+    <span slot="footer" class="dialog-footer">
85
+    <el-button v-loading="loadingtwo" @click="cancel('formValue')">取 消</el-button>
86
+    <el-button v-loading="loadingtwo" type="primary" @click="confirm('formValue')">确 定</el-button>
87
+  </span>
88
+  </el-dialog>
89
+
90
+</template>
91
+
92
+<script>
93
+  import { uParseTime } from '@/utils/tools'
94
+
95
+  export default {
96
+    name: 'chargeDialog',
97
+
98
+    data() {
99
+
100
+      return {
101
+        record_date:'',
102
+        form: {
103
+          medical_insurance_price:0,
104
+          private_price:'',
105
+          pay_way:'',
106
+          pay_price:'',
107
+          pay_card_no:'',
108
+          discount_price:'',
109
+          preferential_price:'',
110
+          reality_price:'',
111
+          found_price:'',
112
+          total:0,
113
+          fapiao_code:"",
114
+          fapiao_number:""
115
+
116
+
117
+        },
118
+        payWays: [
119
+          {value: 1, label: '现金'},
120
+          {value: 2, label: '银行卡'},
121
+          {value: 3, label: '微信'},
122
+          {value: 4, label: '支付宝'},
123
+        ],
124
+        total:"",
125
+
126
+        visibility: false,
127
+        labelPosition: 'right',
128
+        isClose: false,
129
+
130
+        resetForm: {
131
+          medical_insurance_price:'',
132
+          private_price:'',
133
+          pay_way:'',
134
+          pay_price:'',
135
+          pay_card_no:'',
136
+          discount_price:'',
137
+          preferential_price:'',
138
+          reality_price:'',
139
+          found_price:'',
140
+          fapiao_code:"",
141
+          fapiao_number:""
142
+        },
143
+
144
+      }
145
+    },
146
+    props: {
147
+
148
+      titles: {
149
+        type: String,
150
+        default: ''
151
+      },
152
+      formValue: {
153
+        type: Object
154
+      },
155
+      type: {
156
+        type: Number,
157
+        default: 1
158
+
159
+      },
160
+      isCreated: {
161
+        type: Number,
162
+        default: 1
163
+
164
+      }
165
+    },
166
+    methods: {
167
+      show: function (total) {
168
+        this.total = total;
169
+        this.form.private_price = total;
170
+        this.form.pay_price = total;
171
+        this.form.total = total + this.form.medical_insurance_price;
172
+        this.form.discount_price = 0.0;
173
+        this.form.preferential_price = 0.0;
174
+
175
+        this.form.fapiao_code ="";
176
+        this.form.fapiao_number = "";
177
+
178
+
179
+
180
+        this.visibility = true
181
+
182
+      }, hide: function () {
183
+        this.form = Object.assign({}, this.resetForm);
184
+        this.loadingtwo = false;
185
+        this.visibility = false
186
+      }, cancel: function (formName) {
187
+        this.$emit('cancel', this.getValue());
188
+        this.$refs['formValue'].resetFields()
189
+      },
190
+      confirm: function (formName) {
191
+        this.$refs['formValue'].validate((valid) => {
192
+          if (valid) {
193
+            let value = {};
194
+            value = this.getValue();
195
+            this.$emit('confirm', value);
196
+            this.loadingtwo = true
197
+          }
198
+        })
199
+      },
200
+      getValue: function () {
201
+        let form = {};
202
+        form = this.form;
203
+        return form
204
+      },
205
+      realityPrice(val){
206
+        if(val < (this.form.total - this.form.discount_price - this.form.preferential_price)){
207
+          this.$message.error('实收金额不能小于收费金额');
208
+          return
209
+        }
210
+        this.form.found_price = parseInt(val) - parseInt(this.form.total) + parseInt(this.form.discount_price) + parseInt(this.form.preferential_price)
211
+      },
212
+      changeDiscountPrice(val){
213
+        if(val > this.form.total){
214
+          this.$message.error('折扣金额不能超过费用总额');
215
+          return
216
+        }
217
+        this.form.reality_price = parseInt(this.form.total) - parseInt(val) - parseInt(this.form.preferential_price)
218
+      },
219
+      changePreferentialPrice(val){
220
+        if(val > this.form.total){
221
+          this.$message.error('优惠金额不能超过费用总额');
222
+          return
223
+        }
224
+        this.form.reality_price = parseInt(this.form.total) - parseInt(val) - parseInt(this.form.discount_price)
225
+      }
226
+    },mounted() {
227
+      var nowDate = new Date();
228
+      var nowYear = nowDate.getFullYear();
229
+      var nowMonth = nowDate.getMonth() + 1;
230
+      var nowDay = nowDate.getDate();
231
+
232
+      var nowHours = nowDate.getHours();
233
+      var nowMin = nowDate.getMinutes();
234
+      var nowSecond = nowDate.getSeconds();
235
+
236
+      this.record_date =
237
+        nowYear +
238
+        '-' +
239
+        (nowMonth < 10 ? '0' + nowMonth : nowMonth) +
240
+        '-' +
241
+        (nowDay < 10 ? '0' + nowDay : nowDay)+" "+(nowHours < 10 ? '0' + nowHours : nowHours)+":"+(nowMin < 10 ? '0' + nowMin : nowMin)
242
+    }
243
+
244
+  }
245
+</script>
246
+
247
+<style lang="scss" scoped>
248
+.chargeDialog{
249
+  .el-form{
250
+    display: flex;
251
+    flex-wrap: wrap;
252
+  }
253
+  .el-form-item{
254
+    width:50%;
255
+  }
256
+}
257
+</style>

+ 208 - 0
src/xt_pages/hospitalStation/components/chargeMonthPrescriptionTable.vue 查看文件

1
+<template>
2
+  <div class="prescriptionTable">
3
+    <el-table v-if="prescription.type == 1" :data="prescription.advices" border style="width: 99%;"
4
+              :row-style="{ color: '#303133' }"
5
+              :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
6
+      <el-table-column align="center" type="index" width="40" label="序号"></el-table-column>
7
+      <el-table-column align="center" prop="name" label="名称">
8
+        <template slot-scope="scope"><span :title='scope.row.drug_name'>{{ scope.row.drug_name }}</span></template>
9
+      </el-table-column>
10
+
11
+      <el-table-column align="center" prop="name" width="90" label="单次用量">
12
+        <template slot-scope="scope">
13
+          <!--<el-input v-model="scope.row.single_dose" readonly style="width:65%;"></el-input>-->
14
+          <div>{{scope.row.single_dose}}&nbsp;&nbsp;{{scope.row.single_dose_unit}}</div>
15
+        </template>
16
+      </el-table-column>
17
+      <el-table-column align="center" prop="name" width="100" label="用法">
18
+        <template slot-scope="scope">
19
+          <!--<el-input v-model="scope.row.delivery_way" readonly></el-input>-->
20
+          <div> {{scope.row.delivery_way}}</div>
21
+
22
+        </template>
23
+      </el-table-column>
24
+      <el-table-column align="center" prop="name" width="100" label="频率">
25
+        <template slot-scope="scope">
26
+          <div> {{scope.row.execution_frequency}}</div>
27
+
28
+          <!--<el-input v-model="scope.row.execution_frequency" readonly></el-input>-->
29
+        </template>
30
+      </el-table-column>
31
+
32
+      <el-table-column align="center" prop="day" width="50" label="天数">
33
+        <template slot-scope="scope">{{scope.row.day}}天</template>
34
+      </el-table-column>
35
+
36
+      <el-table-column align="center" prop="name" width="100" label="总量">
37
+        <template slot-scope="scope">
38
+          <!--<el-input v-model="scope.row.prescribing_number" style="width:60%" readonly placeholder=""></el-input>-->
39
+          <div>{{scope.row.prescribing_number}}&nbsp;&nbsp;{{scope.row.prescribing_number_unit}}</div>
40
+        </template>
41
+      </el-table-column>
42
+      <el-table-column align="center" prop="name" width="60" label="单价">
43
+        <template slot-scope="scope">
44
+          <div> {{scope.row.retail_price}}元</div>
45
+
46
+          <!--<el-input v-model="scope.row.retail_price" placeholder="" readonly></el-input>-->
47
+        </template>
48
+      </el-table-column>
49
+      <el-table-column align="center" prop="name" width="50" label="备注">
50
+        <template slot-scope="scope">
51
+          <!--<el-input v-model="scope.row.remark" :title="scope.row.remark" placeholder="" readonly></el-input>-->
52
+          <div> {{scope.row.remark}}</div>
53
+        </template>
54
+      </el-table-column>
55
+    </el-table>
56
+    <el-table v-if="prescription.type == 2" :data="prescription.project" border style="width: 99%;"
57
+              :row-style="{ color: '#303133' }"
58
+              :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
59
+      <el-table-column align="center" type="index" width="40" label="序号"></el-table-column>
60
+      <el-table-column align="center" prop="project_name" label="名称">
61
+        <template slot-scope="scope">{{ scope.row.project_name }}</template>
62
+      </el-table-column>
63
+      <el-table-column align="center" prop="statistical_classification" width="100" label="组">
64
+        <template slot-scope="scope">{{getGroup(scope.row.statistical_classification)}}</template>
65
+      </el-table-column>
66
+      <el-table-column align="center" prop="single_dose" width="80" label="单次用量">
67
+        <template slot-scope="scope">{{scope.row.single_dose}}{{scope.row.unit}}</template>
68
+
69
+      </el-table-column>
70
+      <el-table-column align="center" prop="delivery_way" width="80" label="用法">
71
+        <template slot-scope="scope">
72
+          <!--<el-input v-model="scope.row.delivery_way" placeholder="" readonly></el-input>-->
73
+          {{scope.row.delivery_way}}
74
+
75
+        </template>
76
+      </el-table-column>
77
+      <el-table-column align="center" prop="execution_frequency" width="80" label="频率">
78
+        <template slot-scope="scope">
79
+          <!--<el-input v-model="scope.row.execution_frequency" placeholder="" readonly></el-input>-->
80
+          {{scope.row.execution_frequency}}
81
+
82
+        </template>
83
+      </el-table-column>
84
+      <el-table-column align="center" prop="number_days" width="50" label="天数">
85
+        <template slot-scope="scope">
86
+          <!--<el-input v-model="scope.row.number_days" placeholder="" readonly></el-input>-->
87
+          {{scope.row.number_days}}天
88
+
89
+        </template>
90
+
91
+      </el-table-column>
92
+      <el-table-column align="center" prop="total" width="50" label="总量">
93
+        <template slot-scope="scope">
94
+          <div style="display:flex;">
95
+            <!--<el-input v-model="scope.row.total" placeholder="" readonly></el-input>-->
96
+            {{scope.row.total}}
97
+
98
+            <div>{{scope.row.unit}}</div>
99
+
100
+          </div>
101
+        </template>
102
+      </el-table-column>
103
+      <el-table-column align="center" prop="name" width="50" label="单价">
104
+        <template slot-scope="scope">
105
+          <!--<el-input v-model="scope.row.price" placeholder="" readonly></el-input>-->
106
+          {{scope.row.price}}元
107
+
108
+        </template>
109
+      </el-table-column>
110
+      <el-table-column align="center" prop="name" width="50" label="备注">
111
+        <template slot-scope="scope">
112
+          <!--<el-input v-model="scope.row.remark" readonly></el-input>-->
113
+          {{scope.row.remark}}
114
+
115
+        </template>
116
+      </el-table-column>
117
+    </el-table>
118
+
119
+    <div class="additionalBox">
120
+      <div class="additionalOne" v-for="(item,index) in prescription.addition" :key="index">
121
+        <span :title="item.item_name">{{item.item_name}}</span>
122
+        <el-input v-model="item.price" placeholder="" style="width:50px;" readonly></el-input>
123
+        共
124
+        <el-input v-model="item.count" placeholder="" style="width:50px;" readonly></el-input>
125
+        次
126
+        <!--<i class="el-icon-delete deleteIcon" @click="delAddition(index,item)"></i>-->
127
+      </div>
128
+    </div>
129
+  </div>
130
+</template>
131
+
132
+<script>
133
+  import { getInitData } from '@/api/his/his'
134
+  import { getDictionaryDataConfig} from "@/utils/data";
135
+
136
+  export default {
137
+    props: {
138
+      prescription: Object
139
+    },
140
+    data() {
141
+      return {
142
+        drugways: [],
143
+        efs: []
144
+      }
145
+    }, mounted() {
146
+      getInitData().then(response => {
147
+        if (response.data.state == 0) {
148
+          this.$message.error(response.data.msg);
149
+          return false
150
+        } else {
151
+          this.drugways = response.data.data.drugways;
152
+          this.efs = response.data.data.efs
153
+        }
154
+      })
155
+    }, methods:  {
156
+
157
+
158
+      getGroup(id){
159
+        var name = "";
160
+        var statistics_category =  getDictionaryDataConfig('system','statistics_category');
161
+        console.log("2235",statistics_category);
162
+        for(let i=0;i<statistics_category.length;i++){
163
+          if(id == statistics_category[i].id){
164
+            name = statistics_category[i].name
165
+          }
166
+        }
167
+        return name
168
+      },
169
+
170
+
171
+    }
172
+  }
173
+</script>
174
+
175
+<style lang="scss">
176
+  .prescriptionTable{
177
+  .additionalBox{
178
+    margin-top: 20px;
179
+    display: flex;
180
+    flex-wrap: wrap;
181
+  .additionalOne{
182
+    margin-right:20px;
183
+    margin-bottom:10px;
184
+    display: flex;
185
+    align-items: center;
186
+  >span{
187
+    white-space: nowrap;
188
+    overflow: hidden;
189
+    text-overflow: ellipsis;
190
+    width:80px;
191
+    display: inline-block;
192
+    font-size: 14px;
193
+  }
194
+  }
195
+  .deleteIcon{
196
+    color:red;
197
+    margin-left:5px;
198
+  }
199
+  }
200
+  .el-table th .cell, .el-table td .cell{
201
+    padding: 0 2px;
202
+    white-space: pre-line;
203
+  }
204
+  .el-icon-delete{
205
+    color:red;
206
+  }
207
+  }
208
+</style>

+ 166 - 0
src/xt_pages/hospitalStation/components/charged.vue 查看文件

1
+<template>
2
+    <div style="display:flex;">
3
+        <div class="noChargeLeft">
4
+            <div class="mainCell" style="margin-bottom:10px;">
5
+                <el-input size="small" @keyup.enter.native='searchAction' v-model.trim="search_input" class="filter-item"/>
6
+                <el-button size="small" style="margin-left:10px;" class="filter-item" type="primary" @click="searchAction">搜索</el-button>
7
+            </div>
8
+            <el-table :data="tableData" border height="500" style="width: 100%;" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
9
+                <el-table-column align="center" prop="name" label="处方号" width="100">
10
+                    <template slot-scope="scope">{{ scope.row.date }}</template>
11
+                </el-table-column>
12
+                <el-table-column align="center" prop="name" label="姓名" width="99">
13
+                    <template slot-scope="scope">{{ scope.row.date }}</template>
14
+                </el-table-column>
15
+            </el-table>
16
+        </div>
17
+        <div style="flex:1;overflow-x: hidden;">
18
+            <div class="noChargeRight">
19
+                <div class="chargeInfo">
20
+                    <p>姓名:<span></span></p>
21
+                    <p>性别:<span></span></p>
22
+                    <p>年龄:<span></span></p>
23
+                    <p>证件号:<span></span></p>
24
+                    <p>挂号类型:<span></span></p>
25
+                    <p>上一个发票号:<span></span></p>
26
+                    <p>下一个发票号:<span></span></p>
27
+                </div>
28
+                <div class="chargeBox">
29
+                    <p>医疗费用总额:<span></span></p>
30
+                    <p>基金支付金额:<span></span></p>
31
+                    <p>个人账户支付金额:<span></span></p>
32
+                    <p>个人支付金额:<span></span></p>
33
+                    <p>个人账号金额:<span></span></p>
34
+                </div>
35
+                <p class='chargeTitle'>药品信息</p>
36
+                <el-table :data="tableData" border height="200" style="width: 100%;" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
37
+                    <el-table-column align="center" prop="name" label="名称">
38
+                        <template slot-scope="scope">{{ scope.row.date }}</template>
39
+                    </el-table-column>
40
+                    <el-table-column align="center" prop="name" label="单位">
41
+                        <template slot-scope="scope">{{ scope.row.date }}</template>
42
+                    </el-table-column>
43
+                    <el-table-column align="center" prop="name" label="单价(元)">
44
+                        <template slot-scope="scope">{{ scope.row.date }}</template>
45
+                    </el-table-column>
46
+                    <el-table-column align="center" prop="name" label="数量">
47
+                        <template slot-scope="scope">{{ scope.row.date }}</template>
48
+                    </el-table-column>
49
+                    <el-table-column align="center" prop="name" label="总价">
50
+                        <template slot-scope="scope">{{ scope.row.date }}</template>
51
+                    </el-table-column>
52
+                    <el-table-column align="center" prop="name" label="自付比例">
53
+                        <template slot-scope="scope">{{ scope.row.date }}</template>
54
+                    </el-table-column>
55
+                </el-table>
56
+                <p class='chargeTitle'>项目信息</p>
57
+                <el-table :data="tableData" border height="200" style="width: 100%;" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
58
+                    <el-table-column align="center" prop="name" label="名称">
59
+                        <template slot-scope="scope">{{ scope.row.date }}</template>
60
+                    </el-table-column>
61
+                    <el-table-column align="center" prop="name" label="科室">
62
+                        <template slot-scope="scope">{{ scope.row.date }}</template>
63
+                    </el-table-column>
64
+                    <el-table-column align="center" prop="name" label="单价(元)">
65
+                        <template slot-scope="scope">{{ scope.row.date }}</template>
66
+                    </el-table-column>
67
+                    <el-table-column align="center" prop="name" label="数量">
68
+                        <template slot-scope="scope">{{ scope.row.date }}</template>
69
+                    </el-table-column>
70
+                    <el-table-column align="center" prop="name" label="总价">
71
+                        <template slot-scope="scope">{{ scope.row.date }}</template>
72
+                    </el-table-column>
73
+                    <el-table-column align="center" prop="name" label="自付比例">
74
+                        <template slot-scope="scope">{{ scope.row.date }}</template>
75
+                    </el-table-column>
76
+                </el-table>
77
+                <div class='chargeBtn'>
78
+                    <p>总金额:0元</p>
79
+                    <div>
80
+                        <el-button>收费清单打印</el-button>
81
+                        <el-button type="primary">处方查询</el-button>
82
+                        <el-button type="danger">退费</el-button>
83
+                    </div>
84
+                </div>
85
+            </div>
86
+        </div>
87
+    </div>
88
+</template>
89
+
90
+<script>
91
+export default {
92
+    data(){
93
+        return{
94
+            tableData: [{
95
+            date: '2016-05-02',
96
+            name: '王小虎',
97
+            address: '上海市普陀区金沙江路 1518 弄'
98
+            }, {
99
+            date: '2016-05-04',
100
+            name: '王小虎',
101
+            address: '上海市普陀区金沙江路 1517 弄'
102
+            }, {
103
+            date: '2016-05-01',
104
+            name: '王小虎',
105
+            address: '上海市普陀区金沙江路 1519 弄'
106
+            }, {
107
+            date: '2016-05-03',
108
+            name: '王小虎',
109
+            address: '上海市普陀区金沙江路 1516 弄'
110
+            }]
111
+        }
112
+    }
113
+}
114
+</script>
115
+
116
+
117
+<style lang="scss" scoped>
118
+.noChargeLeft{
119
+    width:200px;
120
+    .mainCell{
121
+        display: flex;
122
+    }
123
+}
124
+.noChargeRight{
125
+    margin-left:20px;
126
+    // flex: 1;
127
+    .chargeInfo{
128
+        display: flex;
129
+        justify-content: space-between;
130
+        align-items: center;
131
+        height: 32px;
132
+        margin-bottom: 10px;
133
+        >p{
134
+            display: flex;
135
+        }
136
+        >p>span{
137
+            display: inline-block;
138
+            min-width: 50px;
139
+        }
140
+    }
141
+    .chargeBox{
142
+        height:42px;
143
+        border: 1px solid #EBEEF5;
144
+        display: flex;
145
+        justify-content: space-between;
146
+        background-color: rgb(245, 247, 250);
147
+        color: rgb(96, 98, 102);
148
+        align-items: center;
149
+        padding: 0 20px;
150
+        >p>span{
151
+            display: inline-block;
152
+            min-width: 50px;
153
+        }
154
+    }
155
+    .chargeTitle{
156
+        line-height: 32px;
157
+        height: 32px;
158
+    }
159
+    .chargeBtn{
160
+        display: flex;
161
+        justify-content: space-between;
162
+        align-items: center;
163
+        margin-top: 20px;
164
+    }
165
+}
166
+</style>

+ 425 - 0
src/xt_pages/hospitalStation/components/dayPrescriptionTable.vue 查看文件

1
+<template>
2
+  <div class="prescriptionTable">
3
+    <el-table v-if="activeType  == 1" :data="prescription.advices" border style="width: 99%;" :row-style="{ color: '#303133' }"
4
+              :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
5
+      <el-table-column align="center" type="index" width="40" label="序号"></el-table-column>
6
+      <el-table-column align="center" prop="drug_name" label="名称">
7
+        <template slot-scope="scope"><span :title="scope.row.drug_name">{{ scope.row.drug_name }}</span></template>
8
+      </el-table-column>
9
+
10
+      <el-table-column align="center" prop="single_dose" width="90" label="单次用量">
11
+        <template slot-scope="scope">
12
+          <div style="display:flex;align-items:center;">
13
+            <el-input v-model="scope.row.single_dose" style="width:65%;"></el-input>
14
+            <div>{{scope.row.single_dose_unit}}</div>
15
+          </div>
16
+        </template>
17
+      </el-table-column>
18
+      <el-table-column align="center" prop="delivery_way" width="100" label="用法">
19
+        <template slot-scope="scope">
20
+          <el-select v-model="scope.row.delivery_way" placeholder="请选择">
21
+            <el-option
22
+              v-for="(item,index) in drugways"
23
+              :key="index"
24
+              :label="item.name"
25
+              :value="item.name">
26
+            </el-option>
27
+          </el-select>
28
+        </template>
29
+      </el-table-column>
30
+      <el-table-column align="center" prop="execution_frequency" width="100" label="频率">
31
+        <template slot-scope="scope">
32
+          <el-select v-model="scope.row.execution_frequency" placehold er="请选择">
33
+            <el-option
34
+              v-for="item,index in efs"
35
+              :key="index"
36
+              :label="item.name"
37
+              :value="item.name">
38
+            </el-option>
39
+          </el-select>
40
+        </template>
41
+      </el-table-column>
42
+
43
+
44
+      <el-table-column align="center" prop="day" width="50" label="天数">
45
+        <template slot-scope="scope">
46
+          <el-input v-model="scope.row.day" placeholder=""></el-input>
47
+          <div>{{'天'}}</div>
48
+        </template>
49
+      </el-table-column>
50
+
51
+      <el-table-column align="center" prop="prescribing_number" width="80" label="总量">
52
+        <template slot-scope="scope">
53
+          <div style="display:flex;align-items:center;">
54
+            <el-input v-model="scope.row.prescribing_number" style="width:60%" placeholder=""></el-input>
55
+            <div> {{scope.row.prescribing_number_unit}}</div>
56
+          </div>
57
+        </template>
58
+      </el-table-column>
59
+      <el-table-column align="center" prop="retail_price" width="60" label="单价">
60
+        <template slot-scope="scope">
61
+          <el-input v-model="scope.row.retail_price" placeholder="" readonly></el-input>
62
+          <div>{{'元'}}</div>
63
+
64
+        </template>
65
+      </el-table-column>
66
+      <el-table-column align="center" prop="remark" width="50" label="备注">
67
+        <template slot-scope="scope">
68
+          <el-input v-model="scope.row.remark" :title="scope.row.remark" placeholder=""></el-input>
69
+        </template>
70
+      </el-table-column>
71
+      <el-table-column align="center" width="40" prop="name" label="操作">
72
+        <template slot-scope="scope">
73
+          <i class="el-icon-delete" @click="deleteDrug(scope.$index, scope.row)"></i>
74
+        </template>
75
+      </el-table-column>
76
+    </el-table>
77
+
78
+    <el-table v-if="activeType == 2" :data="prescription.project" border style="width: 99%;" :row-style="{ color: '#303133' }"
79
+              :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
80
+      <el-table-column align="center" type="index" width="40" label="序号"></el-table-column>
81
+      <el-table-column align="center" prop="project_name" label="名称">
82
+        <template slot-scope="scope"><span :title="scope.row.project_name">{{ scope.row.project_name }}</span></template>
83
+      </el-table-column>
84
+      <el-table-column align="center" prop="statistical_classification" width="100" label="组">
85
+        <template slot-scope="scope">{{getGroup(scope.row.statistical_classification)}}</template>
86
+      </el-table-column>
87
+      <el-table-column align="center" prop="single_dose" width="80" label="单次用量">
88
+        <template slot-scope="scope">
89
+          <el-input v-model="scope.row.single_dose" placeholder=""></el-input>
90
+          <div>{{scope.row.unit}}</div>
91
+
92
+        </template>
93
+      </el-table-column>
94
+      <el-table-column align="center" prop="delivery_way" width="80" label="用法">
95
+        <template slot-scope="scope">
96
+          <el-autocomplete
97
+            style="width:100%;"
98
+            class="inline-input"
99
+            v-model="scope.row.delivery_way"
100
+            :fetch-suggestions="querySearch2"
101
+            placeholder="请输入内容"
102
+          ></el-autocomplete>
103
+        </template>
104
+      </el-table-column>
105
+      <el-table-column align="center" prop="execution_frequency" width="80" label="频率">
106
+        <template slot-scope="scope">
107
+          <el-input v-model="scope.row.execution_frequency" placeholder=""></el-input>
108
+        </template>
109
+      </el-table-column>
110
+      <el-table-column align="center" prop="number_days" width="50" label="天数">
111
+        <template slot-scope="scope">
112
+          <el-input v-model="scope.row.number_days" placeholder=""></el-input>
113
+          <div>{{'天'}}</div>
114
+        </template>
115
+      </el-table-column>
116
+      <el-table-column align="center" prop="total" width="70" label="总量">
117
+        <template slot-scope="scope">
118
+          <div style="display:flex;align-items:center;">
119
+            <el-input v-model="scope.row.total" style="width:60%" placeholder=""></el-input>
120
+            <div>{{scope.row.unit}}</div>
121
+
122
+          </div>
123
+        </template>
124
+      </el-table-column>
125
+      <el-table-column align="center" prop="name" width="50" label="单价">
126
+        <template slot-scope="scope">
127
+          <el-input v-model="scope.row.price" placeholder="" readonly></el-input>
128
+          <div>{{'元'}}</div>
129
+
130
+        </template>
131
+      </el-table-column>
132
+      <el-table-column align="center" prop="name" width="50" label="备注">
133
+        <template slot-scope="scope">
134
+          <el-input v-model="scope.row.remark" :title="scope.row.remark"></el-input>
135
+        </template>
136
+      </el-table-column>
137
+      <el-table-column align="center" width="40" prop="name" label="操作">
138
+        <template slot-scope="scope">
139
+          <i class="el-icon-delete" @click="deleteProject(scope.row,scope.$index)"></i>
140
+        </template>
141
+      </el-table-column>
142
+    </el-table>
143
+
144
+    <div class="additionalBox">
145
+      <div class="additionalOne" v-for="(item,index) in prescription.addition" :key="index">
146
+        <span :title="item.item_name">{{item.item_name}}</span>
147
+        <el-input v-model="item.price" placeholder="" style="width:50px;"></el-input>
148
+        共
149
+        <el-input v-model="item.count" placeholder="" style="width:50px;"></el-input>
150
+        次
151
+        <i class="el-icon-delete deleteIcon" @click="delAddition(index,item)"></i>
152
+      </div>
153
+    </div>
154
+  </div>
155
+</template>
156
+
157
+<script>
158
+  import { getDictionaryDataConfig} from "@/utils/data";
159
+  import { getInitData,delHisAdvice,delHisProject,delHisAddition } from '@/api/his/his'
160
+
161
+  export default {
162
+    props: {
163
+      preDrugs: Array,
164
+      activeType: Number,
165
+      addtions_charge:Array,
166
+      prescription:{
167
+        type:Object,
168
+        default: function () {
169
+          return {
170
+            name:"",
171
+            advices:[],
172
+            project:[],
173
+            drugways:[],
174
+            efs:[],
175
+          };
176
+        }
177
+      },
178
+    },
179
+    data() {
180
+      return {
181
+        advices:[],
182
+        tableData: [],
183
+        newoptions: [{
184
+          value: '1',
185
+          label: '1'
186
+        }, {
187
+          value: '2',
188
+          label: '2'
189
+        }, {
190
+          value: '3',
191
+          label: '3'
192
+        }, {
193
+          value: '4',
194
+          label: '4'
195
+        }, {
196
+          value: '5',
197
+          label: '5'
198
+        }],
199
+        value: '1',
200
+        input: 1,
201
+      }
202
+    },
203
+    methods:{
204
+      createFilter(queryString) {
205
+        return (restaurant) => {
206
+          return (restaurant.name.toLowerCase().indexOf(queryString.toLowerCase()) === 0)
207
+        }
208
+      },
209
+      querySearch2(queryString, cb) {
210
+        var restaurants = this.getDictionaryDataConfig("system","project_use");
211
+        restaurants.map(item => {
212
+          item.value = item.name
213
+        });
214
+        var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants;
215
+        // 调用 callback 返回建议列表的数据
216
+        cb(results)
217
+      },
218
+      delAddition(index, addition){
219
+        if(this.prescription.order_status == 2){
220
+          this.$message.error('该处方已经结算,无法删除');
221
+          return
222
+        }
223
+        this.$confirm("附加费删除后不可恢复,是否确认删除", "删除", {
224
+          confirmButtonText: "确 定",
225
+          cancelButtonText: "取 消",
226
+          type: "warning"
227
+        }).then(() => {
228
+          this.$nextTick(function(){
229
+            if(addition.id == 0){
230
+              this.prescription.addition.splice(index, 1)
231
+            }else{
232
+              let params = {
233
+                'id': addition.id,
234
+              };
235
+              delHisAddition(params).then(response => {
236
+                if (response.data.state == 0) {
237
+                  this.$message.error(response.data.msg);
238
+                  return false
239
+                } else {
240
+                  var temp2 = this.deepClone(this.prescription.addition);
241
+                  temp2.splice(index, 1);
242
+                  this.prescription.addition = temp2;
243
+                  this.$message.success(response.data.data.msg)
244
+                }
245
+              })
246
+            }
247
+          });
248
+
249
+        })
250
+          .catch(() => {});
251
+
252
+      },
253
+      getInitData(){
254
+        getInitData().then(response => {
255
+          if (response.data.state == 0) {
256
+            this.$message.error(response.data.msg);
257
+            return false
258
+          } else {
259
+            this.drugways = response.data.data.drugways;
260
+            this.efs = response.data.data.efs
261
+          }
262
+        })
263
+
264
+      },deleteDrug:function(index, row){
265
+        if(this.prescription.order_status == 2){
266
+          this.$message.error('该处方已经结算,无法删除');
267
+          return
268
+        }
269
+        this.$confirm("药品删除后不可恢复,是否确认删除", "删除", {
270
+          confirmButtonText: "确 定",
271
+          cancelButtonText: "取 消",
272
+          type: "warning"
273
+        }).then(() => {
274
+          this.$nextTick(function(){
275
+            if(row.advice_id == 0){
276
+              this.prescription.advices.splice(index, 1)
277
+            }else{
278
+              let params = {
279
+                'id': row.advice_id,
280
+              };
281
+              delHisAdvice(params).then(response => {
282
+                if (response.data.state == 0) {
283
+                  this.$message.error(response.data.msg);
284
+                  return false
285
+                } else {
286
+                  var temp2 = this.deepClone(this.prescription.advices);
287
+                  temp2.splice(index, 1);
288
+                  this.prescription.advices = temp2;
289
+                  this.$message.success(response.data.data.msg)
290
+                }
291
+              })
292
+
293
+
294
+            }
295
+
296
+          });
297
+
298
+
299
+        })
300
+          .catch(() => {});
301
+
302
+
303
+
304
+
305
+
306
+      },deepClone(source) {
307
+        if (!source && typeof source !== 'object') {
308
+          throw new Error('error arguments', 'shallowClone')
309
+        }
310
+        const targetObj = source.constructor === Array ? [] : {};
311
+        Object.keys(source).forEach((keys) => {
312
+          if (source[keys] && typeof source[keys] === 'object') {
313
+            targetObj[keys] = this.deepClone(source[keys])
314
+          } else {
315
+            targetObj[keys] = source[keys]
316
+          }
317
+        });
318
+        return targetObj
319
+      },
320
+
321
+      setNewData:function(data){
322
+        this.prescription = data
323
+
324
+        // this.prescription.advices = data.advices
325
+      },
326
+      getDictionaryDataConfig(module, filed_name) {
327
+        return getDictionaryDataConfig(module, filed_name)
328
+      },
329
+      getGroup(id){
330
+        var name = "";
331
+        var statistics_category =  getDictionaryDataConfig('system','statistics_category');
332
+        console.log("2235",statistics_category);
333
+        for(let i=0;i<statistics_category.length;i++){
334
+          if(id == statistics_category[i].id){
335
+            name = statistics_category[i].name
336
+          }
337
+        }
338
+        return name
339
+      },
340
+      deleteProject(row,i){
341
+        if(this.prescription.order_status == 2){
342
+          this.$message.error('该处方已经结算,无法删除');
343
+          return
344
+        }
345
+        this.$confirm("项目删除后不可恢复,是否确认删除", "删除", {
346
+          confirmButtonText: "确 定",
347
+          cancelButtonText: "取 消",
348
+          type: "warning"
349
+        }).then(() => {
350
+          if(row.id == 0){
351
+            this.prescription.project.splice(i, 1)
352
+
353
+          }else{
354
+            let params = {
355
+              'id': row.id,
356
+            };
357
+            delHisProject(params).then(response => {
358
+              if (response.data.state == 0) {
359
+                this.$message.error(response.data.msg);
360
+                return false
361
+              } else {
362
+                for (let i = 0; i < this.prescription.project.length; i++){
363
+                  if(this.prescription.project[i].id == row.id){
364
+                    this.prescription.project.splice(i, 1)
365
+                  }
366
+                }
367
+                this.$message.success(response.data.data.msg)
368
+              }
369
+            })
370
+          }
371
+        })
372
+          .catch(() => {});
373
+
374
+      },
375
+    },mounted(){
376
+      this.getInitData()
377
+    },
378
+  }
379
+</script>
380
+
381
+<style lang="scss">
382
+  .prescriptionTable {
383
+
384
+  .el-input__inner {
385
+    padding: 0 5px;
386
+  }
387
+
388
+  .additionalBox {
389
+    margin-top: 20px;
390
+    display: flex;
391
+    flex-wrap: wrap;
392
+
393
+  .additionalOne {
394
+    margin-right: 20px;
395
+    margin-bottom: 10px;
396
+    display: flex;
397
+    align-items: center;
398
+
399
+  > span {
400
+    white-space: nowrap;
401
+    overflow: hidden;
402
+    text-overflow: ellipsis;
403
+    width: 80px;
404
+    display: inline-block;
405
+    font-size: 14px;
406
+  }
407
+
408
+  .deleteIcon {
409
+    color: red;
410
+    margin-left: 5px;
411
+  }
412
+
413
+  }
414
+  .el-table th .cell, .el-table td .cell {
415
+    padding: 0 2px;
416
+    white-space: pre-line;
417
+  }
418
+
419
+  .el-icon-delete {
420
+    color: red;
421
+  }
422
+
423
+  }
424
+  }
425
+</style>

文件差異過大導致無法顯示
+ 2873 - 0
src/xt_pages/hospitalStation/components/deskPrescription.vue


+ 657 - 0
src/xt_pages/hospitalStation/components/deskRecord.vue 查看文件

1
+<template>
2
+  <div class="deskRecord" style="margin-top:56px;">
3
+    <!-- <div style="overflow:hidden;border-top:1px solid #e5e5e5;margin-top:5px;">
4
+      <div class="mainCell" style="margin-bottom:10px;float:right">
5
+        <el-button size="small" @click="open(1)" type="primary" style="margin-left:10px;">保存</el-button>
6
+        <el-button size="small" @click="open(2)" type="primary">打印</el-button>
7
+        <el-button size="small" @click="open(3)" type="primary">病历调用</el-button>
8
+        <el-button size="small" @click="open(4)" type="primary">存模板</el-button>
9
+      </div>
10
+    </div> -->
11
+    <div class="mainTitle">基本信息:</div>
12
+    <el-form class="basicForm" :model="patientInfo" ref="form" label-width="120px">
13
+      <el-form-item label="姓名:" prop="name">
14
+        <el-input v-model="patientInfo.name" placeholder="" :disabled="true"></el-input>
15
+      </el-form-item>
16
+      <el-form-item label="性别: " prop="name">
17
+        <el-input v-model="patientInfo.gender" placeholder="" :disabled="true"></el-input>
18
+      </el-form-item>
19
+      <el-form-item label="年龄: " prop="name">
20
+        <el-input v-model="patientInfo.age" placeholder="" :disabled="true"></el-input>
21
+      </el-form-item>
22
+      <el-form-item label="证件号:" prop="name">
23
+        <el-input v-model="patientInfo.id_card_no" placeholder="" :disabled="true"></el-input>
24
+      </el-form-item>
25
+      <el-form-item label="出生日期: " prop="name">
26
+        <el-date-picker
27
+          style="width:100%;"
28
+          v-model="patientInfo.birth"
29
+          type="date"
30
+          :disabled="true"
31
+          placeholder="选择日期">
32
+        </el-date-picker>
33
+      </el-form-item>
34
+      <el-form-item label="联系电话: " prop="name">
35
+        <el-input v-model="patientInfo.phone" placeholder="" :disabled="true"></el-input>
36
+      </el-form-item>
37
+      <el-form-item label="医保类型: " prop="name">
38
+        <el-select v-model="delivery_way" style="width:100%;" placeholder="请选择">
39
+         <el-option
40
+            v-for="item in wayOptions"
41
+           :key="item.id"
42
+           :label="item.name"
43
+           :value="item.id"
44
+          />
45
+        </el-select>
46
+      </el-form-item>
47
+      <el-form-item label="医保证号: " prop="name">
48
+        <el-input v-model="patientInfo.health_care_no" placeholder="" :disabled="true"></el-input>
49
+      </el-form-item>
50
+      <el-form-item label="家庭住址: " prop="name">
51
+        <el-input v-model="patientInfo.home_address" placeholder="" :disabled="true"></el-input>
52
+      </el-form-item>
53
+      <el-form-item label="过敏史: " prop="name">
54
+        <el-input v-model="allergic_history" placeholder=""></el-input>
55
+      </el-form-item>
56
+    </el-form>
57
+    <div class="mainTitle">体格信息:</div>
58
+    <el-form class="physiqueForm" :model="case_history" ref="form" label-width="80px">
59
+      <el-form-item label="体温:" prop="temperature">
60
+        <el-input v-model="case_history.temperature" placeholder=""></el-input>
61
+        <span>℃</span>
62
+      </el-form-item>
63
+      <el-form-item label="脉搏: " prop="pulse">
64
+        <el-input v-model="case_history.pulse" placeholder=""></el-input>
65
+        (次/分)
66
+      </el-form-item>
67
+      <el-form-item label="呼吸: " prop="breathing">
68
+        <el-input v-model="case_history.breathing" placeholder=""></el-input>
69
+        (次/分)
70
+      </el-form-item>
71
+      <el-form-item label="血压:" prop="name">
72
+        <el-input v-model="case_history.sbp" placeholder=""></el-input>
73
+        /
74
+        <el-input v-model="case_history.dbp" placeholder=""></el-input>
75
+        mmHg
76
+      </el-form-item>
77
+    </el-form>
78
+    <div class="mainTitle">病历信息:</div>
79
+    <el-form class="recordForm" :model="case_history" ref="form" label-width="80px">
80
+     <el-form-item label="疾病类型: " prop="name" style="width:49%;">
81
+        <el-select v-model="case_history.sick" style="width:100%;" placeholder="请选择">
82
+          <el-option
83
+            v-for="(item,index) in sick"
84
+            :key="index"
85
+            :label="item.class_name"
86
+            :value="item.id">
87
+          </el-option>
88
+        </el-select>
89
+      </el-form-item>
90
+      <el-form-item label="诊断: " prop="name" style="width:49%;">
91
+        <el-select style="width:100%;" v-model="case_history.diagnose" placeholder="">
92
+          <el-option
93
+            v-for="(item,index) in diagnoses"
94
+            :key="index"
95
+            :label="item.class_name"
96
+            :value="item.id">
97
+          </el-option>
98
+        </el-select>
99
+      </el-form-item>
100
+
101
+      <el-form-item label="发病日期: " prop="name" style="width:49%;">
102
+        <el-date-picker
103
+          style="width:100%;"
104
+          v-model="start_time"
105
+          type="date"
106
+          placeholder="选择日期"
107
+           :picker-options="pickerOptions0">
108
+        </el-date-picker>
109
+      </el-form-item>
110
+      <el-form-item label="" prop="name" style="width:49%;">
111
+        <el-checkbox v-model="case_history.is_infect">是否传染</el-checkbox>
112
+      </el-form-item>
113
+      <el-form-item label="主诉:" style="width:49%;">
114
+        <el-select @change="changeMainTemplate" v-model="value" style="width:100%;margin-bottom:10px;">
115
+            <el-option
116
+              v-for="(item, index) in tabledata"
117
+              :label="item.title"
118
+              :value="item.content"
119
+              :key="index"
120
+            ></el-option>
121
+        </el-select>
122
+        <el-input
123
+          type="textarea"
124
+          :rows="2"
125
+          placeholder="请输入内容"
126
+          v-model="case_history.chief_conplaint">
127
+        </el-input>
128
+      </el-form-item>
129
+      <el-form-item label="现病史:" style="width:49%;">
130
+        <el-select @change="changeMainTemplateOne" v-model="valueOne" style="width:100%;margin-bottom:10px;">
131
+          <el-option
132
+            v-for="(item, index) in tabledataOne"
133
+            :label="item.title"
134
+            :value="item.content"
135
+            :key="index"
136
+          ></el-option>
137
+        </el-select>
138
+        <el-input
139
+          type="textarea"
140
+          :rows="2"
141
+          placeholder="请输入内容"
142
+          v-model="case_history.history_of_present_illness">
143
+        </el-input>
144
+      </el-form-item>
145
+      <el-form-item label="既往史:" style="width:49%;">
146
+        <el-select @change="changeMainTemplateTwo" v-model="valueTwo" style="width:100%;margin-bottom:10px;">
147
+          <el-option
148
+            v-for="(item, index) in tabledataTwo"
149
+            :label="item.title"
150
+            :value="item.content"
151
+            :key="index"
152
+          ></el-option>
153
+        </el-select>
154
+        <el-input
155
+          type="textarea"
156
+          :rows="2"
157
+          placeholder="请输入内容"
158
+          v-model="case_history.past_history">
159
+        </el-input>
160
+      </el-form-item>
161
+      <el-form-item label="个人史:" style="width:49%;">
162
+        <el-select @change="changeMainTemplateThree" v-model="valueThree" style="width:100%;margin-bottom:10px;">
163
+          <el-option
164
+            v-for="(item, index) in tabledataThree"
165
+            :label="item.title"
166
+            :value="item.content"
167
+            :key="index"
168
+          ></el-option>
169
+        </el-select>
170
+        <el-input
171
+          type="textarea"
172
+          :rows="2"
173
+          placeholder="请输入内容"
174
+          v-model="case_history.personal_history">
175
+        </el-input>
176
+      </el-form-item>
177
+      <el-form-item  label="家族史:" style="width:49%;">
178
+        <el-select @change="changeMainTemplateFour" v-model="valueFour" style="width:100%;margin-bottom:10px;">
179
+          <el-option
180
+            v-for="(item, index) in tabledataFour"
181
+            :label="item.title"
182
+            :value="item.content"
183
+            :key="index"
184
+          ></el-option>
185
+        </el-select>
186
+        <el-input
187
+          type="textarea"
188
+          :rows="2"
189
+          placeholder="请输入内容"
190
+          v-model="case_history.family_history">
191
+        </el-input>
192
+      </el-form-item>
193
+      <el-form-item label="诊断信息:" style="width:49%;">
194
+        <el-select @change="changeMainTemplateFive" v-model="valueFive" style="width:100%;margin-bottom:10px;">
195
+          <el-option
196
+            v-for="(item, index) in tabledataFive"
197
+            :label="item.title"
198
+            :value="item.content"
199
+            :key="index"
200
+          ></el-option>
201
+        </el-select>
202
+        <el-input
203
+          type="textarea"
204
+          :rows="2"
205
+          placeholder="请输入内容"
206
+          v-model="case_history.diagnostic">
207
+        </el-input>
208
+      </el-form-item>
209
+
210
+      <el-form-item label="医嘱:" style="width:49%;">
211
+        <el-select @change="changeMainTemplateSix" v-model="valueSix" style="width:100%;margin-bottom:10px;">
212
+          <el-option
213
+            v-for="(item, index) in tabledataSix"
214
+            :label="item.title"
215
+            :value="item.content"
216
+            :key="index"
217
+          ></el-option>
218
+        </el-select>
219
+        <el-input
220
+          type="textarea"
221
+          :rows="2"
222
+          placeholder="请输入内容"
223
+          v-model="case_history.doctor_advice">
224
+        </el-input>
225
+      </el-form-item>
226
+
227
+      <el-form-item label ="备注"  prop="name" style="width:49%;">
228
+        <el-input
229
+          type="textarea"
230
+          :rows="2"
231
+          placeholder="请输入内容"
232
+          v-model="case_history.remark">
233
+        </el-input>
234
+      </el-form-item>
235
+    </el-form>
236
+
237
+  </div>
238
+</template>
239
+
240
+<script>
241
+  const moment = require('moment');
242
+  import medicalRecord from './medicalRecord'
243
+  import saveRecordTemplate from './saveRecordTemplate'
244
+  import { getDictionaryDataConfig } from "@/utils/data";
245
+  import {  createCaseHistory,getInitData } from '@/api/his/his'
246
+  import { getDataConfig } from "@/utils/data";
247
+  import { getTemplateDetail,getMedicalTemplateList } from "@/api/project/project"
248
+  export default {
249
+    props: {
250
+      case_history: Object,
251
+      patientInfo: Object,
252
+      hisPatientInfo: Object,
253
+      record_date:String,
254
+      detalid:Number,
255
+    },
256
+    components: {
257
+      medicalRecord,
258
+      saveRecordTemplate
259
+    },
260
+    data() {
261
+      return {
262
+        id:0,
263
+        delivery_way:"",
264
+        // case_history:{
265
+        //   sick_type:'',
266
+        //   symptom:"",
267
+        //   sick_date:"",
268
+        //   is_infect:"",
269
+        //   chief_conplaint:"",
270
+        //   history_of_present_illness:"",
271
+        //   past_history:"",
272
+        //   diagnostic:"",
273
+        //   personal_history:"",
274
+        //   family_history:"",
275
+
276
+        // },
277
+          pickerOptions0: {
278
+          disabledDate(time) {
279
+            return time.getTime() < Date.now() - 8.64e7;
280
+          }
281
+        },
282
+        formValue:{
283
+          temperature:"",
284
+          blood_sugar:"",
285
+          pulse:"",
286
+          sbp:"",
287
+          dbp:"",
288
+          height:"",
289
+          blood_fat:"",
290
+        },
291
+        form: {
292
+          name: ''
293
+        },
294
+        wayOptions:[],
295
+        start_time:moment(new Date()).add('year',0).format("YYYY-MM-DD"),
296
+        doctor_advice:"",
297
+        remark:"",
298
+        tabledata:[],
299
+        tabledataOne:[],
300
+        tabledataTwo:[],
301
+        tabledataThree:[],
302
+        tabledataFour:[],
303
+        tabledataFive:[],
304
+        tabledataSix:[],
305
+        tabledataSeven:[],
306
+        value:'',
307
+        valueOne:'',
308
+        valueTwo:'',
309
+        valueThree:'',
310
+        valueFour:'',
311
+        valueFive:'',
312
+        valueSix:'',
313
+        valueSeven:'',
314
+        diagnoses:[],
315
+        sick:[],
316
+        allergic_history:"",
317
+        form:{
318
+          id:0,
319
+        },
320
+        watchSign:0
321
+      }
322
+    },
323
+    methods: {
324
+      getDictionaryDataConfig(module, filed_name) {
325
+        return getDictionaryDataConfig(module, filed_name)
326
+
327
+      },
328
+      // setData(case_history,patientInfo,hisPatientInfo){
329
+      //   this.form.name = patientInfo.name
330
+
331
+
332
+
333
+      // },
334
+      createCaseHistory(id) {
335
+          if(this.patientInfo.id == undefined){
336
+            this.$message.error("请先选择病人");
337
+            return
338
+          }
339
+          if(this.case_history.is_infect == true){
340
+            this.case_history.is_infect = 1
341
+          }
342
+          if(this.case_history.is_infect == false){
343
+             this.case_history.is_infect = 2
344
+          }
345
+          let params = {
346
+            "his_patient_id":this.hisPatientInfo.id,
347
+            "delivery_way":this.delivery_way?"":0,
348
+            "patient_id":id ? id : this.patientInfo.id,
349
+            "temperature":this.case_history.temperature,
350
+            "blood_sugar":this.case_history.blood_sugar,
351
+            "pulse":this.case_history.pulse,
352
+            "sbp":this.case_history.sbp,
353
+            "dbp":this.case_history.dbp,
354
+            "blood_fat":this.case_history.blood_fat,
355
+            "height":this.case_history.height,
356
+            "sick_type":this.case_history.sick_type,
357
+            "symptom":this.case_history.symptom,
358
+            "sick_date":this.start_time,
359
+            "is_infect":this.case_history.is_infect,
360
+            "chief_conplaint":this.case_history.chief_conplaint,
361
+            "history_of_present_illness":this.case_history.history_of_present_illness,
362
+            "past_history":this.case_history.past_history,
363
+            "personal_history":this.case_history.personal_history,
364
+            "family_history":this.case_history.family_history,
365
+            "record_date":this.record_date,
366
+            "diagnostic":this.case_history.diagnostic,
367
+            "breathing":this.case_history.breathing,
368
+            "doctor_advice":this.case_history.doctor_advice,
369
+            "remark":this.case_history.remark,
370
+            "sick":this.case_history.sick,
371
+            "diagnose":this.case_history.diagnose,
372
+            "allergic_history":this.allergic_history,
373
+            "id":this.form.id,
374
+          };
375
+          console.log("prams222",params);
376
+          createCaseHistory(params).then(response => {
377
+            if (response.data.state == 0) {
378
+              this.$message.error("患者病历已存在");
379
+              this.watchSign = 0;
380
+              return false
381
+            } else {
382
+              var caseHistory = response.data.data.caseHistory;
383
+              console.log("caseHistory",caseHistory);
384
+              this.$message.success("保存成功");
385
+              this.doctor_advice = "";
386
+              this.remark = "";
387
+              this.watchSign = 0
388
+            }
389
+          })
390
+
391
+
392
+      },
393
+
394
+
395
+      getTemplateDetail(id){
396
+
397
+          getTemplateDetail(id).then(response=>{
398
+              if(response.data.state == 1){
399
+                var templatedetail =  response.data.data.templateDetail;
400
+                console.log("templatedetail",templatedetail);
401
+
402
+                this.case_history.chief_conplaint =  templatedetail.chief_conplaint;
403
+                this.case_history.history_of_present_illness =  templatedetail.history_of_present_illness;
404
+                this.case_history.past_history =  templatedetail.past_history;
405
+                this.case_history.personal_history =    templatedetail.personal_history;
406
+                this.case_history.family_history = templatedetail.family_history;
407
+                this.case_history.diagnostic = templatedetail.diagnostic;
408
+                this.case_history.doctor_advice = templatedetail.doctor_advice;
409
+                this.case_history.remark = templatedetail.remark;
410
+                this.case_history.sick = templatedetail.sick;
411
+                this.case_history.diagnose = templatedetail.diagnose
412
+
413
+              }
414
+          })
415
+        },
416
+
417
+        getlist(){
418
+           getMedicalTemplateList().then(response=>{
419
+           if(response.data.state == 1){
420
+             var list =  response.data.data.list;
421
+             console.log("list",list);
422
+             this.tabledata = list;
423
+             this.tabledataOne =  response.data.data.listOne;
424
+             this.tabledataTwo = response.data.data.listTwo;
425
+             this.tabledataThree = response.data.data.listThree;
426
+             this.tabledataFour =  response.data.data.listFour;
427
+             this.tabledataFive = response.data.data.listFive;
428
+             this.tabledataSix = response.data.data.listSix;
429
+             this.tabledataSeven =  response.data.data.listSeven
430
+           }
431
+        })
432
+       },
433
+
434
+       changeMainTemplate(values){
435
+         if(this.case_history.chief_conplaint == ''){
436
+           this.case_history.chief_conplaint = values
437
+         } else {
438
+          if (this.case_history.chief_conplaint.indexOf(values) == -1) {
439
+            if (this.case_history.chief_conplaint.charAt(this.case_history.chief_conplaint.length - 1).indexOf('。') == -1) {
440
+              this.case_history.chief_conplaint = this.case_history.chief_conplaint + ',' + values
441
+            } else {
442
+              this.case_history.chief_conplaint = this.case_history.chief_conplaint + values
443
+            }
444
+          }
445
+        }
446
+       },
447
+       changeMainTemplateOne(values){
448
+          if(this.case_history.history_of_present_illness == ''){
449
+           this.case_history.history_of_present_illness = values
450
+         } else {
451
+          if (this.case_history.history_of_present_illness.indexOf(values) == -1) {
452
+            if (this.case_history.history_of_present_illness.charAt(this.case_history.history_of_present_illness.length - 1).indexOf('。') == -1) {
453
+              this.case_history.history_of_present_illness = this.case_history.history_of_present_illness + ',' + values
454
+            } else {
455
+              this.case_history.history_of_present_illness = this.case_history.history_of_present_illness + values
456
+            }
457
+          }
458
+        }
459
+      },
460
+      changeMainTemplateTwo(values){
461
+         if(this.case_history.past_history == ''){
462
+           this.case_history.past_history = values
463
+         } else {
464
+          if (this.case_history.past_history.indexOf(values) == -1) {
465
+            if (this.case_history.past_history.charAt(this.case_history.past_history.length - 1).indexOf('。') == -1) {
466
+              this.case_history.past_history = this.case_history.past_history + ',' + values
467
+            } else {
468
+              this.case_history.past_history = this.case_history.past_history + values
469
+            }
470
+          }
471
+        }
472
+      },
473
+      changeMainTemplateThree(values){
474
+         if(this.case_history.personal_history == ''){
475
+           this.case_history.personal_history = values
476
+         } else {
477
+          if (this.case_history.personal_history.indexOf(values) == -1) {
478
+            if (this.case_history.personal_history.charAt(this.case_history.personal_history.length - 1).indexOf('。') == -1) {
479
+              this.case_history.personal_history = this.case_history.personal_history + ',' + values
480
+            } else {
481
+              this.case_history.personal_history = this.case_history.personal_history + values
482
+            }
483
+          }
484
+        }
485
+      },
486
+      changeMainTemplateFour(values){
487
+          if(this.case_history.family_history == ''){
488
+           this.case_history.family_history = values
489
+         } else {
490
+          if (this.case_history.family_history.indexOf(values) == -1) {
491
+            if (this.case_history.family_history.charAt(this.case_history.family_history.length - 1).indexOf('。') == -1) {
492
+              this.case_history.family_history = this.case_history.family_history + ',' + values
493
+            } else {
494
+              this.case_history.family_history = this.case_history.family_history + values
495
+            }
496
+          }
497
+        }
498
+      },
499
+
500
+      changeMainTemplateFive(values){
501
+          if(this.case_history.diagnostic == ''){
502
+           this.case_history.diagnostic = values
503
+         } else {
504
+          if (this.case_history.diagnostic.indexOf(values) == -1) {
505
+            if (this.case_history.diagnostic.charAt(this.case_history.diagnostic.length - 1).indexOf('。') == -1) {
506
+              this.case_history.diagnostic = this.case_history.diagnostic + ',' + values
507
+            } else {
508
+              this.case_history.diagnostic = this.case_history.diagnostic + values
509
+            }
510
+          }
511
+        }
512
+      },
513
+      changeMainTemplateSix(values){
514
+          if(this.case_history.doctor_advice == ''){
515
+           this.case_history.doctor_advice = values
516
+         } else {
517
+          if (this.case_history.doctor_advice.indexOf(values) == -1) {
518
+            if (this.case_history.doctor_advice.charAt(this.case_history.doctor_advice.length - 1).indexOf('。') == -1) {
519
+              this.case_history.doctor_advice = this.case_history.doctor_advice + ',' + values
520
+            } else {
521
+              this.case_history.doctor_advice = this.case_history.doctor_advice + values
522
+            }
523
+          }
524
+        }
525
+      },
526
+      getInitData() {
527
+        getInitData().then(response => {
528
+          if (response.data.state == 0) {
529
+            this.$message.error(response.data.msg);
530
+            return false
531
+          } else {
532
+            this.sick = response.data.data.sick;
533
+            this.diagnoses = response.data.data.diagnose
534
+
535
+          }
536
+        })
537
+
538
+      },
539
+    },
540
+    created(){
541
+       this.getlist();
542
+       this.getInitData();
543
+       this.wayOptions = getDataConfig("patient", "reimbursement_ways");
544
+       console.log("232322323",this);
545
+       if(this.patientInfo.gender = 1){
546
+         this.patientInfo.gender = '男'
547
+       }else if(this.patientInfo.gender = 2){
548
+          this.patientInfo.gender = '女'
549
+        }
550
+
551
+    },
552
+    watch:{
553
+      detalid:function(val){
554
+        this.getTemplateDetail(val)
555
+      },
556
+      'patientInfo.gender':{
557
+        handler(newName, oldName){
558
+          console.log('newName',newName);
559
+          if(newName == 1){
560
+            this.patientInfo.gender = '男'
561
+          }else if(newName == 2){
562
+            this.patientInfo.gender = '女'
563
+          }
564
+        },
565
+        immediate: true,
566
+        deep: true
567
+      },
568
+      case_history:{
569
+        handler(val){
570
+          console.log("南京人明",this.case_history);
571
+          if(this.case_history.breathing == 0){
572
+            this.case_history.breathing = ""
573
+          }
574
+          if(this.case_history.sick == 0){
575
+            this.case_history.sick = ""
576
+          }
577
+          if(this.case_history.diagnose == 0){
578
+            this.case_history.diagnose = ""
579
+          }
580
+          this.form.id = this.case_history.id;
581
+          this.allergic_history = this.case_history.allergic_history;
582
+          this.watchSign++
583
+        },
584
+        deep:true
585
+      },
586
+      allergic_history:function(){
587
+        this.watchSign++
588
+      }
589
+    }
590
+  }
591
+</script>
592
+
593
+
594
+<style lang="scss" scoped>
595
+  .mainTitle {
596
+    font-size: 18px;
597
+    font-weight: bold;
598
+    margin-bottom: 10px;
599
+    color:#409EFF;
600
+  }
601
+
602
+  .backColor {
603
+    background: #f6f8f9;
604
+    height: 5px;
605
+    margin-bottom: 5px;
606
+  }
607
+
608
+  .deskRecord {
609
+
610
+  .basicForm {
611
+    display: flex;
612
+    flex-wrap: wrap;
613
+
614
+  .el-form-item {
615
+    width: 32%;
616
+    margin-right: 1%;
617
+  }
618
+
619
+  }
620
+  .physiqueForm {
621
+    display: flex;
622
+    flex-wrap: wrap;
623
+
624
+  .el-form-item {
625
+    width: 24%;
626
+    margin-right: 1%;
627
+  }
628
+
629
+  }
630
+  .recordForm {
631
+    display: flex;
632
+    flex-wrap: wrap;
633
+
634
+  .el-form-item {
635
+    width: 24%;
636
+    margin-right: 1%;
637
+  }
638
+
639
+  }
640
+
641
+  }
642
+</style>
643
+
644
+<style lang="scss">
645
+  .physiqueForm {
646
+
647
+  .el-form-item__content {
648
+    display: flex;
649
+  }
650
+
651
+  .el-input {
652
+    width: 80px;
653
+    margin-right: 5px;
654
+  }
655
+
656
+  }
657
+</style>

+ 387 - 0
src/xt_pages/hospitalStation/components/inquiriesDetail.vue 查看文件

1
+<template>
2
+<div>
3
+  <el-dialog
4
+    title="详情"
5
+    width="1000px"
6
+    :visible.sync="visible"
7
+    :before-close="_close"
8
+    class="detailDialog"
9
+  >
10
+    <div style="position: absolute;right:20px;z-index:99">
11
+      <el-button v-if="activeName == 'first'" @click="open(1)" type="primary">打印</el-button>
12
+      <el-button v-if="activeName == 'second'" @click="open(2)" type="primary">打印</el-button>
13
+    </div>
14
+    <el-tabs v-model="activeName">
15
+
16
+      <el-tab-pane label="处方详情" name="first">
17
+        <el-tabs class="preTabs" v-model="editableTabsValue" type="card" @tab-click="tabclickEvent">
18
+          <el-tab-pane
19
+            v-for="(item, index) in prescriptions"
20
+            :key="index"
21
+            :label="item.name"
22
+            :name="item.name"
23
+          >
24
+          </el-tab-pane>
25
+
26
+          <div class="RP">
27
+            Rp
28
+          </div>
29
+          <new-prescription-table ref="prescription_tables" :prescription="curPrescriptions"></new-prescription-table>
30
+        </el-tabs>
31
+
32
+      </el-tab-pane>
33
+      <el-tab-pane label="病历详情" name="second">
34
+        <div class="commonCell">
35
+          <p style="color:#409EFF;">基本信息</p>
36
+          <div class="detailMain">
37
+            <span style="width:270px;">处方号:{{order.prescription_number}}</span>
38
+            <span style="width:180px;">姓名:{{order.patient.name}}</span>
39
+            <span style="width:240px;">证件号:{{order.patient.id_card_no}}</span>
40
+            <span style="width:180px;">联系电话:{{order.patient.phone}}</span>
41
+            <span style="width:270px;">医生:{{order.doctor}}</span>
42
+            <span style="width:180px;">科室:{{getDepartMent(order.departments)}}</span>
43
+            <span style="width:240px;">创建时间: {{getTimes(order.ctime,"{y}-{m}-{d} {h}:{i}")}}</span>
44
+            <!-- <span style="width:180px;">疾病名称:{{case_history.diagnostic}}</span>
45
+            <span style="width:180px;">症状:{{case_history.diagnostic}}</span> -->
46
+
47
+
48
+          </div>
49
+        </div>
50
+        <div class="commonCell">
51
+          <p style="color:#409EFF;">体格信息</p>
52
+          <div class="detailMain">
53
+            <span style="width:140px;">体温:{{case_history.temperature}}℃</span>
54
+            <span style="width:140px;">呼吸:{{case_history.breathing}} 次/分</span>
55
+
56
+            <span style="width:140px;">脉搏:{{case_history.pulse}} 次/分</span>
57
+            <span style="width:200px;">血压:{{case_history.sbp}}~{{case_history.dbp}} mmHg</span>
58
+          </div>
59
+        </div>
60
+        <div class="commonCell">
61
+          <p style="color:#409EFF;">病历信息</p>
62
+          <div class="detailMain">
63
+            <span style="width:260px;" v-if="case_history.is_infect== 1">是否传染:是</span>
64
+            <span style="width:260px;" v-if="case_history.is_infect != 1">是否传染:否</span>
65
+            <span style="width:180px;">发病日期:{{getTimes(case_history.sick_date,"{y}-{m}-{d}")}}</span>
66
+          </div>
67
+        </div>
68
+        <div class="commonCell">
69
+          <p>主诉</p>
70
+          <div>{{case_history.chief_conplaint}}</div>
71
+        </div>
72
+        <div class="commonCell">
73
+          <p>现病史</p>
74
+          <div>{{case_history.history_of_present_illness}}</div>
75
+        </div>
76
+        <div class="commonCell">
77
+          <p>门诊诊断</p>
78
+          <div>{{case_history.diagnostic}}</div>
79
+        </div>
80
+        <div class="commonCell">
81
+          <p>门诊医嘱</p>
82
+          <div>{{case_history.doctor_advice}}</div>
83
+        </div>
84
+        <div class="commonCell">
85
+          <p>过敏史</p>
86
+          <div>{{case_history.past_history}}</div>
87
+        </div>
88
+        <div class="commonCell">
89
+          <p>既往史</p>
90
+          <div>{{case_history.past_history}}</div>
91
+        </div>
92
+        <div class="commonCell">
93
+          <p>个人史</p>
94
+          <div>{{case_history.personal_history}}</div>
95
+        </div>
96
+        <div class="commonCell">
97
+          <p>家族史</p>
98
+          <div>{{case_history.family_history}}</div>
99
+        </div>
100
+      </el-tab-pane>
101
+    </el-tabs>
102
+    <div slot="footer" class="dialog-footer">
103
+      <el-button @click="hide">取 消</el-button>
104
+      <!--<el-button type="primary" :loading="submitLoading" @click="hide">确定</el-button>-->
105
+    </div>
106
+    <el-dialog
107
+      class="centerDialog detailDialog"
108
+      width="600px"
109
+      title="打印"
110
+      :visible.sync="innerVisible"
111
+      append-to-body>
112
+
113
+      <print v-if="activeName == 'first'" :paramsObj='paramsObj'></print>
114
+      <recordPrint v-if="activeName == 'second'" :patientid="patientid"></recordPrint>
115
+    </el-dialog>
116
+  </el-dialog>
117
+</div>
118
+</template>
119
+
120
+
121
+
122
+<script>
123
+  import { getDictionaryDataConfig} from "@/utils/data";
124
+  import { getHisPrescriptionInfo } from '@/api/his/his'
125
+  import NewPrescriptionTable from './newPrescriptionTable'
126
+  import { uParseTime } from '@/utils/tools'
127
+  import { getAllDoctorList } from "@/api/project/project"
128
+  import moment from 'moment';
129
+  import print from '../print'
130
+  import recordPrint from '../recordPrint'
131
+
132
+  export default {
133
+    components: { NewPrescriptionTable,print,recordPrint },
134
+    data() {
135
+      return {
136
+        visible: false,
137
+        activeName: 'first',
138
+        curPrescriptions: {},
139
+        prescriptions: [],
140
+        record_date: '',
141
+        editableTabsValue: '处方1',
142
+        loadingone: false,
143
+        editableTabs: [{
144
+          title: '处方1',
145
+          name: '1'
146
+        }],
147
+        tabIndex: 1,
148
+        hisPatientInfo: {},
149
+        loadingtwo: false,
150
+        patientTableData: [{
151
+          name: '杨美英',
152
+          mdtrt_id: '1709946'
153
+        }],
154
+        patientInfo: { id: 0 },
155
+        doctor: {},
156
+        total: 0,
157
+        state: '未收费',
158
+        radio: 1,
159
+        radioStatus: 1,
160
+        search_input: '',
161
+        case_history:{},
162
+        order:{},
163
+        doctorList:[],
164
+        departmentList:[],
165
+        innerVisible:false,
166
+        paramsObj:{},
167
+        patientid:''
168
+      }
169
+    },
170
+    methods: {
171
+      open(index){
172
+        if(index == 1){
173
+           var arr= [];
174
+           for(let i=0;i<this.prescriptions.length;i++){
175
+              arr.push(this.prescriptions[i].id)
176
+           }
177
+           var prescription_id = arr[0];
178
+           var record_date = this.format(this.order.record_date);
179
+           var ids = arr.toString();
180
+
181
+           let obj = {
182
+             record:record_date,
183
+             prescription_id:prescription_id,
184
+             ids:ids,
185
+             patient_id:this.patientInfo.id
186
+           };
187
+           this.paramsObj = obj;
188
+           this.innerVisible = true
189
+          //  this.$router.push("/outpatientDoctorStation/print?record="+record_date+"&prescription_id="+prescription_id+"&ids="+ids+"&patient_id="+this.patientInfo.id)
190
+
191
+        }else if(index == 2){
192
+          var record_date = this.format(this.case_history.sick_date);
193
+          this.patientid = this.patientInfo.id;
194
+          this.innerVisible = true
195
+          // this.$router.push("/outpatientDoctorStation/recordPrint?record="+record_date+"&patient_id="+this.case_history.patient_id)
196
+        }
197
+      },
198
+      getTimes(time,temp) {
199
+        return uParseTime(time, temp);
200
+      },
201
+      tabclickEvent(val) {
202
+        for (let i = 0; i < this.prescriptions.length; i++) {
203
+          if (this.prescriptions[i].name == val.name) {
204
+            this.curPrescriptions = {};
205
+            var temp = this.deepClone(this.prescriptions[i]);
206
+            this.curPrescriptions = temp
207
+          }
208
+        }
209
+      },
210
+      deepClone(source) {
211
+        if (!source && typeof source !== 'object') {
212
+          throw new Error('error arguments', 'shallowClone')
213
+        }
214
+        const targetObj = source.constructor === Array ? [] : {};
215
+        Object.keys(source).forEach((keys) => {
216
+          if (source[keys] && typeof source[keys] === 'object') {
217
+            targetObj[keys] = this.deepClone(source[keys])
218
+          } else {
219
+            targetObj[keys] = source[keys]
220
+          }
221
+        });
222
+        return targetObj
223
+      },
224
+
225
+      moreState(tab, event) {
226
+        if (tab == 'more') {
227
+          return false
228
+        }
229
+      },
230
+
231
+      _close: function(done) {
232
+        // this.clear()
233
+        done()
234
+      },
235
+      clear: function() {
236
+        this.form.id = 0;
237
+        this.form.name = '';
238
+        this.form.intro = ''
239
+      },
240
+      show(id) {
241
+        let params={
242
+          id:id,
243
+        };
244
+        getHisPrescriptionInfo(params).then(response => {
245
+          if (response.data.state == 0) {
246
+            this.$message.error(response.data.msg);
247
+            return false
248
+          } else {
249
+            this.patientInfo = response.data.data.order.patient;
250
+            console.log("患者信息",this.patientInfo);
251
+            this.hisPatientInfo = response.data.data.order.his_patient;
252
+            this.case_history = response.data.data.order.case_history;
253
+            console.log("历史详情",this.case_history);
254
+            this.order = response.data.data.order;
255
+            console.log('this.order',this.order);
256
+
257
+
258
+            this.prescriptions = [];
259
+            for (let i = 0; i < response.data.data.prescription.length; i++) {
260
+              var prescription = response.data.data.prescription[i];
261
+              let tempAdvice = [];
262
+              let tempProject = [];
263
+              for (let b = 0; b < prescription.advices.length; b++) {
264
+                let obj = {
265
+                  advice_id: prescription.advices[b].id,
266
+                  drug_name: prescription.advices[b].advice_name,
267
+                  single_dose: prescription.advices[b].single_dose,
268
+                  delivery_way: prescription.advices[b].delivery_way,
269
+                  execution_frequency: prescription.advices[b].execution_frequency,
270
+                  retail_price: prescription.advices[b].price.toString(),
271
+                  remark: prescription.advices[b].remark,
272
+                  day: prescription.advices[b].day,
273
+                  prescribing_number: prescription.advices[b].prescribing_number.toString(),
274
+                  single_dose_unit: prescription.advices[b].single_dose_unit,
275
+                  prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
276
+                  medical_insurance_number: prescription.advices[b].med_list_codg
277
+
278
+                };
279
+                tempAdvice.push(obj)
280
+              }
281
+
282
+              for (let b = 0; b < prescription.project.length; b++) {
283
+                let obj = {
284
+                  id: prescription.project[b].id,
285
+                  project_id: prescription.project[b].project.id,
286
+                  project_name: prescription.project[b].project.project_name,
287
+                  statistical_classification: prescription.project[b].project.statistical_classification,
288
+                  single_dose: prescription.project[b].single_dose,
289
+                  delivery_way: prescription.project[b].delivery_way,
290
+                  execution_frequency: prescription.project[b].execution_frequency,
291
+                  number_days: prescription.project[b].day,
292
+                  total: prescription.project[b].count.toString(),
293
+                  price: prescription.project[b].price,
294
+                  remark: prescription.project[b].remark,
295
+                  medical_code: prescription.project[b].project.medical_code,
296
+                  unit:prescription.project[b].project.unit,
297
+                };
298
+                tempProject.push(obj)
299
+              }
300
+              let index = i + 1;
301
+              let obj = {
302
+                id: prescription.id,
303
+                name: '处方' + index,
304
+                advices: tempAdvice,
305
+                project: tempProject,
306
+                type: response.data.data.prescription[i].type
307
+              };
308
+              this.prescriptions.push(obj);
309
+              console.log(this.prescriptions);
310
+
311
+              this.curPrescriptions = this.prescriptions[0]
312
+            }
313
+          }
314
+        });
315
+        // this.clear()
316
+        this.visible = true
317
+
318
+
319
+
320
+      },
321
+      hide() {
322
+        // this.clear()
323
+        this.visible = false
324
+      },
325
+     getAllDoctorList(){
326
+      getAllDoctorList().then(response=>{
327
+        if(response.data.state == 1){
328
+            var doctor =  response.data.data.doctor;
329
+            this.doctorList = doctor;
330
+             var department = response.data.data.department;
331
+             console.log("department",department);
332
+             this.departmentList = department
333
+            }
334
+         })
335
+      },
336
+      getDepartMent(id){
337
+         var name = "";
338
+         for(let i=0;i<this.departmentList.length;i++){
339
+           if(id == this.departmentList[i].id){
340
+              name = this.departmentList[i].name
341
+           }
342
+         }
343
+         return name
344
+      },
345
+
346
+      format(time){
347
+        moment.locale();
348
+        var times = time*1000;
349
+        times = moment(times).format('YYYY-MM-DD');
350
+        return times
351
+      }
352
+    },
353
+    created(){
354
+      this.getAllDoctorList()
355
+    }
356
+  }
357
+</script>
358
+
359
+<style lang="scss">
360
+  .detailDialog {
361
+
362
+  .el-dialog__body {
363
+    padding: 0 20px 30px;
364
+    position: relative;
365
+  }
366
+
367
+  .detailMain {
368
+    flex: 1;
369
+  span {
370
+    display: inline-block;
371
+  }
372
+
373
+  }
374
+  .commonCell {
375
+    display: flex;
376
+    line-height: 40px;
377
+
378
+  > p {
379
+    font-weight: bold;
380
+    color: #000;
381
+    width: 80px;
382
+  }
383
+
384
+  }
385
+  }
386
+</style>
387
+

+ 106 - 0
src/xt_pages/hospitalStation/components/inspection.vue 查看文件

1
+<template>
2
+    <el-dialog
3
+        title="选择模板"
4
+        width="1000px"
5
+        :visible.sync="visible"
6
+        :before-close="_close"
7
+    >
8
+        <div class="inspectionTitle">
9
+            <p>姓名:<span>张三</span></p>
10
+            <p>证件号:<span>张三</span></p>
11
+            <p>性别:<span>张三</span></p>
12
+            <p>类型:<span>张三</span></p>
13
+            <p>金额:<span>张三</span></p>
14
+        </div>
15
+        <div style="margin:10px 0;">
16
+           <el-input v-model="name" placeholder="" style="width:150px;"></el-input> 
17
+        </div>
18
+        <div style="display:flex;">
19
+            <div style="width: 151px;">
20
+                <el-table :data="tableData" border height="300" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
21
+                    <el-table-column align="center" prop="name" label="模板名称" width="150">
22
+                        <template slot-scope="scope">{{ scope.row.date }}</template>
23
+                    </el-table-column>
24
+                </el-table> 
25
+            </div>
26
+            <el-table :data="tableData" border height="300" style="flex:1;margin-left:20px;" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
27
+                <el-table-column type="selection" width="55" align="center"></el-table-column>
28
+                <el-table-column align="center" prop="name" label="项目名称">
29
+                    <template slot-scope="scope">{{ scope.row.date }}</template>
30
+                </el-table-column>
31
+                <el-table-column align="center" prop="name" label="数量">
32
+                    <template slot-scope="scope">{{ scope.row.date }}</template>
33
+                </el-table-column>
34
+                <el-table-column align="center" prop="name" label="单位">
35
+                    <template slot-scope="scope">{{ scope.row.date }}</template>
36
+                </el-table-column>
37
+                <el-table-column align="center" prop="name" label="金额">
38
+                    <template slot-scope="scope">{{ scope.row.date }}</template>
39
+                </el-table-column>
40
+            </el-table> 
41
+        </div>
42
+        <div slot="footer" class="dialog-footer">
43
+            <el-button @click="hide">取 消</el-button>
44
+            <el-button type="primary" :loading="submitLoading" @click="submitAction()">保 存</el-button>
45
+        </div>
46
+    </el-dialog>         
47
+</template>
48
+
49
+<script>
50
+export default {
51
+    data(){
52
+        return{
53
+            visible:false,
54
+            tableData: [{
55
+            date: '2016-05-02',
56
+            name: '王小虎',
57
+            address: '上海市普陀区金沙江路 1518 弄'
58
+            }, {
59
+            date: '2016-05-04',
60
+            name: '王小虎',
61
+            address: '上海市普陀区金沙江路 1517 弄'
62
+            }, {
63
+            date: '2016-05-01',
64
+            name: '王小虎',
65
+            address: '上海市普陀区金沙江路 1519 弄'
66
+            }, {
67
+            date: '2016-05-03',
68
+            name: '王小虎',
69
+            address: '上海市普陀区金沙江路 1516 弄'
70
+            }]
71
+        }
72
+    },
73
+    methods:{
74
+        _close: function(done) {
75
+            // this.clear()
76
+            done()
77
+        },
78
+        clear: function() {
79
+            this.form.id = 0;
80
+            this.form.name = "";
81
+            this.form.intro = "";
82
+        },
83
+        show() {
84
+            // this.clear()
85
+            this.visible = true
86
+        },
87
+        hide() {
88
+            // this.clear()
89
+            this.visible = false
90
+        },
91
+    }
92
+}
93
+</script>
94
+
95
+<style lang="scss" scoped>
96
+.inspectionTitle{
97
+    display:flex;
98
+    justify-content: space-between;
99
+    span{
100
+        min-width:80px;
101
+        display:inline-block;
102
+        
103
+    }
104
+}
105
+</style>
106
+

+ 165 - 0
src/xt_pages/hospitalStation/components/medicalInsuranceRefund.vue 查看文件

1
+<template>
2
+    <div style="display:flex;">
3
+        <div class="noChargeLeft">
4
+            <div class="mainCell" style="margin-bottom:10px;">
5
+                <el-input size="small" @keyup.enter.native='searchAction' v-model.trim="search_input" class="filter-item"/>
6
+                <el-button size="small" style="margin-left:10px;" class="filter-item" type="primary" @click="searchAction">搜索</el-button>
7
+            </div>
8
+            <el-table :data="tableData" border height="500" style="width: 100%;" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
9
+                <el-table-column align="center" prop="name" label="处方号" width="100">
10
+                    <template slot-scope="scope">{{ scope.row.date }}</template>
11
+                </el-table-column>
12
+                <el-table-column align="center" prop="name" label="姓名" width="99">
13
+                    <template slot-scope="scope">{{ scope.row.date }}</template>
14
+                </el-table-column>
15
+            </el-table>
16
+        </div>
17
+        <div style="flex:1;overflow-x: hidden;">
18
+            <div class="noChargeRight">
19
+                <div class="chargeInfo">
20
+                    <p>姓名:<span></span></p>
21
+                    <p>性别:<span></span></p>
22
+                    <p>年龄:<span></span></p>
23
+                    <p>证件号:<span></span></p>
24
+                    <p>挂号类型:<span></span></p>
25
+                    <p>上一个发票号:<span></span></p>
26
+                    <p>下一个发票号:<span></span></p>
27
+                </div>
28
+                <div class="chargeBox">
29
+                    <p>医疗费用总额:<span></span></p>
30
+                    <p>基金支付金额:<span></span></p>
31
+                    <p>个人账户支付金额:<span></span></p>
32
+                    <p>个人支付金额:<span></span></p>
33
+                    <p>个人账号金额:<span></span></p>
34
+                </div>
35
+                <p class='chargeTitle'>药品信息</p>
36
+                <el-table :data="tableData" border height="200" style="width: 100%;" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
37
+                    <el-table-column align="center" prop="name" label="名称">
38
+                        <template slot-scope="scope">{{ scope.row.date }}</template>
39
+                    </el-table-column>
40
+                    <el-table-column align="center" prop="name" label="单位">
41
+                        <template slot-scope="scope">{{ scope.row.date }}</template>
42
+                    </el-table-column>
43
+                    <el-table-column align="center" prop="name" label="单价(元)">
44
+                        <template slot-scope="scope">{{ scope.row.date }}</template>
45
+                    </el-table-column>
46
+                    <el-table-column align="center" prop="name" label="数量">
47
+                        <template slot-scope="scope">{{ scope.row.date }}</template>
48
+                    </el-table-column>
49
+                    <el-table-column align="center" prop="name" label="总价">
50
+                        <template slot-scope="scope">{{ scope.row.date }}</template>
51
+                    </el-table-column>
52
+                    <el-table-column align="center" prop="name" label="自付比例">
53
+                        <template slot-scope="scope">{{ scope.row.date }}</template>
54
+                    </el-table-column>
55
+                </el-table>
56
+                <p class='chargeTitle'>项目信息</p>
57
+                <el-table :data="tableData" border height="200" style="width: 100%;" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
58
+                    <el-table-column align="center" prop="name" label="名称">
59
+                        <template slot-scope="scope">{{ scope.row.date }}</template>
60
+                    </el-table-column>
61
+                    <el-table-column align="center" prop="name" label="科室">
62
+                        <template slot-scope="scope">{{ scope.row.date }}</template>
63
+                    </el-table-column>
64
+                    <el-table-column align="center" prop="name" label="单价(元)">
65
+                        <template slot-scope="scope">{{ scope.row.date }}</template>
66
+                    </el-table-column>
67
+                    <el-table-column align="center" prop="name" label="数量">
68
+                        <template slot-scope="scope">{{ scope.row.date }}</template>
69
+                    </el-table-column>
70
+                    <el-table-column align="center" prop="name" label="总价">
71
+                        <template slot-scope="scope">{{ scope.row.date }}</template>
72
+                    </el-table-column>
73
+                    <el-table-column align="center" prop="name" label="自付比例">
74
+                        <template slot-scope="scope">{{ scope.row.date }}</template>
75
+                    </el-table-column>
76
+                </el-table>
77
+                <div class='chargeBtn'>
78
+                    <p>总金额:0元</p>
79
+                    <div>
80
+                        <el-button type="primary">处方查询</el-button>
81
+                        <el-button type="danger">退单</el-button>
82
+                    </div>
83
+                </div>
84
+            </div>
85
+        </div>
86
+    </div>
87
+</template>
88
+
89
+<script>
90
+export default {
91
+    data(){
92
+        return{
93
+            tableData: [{
94
+            date: '2016-05-02',
95
+            name: '王小虎',
96
+            address: '上海市普陀区金沙江路 1518 弄'
97
+            }, {
98
+            date: '2016-05-04',
99
+            name: '王小虎',
100
+            address: '上海市普陀区金沙江路 1517 弄'
101
+            }, {
102
+            date: '2016-05-01',
103
+            name: '王小虎',
104
+            address: '上海市普陀区金沙江路 1519 弄'
105
+            }, {
106
+            date: '2016-05-03',
107
+            name: '王小虎',
108
+            address: '上海市普陀区金沙江路 1516 弄'
109
+            }]
110
+        }
111
+    }
112
+}
113
+</script>
114
+
115
+
116
+<style lang="scss" scoped>
117
+.noChargeLeft{
118
+    width:200px;
119
+    .mainCell{
120
+        display: flex;
121
+    }
122
+}
123
+.noChargeRight{
124
+    margin-left:20px;
125
+    // flex: 1;
126
+    .chargeInfo{
127
+        display: flex;
128
+        justify-content: space-between;
129
+        align-items: center;
130
+        height: 32px;
131
+        margin-bottom: 10px;
132
+        >p{
133
+            display: flex;
134
+        }
135
+        >p>span{
136
+            display: inline-block;
137
+            min-width: 50px;
138
+        }
139
+    }
140
+    .chargeBox{
141
+        height:42px;
142
+        border: 1px solid #EBEEF5;
143
+        display: flex;
144
+        justify-content: space-between;
145
+        background-color: rgb(245, 247, 250);
146
+        color: rgb(96, 98, 102);
147
+        align-items: center;
148
+        padding: 0 20px;
149
+        >p>span{
150
+            display: inline-block;
151
+            min-width: 50px;
152
+        }
153
+    }
154
+    .chargeTitle{
155
+        line-height: 32px;
156
+        height: 32px;
157
+    }
158
+    .chargeBtn{
159
+        display: flex;
160
+        justify-content: space-between;
161
+        align-items: center;
162
+        margin-top: 20px;
163
+    }
164
+}
165
+</style>

+ 169 - 0
src/xt_pages/hospitalStation/components/medicalRecord.vue 查看文件

1
+<template>
2
+    <el-dialog
3
+        title="病历调用"
4
+        width="1000px"
5
+        :visible.sync="visible"
6
+        :before-close="_close"
7
+        class="recordDialog"
8
+    >
9
+        <div>
10
+            <el-tabs v-model="activeName">
11
+                <el-tab-pane label="病历模板" name="first">
12
+                    <div style="display:flex;align-items: center;margin-bottom:10px;">
13
+                        <el-input size="small"  v-model.trim="search_input" class="filter-item" style="width:140px;"/>
14
+                        <el-button size="small" style="margin:0 10px;" class="filter-item" type="primary"  @click="searchAction">搜索</el-button>
15
+                        <span>日期:</span>
16
+                        <el-date-picker
17
+                        size="small"
18
+                        style="width:140px;margin:0 10px;"
19
+                        v-model="start_time"
20
+                        type="date"
21
+                        placeholder="选择日期"
22
+                        @change="changeStarTime">
23
+                        </el-date-picker>
24
+                        <el-date-picker
25
+                        style="width:140px;"
26
+                        size="small"
27
+                        v-model="end_time"
28
+                        type="date"
29
+                        placeholder="选择日期"
30
+                        @change="changeEndTime">
31
+                        </el-date-picker>
32
+                    </div>
33
+                    <el-table :data="tempalateData" border height="300" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
34
+                        <el-table-column align="center" type="index" width="60" label="序号"></el-table-column>
35
+                        <el-table-column align="center" prop="name" width="60" label="病历编号">
36
+                            <template slot-scope="scope">{{ scope.row.id }}</template>
37
+                        </el-table-column>
38
+                        <el-table-column align="center" prop="name" label="名称">
39
+                            <template slot-scope="scope">{{ scope.row.template_name }}</template>
40
+                        </el-table-column>
41
+                        <el-table-column align="center" prop="name" label="创建人">
42
+                            <template slot-scope="scope">{{ scope.row.user_name }}</template>
43
+                        </el-table-column>
44
+                        <el-table-column align="center" prop="name" label="创建日期">
45
+                            <template slot-scope="scope">{{getTimes(scope.row.record_date) }}</template>
46
+                        </el-table-column>
47
+                        <el-table-column align="center" prop="name" label="模板说明">
48
+                            <template slot-scope="scope">{{ scope.row.template_remark }}</template>
49
+                        </el-table-column>
50
+                        <el-table-column align="center" prop="name" label="操作" width='200'>
51
+                            <template slot-scope="scope">
52
+                                <el-button type="primary" size="mini" @click="totemplateDetailTwo(scope.row.id)">调用</el-button>
53
+                                <el-button type="primary" size="mini" @click="totemplateDetail(scope.row.id)">详情</el-button>
54
+                            </template>
55
+                        </el-table-column>
56
+                    </el-table>
57
+                </el-tab-pane>
58
+            </el-tabs>
59
+        </div>
60
+        <record-history-detail ref="recordHistoryDetail"></record-history-detail>
61
+        <record-template-detail ref="recordTemplateDetail"></record-template-detail>
62
+        <div slot="footer" class="dialog-footer">
63
+            <el-button @click="hide">取 消</el-button>
64
+            <el-button type="primary"  @click="submitAction()">保 存</el-button>
65
+        </div>
66
+    </el-dialog>
67
+</template>
68
+
69
+<script>
70
+import recordHistoryDetail from './recordHistoryDetail'
71
+import recordTemplateDetail from './recordTemplateDetail'
72
+import { getHistoryTemplate } from "@/api/project/project"
73
+import { uParseTime } from '@/utils/tools'
74
+export default {
75
+    components:{
76
+        recordHistoryDetail,
77
+        recordTemplateDetail
78
+    },
79
+    data(){
80
+        return{
81
+            visible:false,
82
+            activeName:'first',
83
+            form:{
84
+                name:''
85
+            },
86
+            tableData: [],
87
+            tempalateData:[],
88
+            value1:"",
89
+            search_input:"",
90
+            start_time:"",
91
+            end_time:"",
92
+            mode_status:0,
93
+        }
94
+    },
95
+    methods:{
96
+        _close: function(done) {
97
+            // this.clear()
98
+            done()
99
+        },
100
+        clear: function() {
101
+            this.form.id = 0;
102
+            this.form.name = "";
103
+            this.form.intro = "";
104
+        },
105
+        show(id) {
106
+            this.mode_status = id;
107
+            this.getlist();
108
+            this.visible = true
109
+        },
110
+        hide() {
111
+            // this.clear()
112
+            this.visible = false
113
+        },
114
+        toHistoryDetail(){
115
+            this.$refs.recordHistoryDetail.show()
116
+        },
117
+        totemplateDetail(id){
118
+            this.$refs.recordTemplateDetail.show(id)
119
+        },
120
+        totemplateDetailTwo(id){
121
+         this.$emit('func',id);
122
+         this.visible = false
123
+        },
124
+        //获取历史数据历史模板
125
+        getlist(){
126
+
127
+            const params = {
128
+               keyword:this.search_input,
129
+               start_time:this.start_time,
130
+               end_time:this.end_time
131
+            };
132
+
133
+          getHistoryTemplate(params).then(response=>{
134
+            if(response.data.state == 1){
135
+              var template =  response.data.data.template;
136
+              console.log("templagte",template);
137
+              this.tempalateData = template
138
+            }
139
+          })
140
+        },
141
+        searchAction(){
142
+          this.getlist()
143
+        },
144
+        changeStarTime(){
145
+           this.getlist()
146
+        },
147
+        changeEndTime(){
148
+          this.getlist()
149
+        },
150
+        getTimes(time) {
151
+        return uParseTime(time, "{y}-{m}-{d} {h}:{i}:{s}");
152
+      },
153
+    },
154
+    created(){
155
+       this.getlist()
156
+    },
157
+
158
+
159
+}
160
+</script>
161
+
162
+<style lang="scss">
163
+.recordDialog{
164
+    .el-dialog__body{
165
+        padding-top:0;
166
+    }
167
+}
168
+</style>
169
+

+ 297 - 0
src/xt_pages/hospitalStation/components/monthPrescriptionTable.vue 查看文件

1
+<template>
2
+  <div class="prescriptionTable">
3
+    <el-table v-if="activeType  == 1" :data="prescription.advices" border style="width: 99%;" :row-style="{ color: '#303133' }"
4
+              :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
5
+      <el-table-column align="center" type="index" width="40" label="序号"></el-table-column>
6
+      <el-table-column align="center" prop="drug_name" label="名称">
7
+        <template slot-scope="scope"><span :title="scope.row.drug_name">{{ scope.row.drug_name }}</span></template>
8
+      </el-table-column>
9
+      <el-table-column align="center" prop="single_dose" width="90" label="单次用量">
10
+        <template slot-scope="scope">
11
+          <div style="display:flex;align-items:center;">
12
+            <el-input v-model="scope.row.single_dose" style="width:65%;"></el-input>
13
+            <div>{{scope.row.single_dose_unit}}</div>
14
+          </div>
15
+        </template>
16
+      </el-table-column>
17
+      <el-table-column align="center" prop="delivery_way" width="100" label="用法">
18
+        <template slot-scope="scope">
19
+          <el-select v-model="scope.row.delivery_way" placeholder="请选择">
20
+            <el-option
21
+              readonly
22
+              v-for="(item,index) in drugways"
23
+              :key="index"
24
+              :label="item.name"
25
+              :value="item.name">
26
+            </el-option>
27
+          </el-select>
28
+        </template>
29
+      </el-table-column>
30
+      <el-table-column align="center" prop="execution_frequency" width="100" label="频率">
31
+        <template slot-scope="scope">
32
+          <el-select v-model="scope.row.execution_frequency" placehold er="请选择">
33
+            <el-option
34
+              readonly
35
+              v-for="item,index in efs"
36
+              :key="index"
37
+              :label="item.name"
38
+              :value="item.name">
39
+            </el-option>
40
+          </el-select>
41
+        </template>
42
+      </el-table-column>
43
+
44
+
45
+      <el-table-column align="center" prop="day" width="50" label="天数">
46
+        <template slot-scope="scope">
47
+          <el-input v-model="scope.row.day" placeholder="" readonly></el-input>
48
+          <div>{{'天'}}</div>
49
+        </template>
50
+      </el-table-column>
51
+
52
+      <el-table-column align="center" prop="prescribing_number" width="80" label="总量">
53
+        <template slot-scope="scope">
54
+          <div style="display:flex;align-items:center;">
55
+            <el-input v-model="scope.row.prescribing_number" style="width:60%" placeholder="" readonly></el-input>
56
+            <div> {{scope.row.prescribing_number_unit}}</div>
57
+          </div>
58
+        </template>
59
+      </el-table-column>
60
+      <el-table-column align="center" prop="retail_price" width="60" label="单价">
61
+        <template slot-scope="scope">
62
+          <el-input v-model="scope.row.retail_price" placeholder="" readonly></el-input>
63
+          <div>{{'元'}}</div>
64
+        </template>
65
+      </el-table-column>
66
+      <el-table-column align="center" prop="remark" width="50" label="备注">
67
+        <template slot-scope="scope">
68
+          <el-input v-model="scope.row.remark" :title="scope.row.remark" placeholder="" readonly></el-input>
69
+        </template>
70
+      </el-table-column>
71
+    </el-table>
72
+
73
+    <el-table v-if="activeType == 2" :data="prescription.project" border style="width: 99%;" :row-style="{ color: '#303133' }"
74
+              :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
75
+      <el-table-column align="center" type="index" width="40" label="序号"></el-table-column>
76
+      <el-table-column align="center" prop="project_name" label="名称">
77
+        <template slot-scope="scope"><span :title="scope.row.project_name">{{ scope.row.project_name }}</span></template>
78
+      </el-table-column>
79
+      <el-table-column align="center" prop="statistical_classification" width="100" label="组">
80
+        <template slot-scope="scope">{{getGroup(scope.row.statistical_classification)}}</template>
81
+      </el-table-column>
82
+      <el-table-column align="center" prop="single_dose" width="80" label="单次用量">
83
+        <template slot-scope="scope">
84
+          <el-input v-model="scope.row.single_dose" placeholder="" readonly></el-input>
85
+          <div>{{scope.row.unit}}</div>
86
+
87
+        </template>
88
+      </el-table-column>
89
+      <el-table-column align="center" prop="delivery_way" width="80" label="用法">
90
+        <template slot-scope="scope">
91
+          <el-autocomplete
92
+            readonly
93
+            style="width:100%;"
94
+            class="inline-input"
95
+            v-model="scope.row.delivery_way"
96
+            :fetch-suggestions="querySearch2"
97
+            placeholder="请输入内容"
98
+          ></el-autocomplete>
99
+        </template>
100
+      </el-table-column>
101
+      <el-table-column align="center" prop="execution_frequency" width="80" label="频率">
102
+        <template slot-scope="scope">
103
+          <el-input v-model="scope.row.execution_frequency" placeholder="" readonly></el-input>
104
+        </template>
105
+      </el-table-column>
106
+      <el-table-column align="center" prop="number_days" width="50" label="天数">
107
+        <template slot-scope="scope">
108
+          <el-input v-model="scope.row.number_days" placeholder="" readonly></el-input>
109
+          <div>{{'天'}}</div>
110
+        </template>
111
+      </el-table-column>
112
+      <el-table-column align="center" prop="total" width="70" label="总量">
113
+        <template slot-scope="scope">
114
+          <div style="display:flex;align-items:center;">
115
+            <el-input v-model="scope.row.total" style="width:60%" placeholder="" readonly></el-input>
116
+            <div>{{scope.row.unit}}</div>
117
+          </div>
118
+        </template>
119
+      </el-table-column>
120
+      <el-table-column align="center" prop="name" width="50" label="单价">
121
+        <template slot-scope="scope">
122
+          <el-input v-model="scope.row.price" placeholder="" readonly></el-input>
123
+          <div>{{'元'}}</div>
124
+        </template>
125
+      </el-table-column>
126
+      <el-table-column align="center" prop="name" width="50" label="备注">
127
+        <template slot-scope="scope">
128
+          <el-input v-model="scope.row.remark" :title="scope.row.remark" readonly></el-input>
129
+        </template>
130
+      </el-table-column>
131
+    </el-table>
132
+    <div class="additionalBox">
133
+      <div class="additionalOne" v-for="(item,index) in prescription.addition" :key="index">
134
+        <span :title="item.item_name">{{item.item_name}}</span>
135
+        <el-input v-model="item.price" placeholder="" style="width:50px;"></el-input>
136
+        共
137
+        <el-input v-model="item.count" placeholder="" style="width:50px;"></el-input>
138
+        次
139
+        <i class="el-icon-delete deleteIcon" @click="delAddition(index,item)"></i>
140
+      </div>
141
+    </div>
142
+  </div>
143
+</template>
144
+
145
+<script>
146
+  import { getDictionaryDataConfig} from "@/utils/data";
147
+  import { getInitData,delHisAdvice,delHisProject,delHisAddition } from '@/api/his/his'
148
+
149
+  export default {
150
+    props: {
151
+      preDrugs: Array,
152
+      activeType: Number,
153
+      addtions_charge:Array,
154
+      prescription:{
155
+        type:Object,
156
+        default: function () {
157
+          return {
158
+            name:"",
159
+            advices:[],
160
+            project:[],
161
+            drugways:[],
162
+            efs:[],
163
+          };
164
+        }
165
+      },
166
+    },
167
+    data() {
168
+      return {
169
+        advices:[],
170
+        tableData: [],
171
+        newoptions: [{
172
+          value: '1',
173
+          label: '1'
174
+        }, {
175
+          value: '2',
176
+          label: '2'
177
+        }, {
178
+          value: '3',
179
+          label: '3'
180
+        }, {
181
+          value: '4',
182
+          label: '4'
183
+        }, {
184
+          value: '5',
185
+          label: '5'
186
+        }],
187
+        value: '1',
188
+        input: 1,
189
+      }
190
+    },
191
+    methods:{
192
+      createFilter(queryString) {
193
+        return (restaurant) => {
194
+          return (restaurant.name.toLowerCase().indexOf(queryString.toLowerCase()) === 0)
195
+        }
196
+      },
197
+      querySearch2(queryString, cb) {
198
+        var restaurants = this.getDictionaryDataConfig("system","project_use");
199
+        restaurants.map(item => {
200
+          item.value = item.name
201
+        });
202
+        var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants;
203
+        // 调用 callback 返回建议列表的数据
204
+        cb(results)
205
+      },
206
+      getInitData(){
207
+        getInitData().then(response => {
208
+          if (response.data.state == 0) {
209
+            this.$message.error(response.data.msg);
210
+            return false
211
+          } else {
212
+            this.drugways = response.data.data.drugways;
213
+            this.efs = response.data.data.efs
214
+          }
215
+        })
216
+      },
217
+      deepClone(source) {
218
+        if (!source && typeof source !== 'object') {
219
+          throw new Error('error arguments', 'shallowClone')
220
+        }
221
+        const targetObj = source.constructor === Array ? [] : {};
222
+        Object.keys(source).forEach((keys) => {
223
+          if (source[keys] && typeof source[keys] === 'object') {
224
+            targetObj[keys] = this.deepClone(source[keys])
225
+          } else {
226
+            targetObj[keys] = source[keys]
227
+          }
228
+        });
229
+        return targetObj
230
+      },
231
+      setNewData:function(data){
232
+        this.prescription = data
233
+      },
234
+      getDictionaryDataConfig(module, filed_name) {
235
+        return getDictionaryDataConfig(module, filed_name)
236
+      },
237
+      getGroup(id){
238
+        var name = "";
239
+        var statistics_category =  getDictionaryDataConfig('system','statistics_category');
240
+        for(let i=0;i<statistics_category.length;i++){
241
+          if(id == statistics_category[i].id){
242
+            name = statistics_category[i].name
243
+          }
244
+        }
245
+        return name
246
+      },
247
+    },mounted(){
248
+      this.getInitData()
249
+    },
250
+  }
251
+</script>
252
+
253
+<style lang="scss">
254
+  .prescriptionTable {
255
+
256
+  .el-input__inner {
257
+    padding: 0 5px;
258
+  }
259
+
260
+  .additionalBox {
261
+    margin-top: 20px;
262
+    display: flex;
263
+    flex-wrap: wrap;
264
+
265
+  .additionalOne {
266
+    margin-right: 20px;
267
+    margin-bottom: 10px;
268
+    display: flex;
269
+    align-items: center;
270
+
271
+  > span {
272
+    white-space: nowrap;
273
+    overflow: hidden;
274
+    text-overflow: ellipsis;
275
+    width: 80px;
276
+    display: inline-block;
277
+    font-size: 14px;
278
+  }
279
+
280
+  .deleteIcon {
281
+    color: red;
282
+    margin-left: 5px;
283
+  }
284
+
285
+  }
286
+  .el-table th .cell, .el-table td .cell {
287
+    padding: 0 2px;
288
+    white-space: pre-line;
289
+  }
290
+
291
+  .el-icon-delete {
292
+    color: red;
293
+  }
294
+
295
+  }
296
+  }
297
+</style>

+ 201 - 0
src/xt_pages/hospitalStation/components/newPrescriptionTable.vue 查看文件

1
+<template>
2
+  <div class="prescriptionTable">
3
+    <el-table v-if="prescription.type == 1" :data="prescription.advices" border style="width: 100%;"
4
+              :row-style="{ color: '#303133' }"
5
+              :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
6
+      <el-table-column align="center" type="index" width="40" label="序号"></el-table-column>
7
+      <el-table-column align="center" prop="name" label="名称">
8
+        <template slot-scope="scope">{{ scope.row.drug_name }}</template>
9
+      </el-table-column>
10
+
11
+      <el-table-column align="center" prop="name" width="100" label="单次用量">
12
+        <template slot-scope="scope">
13
+          <div>{{ scope.row.single_dose }} &nbsp;&nbsp; {{scope.row.single_dose_unit}}</div>
14
+        </template>
15
+      </el-table-column>
16
+      <el-table-column align="center" prop="name" width="90" label="用法">
17
+        <template slot-scope="scope">
18
+          <!--<el-input v-model="scope.row.delivery_way" readonly></el-input>-->
19
+          <div> {{scope.row.delivery_way}}</div>
20
+
21
+
22
+        </template>
23
+      </el-table-column>
24
+      <el-table-column align="center" prop="name" width="90" label="频率">
25
+        <template slot-scope="scope">
26
+          <!--<el-input v-model="scope.row.execution_frequency" readonly></el-input>-->
27
+          <div> {{scope.row.execution_frequency}}</div>
28
+
29
+        </template>
30
+      </el-table-column>
31
+      <el-table-column align="center" prop="day" width="50" label="天数">
32
+        <template slot-scope="scope">
33
+          <div>{{ scope.row.day }}天</div>
34
+        </template>
35
+      </el-table-column>
36
+
37
+      <el-table-column align="center" prop="name" width="100" label="总量">
38
+        <template slot-scope="scope">
39
+          <div>{{scope.row.prescribing_number}} {{scope.row.prescribing_number_unit}}</div>
40
+        </template>
41
+      </el-table-column>
42
+      <el-table-column align="center" prop="name" width="80" label="单价">
43
+        <template slot-scope="scope">
44
+          <div> {{scope.row.retail_price}}元</div>
45
+
46
+          <!--<el-input v-model="scope.row.retail_price" placeholder="" readonly></el-input>-->
47
+        </template>
48
+      </el-table-column>
49
+      <el-table-column align="center" prop="name" width="80" label="备注">
50
+        <template slot-scope="scope">
51
+          <!--<el-input v-model="scope.row.remark" style="width:50%" placeholder="" readonly></el-input>-->
52
+          <div> {{scope.row.remark}}</div>
53
+
54
+        </template>
55
+      </el-table-column>
56
+    </el-table>
57
+    <el-table v-if="prescription.type == 2" :data="prescription.project" border style="width: 99%;"
58
+              :row-style="{ color: '#303133' }"
59
+              :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
60
+
61
+      <el-table-column align="center" prop="project_name" label="名称">
62
+        <template slot-scope="scope">{{ scope.row.project_name }}</template>
63
+      </el-table-column>
64
+      <el-table-column align="center" prop="statistical_classification" width="100" label="组">
65
+        <template slot-scope="scope">
66
+          <div>{{getGroup(scope.row.statistical_classification)}}</div>
67
+        </template>
68
+      </el-table-column>
69
+      <el-table-column align="center" prop="single_dose" width="100" label="单次用量">
70
+        <template slot-scope="scope">
71
+          <!--<el-input v-model="scope.row.single_dose" placeholder="" readonly></el-input>-->
72
+          <div> {{scope.row.single_dose}}{{scope.row.unit}}</div>
73
+
74
+        </template>
75
+      </el-table-column>
76
+      <el-table-column align="center" prop="delivery_way" width="130" label="用法">
77
+        <template slot-scope="scope">
78
+          <!--<el-input v-model="scope.row.delivery_way" placeholder="" readonly></el-input>-->
79
+          <div> {{scope.row.delivery_way}}</div>
80
+
81
+        </template>
82
+      </el-table-column>
83
+      <el-table-column align="center" prop="execution_frequency" width="100" label="频率">
84
+        <template slot-scope="scope">
85
+          <!--<el-input v-model="scope.row.execution_frequency" placeholder="" readonly></el-input>-->
86
+          <div> {{scope.row.execution_frequency}}</div>
87
+
88
+        </template>
89
+      </el-table-column>
90
+      <el-table-column align="center" prop="number_days" width="100" label="天数">
91
+        <template slot-scope="scope">
92
+          <!--<el-input v-model="scope.row.number_days" placeholder="" readonly></el-input>-->
93
+          <div> {{scope.row.number_days}}天</div>
94
+
95
+        </template>
96
+      </el-table-column>
97
+      <el-table-column align="center" prop="total" width="80" label="总量">
98
+        <template slot-scope="scope">
99
+            <div> {{scope.row.total}}{{scope.row.unit}}</div>
100
+        </template>
101
+      </el-table-column>
102
+      <el-table-column align="center" prop="name" width="70" label="单价">
103
+        <template slot-scope="scope">
104
+          <!--<el-input v-model="scope.row.price" placeholder="" readonly></el-input>-->
105
+          <div> {{scope.row.price}}元</div>
106
+
107
+        </template>
108
+      </el-table-column>
109
+      <el-table-column align="center" prop="name" width="120" label="备注">
110
+        <template slot-scope="scope">
111
+          <!--<el-input v-model="scope.row.remark" readonly></el-input>-->
112
+          <div> {{scope.row.remark}}</div>
113
+
114
+        </template>
115
+      </el-table-column>
116
+    </el-table>
117
+  </div>
118
+
119
+
120
+
121
+
122
+
123
+</template>
124
+
125
+<script>
126
+  import { getInitData } from '@/api/his/his'
127
+  import { getDictionaryDataConfig} from "@/utils/data";
128
+
129
+  export default {
130
+    props: {
131
+      prescription: Object
132
+    },
133
+    data() {
134
+      return {
135
+        drugways: [],
136
+        efs: []
137
+      }
138
+    }, mounted() {
139
+      getInitData().then(response => {
140
+        if (response.data.state == 0) {
141
+          this.$message.error(response.data.msg);
142
+          return false
143
+        } else {
144
+          this.drugways = response.data.data.drugways;
145
+          this.efs = response.data.data.efs
146
+        }
147
+      })
148
+    }, methods:  {
149
+
150
+
151
+      getGroup(id){
152
+        var name = "";
153
+        var statistics_category =  getDictionaryDataConfig('system','statistics_category');
154
+        console.log("2235",statistics_category);
155
+        for(let i=0;i<statistics_category.length;i++){
156
+          if(id == statistics_category[i].id){
157
+            name = statistics_category[i].name
158
+          }
159
+        }
160
+        return name
161
+      },
162
+
163
+
164
+    }
165
+  }
166
+</script>
167
+
168
+<style lang="scss">
169
+  .prescriptionTable{
170
+  .additionalBox{
171
+    margin-top: 20px;
172
+    display: flex;
173
+    flex-wrap: wrap;
174
+  .additionalOne{
175
+    margin-right:20px;
176
+    margin-bottom:10px;
177
+    display: flex;
178
+    align-items: center;
179
+  >span{
180
+    white-space: nowrap;
181
+    overflow: hidden;
182
+    text-overflow: ellipsis;
183
+    width:60px;
184
+    display: inline-block;
185
+    font-size: 14px;
186
+  }
187
+  }
188
+  .deleteIcon{
189
+    color:red;
190
+    margin-left:5px;
191
+  }
192
+  }
193
+  .el-table th .cell, .el-table td .cell{
194
+    padding: 0 2px;
195
+    white-space: pre-line;
196
+  }
197
+  .el-icon-delete{
198
+    color:red;
199
+  }
200
+  }
201
+</style>

+ 417 - 0
src/xt_pages/hospitalStation/components/nextOrLastPrescription.vue 查看文件

1
+<template>
2
+  <el-dialog
3
+    :title="name"
4
+    :visible.sync="isLastOrNextVisible"
5
+    @close="hide"
6
+    width="1010px"
7
+    :modal-append-to-body="false"
8
+    class="isLastOrNext"
9
+  >
10
+    <div class="txsj" style="text-align:center;">
11
+      <el-button
12
+        round
13
+
14
+        @click="openLast(3)"
15
+      >上一方
16
+      </el-button>
17
+
18
+      <el-button
19
+        round
20
+        @click="openNext(4)"
21
+      >下一方
22
+      </el-button>
23
+    </div>
24
+
25
+    <div v-for="(item,index) in allPrescription" :key="index">
26
+      <div class="quote">引用 {{getTime(item.record_date, '{y}年{m}月{d}日')}} 的处方</div>
27
+      <el-checkbox-group v-model="item.check_group">
28
+        <div v-for="(subItem,index2) in item.prescriptions" :key="index2">
29
+          <el-checkbox style="margin:10px 0;" :label="subItem.id">{{'处方' + (index2+ 1)}}</el-checkbox>
30
+          <el-table v-if="subItem.type  == 1" :data="subItem.doctor_advice" border style="width: 99%;"
31
+                    :row-style="{ color: '#303133' }"
32
+                    :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
33
+            <el-table-column align="center" type="index" width="60" label="序号"></el-table-column>
34
+            <el-table-column align="center" prop="drug_name"  width="160" label="名称">
35
+              <template slot-scope="scope">
36
+                <span>{{ scope.row.advice_name }}</span>
37
+              </template>
38
+            </el-table-column>
39
+
40
+            <el-table-column align="center" prop="single_dose" width="90" label="单次用量">
41
+              <template slot-scope="scope">
42
+                  <div>{{scope.row.single_dose}}{{scope.row.single_dose_unit}}</div>
43
+              </template>
44
+            </el-table-column>
45
+            <el-table-column align="center" prop="delivery_way" width="100" label="用法">
46
+              <template slot-scope="scope">
47
+                {{scope.row.delivery_way}}
48
+              </template>
49
+            </el-table-column>
50
+            <el-table-column align="center" prop="execution_frequency" width="100" label="频率">
51
+              <template slot-scope="scope">
52
+                {{scope.row.execution_frequency}}
53
+              </template>
54
+            </el-table-column>
55
+
56
+            <el-table-column align="center" prop="day" width="60" label="天数">
57
+              <template slot-scope="scope">
58
+                {{scope.row.day}}
59
+              </template>
60
+            </el-table-column>
61
+
62
+            <el-table-column align="center" prop="prescribing_number" width="100" label="总量">
63
+              <template slot-scope="scope">
64
+                <div>{{scope.row.prescribing_number}} {{scope.row.prescribing_number_unit}}</div>
65
+              </template>
66
+            </el-table-column>
67
+            <el-table-column align="center" prop="retail_price" width="80" label="单价">
68
+              <template slot-scope="scope">
69
+                <div>{{scope.row.retail_price}}</div>
70
+              </template>
71
+            </el-table-column>
72
+            <el-table-column align="center" prop="remark" label="备注">
73
+              <template slot-scope="scope">
74
+                <div>{{scope.row.remark}}</div>
75
+              </template>
76
+            </el-table-column>
77
+          </el-table>
78
+          <el-table v-if="subItem.type == 2" :data="subItem.project" border style="width: 99%;"
79
+                    :row-style="{ color: '#303133' }"
80
+                    :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
81
+            <el-table-column align="center" type="index" width="60" label="序号"></el-table-column>
82
+            <el-table-column align="center" prop="project_name" width="160" label="名称">
83
+              <template slot-scope="scope">
84
+                <span>{{ scope.row.project.project_name }}</span>
85
+              </template>
86
+            </el-table-column>
87
+            <el-table-column align="center" prop="statistical_classification" width="100" label="组">
88
+              <template slot-scope="scope">{{getGroup(scope.row.statistical_classification)}}</template>
89
+            </el-table-column>
90
+            <el-table-column align="center" prop="single_dose" width="90" label="单次用量">
91
+              <template slot-scope="scope">
92
+                <!--<el-input v-model="scope.row.single_dose" placeholder=""></el-input>-->
93
+                <span>{{ scope.row.single_dose }}</span>
94
+
95
+              </template>
96
+            </el-table-column>
97
+            <el-table-column align="center" prop="delivery_way" width="100" label="用法">
98
+              <template slot-scope="scope">
99
+                <!--<el-input v-model="scope.row.delivery_way" placeholder=""></el-input>-->
100
+                <span>{{ scope.row.delivery_way }}</span>
101
+
102
+              </template>
103
+            </el-table-column>
104
+            <el-table-column align="center" prop="execution_frequency" width="100" label="频率">
105
+              <template slot-scope="scope">
106
+                <!--<el-input v-model="scope.row.execution_frequency" placeholder=""></el-input>-->
107
+                <span>{{ scope.row.execution_frequency }}</span>
108
+
109
+              </template>
110
+            </el-table-column>
111
+            <el-table-column align="center" prop="number_days" width="70" label="天数">
112
+              <template slot-scope="scope">
113
+                <!--<el-input v-model="scope.row.number_days" placeholder=""></el-input>-->
114
+                <span>{{ scope.row.number_days }}</span>
115
+
116
+              </template>
117
+            </el-table-column>
118
+            <el-table-column align="center" prop="total" width="70" label="总量">
119
+              <template slot-scope="scope">
120
+                  <div>{{ scope.row.total }}{{scope.row.unit}}</div>
121
+              </template>
122
+            </el-table-column>
123
+            <el-table-column align="center" prop="name" width="60" label="单价">
124
+              <template slot-scope="scope">
125
+                <!--<el-input v-model="scope.row.price" placeholder="" readonly></el-input>-->
126
+                <span>{{ scope.row.price }}</span>
127
+
128
+              </template>
129
+            </el-table-column>
130
+            <el-table-column align="center" prop="name" label="备注">
131
+              <template slot-scope="scope">
132
+                <!--<el-input v-model="scope.row.remark" :title="scope.row.remark"></el-input>-->
133
+                <span>{{ scope.row.remark }}</span>
134
+
135
+              </template>
136
+            </el-table-column>
137
+          </el-table>
138
+        </div>
139
+      </el-checkbox-group>
140
+
141
+    </div>
142
+
143
+
144
+    <div slot="footer" class="dialog-footer">
145
+      <el-button @click="isLastOrNextVisible = false">取 消</el-button>
146
+      <el-button type="primary" @click="save">保存</el-button>
147
+    </div>
148
+  </el-dialog>
149
+
150
+
151
+</template>
152
+
153
+<script>
154
+  import { uParseTime } from '@/utils/tools'
155
+  import { getDictionaryDataConfig} from "@/utils/data";
156
+
157
+  import {
158
+    getNextOrLastHisPrescription
159
+  } from '@/api/his/his'
160
+  export default {
161
+    name: "nextOrLastPrescription",
162
+    data() {
163
+      return {
164
+        srcPrescriptions:[],
165
+        name:"",
166
+        request_record_date:'',
167
+        patient_id:0,
168
+         allPrescription: [
169
+          {
170
+            check_group: [],
171
+            prescriptions: [
172
+              {
173
+                id: 5,
174
+
175
+                type: 1,
176
+                doctor_advice: [],
177
+                project: [],
178
+              },
179
+              {
180
+                id: 8,
181
+                type: 1,
182
+                doctor_advice: [],
183
+                project: [],
184
+              },
185
+              {
186
+                id: 6,
187
+
188
+                type: 2,
189
+                doctor_advice: [],
190
+                project: [],
191
+              },
192
+              {
193
+                id: 7,
194
+                type: 2,
195
+                doctor_advice: [],
196
+                project: [],
197
+              },
198
+            ],
199
+          }, {
200
+            check_group: [],
201
+            prescriptions: [
202
+              {
203
+                id: 1,
204
+                type: 2,
205
+                doctor_advice: [],
206
+                project: [],
207
+              },
208
+              {
209
+
210
+                id: 2,
211
+                type: 2,
212
+                doctor_advice: [],
213
+                project: [],
214
+              },
215
+              {
216
+                id: 3,
217
+
218
+                type: 1,
219
+                doctor_advice: [],
220
+                project: [],
221
+              },
222
+              {
223
+                id: 4,
224
+
225
+                type: 1,
226
+                doctor_advice: [],
227
+                project: [],
228
+              },
229
+            ],
230
+          }
231
+        ],
232
+
233
+        isLastOrNextVisible: false,
234
+
235
+      }
236
+    }, methods: {
237
+      openLast(val) {
238
+       if (val == 3) {
239
+          let params = {
240
+            patient_id: this.patient_id,
241
+            record_time: this.request_record_date,
242
+            type: 1
243
+          };
244
+
245
+          this.GetNextOrLastHisPrescription(params)
246
+
247
+        }
248
+      },
249
+      openNext(val) {
250
+        if (val == 4) {
251
+          let params = {
252
+            patient_id: this.patient_id,
253
+            record_time: this.request_record_date,
254
+            type: 2
255
+          };
256
+          this.GetNextOrLastHisPrescription(params)
257
+        }
258
+      },
259
+      GetNextOrLastHisPrescription(params){
260
+        getNextOrLastHisPrescription(params).then(response => {
261
+          if (response.data.state == 1) {
262
+            this.allPrescription = response.data.data.prescriptions;
263
+            for (let i = 0; i < this.allPrescription.length; i++){
264
+              this.allPrescription[i].check_group = []
265
+            }
266
+            this.request_record_date = uParseTime(response.data.data.prescriptions[0].record_date, '{y}-{m}-{d}')
267
+          } else {
268
+            this.$message.error(response.data.msg)
269
+
270
+          }
271
+        })
272
+      },
273
+      save() {
274
+        let replace_one = [];
275
+        let replace_two = [];
276
+
277
+        let checkGroup = [];
278
+        let allPrescriptions = [];
279
+        let targetPrescriptions = [];
280
+        let prescriptions = [];
281
+        for (let i = 0; i < this.allPrescription.length; i++) {
282
+          for (let a = 0; a < this.allPrescription[i].check_group.length; a++) {
283
+            checkGroup.push(this.allPrescription[i].check_group[a])
284
+          }
285
+          for (let a = 0; a < this.allPrescription[i].prescriptions.length; a++) {
286
+            allPrescriptions.push(this.allPrescription[i].prescriptions[a])
287
+          }
288
+        }
289
+        for (let i = 0; i < allPrescriptions.length; i++){
290
+          for (let a = 0; a < checkGroup.length; a++){
291
+            if(allPrescriptions[i].id == checkGroup[a]){
292
+              targetPrescriptions.push(allPrescriptions[i])
293
+            }
294
+          }
295
+        }
296
+
297
+        if (targetPrescriptions.length > 0) {
298
+          for (let i = 0; i < targetPrescriptions.length; i++) {
299
+            var prescription = targetPrescriptions[i];
300
+            let tempAdvice = [];
301
+            let tempProject = [];
302
+            let tempAddition = [];
303
+            for (let b = 0; b < prescription.doctor_advice.length; b++) {
304
+              let obj = {
305
+                advice_id: 0,
306
+                drug_name: prescription.doctor_advice[b].advice_name,
307
+                single_dose: prescription.doctor_advice[b].single_dose,
308
+                delivery_way: prescription.doctor_advice[b].delivery_way,
309
+                execution_frequency: prescription.doctor_advice[b].execution_frequency,
310
+                retail_price: prescription.doctor_advice[b].price.toString(),
311
+                remark: prescription.doctor_advice[b].remark,
312
+                day:prescription.doctor_advice[b].day,
313
+                prescribing_number:prescription.doctor_advice[b].prescribing_number.toString(),
314
+                single_dose_unit:prescription.doctor_advice[b].single_dose_unit,
315
+                prescribing_number_unit:prescription.doctor_advice[b].prescribing_number_unit,
316
+                medical_insurance_number:prescription.doctor_advice[b].med_list_codg,
317
+                id:prescription.doctor_advice[b].drug_id
318
+              };
319
+              tempAdvice.push(obj)
320
+
321
+            }
322
+
323
+
324
+            for (let b = 0; b < prescription.project.length; b++) {
325
+              let obj = {
326
+                id: 0,
327
+                project_id: prescription.project[b].project_id,
328
+                project_name: prescription.project[b].project.project_name,
329
+                statistical_classification: prescription.project[b].project.statistical_classification,
330
+                single_dose: prescription.project[b].single_dose,
331
+                delivery_way: prescription.project[b].delivery_way,
332
+                execution_frequency: prescription.project[b].execution_frequency,
333
+                number_days: prescription.project[b].day,
334
+                total:prescription.project[b].count.toString(),
335
+                price:prescription.project[b].price,
336
+                remark:prescription.project[b].remark,
337
+                medical_code:prescription.project[b].project.medical_code,
338
+              };
339
+              tempProject.push(obj)
340
+            }
341
+            let obj = {
342
+              id: 0,
343
+              advices: tempAdvice,
344
+              project: tempProject,
345
+              addition:tempAddition,
346
+              order_status:0,
347
+              // type: type,
348
+            };
349
+            prescriptions.push(obj)
350
+          }
351
+        }
352
+
353
+        console.log(this.srcPrescriptions);
354
+
355
+        if(this.srcPrescriptions.length == 1){
356
+          if(this.srcPrescriptions[0].advices.length == 0 && this.srcPrescriptions[0].project.length == 0){
357
+            this.srcPrescriptions = [];
358
+            this.srcPrescriptions = prescriptions;
359
+            this.$emit('save', this.srcPrescriptions)
360
+          }else{
361
+
362
+            this.srcPrescriptions =  this.srcPrescriptions.concat(prescriptions);
363
+            this.$emit('save', this.srcPrescriptions)
364
+          }
365
+        }else{
366
+          this.srcPrescriptions =  this.srcPrescriptions.concat(prescriptions);
367
+          this.$emit('save', this.srcPrescriptions)
368
+        }
369
+
370
+
371
+
372
+      },show(prescriptions,name,id,srcPrescriptions){
373
+        this.srcPrescriptions = srcPrescriptions;
374
+        this.patient_id = id;
375
+        this.request_record_date = uParseTime(prescriptions[0].record_date, '{y}-{m}-{d}');
376
+        this.name = name;
377
+        this.allPrescription = prescriptions;
378
+        for (let i = 0; i < this.allPrescription.length; i++){
379
+          this.allPrescription[i].check_group = []
380
+        }
381
+        console.log(this.allPrescription);
382
+        this.isLastOrNextVisible = true
383
+      },close(){
384
+        this.isLastOrNextVisible = false
385
+      },hide(){
386
+        this.$emit('cancel')
387
+
388
+      },getTime(time, template){
389
+        return uParseTime(time,template)
390
+
391
+      }, getGroup(id){
392
+        var name = "";
393
+        var statistics_category =  getDictionaryDataConfig('system','statistics_category');
394
+        for(let i=0;i<statistics_category.length;i++){
395
+          if(id == statistics_category[i].id){
396
+            name = statistics_category[i].name
397
+          }
398
+        }
399
+        return name
400
+      },   getDictionaryDataConfig(module, filed_name) {
401
+        return getDictionaryDataConfig(module, filed_name)
402
+      },
403
+    }
404
+  }
405
+</script>
406
+
407
+<style lang="scss">
408
+.isLastOrNext{
409
+  .el-dialog__body{
410
+    padding:0px 20px 30px;
411
+  }
412
+  .quote{
413
+    margin-top: 10px;
414
+    font-size: 14px;
415
+  }
416
+}
417
+</style>

+ 165 - 0
src/xt_pages/hospitalStation/components/noCharge.vue 查看文件

1
+<template>
2
+    <div style="display:flex;">
3
+        <div class="noChargeLeft">
4
+            <div class="mainCell" style="margin-bottom:10px;">
5
+                <el-input size="small" @keyup.enter.native='searchAction' v-model.trim="search_input" class="filter-item"/>
6
+                <el-button size="small" style="margin-left:10px;" class="filter-item" type="primary" @click="searchAction">搜索</el-button>
7
+            </div>
8
+            <el-table :data="tableData" border height="500" style="width: 100%;" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
9
+                <el-table-column align="center" prop="name" label="处方号" width="100">
10
+                    <template slot-scope="scope">{{ scope.row.date }}</template>
11
+                </el-table-column>
12
+                <el-table-column align="center" prop="name" label="姓名" width="99">
13
+                    <template slot-scope="scope">{{ scope.row.date }}</template>
14
+                </el-table-column>
15
+            </el-table>
16
+        </div>
17
+        <div style="flex:1;overflow-x: hidden;">
18
+            <div class="noChargeRight">
19
+                <div class="chargeInfo">
20
+                    <p>姓名:<span></span></p>
21
+                    <p>性别:<span></span></p>
22
+                    <p>年龄:<span></span></p>
23
+                    <p>证件号:<span></span></p>
24
+                    <p>挂号类型:<span></span></p>
25
+                    <p>上一个发票号:<span></span></p>
26
+                    <p>下一个发票号:<span></span></p>
27
+                </div>
28
+                <div class="chargeBox">
29
+                    <p>医疗费用总额:<span></span></p>
30
+                    <p>基金支付金额:<span></span></p>
31
+                    <p>个人账户支付金额:<span></span></p>
32
+                    <p>个人支付金额:<span></span></p>
33
+                    <p>个人账号金额:<span></span></p>
34
+                </div>
35
+                <p class='chargeTitle'>药品信息</p>
36
+                <el-table :data="tableData" border height="200" style="width: 100%;" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
37
+                    <el-table-column align="center" prop="name" label="名称">
38
+                        <template slot-scope="scope">{{ scope.row.date }}</template>
39
+                    </el-table-column>
40
+                    <el-table-column align="center" prop="name" label="单位">
41
+                        <template slot-scope="scope">{{ scope.row.date }}</template>
42
+                    </el-table-column>
43
+                    <el-table-column align="center" prop="name" label="单价(元)">
44
+                        <template slot-scope="scope">{{ scope.row.date }}</template>
45
+                    </el-table-column>
46
+                    <el-table-column align="center" prop="name" label="数量">
47
+                        <template slot-scope="scope">{{ scope.row.date }}</template>
48
+                    </el-table-column>
49
+                    <el-table-column align="center" prop="name" label="总价">
50
+                        <template slot-scope="scope">{{ scope.row.date }}</template>
51
+                    </el-table-column>
52
+                    <el-table-column align="center" prop="name" label="自付比例">
53
+                        <template slot-scope="scope">{{ scope.row.date }}</template>
54
+                    </el-table-column>
55
+                </el-table>
56
+                <p class='chargeTitle'>项目信息</p>
57
+                <el-table :data="tableData" border height="200" style="width: 100%;" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
58
+                    <el-table-column align="center" prop="name" label="名称">
59
+                        <template slot-scope="scope">{{ scope.row.date }}</template>
60
+                    </el-table-column>
61
+                    <el-table-column align="center" prop="name" label="科室">
62
+                        <template slot-scope="scope">{{ scope.row.date }}</template>
63
+                    </el-table-column>
64
+                    <el-table-column align="center" prop="name" label="单价(元)">
65
+                        <template slot-scope="scope">{{ scope.row.date }}</template>
66
+                    </el-table-column>
67
+                    <el-table-column align="center" prop="name" label="数量">
68
+                        <template slot-scope="scope">{{ scope.row.date }}</template>
69
+                    </el-table-column>
70
+                    <el-table-column align="center" prop="name" label="总价">
71
+                        <template slot-scope="scope">{{ scope.row.date }}</template>
72
+                    </el-table-column>
73
+                    <el-table-column align="center" prop="name" label="自付比例">
74
+                        <template slot-scope="scope">{{ scope.row.date }}</template>
75
+                    </el-table-column>
76
+                </el-table>
77
+                <div class='chargeBtn'>
78
+                    <p>总金额:0元</p>
79
+                    <div>
80
+                        <el-button>预结算</el-button>
81
+                        <el-button type="primary">结算保存</el-button>
82
+                    </div>
83
+                </div>
84
+            </div>
85
+        </div>
86
+    </div>
87
+</template>
88
+
89
+<script>
90
+export default {
91
+    data(){
92
+        return{
93
+            tableData: [{
94
+            date: '2016-05-02',
95
+            name: '王小虎',
96
+            address: '上海市普陀区金沙江路 1518 弄'
97
+            }, {
98
+            date: '2016-05-04',
99
+            name: '王小虎',
100
+            address: '上海市普陀区金沙江路 1517 弄'
101
+            }, {
102
+            date: '2016-05-01',
103
+            name: '王小虎',
104
+            address: '上海市普陀区金沙江路 1519 弄'
105
+            }, {
106
+            date: '2016-05-03',
107
+            name: '王小虎',
108
+            address: '上海市普陀区金沙江路 1516 弄'
109
+            }]
110
+        }
111
+    }
112
+}
113
+</script>
114
+
115
+
116
+<style lang="scss" scoped>
117
+.noChargeLeft{
118
+    width:200px;
119
+    .mainCell{
120
+        display: flex;
121
+    }
122
+}
123
+.noChargeRight{
124
+    margin-left:20px;
125
+    // flex: 1;
126
+    .chargeInfo{
127
+        display: flex;
128
+        justify-content: space-between;
129
+        align-items: center;
130
+        height: 32px;
131
+        margin-bottom: 10px;
132
+        >p{
133
+            display: flex;
134
+        }
135
+        >p>span{
136
+            display: inline-block;
137
+            min-width: 50px;
138
+        }
139
+    }
140
+    .chargeBox{
141
+        height:42px;
142
+        border: 1px solid #EBEEF5;
143
+        display: flex;
144
+        justify-content: space-between;
145
+        background-color: rgb(245, 247, 250);
146
+        color: rgb(96, 98, 102);
147
+        align-items: center;
148
+        padding: 0 20px;
149
+        >p>span{
150
+            display: inline-block;
151
+            min-width: 50px;
152
+        }
153
+    }
154
+    .chargeTitle{
155
+        line-height: 32px;
156
+        height: 32px;
157
+    }
158
+    .chargeBtn{
159
+        display: flex;
160
+        justify-content: space-between;
161
+        align-items: center;
162
+        margin-top: 20px;
163
+    }
164
+}
165
+</style>

+ 151 - 0
src/xt_pages/hospitalStation/components/prescription.vue 查看文件

1
+<template>
2
+    <el-dialog
3
+        title="开处方"
4
+        width="1000px"
5
+        :visible.sync="visible"
6
+        :before-close="_close"
7
+    >
8
+        <div>
9
+            <el-form :model="form" :rules="rules" ref="form" class="perscriptionForm" label-width="140px" style="display: flex;flex-wrap: wrap;justify-content: space-between;">
10
+                <el-form-item label="透析模式:" prop="name">
11
+                    <el-input v-model="form.name" placeholder=""></el-input>
12
+                </el-form-item>
13
+                <el-form-item label="透析时长(h): " prop="name">
14
+                    <el-input v-model="form.name" placeholder=""></el-input>
15
+                </el-form-item>
16
+                <el-form-item label="透析时长(min): " prop="name">
17
+                    <el-input v-model="form.name" placeholder=""></el-input>
18
+                </el-form-item>
19
+                <el-form-item label="血流量(ml/min): " prop="name">
20
+                    <el-input v-model="form.name" placeholder=""></el-input>
21
+                </el-form-item>
22
+                <el-form-item label="预充量(L): " prop="name">
23
+                    <el-input v-model="form.name" placeholder=""></el-input>
24
+                </el-form-item>
25
+                <el-form-item label="目标超滤量(L): " prop="name">
26
+                    <el-input v-model="form.name" placeholder=""></el-input>
27
+                </el-form-item>
28
+                <el-form-item label="透析液配方: " prop="name">
29
+                    <el-select v-model="value" style="width:160px;" placeholder="请选择">
30
+                        <el-option
31
+                        v-for="item in options"
32
+                        :key="item.value"
33
+                        :label="item.label"
34
+                        :value="item.value">
35
+                        </el-option>
36
+                    </el-select>
37
+                </el-form-item>
38
+                <el-form-item label="抗凝剂: " prop="name">
39
+                    <el-select v-model="value" style="width:160px;" placeholder="请选择">
40
+                        <el-option
41
+                        v-for="item in options"
42
+                        :key="item.value"
43
+                        :label="item.label"
44
+                        :value="item.value">
45
+                        </el-option>
46
+                    </el-select>
47
+                </el-form-item>
48
+                <el-form-item label="首剂(mg): " prop="name">
49
+                    <el-input v-model="form.name" placeholder=""></el-input>
50
+                </el-form-item>
51
+                <el-form-item label="维持(mg/h): " prop="name">
52
+                    <el-input v-model="form.name" placeholder=""></el-input>
53
+                </el-form-item>
54
+                <el-form-item label="总量(mg): " prop="name">
55
+                    <el-input v-model="form.name" placeholder=""></el-input>
56
+                </el-form-item>
57
+                <el-form-item label="置换量(L): " prop="name">
58
+                    <el-input v-model="form.name" placeholder=""></el-input>
59
+                </el-form-item>
60
+                <el-form-item label="钾(mmol/L): " prop="name">
61
+                    <el-input v-model="form.name" placeholder=""></el-input>
62
+                </el-form-item>
63
+                <el-form-item label="钠(mmol/L): " prop="name">
64
+                    <el-input v-model="form.name" placeholder=""></el-input>
65
+                </el-form-item>
66
+                <el-form-item label="钙(mmol/L): " prop="name">
67
+                    <el-input v-model="form.name" placeholder=""></el-input>
68
+                </el-form-item>
69
+                <el-form-item label="碳酸氢盐(mmol/L): " prop="name">
70
+                    <el-input v-model="form.name" placeholder=""></el-input>
71
+                </el-form-item>
72
+                <el-form-item label="透析液流量(ml/min): " prop="name">
73
+                    <el-input v-model="form.name" placeholder=""></el-input>
74
+                </el-form-item>
75
+                <el-form-item label="透析液温度(℃): " prop="name">
76
+                    <el-input v-model="form.name" placeholder=""></el-input>
77
+                </el-form-item>
78
+                <el-form-item label="透析器/灌流器: " prop="name">
79
+                    <el-input v-model="form.name" placeholder=""></el-input>
80
+                </el-form-item>
81
+                <el-form-item label="体液过多症状: " prop="name">
82
+                    <el-input v-model="form.name" placeholder=""></el-input>
83
+                </el-form-item>
84
+                <el-form-item label="体液过多其他症状: " prop="name">
85
+                    <el-input v-model="form.name" placeholder=""></el-input>
86
+                </el-form-item>
87
+                <el-form-item label="透析前使用特殊药品: " prop="name">
88
+                    <el-input v-model="form.name" placeholder=""></el-input>
89
+                </el-form-item>
90
+                <el-form-item label="透析前使用其他特殊药品: " prop="name">
91
+                    <el-input v-model="form.name" placeholder=""></el-input>
92
+                </el-form-item>
93
+                <el-form-item label="置换液: " prop="name">
94
+                    <el-input v-model="form.name" placeholder=""></el-input>
95
+                </el-form-item>
96
+                <el-form-item label="限制说明 : " style="width:100%;" prop="name">
97
+                    <el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="textarea"></el-input>
98
+                </el-form-item>
99
+            </el-form>
100
+        </div>
101
+        <div slot="footer" class="dialog-footer">
102
+            <el-button @click="hide">取 消</el-button>
103
+            <el-button type="primary" :loading="submitLoading" @click="submitAction()">保 存</el-button>
104
+            <el-button type="primary">设为长期处方</el-button>
105
+        </div>
106
+    </el-dialog>         
107
+</template>
108
+
109
+<script>
110
+export default {
111
+    data(){
112
+        return{
113
+            visible:false,
114
+            form:{
115
+                name:''
116
+            },
117
+        }
118
+    },
119
+    methods:{
120
+        _close: function(done) {
121
+            // this.clear()
122
+            done()
123
+        },
124
+        clear: function() {
125
+            this.form.id = 0;
126
+            this.form.name = "";
127
+            this.form.intro = "";
128
+        },
129
+        show() {
130
+            // this.clear()
131
+            this.visible = true
132
+        },
133
+        hide() {
134
+            // this.clear()
135
+            this.visible = false
136
+        },
137
+    }
138
+}
139
+</script>
140
+
141
+<style lang="scss" scoped>
142
+.perscriptionForm{
143
+    .el-form-item{
144
+        width:33%;
145
+    }
146
+    .el-input{
147
+        width:160px;
148
+    }
149
+}
150
+</style>
151
+

+ 464 - 0
src/xt_pages/hospitalStation/components/prescriptionTable.vue 查看文件

1
+<template>
2
+  <div class="prescriptionTable">
3
+    <el-table v-if="activeType  == 1" :data="prescription.advices" border style="width: 99%;" :row-style="{ color: '#303133' }"
4
+              :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
5
+      <el-table-column align="center" type="index" width="40" label="序号"></el-table-column>
6
+      <el-table-column align="center" prop="drug_name" label="名称">
7
+        <template slot-scope="scope"><span :title="scope.row.drug_name">{{ scope.row.drug_name }}</span></template>
8
+      </el-table-column>
9
+
10
+      <el-table-column align="center" prop="single_dose" width="90" label="单次用量">
11
+        <template slot-scope="scope">
12
+          <div style="display:flex;align-items:center;">
13
+            <el-input v-model="scope.row.single_dose" @input="getSingleDose(scope)" style="width:65%;"></el-input>
14
+            <div>{{scope.row.single_dose_unit}}</div>
15
+          </div>
16
+        </template>
17
+      </el-table-column>
18
+      <el-table-column align="center" prop="delivery_way" width="100" label="用法">
19
+        <template slot-scope="scope">
20
+          <el-select v-model="scope.row.delivery_way" placeholder="请选择">
21
+            <el-option
22
+              v-for="(item,index) in drugways"
23
+              :key="index"
24
+              :label="item.name"
25
+              :value="item.name">
26
+            </el-option>
27
+          </el-select>
28
+        </template>
29
+      </el-table-column>
30
+      <el-table-column align="center" prop="execution_frequency" width="100" label="频率">
31
+        <template slot-scope="scope">
32
+          <el-select v-model="scope.row.execution_frequency" placehold er="请选择">
33
+            <el-option
34
+              v-for="item,index in efs"
35
+              :key="index"
36
+              :label="item.name"
37
+              :value="item.name">
38
+            </el-option>
39
+          </el-select>
40
+        </template>
41
+      </el-table-column>
42
+
43
+
44
+      <el-table-column align="center" prop="day" width="50" label="天数">
45
+        <template slot-scope="scope">
46
+          <el-input v-model="scope.row.day" @input="getDay(scope)" placeholder=""></el-input>
47
+          <div>{{'天'}}</div>
48
+
49
+        </template>
50
+      </el-table-column>
51
+
52
+      <el-table-column align="center" prop="prescribing_number" width="80" label="总量">
53
+        <template slot-scope="scope">
54
+          <div style="display:flex;align-items:center;">
55
+            <el-input v-model="scope.row.prescribing_number" style="width:60%" placeholder=""></el-input>
56
+            <div> {{scope.row.prescribing_number_unit}}</div>
57
+          </div>
58
+        </template>
59
+      </el-table-column>
60
+      <el-table-column align="center" prop="retail_price" width="60" label="单价">
61
+        <template slot-scope="scope">
62
+          <el-input v-model="scope.row.retail_price" placeholder="" readonly></el-input>
63
+          <div>{{'元'}}</div>
64
+
65
+        </template>
66
+      </el-table-column>
67
+      <el-table-column align="center" prop="remark" width="50" label="备注">
68
+        <template slot-scope="scope">
69
+          <el-input v-model="scope.row.remark" :title="scope.row.remark" placeholder=""></el-input>
70
+        </template>
71
+      </el-table-column>
72
+      <el-table-column align="center" width="40" prop="name" label="操作">
73
+        <template slot-scope="scope">
74
+          <i class="el-icon-delete" @click="deleteDrug(scope.$index, scope.row)"></i>
75
+        </template>
76
+      </el-table-column>
77
+    </el-table>
78
+
79
+    <el-table v-if="activeType == 2" :data="prescription.project" border style="width: 99%;" :row-style="{ color: '#303133' }"
80
+              :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
81
+       <el-table-column align="center" type="index" width="40" label="序号"></el-table-column>
82
+      <el-table-column align="center" prop="project_name" label="名称">
83
+        <template slot-scope="scope"><span :title="scope.row.project_name">{{ scope.row.project_name }}</span></template>
84
+      </el-table-column>
85
+      <el-table-column align="center" prop="statistical_classification" width="100" label="组">
86
+        <template slot-scope="scope">{{getGroup(scope.row.statistical_classification)}}</template>
87
+      </el-table-column>
88
+      <el-table-column align="center" prop="single_dose" width="80" label="单次用量">
89
+        <template slot-scope="scope">
90
+          <el-input v-model="scope.row.single_dose" @input="getProjectSingleDose(scope)" placeholder=""></el-input>
91
+          <div>{{scope.row.unit}}</div>
92
+
93
+        </template>
94
+      </el-table-column>
95
+      <el-table-column align="center" prop="delivery_way" width="80" label="用法">
96
+        <template slot-scope="scope">
97
+          <el-autocomplete
98
+            style="width:100%;"
99
+            class="inline-input"
100
+            v-model="scope.row.delivery_way"
101
+            :fetch-suggestions="querySearch2"
102
+            placeholder="请输入内容"
103
+          ></el-autocomplete>
104
+        </template>
105
+      </el-table-column>
106
+      <el-table-column align="center" prop="execution_frequency" width="80" label="频率">
107
+        <template slot-scope="scope">
108
+          <el-input v-model="scope.row.execution_frequency" placeholder=""></el-input>
109
+        </template>
110
+      </el-table-column>
111
+      <el-table-column align="center" prop="number_days" width="50" label="天数">
112
+        <template slot-scope="scope">
113
+          <el-input v-model="scope.row.number_days" @input="getProjectDay(scope)" placeholder=""></el-input>
114
+          <div>{{'天'}}</div>
115
+        </template>
116
+      </el-table-column>
117
+      <el-table-column align="center" prop="total" width="70" label="总量">
118
+        <template slot-scope="scope">
119
+          <div style="display:flex;align-items:center;">
120
+            <el-input v-model="scope.row.total" style="width:60%" placeholder=""></el-input>
121
+            <div>{{scope.row.unit}}</div>
122
+
123
+          </div>
124
+        </template>
125
+      </el-table-column>
126
+      <el-table-column align="center" prop="name" width="50" label="单价">
127
+        <template slot-scope="scope">
128
+          <el-input v-model="scope.row.price" placeholder="" readonly></el-input>
129
+          <div>{{'元'}}</div>
130
+
131
+        </template>
132
+      </el-table-column>
133
+      <el-table-column align="center" prop="name" width="50" label="备注">
134
+        <template slot-scope="scope">
135
+           <el-input v-model="scope.row.remark" :title="scope.row.remark"></el-input>
136
+        </template>
137
+      </el-table-column>
138
+      <el-table-column align="center" width="40" prop="name" label="操作">
139
+        <template slot-scope="scope">
140
+          <i class="el-icon-delete" @click="deleteProject(scope.row,scope.$index)"></i>
141
+        </template>
142
+      </el-table-column>
143
+    </el-table>
144
+
145
+    <div class="additionalBox">
146
+      <div class="additionalOne" v-for="(item,index) in prescription.addition" :key="index">
147
+        <span :title="item.item_name">{{item.item_name}}</span>
148
+        <el-input v-model="item.price" placeholder="" style="width:50px;"></el-input>
149
+        共
150
+        <el-input v-model="item.count" placeholder="" style="width:50px;"></el-input>
151
+        次
152
+        <i class="el-icon-delete deleteIcon" @click="delAddition(index,item)"></i>
153
+      </div>
154
+    </div>
155
+
156
+
157
+
158
+  </div>
159
+</template>
160
+
161
+<script>
162
+  import { getDictionaryDataConfig} from "@/utils/data";
163
+  import { getInitData,delHisAdvice,delHisProject,delHisAddition } from '@/api/his/his'
164
+
165
+  export default {
166
+    props: {
167
+      preDrugs: Array,
168
+      activeType: Number,
169
+      addtions_charge:Array,
170
+      prescription:{
171
+        type:Object,
172
+        default: function () {
173
+          return {
174
+            name:"",
175
+            advices:[],
176
+            project:[],
177
+            drugways:[],
178
+            efs:[],
179
+          };
180
+        }
181
+      },
182
+    },
183
+    data() {
184
+      return {
185
+        advices:[],
186
+        tableData: [],
187
+        newoptions: [{
188
+          value: '1',
189
+          label: '1'
190
+        }, {
191
+          value: '2',
192
+          label: '2'
193
+        }, {
194
+          value: '3',
195
+          label: '3'
196
+        }, {
197
+          value: '4',
198
+          label: '4'
199
+        }, {
200
+          value: '5',
201
+          label: '5'
202
+        }],
203
+        value: '1',
204
+        input: 1,
205
+      }
206
+    },
207
+
208
+   methods:{
209
+     createFilter(queryString) {
210
+       return (restaurant) => {
211
+         return (restaurant.name.toLowerCase().indexOf(queryString.toLowerCase()) === 0)
212
+       }
213
+     },
214
+     querySearch2(queryString, cb) {
215
+       var restaurants = this.getDictionaryDataConfig("system","project_use");
216
+       restaurants.map(item => {
217
+         item.value = item.name
218
+       });
219
+       var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants;
220
+       // 调用 callback 返回建议列表的数据
221
+       cb(results)
222
+     },
223
+     delAddition(index, addition){
224
+       if(this.prescription.order_status == 2){
225
+         this.$message.error('该处方已经结算,无法删除');
226
+         return
227
+       }
228
+       this.$confirm("附加费删除后不可恢复,是否确认删除", "删除", {
229
+         confirmButtonText: "确 定",
230
+         cancelButtonText: "取 消",
231
+         type: "warning"
232
+       }).then(() => {
233
+         this.$nextTick(function(){
234
+           if(addition.id == 0){
235
+             this.prescription.addition.splice(index, 1)
236
+           }else{
237
+             let params = {
238
+               'id': addition.id,
239
+             };
240
+             delHisAddition(params).then(response => {
241
+               if (response.data.state == 0) {
242
+                 this.$message.error(response.data.msg);
243
+                 return false
244
+               } else {
245
+                 var temp2 = this.deepClone(this.prescription.addition);
246
+                 temp2.splice(index, 1);
247
+                 this.prescription.addition = temp2;
248
+                 this.$message.success(response.data.data.msg)
249
+               }
250
+             })
251
+           }
252
+         });
253
+
254
+       })
255
+         .catch(() => {});
256
+
257
+     },
258
+      getInitData(){
259
+        getInitData().then(response => {
260
+          if (response.data.state == 0) {
261
+            this.$message.error(response.data.msg);
262
+            return false
263
+          } else {
264
+            this.drugways = response.data.data.drugways;
265
+            this.efs = response.data.data.efs
266
+          }
267
+        })
268
+
269
+      },deleteDrug:function(index, row){
270
+       if(this.prescription.order_status == 2){
271
+         this.$message.error('该处方已经结算,无法删除');
272
+         return
273
+       }
274
+       this.$confirm("药品删除后不可恢复,是否确认删除", "删除", {
275
+         confirmButtonText: "确 定",
276
+         cancelButtonText: "取 消",
277
+         type: "warning"
278
+       }).then(() => {
279
+         this.$nextTick(function(){
280
+           if(row.advice_id == 0){
281
+             this.prescription.advices.splice(index, 1)
282
+           }else{
283
+             let params = {
284
+               'id': row.advice_id,
285
+             };
286
+             delHisAdvice(params).then(response => {
287
+               if (response.data.state == 0) {
288
+                 this.$message.error(response.data.msg);
289
+                 return false
290
+               } else {
291
+                 var temp2 = this.deepClone(this.prescription.advices);
292
+                 temp2.splice(index, 1);
293
+                 this.prescription.advices = temp2;
294
+                 this.$message.success(response.data.data.msg)
295
+               }
296
+             })
297
+
298
+
299
+           }
300
+
301
+         });
302
+
303
+
304
+       })
305
+         .catch(() => {});
306
+
307
+
308
+
309
+
310
+
311
+      },deepClone(source) {
312
+       if (!source && typeof source !== 'object') {
313
+         throw new Error('error arguments', 'shallowClone')
314
+       }
315
+       const targetObj = source.constructor === Array ? [] : {};
316
+       Object.keys(source).forEach((keys) => {
317
+         if (source[keys] && typeof source[keys] === 'object') {
318
+           targetObj[keys] = this.deepClone(source[keys])
319
+         } else {
320
+           targetObj[keys] = source[keys]
321
+         }
322
+       });
323
+       return targetObj
324
+     },
325
+
326
+      setNewData:function(data){
327
+        this.prescription = data
328
+
329
+        // this.prescription.advices = data.advices
330
+      },
331
+      getDictionaryDataConfig(module, filed_name) {
332
+        return getDictionaryDataConfig(module, filed_name)
333
+      },
334
+      getGroup(id){
335
+         var name = "";
336
+          var statistics_category =  getDictionaryDataConfig('system','statistics_category');
337
+          console.log("2235",statistics_category);
338
+          for(let i=0;i<statistics_category.length;i++){
339
+             if(id == statistics_category[i].id){
340
+                 name = statistics_category[i].name
341
+             }
342
+          }
343
+         return name
344
+      },
345
+      deleteProject(row,i){
346
+        if(this.prescription.order_status == 2){
347
+          this.$message.error('该处方已经结算,无法删除');
348
+          return
349
+        }
350
+        this.$confirm("项目删除后不可恢复,是否确认删除", "删除", {
351
+          confirmButtonText: "确 定",
352
+          cancelButtonText: "取 消",
353
+          type: "warning"
354
+        }).then(() => {
355
+          if(row.id == 0){
356
+            this.prescription.project.splice(i, 1)
357
+
358
+          }else{
359
+            let params = {
360
+              'id': row.id,
361
+            };
362
+            delHisProject(params).then(response => {
363
+              if (response.data.state == 0) {
364
+                this.$message.error(response.data.msg);
365
+                return false
366
+              } else {
367
+                for (let i = 0; i < this.prescription.project.length; i++){
368
+                  if(this.prescription.project[i].id == row.id){
369
+                    this.prescription.project.splice(i, 1)
370
+                  }
371
+                }
372
+                this.$message.success(response.data.data.msg)
373
+              }
374
+            })
375
+          }
376
+        })
377
+          .catch(() => {});
378
+
379
+      },
380
+      getSingleDose(scope){
381
+        this.prescription.advices[scope.$index].prescribing_number = scope.row.single_dose * scope.row.day
382
+      },
383
+      getDay(scope){
384
+        this.prescription.advices[scope.$index].prescribing_number = scope.row.single_dose * scope.row.day
385
+      },
386
+      getProjectSingleDose(scope){
387
+        this.prescription.project[scope.$index].total = scope.row.single_dose * scope.row.number_days
388
+      },
389
+      getProjectDay(scope){
390
+        this.prescription.project[scope.$index].total = scope.row.single_dose * scope.row.number_days
391
+      }
392
+    },mounted(){
393
+      this.getInitData()
394
+
395
+    },
396
+    watch:{
397
+      // "prescription.advices":{
398
+      //   handler(newVal,oldVal){
399
+      //     newVal.map(item => {
400
+      //       item.prescribing_number = item.single_dose * item.day
401
+      //       if(item.single_dose != oldVal[index].single_dose || item.number_days != oldVal[index].number_days){
402
+      //         item.total = item.single_dose * item.number_days
403
+      //       }
404
+
405
+
406
+      //     })
407
+      //   },
408
+      //   deep:true
409
+      // },
410
+      // "prescription.project":{
411
+      //   handler(newVal,oldVal){
412
+      //     newVal.map((item,index) => {
413
+      //       if(item.single_dose != oldVal[index].single_dose || item.number_days != oldVal[index].number_days){
414
+      //         item.total = item.single_dose * item.number_days
415
+      //       }
416
+
417
+      //     })
418
+      //   },
419
+      //   deep:true
420
+      // }
421
+    }
422
+
423
+  }
424
+</script>
425
+
426
+<style lang="scss">
427
+  .prescriptionTable {
428
+    .el-input__inner{
429
+      padding: 0 5px;
430
+    }
431
+    .additionalBox{
432
+      margin-top: 20px;
433
+      display: flex;
434
+      flex-wrap: wrap;
435
+      .additionalOne{
436
+        margin-right:20px;
437
+        margin-bottom:10px;
438
+        display: flex;
439
+        align-items: center;
440
+        >span{
441
+          white-space: nowrap;
442
+          overflow: hidden;
443
+          text-overflow: ellipsis;
444
+          width:80px;
445
+          display: inline-block;
446
+          font-size: 14px;
447
+        }
448
+      }
449
+      .deleteIcon{
450
+        color:red;
451
+        margin-left:5px;
452
+      }
453
+    }
454
+    .el-table th .cell, .el-table td .cell {
455
+      padding: 0 2px;
456
+      white-space: pre-line;
457
+    }
458
+
459
+    .el-icon-delete {
460
+      color: red;
461
+    }
462
+
463
+  }
464
+</style>

+ 105 - 0
src/xt_pages/hospitalStation/components/recordHistoryDetail.vue 查看文件

1
+<template>
2
+    <el-dialog
3
+        title="病历历史详情"
4
+        width="1000px"
5
+        :visible.sync="visible"
6
+        :before-close="_close"
7
+        class="recordDialog"
8
+        append-to-body
9
+    >
10
+        <div class="detailMain">
11
+            <span style="width:240px;">病历编号:11111111111111111</span>
12
+            <span style="width:240px;">医生:</span>
13
+            <span style="width:240px;">创建日期:11111111111111111</span>
14
+        </div>
15
+        <div class="detailMain">
16
+            <span style="width:240px;">关系联系人:无</span>
17
+            <span style="width:240px;">关系联系方式:无</span>
18
+        </div>
19
+        <p>体格检查</p>
20
+        <div class="detailMain">
21
+            <span style="margin: 0 0 0 40px;width:140px;">体温:℃</span>
22
+            <span style="width:140px;">呼吸:0 次/分</span>
23
+            <span style="width:140px;">脉搏:0 次/分</span>
24
+            <span style="width:200px;">血压:0。00~0.00 mmHg</span>
25
+        </div>
26
+        <div class="detailMain">
27
+            <span style="margin: 0 0 0 40px;width:140px;">血糖:0 mmol/L</span>
28
+            <span style="width:140px;">血脂:0 mmol/L</span>
29
+            <span style="width:140px;">身高:0 cm</span>
30
+            <span style="width:200px;">体重:0 kg</span>
31
+        </div>
32
+        <div class="detailMain">
33
+            <span style="width:220px;">疾病名称:无</span>
34
+            <span style="width:220px;">症状:无</span>
35
+            <span style="width:220px;">发病日期:</span>
36
+            <span style="width:220px;">是否传染:否</span>
37
+        </div>
38
+        <div class="detailMain">
39
+            <span>主诉:</span>
40
+        </div>
41
+        <div class="detailMain">
42
+            <span>现病史:</span>
43
+        </div>
44
+        <div class="detailMain">
45
+            <span>诊断信息:</span>
46
+        </div>
47
+        <div class="detailMain">
48
+            <span>医嘱:</span>
49
+        </div>
50
+        <div class="detailMain">
51
+            <span>过敏史:</span>
52
+        </div>
53
+        <div slot="footer" class="dialog-footer">
54
+            <el-button @click="hide">取 消</el-button>
55
+            <el-button type="primary"  @click="submitAction()">保 存</el-button>
56
+        </div>
57
+    </el-dialog>         
58
+</template>
59
+
60
+<script>
61
+export default {
62
+    data(){
63
+        return{
64
+            visible:false,
65
+            form:{
66
+                name:''
67
+            },
68
+        }
69
+    },
70
+    methods:{
71
+        _close: function(done) {
72
+            // this.clear()
73
+            done()
74
+        },
75
+        clear: function() {
76
+            this.form.id = 0;
77
+            this.form.name = "";
78
+            this.form.intro = "";
79
+        },
80
+        show() {
81
+            // this.clear()
82
+            this.visible = true
83
+        },
84
+        hide() {
85
+            // this.clear()
86
+            this.visible = false
87
+        },
88
+    }
89
+}
90
+</script>
91
+
92
+<style lang="scss">
93
+.recordDialog{
94
+    .el-dialog__body{
95
+        padding-top:0;
96
+    }
97
+}
98
+.detailMain{
99
+    padding:5px;
100
+    span{
101
+        display: inline-block;
102
+    }
103
+}
104
+</style>
105
+

+ 378 - 0
src/xt_pages/hospitalStation/components/recordTemplateDetail.vue 查看文件

1
+<template>
2
+    <el-dialog
3
+      title="病历模板详情"
4
+      width="1000px"
5
+      :visible.sync="visible"
6
+      :before-close="_close"
7
+      class="recordDialog"
8
+      append-to-body
9
+    >
10
+        <el-form class="recordForm" :model="form" ref="form" label-width="80px">
11
+          <el-form-item label="模板名称: " prop="name" style="width:100%;">
12
+            <el-input v-model="form.template_name" placeholder=""></el-input>
13
+          </el-form-item>
14
+          <el-form-item label="模板说明: " prop="name" style="width:100%;">
15
+            <el-input v-model="form.template_remark" placeholder=""></el-input>
16
+          </el-form-item>
17
+          <el-form-item label="主诉:" class="width50">
18
+            <el-select @change="changeMainTemplate" v-model="value" style="width:100%;margin-bottom:10px;">
19
+              <el-option
20
+                v-for="(item, index) in tabledata"
21
+                :label="item.title"
22
+                :value="item.content"
23
+                :key="index"
24
+              ></el-option>
25
+            </el-select>
26
+            <el-input
27
+              type="textarea"
28
+              :rows="2"
29
+              placeholder="请输入内容"
30
+              v-model="form.chief_conplaint">
31
+            </el-input>
32
+          </el-form-item>
33
+          <el-form-item label="现病史:" class="width50">
34
+            <el-select @change="changeMainTemplateOne" v-model="valueOne" style="width:100%;margin-bottom:10px;">
35
+              <el-option
36
+                v-for="(item, index) in tabledataOne"
37
+                :label="item.title"
38
+                :value="item.content"
39
+                :key="index"
40
+              ></el-option>
41
+            </el-select>
42
+            <el-input
43
+              type="textarea"
44
+              :rows="2"
45
+              placeholder="请输入内容"
46
+              v-model="form.history_of_present_illness">
47
+            </el-input>
48
+          </el-form-item>
49
+          <el-form-item label="既往史:" class="width50">
50
+            <el-select @change="changeMainTemplateTwo" v-model="valueTwo" style="width:100%;margin-bottom:10px;">
51
+              <el-option
52
+                v-for="(item, index) in tabledataTwo"
53
+                :label="item.title"
54
+                :value="item.content"
55
+                :key="index"
56
+              ></el-option>
57
+            </el-select>
58
+            <el-input
59
+              type="textarea"
60
+              :rows="2"
61
+              placeholder="请输入内容"
62
+              v-model="form.past_history">
63
+            </el-input>
64
+          </el-form-item>
65
+          <el-form-item label="个人史:" class="width50">
66
+            <el-select @change="changeMainTemplateThree" v-model="valueThree" style="width:100%;margin-bottom:10px;">
67
+              <el-option
68
+                v-for="(item, index) in tabledataThree"
69
+                :label="item.title"
70
+                :value="item.content"
71
+                :key="index"
72
+              ></el-option>
73
+            </el-select>
74
+            <el-input
75
+              type="textarea"
76
+              :rows="2"
77
+              placeholder="请输入内容"
78
+              v-model="form.personal_history">
79
+            </el-input>
80
+          </el-form-item>
81
+          <el-form-item  label="家族史:" class="width50">
82
+            <el-select @change="changeMainTemplateFour" v-model="valueFour" style="width:100%;margin-bottom:10px;">
83
+              <el-option
84
+                v-for="(item, index) in tabledataFour"
85
+                :label="item.title"
86
+                :value="item.content"
87
+                :key="index"
88
+              ></el-option>
89
+            </el-select>
90
+            <el-input
91
+            type="textarea"
92
+            :rows="2"
93
+            placeholder="请输入内容"
94
+            v-model="form.family_history">
95
+            </el-input>
96
+          </el-form-item>
97
+          <el-form-item label="诊断信息:" class="width50">
98
+            <el-select @change="changeMainTemplateFive" v-model="valueFive" style="width:100%;margin-bottom:10px;">
99
+              <el-option
100
+                v-for="(item, index) in tabledataFive"
101
+                :label="item.title"
102
+                :value="item.content"
103
+                :key="index"
104
+              ></el-option>
105
+            </el-select>
106
+            <el-input
107
+              type="textarea"
108
+              :rows="2"
109
+              placeholder="请输入内容"
110
+              v-model="form.diagnostic">
111
+            </el-input>
112
+          </el-form-item>
113
+          <el-form-item label="医嘱:" class="width50">
114
+            <el-select @change="changeMainTemplateSix" v-model="valueSix" style="width:100%;margin-bottom:10px;">
115
+              <el-option
116
+                v-for="(item, index) in tabledataSix"
117
+                :label="item.title"
118
+                :value="item.content"
119
+                :key="index"
120
+              ></el-option>
121
+            </el-select>
122
+            <el-input
123
+              type="textarea"
124
+              :rows="2"
125
+              placeholder="请输入内容"
126
+              v-model="form.doctor_advice">
127
+            </el-input>
128
+          </el-form-item>
129
+
130
+          <el-form-item label ="备注"  prop="name" class="width50">
131
+            <el-input
132
+              type="textarea"
133
+              :rows="2"
134
+              placeholder="请输入内容"
135
+              v-model="form.remark">
136
+            </el-input>
137
+          </el-form-item>
138
+        </el-form>
139
+        <div slot="footer" class="dialog-footer">
140
+            <el-button @click="hide">取 消</el-button>
141
+            <el-button type="primary"  @click="submitAction()">保 存</el-button>
142
+        </div>
143
+    </el-dialog>
144
+</template>
145
+
146
+<script>
147
+import { getTemplateDetail,updateRecordTemplate,getMedicalTemplateList } from "@/api/project/project"
148
+export default {
149
+    data(){
150
+        return{
151
+            visible:false,
152
+            form:{
153
+              id:0,
154
+              template_name:'',
155
+              template_remark:"",
156
+              chief_conplaint:"",
157
+              history_of_present_illness:"",
158
+              past_history:"",
159
+              personal_history:"",
160
+              family_history:"",
161
+              diagnostic:"",
162
+              remark:'',
163
+              doctor_advice:'',
164
+
165
+            },
166
+            textarea:"",
167
+            templatedetail:{},
168
+            tabledata:[],
169
+            tabledataOne:[],
170
+            tabledataTwo:[],
171
+            tabledataThree:[],
172
+            tabledataFour:[],
173
+            tabledataFive:[],
174
+            tabledataSix:[],
175
+            tabledataSeven:[],
176
+            value:'',
177
+            valueOne:'',
178
+            valueTwo:'',
179
+            valueThree:'',
180
+            valueFour:'',
181
+            valueFive:'',
182
+            valueSix:'',
183
+            valueSeven:''
184
+        }
185
+    },
186
+    methods:{
187
+        _close: function(done) {
188
+            // this.clear()
189
+            done()
190
+        },
191
+        clear: function() {
192
+            this.form.id = 0;
193
+            this.form.name = "";
194
+            this.form.intro = "";
195
+        },
196
+        show(id) {
197
+          this.getTemplateDetail(id);
198
+          this.visible = true
199
+
200
+        },
201
+        hide() {
202
+            // this.clear()
203
+            this.visible = false
204
+        },
205
+        getTemplateDetail(id){
206
+          getTemplateDetail(id).then(response=>{
207
+              if(response.data.state == 1){
208
+                var templatedetail =  response.data.data.templateDetail;
209
+                console.log("templatedetail",templatedetail);
210
+                this.form.id = templatedetail.id;
211
+                this.form.template_name =   templatedetail.template_name;
212
+                this.form.template_remark = templatedetail.template_remark;
213
+                this.form.chief_conplaint =  templatedetail.chief_conplaint;
214
+                this.form.history_of_present_illness =  templatedetail.history_of_present_illness;
215
+                this.form.past_history =  templatedetail.past_history;
216
+                this.form.personal_history =    templatedetail.personal_history;
217
+                this.form.family_history = templatedetail.family_history;
218
+                this.form.diagnostic = templatedetail.diagnostic;
219
+                this.form.doctor_advice = templatedetail.doctor_advice;
220
+                this.form.remark = templatedetail.remark
221
+              }
222
+          })
223
+        },
224
+        submitAction(){
225
+          var params = {
226
+            id:this.form.id,
227
+            template_name:this.form.template_name,
228
+            template_remark:this.form.template_remark,
229
+            chief_conplaint:this.form.chief_conplaint,
230
+            history_of_present_illness:this.form.history_of_present_illness,
231
+            past_history:this.form.past_history,
232
+            personal_history:this.form.personal_history,
233
+            family_history:this.form.family_history,
234
+            diagnostic:this.form.diagnostic,
235
+            doctor_advice:this.form.doctor_advice,
236
+            remark:this.form.remark
237
+          };
238
+          updateRecordTemplate(params).then(response=>{
239
+             if(response.data.state == 1){
240
+                var template =  response.data.data.templateDetail;
241
+                this.$message.success("保存成功");
242
+                this.visible = false
243
+                // this.$parents.getlist()
244
+             }
245
+          })
246
+        },
247
+
248
+         getlist(){
249
+           getMedicalTemplateList().then(response=>{
250
+           if(response.data.state == 1){
251
+             var list =  response.data.data.list;
252
+             console.log("list",list);
253
+             this.tabledata = list;
254
+             this.tabledataOne =  response.data.data.listOne;
255
+             this.tabledataTwo = response.data.data.listTwo;
256
+             this.tabledataThree = response.data.data.listThree;
257
+             this.tabledataFour =  response.data.data.listFour;
258
+             this.tabledataFive = response.data.data.listFive;
259
+             this.tabledataSix = response.data.data.listSix;
260
+             this.tabledataSeven =  response.data.data.listSeven
261
+           }
262
+        })
263
+       },
264
+
265
+       changeMainTemplate(values){
266
+         if(this.case_history.chief_conplaint == ''){
267
+           this.case_history.chief_conplaint = values
268
+         } else {
269
+          if (this.case_history.chief_conplaint.indexOf(values) == -1) {
270
+            if (this.case_history.chief_conplaint.charAt(this.case_history.chief_conplaint.length - 1).indexOf('。') == -1) {
271
+              this.case_history.chief_conplaint = this.case_history.chief_conplaint + ',' + values
272
+            } else {
273
+              this.case_history.chief_conplaint = this.case_history.chief_conplaint + values
274
+            }
275
+          }
276
+        }
277
+       },
278
+       changeMainTemplateOne(values){
279
+          if(this.case_history.history_of_present_illness == ''){
280
+           this.case_history.history_of_present_illness = values
281
+         } else {
282
+          if (this.case_history.history_of_present_illness.indexOf(values) == -1) {
283
+            if (this.case_history.history_of_present_illness.charAt(this.case_history.history_of_present_illness.length - 1).indexOf('。') == -1) {
284
+              this.case_history.history_of_present_illness = this.case_history.history_of_present_illness + ',' + values
285
+            } else {
286
+              this.case_history.history_of_present_illness = this.case_history.history_of_present_illness + values
287
+            }
288
+          }
289
+        }
290
+      },
291
+      changeMainTemplateTwo(values){
292
+         if(this.case_history.past_history == ''){
293
+           this.case_history.past_history = values
294
+         } else {
295
+          if (this.case_history.past_history.indexOf(values) == -1) {
296
+            if (this.case_history.past_history.charAt(this.case_history.past_history.length - 1).indexOf('。') == -1) {
297
+              this.case_history.past_history = this.case_history.past_history + ',' + values
298
+            } else {
299
+              this.case_history.past_history = this.case_history.past_history + values
300
+            }
301
+          }
302
+        }
303
+      },
304
+      changeMainTemplateThree(values){
305
+         if(this.case_history.personal_history == ''){
306
+           this.case_history.personal_history = values
307
+         } else {
308
+          if (this.case_history.personal_history.indexOf(values) == -1) {
309
+            if (this.case_history.personal_history.charAt(this.case_history.personal_history.length - 1).indexOf('。') == -1) {
310
+              this.case_history.personal_history = this.case_history.personal_history + ',' + values
311
+            } else {
312
+              this.case_history.personal_history = this.case_history.personal_history + values
313
+            }
314
+          }
315
+        }
316
+      },
317
+      changeMainTemplateFour(values){
318
+          if(this.case_history.family_history == ''){
319
+           this.case_history.family_history = values
320
+         } else {
321
+          if (this.case_history.family_history.indexOf(values) == -1) {
322
+            if (this.case_history.family_history.charAt(this.case_history.family_history.length - 1).indexOf('。') == -1) {
323
+              this.case_history.family_history = this.case_history.family_history + ',' + values
324
+            } else {
325
+              this.case_history.family_history = this.case_history.family_history + values
326
+            }
327
+          }
328
+        }
329
+      },
330
+
331
+      changeMainTemplateFive(values){
332
+          if(this.case_history.diagnostic == ''){
333
+           this.case_history.diagnostic = values
334
+         } else {
335
+          if (this.case_history.diagnostic.indexOf(values) == -1) {
336
+            if (this.case_history.diagnostic.charAt(this.case_history.diagnostic.length - 1).indexOf('。') == -1) {
337
+              this.case_history.diagnostic = this.case_history.diagnostic + ',' + values
338
+            } else {
339
+              this.case_history.diagnostic = this.case_history.diagnostic + values
340
+            }
341
+          }
342
+        }
343
+      },
344
+      changeMainTemplateSix(values){
345
+          if(this.case_history.doctor_advice == ''){
346
+           this.case_history.doctor_advice = values
347
+         } else {
348
+          if (this.case_history.doctor_advice.indexOf(values) == -1) {
349
+            if (this.case_history.doctor_advice.charAt(this.case_history.doctor_advice.length - 1).indexOf('。') == -1) {
350
+              this.case_history.doctor_advice = this.case_history.doctor_advice + ',' + values
351
+            } else {
352
+              this.case_history.doctor_advice = this.case_history.doctor_advice + values
353
+            }
354
+          }
355
+        }
356
+      },
357
+    },
358
+
359
+    created(){
360
+       this.getlist()
361
+    }
362
+}
363
+</script>
364
+
365
+<style lang="scss" scoped>
366
+.recordForm{
367
+  display: flex;
368
+  flex-wrap: wrap;
369
+  .el-form-item{
370
+    width:24%;
371
+    margin-right: 1%;
372
+  }
373
+  .width50{
374
+    width: 49%;
375
+  }
376
+}
377
+</style>
378
+

+ 562 - 0
src/xt_pages/hospitalStation/components/registerDialog.vue 查看文件

1
+<template>
2
+  <el-dialog width="854px" class="registerDialog" :title="titles" :visible.sync="visibility"
3
+             :close-on-click-modal="isClose"
4
+             :close-on-press-escape="isClose">
5
+
6
+    <el-form :model="form" :rules="rules" ref="formValue" label-width="100px">
7
+      <el-form-item label="患者姓名:" prop="name" :validate-event="is_Name">
8
+        <el-autocomplete
9
+          class="checkSearch"
10
+          popper-class="my-autocomplete"
11
+          v-model="form.name"
12
+          :fetch-suggestions="querySearchAsync"
13
+          :trigger-on-focus="false"
14
+          placeholder="请输入病人名字"
15
+          @select="handleSelect"
16
+          style="width:160px;"
17
+        >
18
+          <i class="el-icon-search el-input__icon" slot="suffix"></i>
19
+          <template slot-scope="{ item }">
20
+            <div class="name">{{ item.name }}</div>
21
+          </template>
22
+        </el-autocomplete>
23
+      </el-form-item>
24
+
25
+      <el-form-item label="性别:" prop="gender" :validate-event="is_Name">
26
+        <el-select v-model="form.gender" placeholder="请选择" style="width:100%;">
27
+          <el-option
28
+            v-for="item in sex"
29
+            :key="item.value"
30
+            :label="item.label"
31
+            :value="item.value">
32
+          </el-option>
33
+        </el-select>
34
+
35
+
36
+      </el-form-item>
37
+
38
+      <el-form-item label="年龄:" prop="age" :validate-event="is_Name">
39
+        <el-input v-model="form.age"></el-input>
40
+      </el-form-item>
41
+
42
+
43
+      <el-form-item label="出生日期:" prop="birthday" :validate-event="is_Name">
44
+        <el-date-picker v-model="form.birthday" type="date" format="yyyy-MM-dd"
45
+                        value-format="yyyy-MM-dd" placeholder="选择日期" style="width:100%;"></el-date-picker>
46
+      </el-form-item>
47
+
48
+      <el-form-item label="手机号码:" prop="phone">
49
+        <el-input v-model="form.phone"></el-input>
50
+      </el-form-item>
51
+
52
+
53
+      <el-form-item label="医疗类别:">
54
+        <el-select v-model="form.medical_care" placeholder="请选择" style="width:100%;">
55
+          <el-option
56
+            v-for="(item,index) in medical_care"
57
+            :key="index"
58
+            :label="item.label"
59
+            :value="item.value">
60
+          </el-option>
61
+        </el-select>
62
+      </el-form-item>
63
+
64
+
65
+      <el-form-item label="证件类型:" prop="certificates" :validate-event="is_Name">
66
+        <el-select v-model="form.certificates" placeholder="请选择" style="width:100%;">
67
+          <el-option
68
+            v-for="item in certificates"
69
+            :key="item.value"
70
+            :label="item.label"
71
+            :value="item.value">
72
+          </el-option>
73
+        </el-select>
74
+      </el-form-item>
75
+
76
+      <el-form-item label="证件号码:" prop="id_card" :validate-event="is_Name">
77
+        <el-input v-model="form.id_card"></el-input>
78
+      </el-form-item>
79
+
80
+      <el-form-item label="处方类型:" prop="p_type" :validate-event="is_Name">
81
+        <el-select style="margin-right:5px;width:100px;" v-model="form.p_type" placeholder=""
82
+                   >
83
+          <el-option
84
+            v-for="(item,index) in registers"
85
+            :key="index"
86
+            :label="item.label"
87
+            :value="item.value">
88
+          </el-option>
89
+        </el-select>
90
+      </el-form-item>
91
+      <el-form-item label="大病类别:" prop="sick_type" :validate-event="is_Name">
92
+        <el-select style="margin-right:5px;width:100px;" v-model="form.sick_type" placeholder="">
93
+          <el-option
94
+            v-for="(item,index) in sick"
95
+            :key="index"
96
+            :label="item.class_name"
97
+            :value="item.id">
98
+          </el-option>
99
+        </el-select>
100
+      </el-form-item>
101
+
102
+      <el-form-item label="诊断:" prop="diagnosis" :validate-event="is_Name">
103
+        <el-select style="margin-right:5px;width:100px;" v-model="form.diagnosis" placeholder="">
104
+          <el-option
105
+            v-for="(item,index) in diagnoses"
106
+            :key="index"
107
+            :label="item.class_name"
108
+            :value="item.id">
109
+          </el-option>
110
+        </el-select>
111
+      </el-form-item>
112
+
113
+
114
+      <el-form-item label="结算类型:">
115
+        <el-select v-model="form.settlement_value" placeholder="请选择" style="width:100%;">
116
+          <el-option
117
+            v-for="item in settlement"
118
+            :key="item.value"
119
+            :label="item.label"
120
+            :value="item.value">
121
+          </el-option>
122
+        </el-select>
123
+      </el-form-item>
124
+
125
+
126
+      <el-form-item label="社保类型:">
127
+        <el-select v-model="form.social_type" placeholder="请选择" style="width:100%;">
128
+          <el-option
129
+            v-for="item in medicalCare"
130
+            :key="item.value"
131
+            :label="item.label"
132
+            :value="item.value">
133
+          </el-option>
134
+        </el-select>
135
+      </el-form-item>
136
+
137
+
138
+      <el-form-item label="读卡类型:" prop="id_card_type" :validate-event="is_Name">
139
+        <el-select v-model="form.id_card_type" placeholder="请选择">
140
+          <el-option
141
+            v-for="item in IDCardTypes"
142
+            :key="item.value"
143
+            :label="item.label"
144
+            :value="item.value">
145
+          </el-option>
146
+        </el-select>
147
+      </el-form-item>
148
+
149
+
150
+      <el-form-item class="specialFormItem" label="医保卡号:">
151
+        <div style="display:flex;">
152
+          <el-input v-model="form.medical_insurance_card"></el-input>
153
+          <el-button style="margin-left:10px;" type="primary" @click="reading">读卡</el-button>
154
+
155
+        </div>
156
+      </el-form-item>
157
+
158
+      <el-form-item label="挂号类型:" prop="register" :validate-event="is_Name">
159
+        <el-select v-model="form.register" placeholder="请选择" style="width:100%;">
160
+          <el-option
161
+            v-for="item in register"
162
+            :key="item.value"
163
+            :label="item.label"
164
+            :value="item.value">
165
+          </el-option>
166
+        </el-select>
167
+      </el-form-item>
168
+      <el-form-item label="挂号费:">
169
+        <el-input  v-model="form.registration_fee"></el-input>
170
+      </el-form-item>
171
+      <el-form-item label="诊疗费:">
172
+        <el-input v-model="form.medical_expenses"></el-input>
173
+      </el-form-item>
174
+    </el-form>
175
+
176
+    <span slot="footer" class="dialog-footer">
177
+    <el-button @click="cancel('formValue')">取 消</el-button>
178
+    <el-button type="primary" @click="confirm('formValue')">挂 号</el-button>
179
+  </span>
180
+  </el-dialog>
181
+
182
+</template>
183
+
184
+<script>
185
+  import {uParseTime,jsGetAge} from "@/utils/tools";
186
+  import axios from 'axios'
187
+  import {PostSearch} from '@/api/patient'
188
+
189
+  import {getDictionaryDataConfig} from '@/utils/data'
190
+
191
+  export default {
192
+
193
+    name: 'registerDialog',
194
+
195
+    data() {
196
+
197
+      return {
198
+        registers: [
199
+          {value: 11, label: "普通门诊"},
200
+          {value: 12, label: '门诊挂号'},
201
+          {value: 13, label: "急诊"},
202
+          {value: 14, label: "门诊特殊病"},
203
+          {value: 15, label: "门诊统筹"},
204
+          {value: 16, label: "门诊慢性病"},
205
+          {value: 21, label: "普通住院"},
206
+        ],
207
+        medical_care:[
208
+          {value: 11, label: "普通门诊"},
209
+          {value: 12, label: '家庭通道'},
210
+          {value: 13, label: "门诊大病"},
211
+          {value: 14, label: "重疾特药"},
212
+          {value: 15, label: "门诊慢病"},
213
+          {value: 16, label: "门诊特检"},
214
+          {value: 17, label: "健康体检"},
215
+          {value: 18, label: "预防接种"},
216
+          {value: 19, label: "门诊输血"},
217
+          {value: 91, label: "新冠肺炎门诊"},
218
+        ],
219
+
220
+
221
+
222
+
223
+        form: {
224
+          id: '',
225
+          settlement_value: '',
226
+          medical_insurance_card: '',
227
+          name: '',
228
+          gender: '',
229
+          certificates: 1,
230
+          p_type:'',
231
+          sick_type:'',
232
+          diagnosis:'',
233
+          medical_care: '',
234
+          birthday: '',
235
+          age: '',
236
+          id_card: '',
237
+          register: '',
238
+          doctor: '',
239
+          id_card_type: 1,
240
+          department: '',
241
+          registration_fee: '',
242
+          medical_expenses: '',
243
+          cost: '',
244
+          phone: '',
245
+          social_type: '',
246
+        }, IDCardTypes: [{
247
+          value: 1,
248
+          label: '社保卡'
249
+        }, {
250
+          value: 2,
251
+          label: "身份证"
252
+        }, {
253
+          value: 3,
254
+          label: "电子凭证"
255
+        },],
256
+        settlement: [
257
+          {value: 1, label: '医保'},
258
+          {value: 2, label: '自费'},
259
+          {value: 3, label: '公费'},
260
+          {value: 4, label: '农保'},
261
+          {value: 5, label: '会员'},
262
+          {value: 6, label: '职工'},
263
+          {value: 7, label: '合同'}
264
+        ],
265
+        sex: [{
266
+          value: 1,
267
+          label: '男'
268
+        }, {
269
+          value: 2,
270
+          label: '女'
271
+        }],
272
+        certificates: [{
273
+          value: 1,
274
+          label: '内地身份证'
275
+        }, {
276
+          value: 2,
277
+          label: "社保卡"
278
+        }, {
279
+          value: 3,
280
+          label: "护照"
281
+        }, {
282
+          value: 4,
283
+          label: "军官证"
284
+        }, {
285
+          value: 5,
286
+          label: "台胞证"
287
+        }, {
288
+          value: 6,
289
+          label: "港澳地区身份证"
290
+        }],
291
+        medicalCare: [{
292
+          value: 1,
293
+          label: '职工基本医疗保险'
294
+        }, {
295
+          value: 2,
296
+          label: "公务员医疗补助"
297
+        }, {
298
+          value: 3,
299
+          label: "大额医疗费用补助"
300
+        }, {
301
+          value: 4,
302
+          label: "离休人员医疗"
303
+        }, {
304
+          value: 5,
305
+          label: "城乡居民基本医疗保险"
306
+        }, {
307
+          value: 6,
308
+          label: "城乡居民大病医疗保险"
309
+        }, {
310
+            value: 7,
311
+            label: "生育保险"
312
+          }],
313
+        register: [{
314
+          value: 1,
315
+          label: '普通'
316
+        }, {
317
+          value: 2,
318
+          label: "主治"
319
+        }, {
320
+          value: 3,
321
+          label: "主任"
322
+        }, {
323
+          value: 4,
324
+          label: "免收诊金"
325
+        }, {
326
+          value: 5,
327
+          label: "专家"
328
+        }],
329
+        rules: {
330
+          name: [{required: true, message: "患者姓名不能为空", trigger: 'blur'}],
331
+          gender: [{required: true, message: "患者性别不能为空", trigger: 'blur'}],
332
+          id_card: [{required: true, message: '证件号码不能为空', trigger: 'blur'}],
333
+          register: [{required: true, message: '请选择挂号类型', trigger: 'blur'}],
334
+          doctor: [{required: true, message: '请选择医生', trigger: 'blur'}],
335
+          department: [{required: true, message: '请填写科室', trigger: 'blur'}],
336
+          age: [{required: true, message: "患者年龄不能为空", trigger: 'blur'}],
337
+          birthday: [{required: true, message: "患者出生日期不能为空", trigger: 'blur'}],
338
+          certificates: [{required: true, message: "证件类型不能为空", trigger: 'change'}],
339
+          id_card_type: [{required: true, message: "读卡类型不能为空", trigger: 'change'}],
340
+          p_type: [{required: true, message: "处方类型不能为空", trigger: 'change'}],
341
+          sick_type: [{required: true, message: "大病类别不能为空", trigger: 'change'}],
342
+          diagnosis: [{required: true, message: "诊断不能为空", trigger: 'change'}],
343
+        },
344
+        visibility: false,
345
+        labelPosition: 'right',
346
+        isClose: false,
347
+        resetForm: {
348
+          settlement_value: '',
349
+          medical_insurance_card: '',
350
+          name: '',
351
+          gender: '',
352
+          certificates: '',
353
+          id_card_type: '',
354
+          medical_care: '',
355
+          birthday: '',
356
+          age: '',
357
+          id_card: '',
358
+          register: '',
359
+          doctor: '',
360
+          department: '',
361
+          registration_fee: '',
362
+          medical_expenses: '',
363
+          cost: '',
364
+          phone: '',
365
+          social_type: '',
366
+        },
367
+
368
+      }
369
+    },
370
+    props: {
371
+
372
+      titles: {
373
+        type: String,
374
+        default: ''
375
+      },
376
+      formValue: {
377
+        type: Object
378
+      },
379
+      type: {
380
+        type: Number,
381
+        default: 1
382
+
383
+      },
384
+      isCreated: {
385
+        type: Number,
386
+        default: 1
387
+
388
+      },
389
+      sick: Array,
390
+      diagnoses: Array,
391
+    },
392
+    methods: {
393
+      handleSelect(val) {
394
+        this.form.id = val.id;
395
+        this.form.name = val.name;
396
+        this.form.gender = val.gender;
397
+        this.form.birthday = uParseTime(val.birthday, '{y}-{m}-{d}');
398
+        this.form.phone = val.phone;
399
+        this.form.id_card = val.id_card_no;
400
+        var thisLen =  this.form.id_card.length;
401
+        var birth = "";
402
+        if (thisLen == 15) {
403
+          birth = "19" + this.form.id_card.substr(6, 6);
404
+        } else {
405
+          birth = this.form.id_card.substr(6, 8);
406
+        }
407
+        var births =
408
+                birth.substr(0, 4) +
409
+                "-" +
410
+                birth.substr(4, 2) +
411
+                "-" +
412
+                birth.substr(6, 2);
413
+        this.form.age = jsGetAge(births, "-");
414
+      },
415
+      querySearchAsync(keyword, cb) {
416
+        let key = '';
417
+        if (keyword != undefined) {
418
+          key = keyword
419
+        }
420
+        let searchArray = [];
421
+        PostSearch(key).then(response => {
422
+          if (response.data.state == 1) {
423
+            searchArray = response.data.data.patient;
424
+            cb(searchArray)
425
+          } else {
426
+            cb([])
427
+          }
428
+        })
429
+      },
430
+      reading(medicalInsuranceCard) {
431
+        var that = this;
432
+        if (this.form.id_card_type.length == 0 || this.form.id_card_type == 0) {
433
+          this.$message.error("请先选择读卡类型");
434
+          return
435
+        }
436
+        let params = {
437
+          'id_card_type': this.form.id_card_type,
438
+          'admin_user_id':this.$store.getters.xt_user.user.id,
439
+
440
+        };
441
+        axios.get('http://127.0.0.1:9532/api/sscard', {
442
+          params: params
443
+        })
444
+          .then(function (response) {
445
+            if (response.data.state == 0) {
446
+              that.$message.error(response.data.msg);
447
+              return false
448
+            } else {
449
+              var patient = response.data.data.patient;
450
+
451
+              if (that.form.id_card_type == 1) {
452
+                this.form.id = patient.id;
453
+                that.form.name = patient.name;
454
+                that.form.sex = patient.gender;
455
+                that.form.age = patient.age;
456
+                that.form.birthday = uParseTime(patient.birthday, '{y}-{m}-{d}');
457
+                that.form.phone = patient.phone;
458
+                that.form.idCard = patient.id_card_no;
459
+                that.form.medicalInsuranceCard = response.data.data.number
460
+
461
+              } else if (that.form.id_card_type == 2) {
462
+                this.form.id = patient.id;
463
+                that.form.name = patient.name;
464
+                that.form.sex = patient.gender;
465
+                that.form.age = patient.age;
466
+                that.form.birthday = uParseTime(patient.birthday, '{y}-{m}-{d}');
467
+                that.form.phone = patient.phone;
468
+                that.form.idCard = patient.id_card_no
469
+              }
470
+              that.$message({message: '读卡成功', type: 'success'})
471
+            }
472
+          })
473
+          .catch(function (error) {
474
+
475
+          });
476
+
477
+
478
+      },
479
+      getDictionaryDataConfig(module, filed_name) {
480
+        return getDictionaryDataConfig(module, filed_name)
481
+      },
482
+    show: function() {
483
+        this.visibility = true;
484
+        // this.form = Object.assign({}, this.resetForm)
485
+        this.form.id = 0;
486
+        this.form.settlement_value = '';
487
+        this.form.medical_insurance_card = '';
488
+        this.form.name = '';
489
+        this.form.gender = '';
490
+        this.form.medical_care = '';
491
+        this.form.birthda = '';
492
+        this.form.age = '';
493
+        this.form.id_card = '';
494
+        this.form.register = '';
495
+        this.form.doctor = '';
496
+        this.form.department = '';
497
+        this.form.registration_fee = '';
498
+        this.form.medical_expenses = '';
499
+        this.form.cost = '';
500
+        this.form.phone = '';
501
+        this.form.social_type = '';
502
+
503
+        this.form.p_type = 14;
504
+        this.form.sick_type = this.sick[0].id;
505
+        this.form.diagnosis = this.diagnoses[0].id;
506
+        this.form.id_card_type = 2;
507
+        this.form.certificates = 1
508
+
509
+        // this.form.name = patientInfo.name
510
+        // this.form.gender = patientInfo.gender
511
+        // this.form.age = patientInfo.age
512
+        // this.form.birthday = patientInfo.birthday
513
+        // this.form.phone = patientInfo.phone
514
+        // this.form.birthday = patientInfo.birthday
515
+        // this.form.id_card = patientInfo.id_card_no
516
+        // this.form.social_type = patientInfo.health_care_type
517
+        // if( this.form.social_type == 0){
518
+        //   this.form.social_type = ""
519
+        // }
520
+
521
+      },
522
+
523
+      hide: function () {
524
+        this.visibility = false;
525
+        this.$refs['formValue'].resetFields()
526
+      }, cancel: function (formName) {
527
+        this.$emit('cancel', this.getValue());
528
+        this.$refs['formValue'].resetFields()
529
+      },
530
+      confirm: function (formName) {
531
+        this.$refs['formValue'].validate((valid) => {
532
+          if (valid) {
533
+            let value = {};
534
+            value = this.getValue();
535
+            this.$emit('confirm', value)
536
+          }
537
+        })
538
+      },
539
+      getValue: function () {
540
+        let form = {};
541
+        form = this.form;
542
+        return form
543
+      }
544
+    }
545
+
546
+  }
547
+</script>
548
+
549
+<style lang="scss" scoped>
550
+  .registerDialog {
551
+
552
+  .el-form {
553
+    display: flex;
554
+    flex-wrap: wrap;
555
+  }
556
+
557
+  .el-form-item {
558
+    width: 50%;
559
+  }
560
+
561
+  }
562
+</style>

+ 537 - 0
src/xt_pages/hospitalStation/components/registerDialog9504.vue 查看文件

1
+<template>
2
+    <el-dialog width="854px" class="registerDialog" :title="titles" :visible.sync="visibility"
3
+               :close-on-click-modal="isClose"
4
+               :close-on-press-escape="isClose">
5
+
6
+        <el-form :model="form" :rules="rules" ref="formValue" label-width="100px">
7
+            <el-form-item label="患者姓名:" prop="name" >
8
+                <el-autocomplete
9
+                        class="checkSearch"
10
+                        popper-class="my-autocomplete"
11
+                        v-model="form.name"
12
+                        :fetch-suggestions="querySearchAsync"
13
+                        :trigger-on-focus="false"
14
+                        placeholder="请输入病人名字"
15
+                        @select="handleSelect"
16
+                        style="width:160px;"
17
+                >
18
+                    <i class="el-icon-search el-input__icon" slot="suffix"></i>
19
+                    <template slot-scope="{ item }">
20
+                        <div class="name">{{ item.name }}</div>
21
+                    </template>
22
+                </el-autocomplete>
23
+            </el-form-item>
24
+
25
+            <el-form-item label="性别:" prop="gender" >
26
+                <el-select v-model="form.gender" placeholder="请选择" style="width:100%;">
27
+                    <el-option
28
+                            v-for="item in sex"
29
+                            :key="item.value"
30
+                            :label="item.label"
31
+                            :value="item.value">
32
+                    </el-option>
33
+                </el-select>
34
+
35
+
36
+            </el-form-item>
37
+
38
+            <el-form-item label="年龄:" prop="age" >
39
+                <el-input v-model="form.age"></el-input>
40
+            </el-form-item>
41
+
42
+
43
+            <el-form-item label="出生日期:" prop="birthday" >
44
+                <el-date-picker v-model="form.birthday" type="date" format="yyyy-MM-dd"
45
+                                value-format="yyyy-MM-dd" placeholder="选择日期" style="width:100%;"></el-date-picker>
46
+            </el-form-item>
47
+
48
+            <el-form-item label="手机号码:" prop="phone">
49
+                <el-input v-model="form.phone"></el-input>
50
+            </el-form-item>
51
+
52
+
53
+            <el-form-item label="医疗类别:" prop="medical_care">
54
+                <el-select v-model="form.medical_care"  placeholder="请选择" style="width:100%;">
55
+                    <el-option
56
+                            v-for="(item,index) in medical_care"
57
+                            :key="index"
58
+                            :label="item.label"
59
+                            :value="item.value">
60
+                    </el-option>
61
+                </el-select>
62
+            </el-form-item>
63
+
64
+
65
+            <el-form-item label="证件类型:" prop="certificates" >
66
+                <el-select v-model="form.certificates" placeholder="请选择" style="width:100%;">
67
+                    <el-option
68
+                            v-for="item in certificates"
69
+                            :key="item.value"
70
+                            :label="item.label"
71
+                            :value="item.value">
72
+                    </el-option>
73
+                </el-select>
74
+            </el-form-item>
75
+
76
+            <el-form-item label="证件号码:" prop="id_card">
77
+                <el-input v-model="form.id_card"></el-input>
78
+            </el-form-item>
79
+
80
+
81
+
82
+
83
+            <el-form-item label="结算类型:">
84
+                <el-select v-model="form.settlement_value" placeholder="请选择" style="width:100%;">
85
+                    <el-option
86
+                            v-for="item in settlement"
87
+                            :key="item.value"
88
+                            :label="item.label"
89
+                            :value="item.value">
90
+                    </el-option>
91
+                </el-select>
92
+            </el-form-item>
93
+
94
+
95
+            <el-form-item label="社保类型:">
96
+                <el-select v-model="form.social_type" placeholder="请选择" style="width:100%;">
97
+                    <el-option
98
+                            v-for="item in medicalCare"
99
+                            :key="item.value"
100
+                            :label="item.label"
101
+                            :value="item.value">
102
+                    </el-option>
103
+                </el-select>
104
+            </el-form-item>
105
+
106
+
107
+            <el-form-item label="读卡类型:" prop="id_card_type">
108
+                <el-select v-model="form.id_card_type" placeholder="请选择">
109
+                    <el-option
110
+                            v-for="item in IDCardTypes"
111
+                            :key="item.value"
112
+                            :label="item.label"
113
+                            :value="item.value">
114
+                    </el-option>
115
+                </el-select>
116
+            </el-form-item>
117
+
118
+
119
+            <el-form-item class="specialFormItem" label="医保卡号:">
120
+                <div style="display:flex;">
121
+                    <el-input v-model="form.medical_insurance_card"></el-input>
122
+                    <el-button style="margin-left:10px;" type="primary" @click="reading" v-loading="read_loading">读卡</el-button>
123
+
124
+                </div>
125
+            </el-form-item>
126
+
127
+            <el-form-item label="挂号类型:" prop="register" >
128
+                <el-select v-model="form.register" placeholder="请选择" style="width:100%;" @change="changeRegister">
129
+                    <el-option
130
+                            v-for="item in register"
131
+                            :key="item.value"
132
+                            :label="item.label"
133
+                            :value="item.value">
134
+                    </el-option>
135
+                </el-select>
136
+            </el-form-item>
137
+            <el-form-item label="挂号费:">
138
+                <el-input readonly v-model="form.registration_fee"></el-input>
139
+            </el-form-item>
140
+            <el-form-item label="诊疗费:">
141
+                <el-input readonly v-model="form.medical_expenses"></el-input>
142
+            </el-form-item>
143
+
144
+            <el-form-item label="医生:" prop="doctor" >
145
+                <el-select v-model="form.doctor" placeholder="请选择" @change="changeDoctor">
146
+                    <el-option
147
+                            v-for="(item,index) in doctors"
148
+                            :key="index"
149
+                            :label="item.user_name"
150
+                            :value="item.admin_user_id">
151
+                    </el-option>
152
+                </el-select>
153
+            </el-form-item>
154
+
155
+            <el-form-item label="科室:" prop="department" >
156
+                <el-select v-model="form.department" placeholder="请选择">
157
+                    <el-option
158
+                            v-for="(item,index) in departments"
159
+                            :key="index"
160
+                            :label="item.name"
161
+                            :value="item.id">
162
+                    </el-option>
163
+                </el-select>
164
+            </el-form-item>
165
+        </el-form>
166
+
167
+        <span slot="footer" class="dialog-footer">
168
+    <el-button @click="cancel('formValue')">取 消</el-button>
169
+    <el-button type="primary" @click="confirm('formValue')">挂 号</el-button>
170
+  </span>
171
+    </el-dialog>
172
+
173
+</template>
174
+
175
+<script>
176
+  import {uParseTime} from "@/utils/tools";
177
+  import axios from 'axios'
178
+  import {PostSearch} from '@/api/patient'
179
+  import {getDictionaryDataConfig} from '@/utils/data'
180
+  export default {
181
+    name: 'registerDialog9504',
182
+
183
+    data() {
184
+
185
+      return {
186
+        read_loading:false,
187
+        registers: [
188
+          {value: 11, label: "普通门诊"},
189
+          {value: 12, label: '门诊挂号'},
190
+          {value: 13, label: "急诊"},
191
+          {value: 14, label: "门诊特殊病"},
192
+          {value: 15, label: "门诊统筹"},
193
+          {value: 16, label: "门诊慢性病"},
194
+          {value: 21, label: "普通住院"},
195
+        ],
196
+        medical_care:[
197
+          {value: 11, label: "普通门诊"},
198
+          {value: 12, label: '家庭通道'},
199
+          {value: 13, label: "门诊大病"},
200
+          {value: 14, label: "重疾特药"},
201
+          {value: 15, label: "门诊慢病"},
202
+          {value: 16, label: "门诊特检"},
203
+          {value: 17, label: "健康体检"},
204
+          {value: 18, label: "预防接种"},
205
+          {value: 19, label: "门诊输血"},
206
+          {value: 91, label: "新冠肺炎门诊"},
207
+        ],
208
+
209
+
210
+        form: {
211
+          id: '',
212
+          settlement_value: '',
213
+          medical_insurance_card: '',
214
+          name: '',
215
+          gender: '',
216
+          certificates: '',
217
+          p_type:'',
218
+          sick_type:'',
219
+          diagnosis:'',
220
+          medical_care: '',
221
+          birthday: '',
222
+          age: '',
223
+          id_card: '',
224
+          register: '',
225
+          doctor: '',
226
+          id_card_type: '',
227
+          department: '',
228
+          registration_fee: '',
229
+          medical_expenses: '',
230
+          cost: '',
231
+          phone: '',
232
+          social_type: '',
233
+        }, IDCardTypes: [{
234
+          value: 1,
235
+          label: '社保卡'
236
+        }],
237
+        settlement: [
238
+          {value: 1, label: '医保'},
239
+          {value: 2, label: '自费'},
240
+          {value: 3, label: '公费'},
241
+          {value: 4, label: '农保'},
242
+          {value: 5, label: '会员'},
243
+          {value: 6, label: '职工'},
244
+          {value: 7, label: '合同'}
245
+        ],
246
+        sex: [{
247
+          value: 1,
248
+          label: '男'
249
+        }, {
250
+          value: 2,
251
+          label: '女'
252
+        }],
253
+        certificates: [{
254
+          value: 1,
255
+          label: '内地身份证'
256
+        }, {
257
+          value: 2,
258
+          label: "社保卡"
259
+        }, {
260
+          value: 3,
261
+          label: "护照"
262
+        }, {
263
+          value: 4,
264
+          label: "军官证"
265
+        }, {
266
+          value: 5,
267
+          label: "台胞证"
268
+        }, {
269
+          value: 6,
270
+          label: "港澳地区身份证"
271
+        }],
272
+        medicalCare: [{
273
+          value: 1,
274
+          label: '职工基本医疗保险'
275
+        }, {
276
+          value: 2,
277
+          label: "公务员医疗补助"
278
+        }, {
279
+          value: 3,
280
+          label: "大额医疗费用补助"
281
+        }, {
282
+          value: 4,
283
+          label: "离休人员医疗"
284
+        }, {
285
+          value: 5,
286
+          label: "城乡居民基本医疗保险"
287
+        }, {
288
+          value: 6,
289
+          label: "城乡居民大病医疗保险"
290
+        }, {
291
+          value: 7,
292
+          label: "生育保险"
293
+        }],
294
+        register: [{
295
+          value: 1,
296
+          label: '普通'
297
+        }, {
298
+          value: 2,
299
+          label: "主治"
300
+        }, {
301
+          value: 3,
302
+          label: "主任"
303
+        }, {
304
+          value: 4,
305
+          label: "免收诊金"
306
+        }, {
307
+          value: 5,
308
+          label: "专家"
309
+        }],
310
+        rules: {
311
+          name: [{required: true, message: "患者姓名不能为空", trigger: 'blur'}],
312
+          gender: [{required: true, message: "患者性别不能为空", trigger: 'blur'}],
313
+          id_card: [{required: true, message: '证件号码不能为空', trigger: 'blur'}],
314
+          register: [{required: true, message: '请选择挂号类型', trigger: 'blur'}],
315
+          doctor: [{required: true, message: '请选择医生', trigger: 'blur'}],
316
+          department: [{required: true, message: '请填写科室', trigger: 'blur'}],
317
+          age: [{required: true, message: "患者年龄不能为空", trigger: 'blur'}],
318
+          birthday: [{required: true, message: "患者出生日期不能为空", trigger: 'blur'}],
319
+          certificates: [{required: true, message: "证件类型不能为空", trigger: 'change'}],
320
+          id_card_type: [{required: true, message: "读卡类型不能为空", trigger: 'change'}],
321
+          medical_care: [{required: true, message: "医疗类别不能为空", trigger: 'change'}],
322
+
323
+        },
324
+        visibility: false,
325
+        labelPosition: 'right',
326
+        isClose: false,
327
+        resetForm: {
328
+          settlement_value: '',
329
+          medical_insurance_card: '',
330
+          name: '',
331
+          gender: '',
332
+          certificates: '',
333
+          id_card_type: '',
334
+          medical_care: '',
335
+          birthday: '',
336
+          age: '',
337
+          id_card: '',
338
+          register: '',
339
+          doctor: '',
340
+          department: '',
341
+          registration_fee: '',
342
+          medical_expenses: '',
343
+          cost: '',
344
+          phone: '',
345
+          social_type: '',
346
+        },
347
+
348
+      }
349
+    },
350
+    props: {
351
+      departments:{
352
+        type: Array,
353
+      },
354
+      doctors:{
355
+        type: Array,
356
+      },
357
+      titles: {
358
+        type: String,
359
+        default: ''
360
+      },
361
+      formValue: {
362
+        type: Object
363
+      },
364
+      type: {
365
+        type: Number,
366
+        default: 1
367
+
368
+      },
369
+      isCreated: {
370
+        type: Number,
371
+        default: 1
372
+
373
+      },
374
+      sick: Array,
375
+      diagnoses: Array,
376
+    },
377
+    methods: {
378
+      changeDoctor() {
379
+        for (let i = 0; i < this.doctors.length; i++) {
380
+          if (this.doctors[i].admin_user_id == this.form.doctor) {
381
+            console.log(this.doctors[i].department_id);
382
+            this.form.department = this.doctors[i].department_id;
383
+            if(this.form.department == 0){
384
+
385
+              this.form.department = ""
386
+            }
387
+          }
388
+        }
389
+      },
390
+      changeRegister(value){
391
+        if (value != 4){
392
+          this.form.registration_fee = 10;
393
+          this.form.medical_expenses = 0
394
+        }else{
395
+          this.form.registration_fee = 0;
396
+          this.form.medical_expenses = 0
397
+        }
398
+      },
399
+      handleSelect(val) {
400
+        this.form.id = val.id;
401
+        this.form.name = val.name;
402
+        this.form.gender = val.gender;
403
+        this.form.age = val.age;
404
+        this.form.birthday = uParseTime(val.birthday, '{y}-{m}-{d}');
405
+        this.form.phone = val.phone;
406
+        this.form.id_card = val.id_card_no
407
+      },
408
+      querySearchAsync(keyword, cb) {
409
+        let key = '';
410
+        if (keyword != undefined) {
411
+          key = keyword
412
+        }
413
+        let searchArray = [];
414
+        PostSearch(key).then(response => {
415
+          if (response.data.state == 1) {
416
+            searchArray = response.data.data.patient;
417
+            cb(searchArray)
418
+          } else {
419
+            cb([])
420
+          }
421
+        })
422
+      },
423
+      reading() {
424
+
425
+        var that = this;
426
+        if (this.form.id_card_type.length == 0 || this.form.id_card_type == 0) {
427
+          this.$message.error("请先选择读卡类型");
428
+          return
429
+        }
430
+        let params = {
431
+          'id_card_type': this.form.id_card_type,
432
+          'admin_user_id':this.$store.getters.xt_user.user.id,
433
+
434
+        };
435
+        this.read_loading = true;
436
+        axios.get('http://127.0.0.1:9532/sz/api/readcard', {
437
+          params: params
438
+        })
439
+          .then(function (response) {
440
+            if (response.data.state == 0) {
441
+              that.read_loading = false;
442
+
443
+              that.$message.error(response.data.msg);
444
+              return false
445
+            } else {
446
+              that.read_loading = false;
447
+              var patient = response.data.data.patient;
448
+              if (that.form.id_card_type == 1) {
449
+                that.form.id = patient.id;
450
+                that.form.name = patient.name;
451
+                that.form.gender = patient.gender;
452
+                that.form.age = patient.age;
453
+                that.form.birthday = uParseTime(patient.birthday, '{y}-{m}-{d}');
454
+                that.form.phone = patient.phone;
455
+                that.form.id_card = patient.id_card_no;
456
+                that.form.medical_insurance_card = response.data.data.health_card_no
457
+              } else if (that.form.id_card_type == 2) {
458
+                this.form.id = patient.id;
459
+                that.form.name = patient.name;
460
+                that.form.gender = patient.gender;
461
+                that.form.age = patient.age;
462
+                that.form.birthday = uParseTime(patient.birthday, '{y}-{m}-{d}');
463
+                that.form.phone = patient.phone;
464
+                that.form.id_card = patient.id_card_no
465
+              }
466
+              that.$message({message: '读卡成功', type: 'success'})
467
+
468
+            }
469
+          })
470
+          .catch(function (error) {
471
+
472
+          });
473
+
474
+
475
+      },
476
+      getDictionaryDataConfig(module, filed_name) {
477
+        return getDictionaryDataConfig(module, filed_name)
478
+      },
479
+      show: function () {
480
+        this.form = Object.assign({}, this.resetForm);
481
+        // this.form.name = patientInfo.name
482
+        // this.form.gender = patientInfo.gender
483
+        // this.form.age = patientInfo.age
484
+        // this.form.birthday = patientInfo.birthday
485
+        // this.form.phone = patientInfo.phone
486
+        // this.form.birthday = patientInfo.birthday
487
+        // this.form.id_card = patientInfo.id_card_no
488
+        // this.form.social_type = patientInfo.health_care_type
489
+        this.form.id_card_type = 1;
490
+        this.form.certificates = 1;
491
+
492
+        // if( this.form.social_type == 0){
493
+        //   this.form.social_type = ""
494
+        //
495
+        // }
496
+        this.visibility = true
497
+
498
+      }, hide: function () {
499
+        this.visibility = false;
500
+        this.$refs['formValue'].resetFields()
501
+      }, cancel: function (formName) {
502
+        this.$emit('cancel', this.getValue());
503
+        this.$refs['formValue'].resetFields()
504
+      },
505
+      confirm: function (formName) {
506
+        this.$refs['formValue'].validate((valid) => {
507
+          if (valid) {
508
+            let value = {};
509
+            value = this.getValue();
510
+            this.$emit('confirm', value)
511
+          }
512
+        })
513
+      },
514
+      getValue: function () {
515
+        let form = {};
516
+        form = this.form;
517
+        return form
518
+      }
519
+    }
520
+
521
+  }
522
+</script>
523
+
524
+<style lang="scss" scoped>
525
+    .registerDialog {
526
+
527
+    .el-form {
528
+        display: flex;
529
+        flex-wrap: wrap;
530
+    }
531
+
532
+    .el-form-item {
533
+        width: 50%;
534
+    }
535
+
536
+    }
537
+</style>

+ 136 - 0
src/xt_pages/hospitalStation/components/saveRecordTemplate.vue 查看文件

1
+<template>
2
+    <el-dialog
3
+        title="保存病历模板"
4
+        width="600px"
5
+        :visible.sync="visible"
6
+        :before-close="_close"
7
+        class="recordDialog"
8
+    >
9
+        <el-form class="recordForm" :model="form"  ref="form" label-width="80px">
10
+            <el-form-item label="模板名称: " prop="name" style="width:100%;">
11
+                <el-input v-model="template_name" placeholder=""></el-input>
12
+            </el-form-item>
13
+            <el-form-item label="模板说明:" prop="name" style="width:100%;">
14
+                <el-input
15
+                type="textarea"
16
+                :rows="2"
17
+                placeholder="请输入内容"
18
+                v-model="template_remark">
19
+                </el-input>
20
+            </el-form-item>
21
+            <el-form-item label="创建人:" prop="name" style="width:49%;">
22
+                <span>{{user_name}}</span>
23
+            </el-form-item>
24
+            <el-form-item label="创建时间:" prop="name" style="width:49%;">
25
+                {{start_time}}
26
+            </el-form-item>
27
+        </el-form>
28
+        <div slot="footer" class="dialog-footer">
29
+            <el-button @click="hide">取 消</el-button>
30
+            <el-button type="primary"  @click="submitAction()">保 存</el-button>
31
+        </div>
32
+    </el-dialog>
33
+</template>
34
+
35
+<script>
36
+const moment = require('moment');
37
+import { SaveHisPatientCaseHistoryTemplate } from "@/api/project/project"
38
+export default {
39
+    data(){
40
+        return{
41
+            visible:false,
42
+            form:{
43
+                name:''
44
+            },
45
+            mode_type:"1",
46
+            textarea:"",
47
+            chief_conplain:"",
48
+            past_history:"",
49
+            history_of_present_illness:"",
50
+            personal_history:"",
51
+            family_history:"",
52
+            diagnostic:"",
53
+            mode_type:"",
54
+            start_time:"",
55
+            user_name:"",
56
+            template_name:"",
57
+            template_remark:"",
58
+            mode_status:0,
59
+            doctor_advice:'',
60
+            remark:''
61
+        }
62
+     },
63
+
64
+    methods:{
65
+        _close: function(done) {
66
+            // this.clear()
67
+            done()
68
+        },
69
+        clear: function() {
70
+            this.form.id = 0;
71
+            this.form.name = "";
72
+            this.form.intro = "";
73
+        },
74
+        show(obj) {
75
+         console.log("obj",obj);
76
+         this.chief_conplain= obj.chief_conplaint;
77
+         this.past_history = obj.past_history;
78
+         this.history_of_present_illness = obj.history_of_present_illness;
79
+         this.personal_history = obj.personal_history;
80
+         this.family_history = obj.family_history;
81
+         this.diagnostic = obj.diagnostic;
82
+         this.doctor_advice = obj.doctor_advice;
83
+         this.remark = obj.remark;
84
+         this.visible = true
85
+        },
86
+        hide() {
87
+            // this.clear()
88
+            this.visible = false
89
+        },
90
+
91
+        submitAction(){
92
+          var params = {
93
+             template_name:this.template_name,
94
+             template_remark:this.template_remark,
95
+             user_name:this.user_name,
96
+             record_date:this.start_time,
97
+             chief_conplain:this.chief_conplain,
98
+             past_history:this.past_history,
99
+             history_of_present_illness:this.history_of_present_illness,
100
+             personal_history:this.personal_history,
101
+             family_history:this.family_history,
102
+             diagnostic:this.diagnostic,
103
+             doctor_advice:this.doctor_advice,
104
+             remark:this.remark
105
+            };
106
+         console.log("params",params);
107
+
108
+          SaveHisPatientCaseHistoryTemplate(params).then(response=>{
109
+              if(response.data.state == 1){
110
+                 this.mode_status = 1;
111
+                 this.$message.success("保存成功");
112
+                 this.visible = false
113
+
114
+              }
115
+          })
116
+        }
117
+    },
118
+    created(){
119
+      this.start_time = moment().format("YYYY-MM-DD HH:mm:ss");
120
+      this.user_name = this.$store.getters.xt_user.user.user_name
121
+
122
+    }
123
+}
124
+</script>
125
+
126
+<style lang="scss" scoped>
127
+.recordForm{
128
+    display: flex;
129
+    flex-wrap: wrap;
130
+    .el-form-item{
131
+        width:24%;
132
+        margin-right: 1%;
133
+    }
134
+}
135
+</style>
136
+

+ 89 - 0
src/xt_pages/hospitalStation/components/saveTemplate.vue 查看文件

1
+<template>
2
+    <el-dialog
3
+        title="模板信息"
4
+        width="600px"
5
+        :visible.sync="visible"
6
+        :before-close="_close"
7
+    >
8
+        <div>
9
+            <el-form :model="form"  class="adviceForm" ref="form" label-width="100px" style="display: flex;flex-wrap: wrap;justify-content: space-between;">
10
+                <el-form-item label="创建人 : " style="width: 100%;margin-bottom:0;">
11
+                    医生
12
+                </el-form-item>
13
+                <el-form-item label="处方类型 : " style="width: 100%;margin-bottom:0;">
14
+                    药品模板
15
+                </el-form-item>
16
+                <el-form-item label="模板类型 : " style="width: 100%;margin-bottom:0;">
17
+                    <el-radio v-model="radio" label="1">临时</el-radio>
18
+                    <el-radio v-model="radio" label="2">长期</el-radio>
19
+                </el-form-item>
20
+                <el-form-item label="科室 : " style="width: 100%;">
21
+                    <el-select v-model="value" style="width:100%;" placeholder="请选择">
22
+                        <el-option
23
+                        v-for="item in options"
24
+                        :key="item.value"
25
+                        :label="item.label"
26
+                        :value="item.value">
27
+                        </el-option>
28
+                    </el-select>
29
+                </el-form-item>
30
+                <el-form-item label="模板名称 : " style="width: 100%;">
31
+                    <el-input v-model="form.name" placeholder=""></el-input>
32
+                </el-form-item>
33
+                <el-form-item label="模板说明 : " style="width: 100%;">
34
+                    <el-input v-model="form.name" placeholder=""></el-input>
35
+                </el-form-item>
36
+                <el-form-item label="诊断信息 : " style="width: 100%;">
37
+                    <el-input v-model="form.name" placeholder=""></el-input>
38
+                </el-form-item>
39
+                <el-form-item label="医嘱说明 : " style="width: 100%;">
40
+                    <el-input v-model="form.name" placeholder=""></el-input>
41
+                </el-form-item>
42
+                <el-form-item label="备注说明 : " style="width: 100%;">
43
+                    <el-input v-model="form.name" placeholder=""></el-input>
44
+                </el-form-item>
45
+            </el-form>
46
+        </div>
47
+        <div slot="footer" class="dialog-footer">
48
+            <el-button @click="hide">取 消</el-button>
49
+            <el-button type="primary" @click="submitAction()">保 存</el-button>
50
+        </div>
51
+    </el-dialog>         
52
+</template>
53
+
54
+<script>
55
+export default {
56
+    data(){
57
+        return{
58
+            visible:false,
59
+            form:{
60
+                name:''
61
+            },
62
+            radio:"1",
63
+            options:[],
64
+            value:''
65
+        }
66
+    },
67
+    methods:{
68
+        _close: function(done) {
69
+            // this.clear()
70
+            done()
71
+        },
72
+        clear: function() {
73
+            this.form.id = 0;
74
+            this.form.name = "";
75
+            this.form.intro = "";
76
+        },
77
+        show() {
78
+            // this.clear()
79
+            this.visible = true
80
+        },
81
+        hide() {
82
+            // this.clear()
83
+            this.visible = false
84
+        },
85
+    }
86
+}
87
+</script>
88
+
89
+

+ 96 - 0
src/xt_pages/hospitalStation/components/selectTemplate.vue 查看文件

1
+<template>
2
+    <el-dialog
3
+        title="选择模板"
4
+        width="1000px"
5
+        :visible.sync="visible"
6
+        :before-close="_close"
7
+    >
8
+        <div style="display:flex;">
9
+            <div style="width: 201px;">
10
+                <el-table :data="tableData" border height="300" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
11
+                    <el-table-column align="center" prop="name" label="处方类型" width="100">
12
+                        <template slot-scope="scope">{{ scope.row.date }}</template>
13
+                    </el-table-column>
14
+                    <el-table-column align="center" prop="name" label="模板名称" width="100">
15
+                        <template slot-scope="scope">{{ scope.row.date }}</template>
16
+                    </el-table-column>
17
+                </el-table> 
18
+            </div>
19
+            <el-table :data="tableData" border height="300" style="flex:1;margin-left:20px;" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
20
+                <el-table-column type="selection" width="55" align="center"></el-table-column>
21
+                <el-table-column align="center" prop="name" label="药品名称">
22
+                    <template slot-scope="scope">{{ scope.row.date }}</template>
23
+                </el-table-column>
24
+                <el-table-column align="center" prop="name" label="药品规格">
25
+                    <template slot-scope="scope">{{ scope.row.date }}</template>
26
+                </el-table-column>
27
+                <el-table-column align="center" prop="name" label="单次用量">
28
+                    <template slot-scope="scope">{{ scope.row.date }}</template>
29
+                </el-table-column>
30
+                <el-table-column align="center" prop="name" label="用法">
31
+                    <template slot-scope="scope">{{ scope.row.date }}</template>
32
+                </el-table-column>
33
+                <el-table-column align="center" prop="name" label="频率">
34
+                    <template slot-scope="scope">{{ scope.row.date }}</template>
35
+                </el-table-column>
36
+                <el-table-column align="center" prop="name" label="天数">
37
+                    <template slot-scope="scope">{{ scope.row.date }}</template>
38
+                </el-table-column>
39
+                <el-table-column align="center" prop="name" label="总量">
40
+                    <template slot-scope="scope">{{ scope.row.date }}</template>
41
+                </el-table-column>
42
+            </el-table> 
43
+        </div>
44
+        <div slot="footer" class="dialog-footer">
45
+            <el-button @click="hide">取 消</el-button>
46
+            <el-button type="primary"  @click="submitAction()">保 存</el-button>
47
+        </div>
48
+    </el-dialog>         
49
+</template>
50
+
51
+<script>
52
+export default {
53
+    data(){
54
+        return{
55
+            visible:false,
56
+            tableData: [{
57
+            date: '2016-05-02',
58
+            name: '王小虎',
59
+            address: '上海市普陀区金沙江路 1518 弄'
60
+            }, {
61
+            date: '2016-05-04',
62
+            name: '王小虎',
63
+            address: '上海市普陀区金沙江路 1517 弄'
64
+            }, {
65
+            date: '2016-05-01',
66
+            name: '王小虎',
67
+            address: '上海市普陀区金沙江路 1519 弄'
68
+            }, {
69
+            date: '2016-05-03',
70
+            name: '王小虎',
71
+            address: '上海市普陀区金沙江路 1516 弄'
72
+            }]
73
+        }
74
+    },
75
+    methods:{
76
+        _close: function(done) {
77
+            // this.clear()
78
+            done()
79
+        },
80
+        clear: function() {
81
+            this.form.id = 0;
82
+            this.form.name = "";
83
+            this.form.intro = "";
84
+        },
85
+        show() {
86
+            // this.clear()
87
+            this.visible = true
88
+        },
89
+        hide() {
90
+            // this.clear()
91
+            this.visible = false
92
+        },
93
+    }
94
+}
95
+</script>
96
+

+ 97 - 0
src/xt_pages/hospitalStation/components/templateDetail.vue 查看文件

1
+<template>
2
+    <el-dialog
3
+        title="详情"
4
+        width="1000px"
5
+        :visible.sync="visible"
6
+        :before-close="_close"
7
+    >
8
+        <el-table :data="tableData" border height="350" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
9
+            <el-table-column align="center" prop="name" label="类型">
10
+                <template slot-scope="scope">{{ scope.row.date }}</template>
11
+            </el-table-column>
12
+            <el-table-column align="center" prop="name" label="医嘱名称">
13
+                <template slot-scope="scope">{{ scope.row.date }}</template>
14
+            </el-table-column>
15
+            <el-table-column align="center" prop="name" label="组">
16
+                <template slot-scope="scope">{{ scope.row.date }}</template>
17
+            </el-table-column>
18
+            <el-table-column align="center" prop="name" label="每次量">
19
+                <template slot-scope="scope">{{ scope.row.date }}</template>
20
+            </el-table-column>
21
+            <el-table-column align="center" prop="name" label="单位/容量">
22
+                <template slot-scope="scope">{{ scope.row.date }}</template>
23
+            </el-table-column>
24
+            <el-table-column align="center" prop="name" label="用法">
25
+                <template slot-scope="scope">{{ scope.row.date }}</template>
26
+            </el-table-column>
27
+            <el-table-column align="center" prop="name" label="频率">
28
+                <template slot-scope="scope">{{ scope.row.date }}</template>
29
+            </el-table-column>
30
+            <el-table-column align="center" prop="name" label="天数">
31
+                <template slot-scope="scope">{{ scope.row.date }}</template>
32
+            </el-table-column>
33
+            <el-table-column align="center" prop="name" label="总量">
34
+                <template slot-scope="scope">{{ scope.row.date }}</template>
35
+            </el-table-column>
36
+            <el-table-column align="center" prop="name" label="限制说明">
37
+                <template slot-scope="scope">{{ scope.row.date }}</template>
38
+            </el-table-column>
39
+            <el-table-column align="center" prop="name" label="组套名称">
40
+                <template slot-scope="scope">{{ scope.row.date }}</template>
41
+            </el-table-column>
42
+        </el-table> 
43
+        <div slot="footer" class="dialog-footer">
44
+            <el-button @click="hide">取 消</el-button>
45
+            <el-button type="primary" :loading="submitLoading" @click="submitAction()">保 存</el-button>
46
+        </div>
47
+    </el-dialog>         
48
+</template>
49
+
50
+<script>
51
+export default {
52
+    data(){
53
+        return{
54
+            visible:false,
55
+            tableData: [{
56
+            date: '2016-05-02',
57
+            name: '王小虎',
58
+            address: '上海市普陀区金沙江路 1518 弄'
59
+            }, {
60
+            date: '2016-05-04',
61
+            name: '王小虎',
62
+            address: '上海市普陀区金沙江路 1517 弄'
63
+            }, {
64
+            date: '2016-05-01',
65
+            name: '王小虎',
66
+            address: '上海市普陀区金沙江路 1519 弄'
67
+            }, {
68
+            date: '2016-05-03',
69
+            name: '王小虎',
70
+            address: '上海市普陀区金沙江路 1516 弄'
71
+            }],
72
+            activeName:'first'
73
+        }
74
+    },
75
+    methods:{
76
+        _close: function(done) {
77
+            // this.clear()
78
+            done()
79
+        },
80
+        clear: function() {
81
+            this.form.id = 0;
82
+            this.form.name = "";
83
+            this.form.intro = "";
84
+        },
85
+        show() {
86
+            // this.clear()
87
+            this.visible = true
88
+        },
89
+        hide() {
90
+            // this.clear()
91
+            this.visible = false
92
+        },
93
+    }
94
+}
95
+</script>
96
+
97
+

+ 625 - 0
src/xt_pages/hospitalStation/costComparison.vue 查看文件

1
+<template>
2
+    <div class="main-contain incomeStatistics">
3
+        <div class="position">
4
+            <bread-crumb :crumbs='crumbs'></bread-crumb>
5
+        </div>
6
+        <div class="app-container">
7
+            <div style="display: flex;justify-content: space-between;margin-bottom:10px;">
8
+                <div>
9
+                    <el-input size="small" style="width:130px;" v-model="keywords"
10
+                              class="filter-item"/>
11
+                    <el-button size="small" style="margin-left:10px;" class="filter-item" type="primary"
12
+                               @click="searchAction">
13
+                        搜索
14
+                    </el-button>
15
+                    <el-date-picker v-model="query_start_time" prefix-icon="el-icon-date"
16
+                                    @change="handleStartTimeChange" :editable="false" :clearable="false"
17
+                                    style="width: 130px;" type="date" placeholder="选择开始日期"
18
+                                    format="yyyy-MM-dd"
19
+                                    value-format="yyyy-MM-dd"
20
+                                    align="right"></el-date-picker>
21
+                    -
22
+
23
+                    <el-date-picker v-model="query_end_time" prefix-icon="el-icon-date"
24
+                                    @change="handleEndTimeChange" :editable="false" :clearable="false"
25
+                                    style="width: 130px;margin-right:10px;" type="date" placeholder="选择结束日期"
26
+                                    format="yyyy-MM-dd"
27
+                                    value-format="yyyy-MM-dd"
28
+                                    align="right"></el-date-picker>
29
+
30
+
31
+                    <label class="title">险种<span class="name"></span> : </label>
32
+                    <el-select v-model="query_insutype" style="width:140px;margin-right:10px;" placeholder="请选择"
33
+                               @change="changeInsutype">
34
+                        <el-option
35
+                                v-for="item in insutypes"
36
+                                :key="item.value"
37
+                                :label="item.label"
38
+                                :value="item.value">
39
+                        </el-option>
40
+                    </el-select>
41
+
42
+
43
+                    <label class="title">清算类别<span class="name"></span> : </label>
44
+                    <el-select v-model="query_clr_type" style="width:100px;margin-right:10px;" placeholder="请选择"
45
+                               @change="changeClrType">
46
+                        <el-option
47
+                                v-for="item in clrOptions"
48
+                                :key="item.value"
49
+                                :label="item.label"
50
+                                :value="item.value">
51
+                        </el-option>
52
+                    </el-select>
53
+
54
+                </div>
55
+
56
+            </div>
57
+            <div style="float: right;margin-bottom: 10px">
58
+                <el-button size="small" type="primary" @click="dialogFormVisible = true">医保对账</el-button>
59
+                <el-button size="small" type="primary" @click="getFormData">下载对账报表</el-button>
60
+            </div>
61
+
62
+
63
+            <el-table :data="tableData" border style="width: 100%;" :row-style="{ color: '#303133' }"
64
+                      :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
65
+                      highlight-current-row
66
+                      @select="selectCostInfo"
67
+                      @selection-change="changeCostInfoTableData"
68
+                      @select-all="changeAllCostInfoTableData"
69
+                      row-key="row_key"
70
+                      ref="multipleTable"
71
+            >
72
+                <el-table-column
73
+                        align="center"
74
+                        type="selection"
75
+                        width="55"
76
+                ></el-table-column>
77
+                <el-table-column
78
+                        prop="date"
79
+                        label="序号"
80
+                        width="60"
81
+                        align="center"
82
+                        type="index"
83
+                >
84
+                </el-table-column>
85
+                <el-table-column align="center" prop="name" label="对账结果">
86
+                    <template slot-scope="scope">{{'平'}}</template>
87
+                </el-table-column>
88
+                <el-table-column align="center" prop="name" label="操作机构">
89
+                    <!--<template slot-scope="scope">{{// this.$store.getters.xt_user.org.org_name}}</template>-->
90
+                </el-table-column>
91
+                <el-table-column align="center" prop="name" label="对账申请人">
92
+                    <template slot-scope="scope">{{getName(scope.row.creator)}}</template>
93
+                </el-table-column>
94
+                <el-table-column align="center" prop="name" label="开始时间">
95
+                    <template slot-scope="scope">{{getTimes(scope.row.start_time)}}</template>
96
+                </el-table-column>
97
+                <el-table-column align="center" prop="name" label="结束时间">
98
+                    <template slot-scope="scope">{{getTimes(scope.row.end_time)}}</template>
99
+                </el-table-column>
100
+                <el-table-column align="center" prop="name" label="险种类型">
101
+                    <template slot-scope="scope">
102
+                        <div v-if="scope.row.insutype == '310'">职工基本医疗保险</div>
103
+                        <div v-if="scope.row.insutype == '320'">公务员医疗补助</div>
104
+                        <div v-if="scope.row.insutype == '330'">大额医疗费用补助</div>
105
+                        <div v-if="scope.row.insutype == '340'">离休人员医疗保障</div>
106
+                        <div v-if="scope.row.insutype == '390'">城乡居民基本医疗保险</div>
107
+                        <div v-if="scope.row.insutype == '392'">城乡居民大病医疗保险</div>
108
+                        <div v-if="scope.row.insutype == '510'">生育保险</div>
109
+                    </template>
110
+                </el-table-column>
111
+                <el-table-column align="center" prop="name" label="对账类型">
112
+                    <template slot-scope="scope">
113
+                        <div v-if="scope.row.check_type == 1">总账</div>
114
+                        <div v-if="scope.row.check_type == 2">明细</div>
115
+                    </template>
116
+                </el-table-column>
117
+                <el-table-column align="center" prop="name" label="清算经办机构">
118
+                    <template slot-scope="scope">{{getName(scope.row.creator)}}</template>
119
+                </el-table-column>
120
+                <el-table-column align="center" prop="name" label="定点医药机构医疗费总额(元)">
121
+                    <template slot-scope="scope">{{scope.row.setl_optins}}</template>
122
+                </el-table-column>
123
+                <el-table-column align="center" prop="name" label="医保中心医疗费总额(元)">
124
+                    <template slot-scope="scope">{{scope.row.cost_total}}</template>
125
+                </el-table-column>
126
+                <el-table-column align="center" prop="name" label="定点医药机构基金总额(元)">
127
+                    <template slot-scope="scope">{{scope.row.cost_total}}</template>
128
+                </el-table-column>
129
+                <el-table-column align="center" prop="name" label="医保中心基金总额(元)">
130
+                    <template slot-scope="scope">{{scope.row.func_total}}</template>
131
+                </el-table-column>
132
+                <el-table-column align="center" prop="name" label="定点医药机构个人账号总额(元)">
133
+                    <template slot-scope="scope">{{scope.row.func_total}}</template>
134
+                </el-table-column>
135
+                <el-table-column align="center" prop="name" label="医保中心个人账号总额(元)">
136
+                    <template slot-scope="scope">{{scope.row.psn_pay}}</template>
137
+                </el-table-column>
138
+                <el-table-column align="center" prop="name" label="定点医药机构结算笔数">
139
+                    <template slot-scope="scope">{{scope.row.psn_pay}}</template>
140
+                </el-table-column>
141
+                <el-table-column align="center" prop="name" label="医保中心结算笔数">
142
+                    <template slot-scope="scope">{{scope.row.num}}</template>
143
+                </el-table-column>
144
+
145
+            </el-table>
146
+            <el-pagination
147
+                    @size-change="handleSizeChange"
148
+                    @current-change="handleCurrentChange"
149
+                    :page-sizes="[10, 50, 100]"
150
+                    :page-size="10"
151
+                    background
152
+                    style="margin-top:20px;float: right"
153
+                    layout="total, sizes, prev, pager, next, jumper"
154
+                    :total="total"
155
+            >
156
+            </el-pagination>
157
+            <el-dialog title="医保对账" :visible.sync="dialogFormVisible">
158
+                <el-form :model="form" label-width="100px">
159
+                    <el-form-item label="时间" label-width="100px">
160
+                        <el-date-picker v-model="start_time" prefix-icon="el-icon-date"
161
+                                        @change="handleStartTimeChange" :editable="false" :clearable="false"
162
+                                        style="width: 200px;" type="date" placeholder="选择开始日期"
163
+                                        format="yyyy-MM-dd"
164
+                                        value-format="yyyy-MM-dd"
165
+                                        align="right"></el-date-picker>
166
+                        -
167
+
168
+                        <el-date-picker v-model="end_time" prefix-icon="el-icon-date"
169
+                                        @change="handleEndTimeChange" :editable="false" :clearable="false"
170
+                                        style="width: 200px;margin-right:10px;" type="date" placeholder="选择结束日期"
171
+                                        format="yyyy-MM-dd"
172
+                                        value-format="yyyy-MM-dd"
173
+                                        align="right"></el-date-picker>
174
+                    </el-form-item>
175
+                    <el-form-item label="险种类型" :label-width="formLabelWidth">
176
+                        <el-select v-model="insutype" placeholder="请选择" style="width: 200px;">
177
+                            <el-option
178
+                                    v-for="item in insutypes"
179
+                                    :key="item.value"
180
+                                    :label="item.label"
181
+                                    :value="item.value">
182
+                            </el-option>
183
+                        </el-select>
184
+                    </el-form-item>
185
+                    <el-form-item label="对账类型" :label-width="formLabelWidth">
186
+                        <el-select v-model="check_type" placeholder="请选择" style="width: 200px;">
187
+                            <el-option
188
+                                    v-for="item in options"
189
+                                    :key="item.value"
190
+                                    :label="item.label"
191
+                                    :value="item.value">
192
+                            </el-option>
193
+                        </el-select>
194
+                    </el-form-item>
195
+                </el-form>
196
+                <div slot="footer" class="dialog-footer">
197
+                    <el-button @click="dialogFormVisible = false">取 消</el-button>
198
+                    <el-button type="primary" @click="confirm">确 定</el-button>
199
+                </div>
200
+            </el-dialog>
201
+        </div>
202
+
203
+
204
+    </div>
205
+</template>
206
+
207
+
208
+<script>
209
+  import BreadCrumb from '@/xt_pages/components/bread-crumb'
210
+  import {
211
+    getCheckAccountFormData,
212
+    getDoctorList,
213
+    getExportConsumeDetailList,
214
+    getHisOrderList,
215
+    getList
216
+  } from '@/api/his/his'
217
+  import { uParseTime } from '@/utils/tools'
218
+  import { fetchAllAdminUsers } from '@/api/doctor'
219
+  import axios from 'axios'
220
+
221
+  export default {
222
+    components: {
223
+      BreadCrumb
224
+    },
225
+    data() {
226
+      return {
227
+        form: {},
228
+        crumbs: [
229
+          { path: false, name: '门诊收费' },
230
+          { path: false, name: '医保费用对照' }
231
+        ],
232
+        tableData: [],
233
+        limit: 10,
234
+        page: 1,
235
+        dialogFormVisible: false,
236
+        total: 0,
237
+        adminUserOptions: [],
238
+        start_time: '',
239
+        end_time: '',
240
+        insutype: '',
241
+        check_type: '',
242
+        keywords: '',
243
+        query_start_time: '',
244
+        query_end_time: '',
245
+        selection:[],
246
+        query_insutype: '',
247
+        query_clr_type: '',
248
+        fromData: [],
249
+        options: [
250
+          {
251
+            value: 1,
252
+            label: '总账'
253
+          }, {
254
+            value: 2,
255
+            label: '明细'
256
+          }
257
+        ],
258
+        clrOptions: [
259
+          {
260
+            value: '11',
261
+            label: '门诊'
262
+          }, {
263
+            value: '21',
264
+            label: '住院'
265
+          }, {
266
+            value: '41',
267
+            label: '药店购药'
268
+          }, {
269
+            value: '99',
270
+            label: '其他'
271
+          }
272
+        ],
273
+        insutypes: [
274
+          {
275
+            value: '310',
276
+            label: '职工基本医疗保险'
277
+          }, {
278
+            value: '320',
279
+            label: '公务员医疗补助'
280
+          }, {
281
+            value: '330',
282
+            label: '大额医疗费用补助'
283
+          }, {
284
+            value: '340',
285
+            label: '离休人员医疗保障'
286
+          },
287
+          {
288
+            value: '390',
289
+            label: '城乡居民基本医疗保险'
290
+          }, {
291
+            value: '392',
292
+            label: '城乡居民大病医疗保险'
293
+          }, {
294
+            value: '510',
295
+            label: '生育保险'
296
+          }
297
+
298
+          // 1617724800
299
+
300
+        ]
301
+
302
+      }
303
+    },
304
+    methods: {
305
+      changeInsutype() {
306
+        let params = {
307
+          'page': 1,
308
+          'limit': 10,
309
+          'keywords': this.keywords,
310
+          'insutype': this.query_insutype,
311
+          'clr_type': "11",
312
+          'start_time': this.query_start_time,
313
+          'end_time': this.query_end_time,
314
+        };
315
+        this.tableData = [];
316
+        getList(params).then(response => {
317
+          if (response.data.state == 0) {
318
+            this.$message.error(response.data.msg);
319
+            return false
320
+          } else {
321
+            this.tableData = response.data.data.list;
322
+            this.total = response.data.data.total
323
+          }
324
+        })
325
+
326
+      }, changeClrType(val) {
327
+        if (val != "11"){
328
+          this.tableData = [];
329
+          this.total = 0
330
+        }else{
331
+          let params = {
332
+            'page': 1,
333
+            'limit': 10,
334
+            'keywords': this.keywords,
335
+            'insutype': this.query_insutype,
336
+            'clr_type': "11",
337
+            'start_time': this.query_start_time,
338
+            'end_time': this.query_end_time,
339
+          };
340
+          this.tableData = [];
341
+          getList(params).then(response => {
342
+            if (response.data.state == 0) {
343
+              this.$message.error(response.data.msg);
344
+              return false
345
+            } else {
346
+              this.tableData = response.data.data.list;
347
+              this.total = response.data.data.total
348
+            }
349
+          })
350
+        }
351
+      },
352
+      handleStartTimeChange() {
353
+
354
+        let params = {
355
+          'page': 1,
356
+          'limit': 10,
357
+          'keywords': this.keywords,
358
+          'insutype': "",
359
+          'clr_type': "11",
360
+          'start_time': this.query_start_time,
361
+          'end_time': this.query_end_time,
362
+        };
363
+        this.tableData = [];
364
+        getList(params).then(response => {
365
+          if (response.data.state == 0) {
366
+            this.$message.error(response.data.msg);
367
+            return false
368
+          } else {
369
+            this.tableData = response.data.data.list;
370
+            this.total = response.data.data.total
371
+          }
372
+        })
373
+
374
+      }, handleEndTimeChange() {
375
+
376
+        let params = {
377
+          'page': 1,
378
+          'limit': 10,
379
+          'keywords': this.keywords,
380
+          'insutype': "",
381
+          'clr_type': "11",
382
+          'start_time': this.query_start_time,
383
+          'end_time': this.query_end_time,
384
+        };
385
+        this.tableData = [];
386
+        getList(params).then(response => {
387
+          if (response.data.state == 0) {
388
+            this.$message.error(response.data.msg);
389
+            return false
390
+          } else {
391
+            this.tableData = response.data.data.list;
392
+            this.total = response.data.data.total
393
+          }
394
+        })
395
+
396
+      },
397
+
398
+      searchAction() {
399
+        let params = {
400
+          'page': 1,
401
+          'limit': 10,
402
+          'keywords': this.keywords,
403
+          'insutype': "",
404
+          'clr_type': "11",
405
+          'start_time': "",
406
+          'end_time': "",
407
+        };
408
+        this.tableData = [];
409
+        getList(params).then(response => {
410
+          if (response.data.state == 0) {
411
+            this.$message.error(response.data.msg);
412
+            return false
413
+          } else {
414
+            this.tableData = response.data.data.list;
415
+            this.total = response.data.data.total
416
+          }
417
+        })
418
+
419
+      },
420
+      selectCostInfo(selection, row) {
421
+        this.selection = selection
422
+
423
+      }, changeCostInfoTableData(val) {
424
+        this.selection = val
425
+      }, changeAllCostInfoTableData(selection) {
426
+        this.selection = selection
427
+
428
+
429
+      }, confirm() {
430
+        if (this.check_type == 1) {
431
+          let params = {
432
+            start_time: this.start_time,
433
+            end_time: this.end_time,
434
+            insutype: this.insutype,
435
+            clr_type: '11'
436
+          };
437
+          var that = this;
438
+          if (this.$store.getters.xt_user.org_id == 4 || this.$store.getters.xt_user.org_id == 9919 || this.$store.getters.xt_user.org_id == 10106 || this.$store.getters.xt_user.org_id == 9990 ) {
439
+            axios.get('http://127.0.0.1:9532/api/checkaccount/get', {
440
+              params: params
441
+            })
442
+              .then(function(response) {
443
+                if (response.data.state == 0) {
444
+                  that.$message.error(response.data.msg);
445
+                  return false
446
+                } else {
447
+                  var result_desc = '';
448
+
449
+                  if (response.data.data.stmt_rslt == 0) {
450
+                    result_desc = '对账平'
451
+                  } else if (response.data.data.stmt_rslt == 1) {
452
+                    result_desc = '中心多' + '\n' + response.data.data.stmt_rslt_dscr
453
+
454
+                  } else if (response.data.data.stmt_rslt == 2) {
455
+                    result_desc = '机构多' + '\n' + response.data.data.stmt_rslt_dscr
456
+                  }
457
+
458
+                  that.$alert(result_desc, '对账结果', {
459
+                    confirmButtonText: '确定',
460
+                    callback: action => {
461
+                      this.dialogFormVisible = false
462
+                    }
463
+                  });
464
+
465
+                  that.page = 1;
466
+                  that.limit = 10;
467
+                  that.keywords = '';
468
+                  that.query_start_time = '';
469
+                  that.query_end_time = '';
470
+                  that.query_insutype = '';
471
+                  that.query_clr_type = '';
472
+                  that.getList()
473
+                }
474
+              })
475
+              .catch(function(error) {
476
+
477
+              })
478
+
479
+          }
480
+
481
+        } else {
482
+          let params = {
483
+            start_time: this.start_time,
484
+            end_time: this.end_time
485
+          };
486
+          var that = this;
487
+          axios.get('http://127.0.0.1:9532/api/checkdetailaccount/get', {
488
+            params: params
489
+          })
490
+            .then(function(response) {
491
+              if (response.data.state == 0) {
492
+                that.$message.error(response.data.msg);
493
+                return false
494
+              } else {
495
+                this.page = 1;
496
+                this.limit = 10;
497
+                this.keywords = '';
498
+                this.getList()
499
+              }
500
+            })
501
+            .catch(function(error) {
502
+
503
+            })
504
+        }
505
+      },
506
+      getInsutype(type) {
507
+
508
+      },
509
+      fetchAllAdminUsers() {
510
+        fetchAllAdminUsers().then(response => {
511
+          if (response.data.state == 1) {
512
+            this.adminUserOptions = response.data.data.users
513
+
514
+          }
515
+        })
516
+      },
517
+      getName(admin_user_id) {
518
+        for (let i = 0; i < this.adminUserOptions.length; i++) {
519
+          if (this.adminUserOptions[i].id == admin_user_id) {
520
+            return this.adminUserOptions[i].name
521
+          }
522
+        }
523
+
524
+      },
525
+      getTimes(time) {
526
+        return uParseTime(time, '{y}-{m}-{d}')
527
+      },
528
+      getList() {
529
+        let params = {
530
+          'page': this.page,
531
+          'limit': this.limit,
532
+          'keywords': this.keywords,
533
+          'insutype': this.query_insutype,
534
+          'clr_type': this.query_clr_type,
535
+          'start_time': this.query_start_time,
536
+          'end_time': this.query_end_time
537
+        };
538
+        this.tableData = [];
539
+        getList(params).then(response => {
540
+          if (response.data.state == 0) {
541
+            this.$message.error(response.data.msg);
542
+            return false
543
+          } else {
544
+            this.tableData = response.data.data.list;
545
+            this.total = response.data.data.total
546
+          }
547
+        })
548
+
549
+      },
550
+      handleSizeChange(limit) {
551
+        this.limit = limit;
552
+        this.getList()
553
+      },
554
+      handleCurrentChange(page) {
555
+        this.page = page;
556
+        this.getList()
557
+
558
+      }, getFormData() {
559
+        if (this.selection.length == 0) {
560
+          this.$message.error('请选择要下载的对账记录');
561
+          return
562
+        }
563
+
564
+        let params = {
565
+          'start_time': this.getTimes(this.selection[0].start_time),
566
+          'end_time': this.getTimes(this.selection[0].end_time),
567
+          'insutype': this.selection[0].insutype
568
+        };
569
+        getCheckAccountFormData(params).then(response => {
570
+          if (response.data.state == 0) {
571
+            this.$message.error(response.data.msg);
572
+            return false
573
+          } else {
574
+            this.fromData = response.data.data.list;
575
+            var list = [];
576
+
577
+            for (let i = 0; i < this.fromData.length; i++) {
578
+              let obj = {
579
+                '结算金额': this.fromData[i].medfee_sumamt,
580
+                '姓名': this.fromData[i].psn_name,
581
+                '身份证': this.fromData[i].id_card_no,
582
+                '个人编号': this.fromData[i].psn_no,
583
+                '门诊流水号': this.fromData[i].mdtrt_id,
584
+                '挂号日期': this.getTimes(this.fromData[i].settle_accounts_date),
585
+                '起付线': this.fromData[i].act_pay_dedc,
586
+                '统筹基金': this.fromData[i].fund_pay_sumamt,
587
+                '个人支付': this.fromData[i].psn_cash_pay,
588
+                '个账支付': this.fromData[i].acct_pay,
589
+                '现金支付': this.fromData[i].cash_pay,
590
+                '总费用': this.fromData[i].sumamt,
591
+                '冲销标志': '已结算'
592
+              };
593
+              list.push(obj)
594
+            }
595
+            var insutype_name = '';
596
+            if (this.query_insutype == '310') {
597
+              insutype_name = '职工基本医疗保险'
598
+            } else if (this.query_insutype == '390') {
599
+              insutype_name = '城乡居民基本医疗保险'
600
+            }
601
+
602
+            import('@/vendor/Export2Excel').then(excel => {
603
+              const tHeader = ['结算金额', '姓名', '身份证', '个人编号', '门诊流水号', '挂号日期', '起付线', '统筹基金', '个人支付', '个账支付', '现金支付', '总费用', '冲销标志'];
604
+              const filterVal = ['结算金额', '姓名', '身份证', '个人编号', '门诊流水号', '挂号日期', '起付线', '统筹基金', '个人支付', '个账支付', '现金支付', '总费用', '冲销标志'];
605
+              const data = this.formatJson(filterVal, list);
606
+              excel.export_json_to_excel({
607
+                header: tHeader,
608
+                data,
609
+                filename:this.getTimes(this.selection[0].start_time)+ '~' + this.getTimes(this.selection[0].end_time)+ insutype_name + '对账报表'
610
+              })
611
+            })
612
+          }
613
+        })
614
+
615
+      }, formatJson(filterVal, jsonData) {
616
+        return jsonData.map(v => filterVal.map(j => v[j]))
617
+      }
618
+    },
619
+    created() {
620
+      this.getList();
621
+      this.fetchAllAdminUsers()
622
+
623
+    }
624
+  }
625
+</script>

文件差異過大導致無法顯示
+ 2287 - 0
src/xt_pages/hospitalStation/doctorDesk.vue


+ 329 - 0
src/xt_pages/hospitalStation/incomeStatistics.vue 查看文件

1
+<template>
2
+  <div class="main-contain incomeStatistics">
3
+    <div class="position">
4
+      <bread-crumb :crumbs='crumbs'></bread-crumb>
5
+    </div>
6
+    <div class="app-container">
7
+      <div style="display: flex;justify-content: space-between;margin-bottom:10px;">
8
+        <div>
9
+          <el-input size="small" style="width:150px;"  v-model="keywords"
10
+                    class="filter-item"/>
11
+          <el-button size="small" style="margin-left:10px;" class="filter-item" type="primary" @click="searchAction">
12
+            搜索
13
+          </el-button>
14
+          <el-select size="small" v-model="admin_user_id" placeholder="请选择" style="width:150px;margin-left:10px;" @change="changeDoctor">
15
+            <el-option
16
+              label="全部"
17
+              value="0">
18
+            </el-option>
19
+            <el-option
20
+              v-for="(item,index) in type"
21
+              :key="index"
22
+              :label="item.user_name"
23
+              :value="item.admin_user_id">
24
+            </el-option>
25
+          </el-select>
26
+          <el-date-picker size="small" v-model="start_time" prefix-icon="el-icon-date"
27
+                          @change="handleStartTimeChange" :editable="false" :clearable="false"
28
+                          style="width: 196px;margin-right:10px;" type="date" placeholder="选择开始日期"
29
+                          format="yyyy-MM-dd"
30
+                          value-format="yyyy-MM-dd"
31
+                          align="right"></el-date-picker>
32
+
33
+          <el-date-picker size="small" v-model="end_time" prefix-icon="el-icon-date"
34
+                          @change="handleEndTimeChange" :editable="false" :clearable="false"
35
+                          style="width: 196px;margin-right:10px;" type="date" placeholder="选择结束日期"
36
+                          format="yyyy-MM-dd"
37
+                          value-format="yyyy-MM-dd"
38
+                          align="right"></el-date-picker>
39
+          <!--<el-radio v-model="radio" label="1">明细</el-radio>-->
40
+          <!--<el-radio v-model="radio" label="2">汇总</el-radio>-->
41
+        </div>
42
+        <el-button size="small" type="primary" @click="export_detail">报表下载</el-button>
43
+      </div>
44
+      <el-table :data="tableData" border style="width: 100%;" :row-style="{ color: '#303133' }"
45
+                :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
46
+        <el-table-column
47
+          prop="date"
48
+          label="序号"
49
+          width="60"
50
+          align="center"
51
+          type="index"
52
+        >
53
+        </el-table-column>
54
+        <el-table-column align="center" prop="name" label="收费日期">
55
+          <template slot-scope="scope">{{ scope.row.selt_time }}</template>
56
+        </el-table-column>
57
+
58
+
59
+        <el-table-column align="center" prop="name" label="患者名字">
60
+          <template slot-scope="scope">{{ scope.row.psn_name }}</template>
61
+        </el-table-column>
62
+        <!--<el-table-column align="center" prop="name" label="患者类型">-->
63
+          <!--<template slot-scope="scope"></template>-->
64
+        <!--</el-table-column>-->
65
+        <el-table-column align="center" prop="name" label="总金额">
66
+          <template slot-scope="scope">{{scope.row.medfee_sumamt}}</template>
67
+        </el-table-column>
68
+
69
+        <el-table-column align="center" prop="name" label="总金额">
70
+          <template slot-scope="scope">{{scope.row.medfee_sumamt}}</template>
71
+        </el-table-column>
72
+
73
+
74
+
75
+        <el-table-column align="center" prop="name" label="实收金额">
76
+          <template slot-scope="scope">{{scope.row.reality_price}}</template>
77
+        </el-table-column>
78
+        <el-table-column align="center" prop="name" label="科室">
79
+          <template slot-scope="scope">{{scope.row.p_info.department.name}}</template>
80
+        </el-table-column>
81
+        <el-table-column align="center" prop="name" label="收费日期">
82
+          <template slot-scope="scope">  {{getTimes(scope.row.settle_accounts_date)}}</template>
83
+        </el-table-column>
84
+        <el-table-column align="center" prop="name" label="收费员">
85
+          <template slot-scope="scope">{{ scope.row.p_info.doctor }}</template>
86
+        </el-table-column>
87
+        <el-table-column align="center" prop="name" label="状态">
88
+          <template slot-scope="scope">
89
+            <div v-if="scope.row.order_status == 1">待结算</div>
90
+            <div v-if="scope.row.order_status == 2">已结算</div>
91
+            <div v-if="scope.row.order_status == 3">已退费</div>
92
+          </template>
93
+        </el-table-column>
94
+        <el-table-column align="center" prop="name" label="操作">
95
+          <template slot-scope="scope">
96
+            <el-button size="mini" type="primary" @click="toDetail(scope.row)">详情</el-button>
97
+          </template>
98
+        </el-table-column>
99
+      </el-table>
100
+      <el-pagination
101
+        @size-change="handleSizeChange"
102
+        @current-change="handleCurrentChange"
103
+        :page-sizes="[10, 50, 100]"
104
+        :page-size="10"
105
+        background
106
+        style="margin-top:20px;float: right"
107
+        layout="total, sizes, prev, pager, next, jumper"
108
+        :total="total"
109
+
110
+      >
111
+      </el-pagination>
112
+    </div>
113
+
114
+
115
+  </div>
116
+</template>
117
+
118
+
119
+<script>
120
+  import BreadCrumb from '@/xt_pages/components/bread-crumb'
121
+  import { getHisOrderList,getDoctorList,getExportConsumeDetailList } from '@/api/his/his'
122
+  import { uParseTime } from '@/utils/tools'
123
+
124
+  export default {
125
+    components: {
126
+      BreadCrumb
127
+    },
128
+    data() {
129
+      return {
130
+        crumbs: [
131
+          { path: false, name: '门诊收费' },
132
+          { path: false, name: '项目消费明细汇总' }
133
+        ],
134
+        tableData: [],
135
+        limit:10,
136
+        page:1,
137
+        keywords:"",
138
+        start_time:"",
139
+        end_time:"",
140
+        total:"",
141
+        doctors:[],
142
+        admin_user_id:"",
143
+
144
+      }
145
+    },
146
+    methods: {
147
+      export_detail(){
148
+        let params= {
149
+          start_time:this.start_time,
150
+          end_time: this.end_time,
151
+        };
152
+        getExportConsumeDetailList(params).then(response => {
153
+          if (response.data.state == 0) {
154
+            this.$message.error(response.data.msg);
155
+            return false
156
+          } else {
157
+
158
+            let list = [];
159
+            for (let i =0; i < response.data.data.order.length; i++){
160
+            let order =   response.data.data.order[i];
161
+              let number = "";
162
+              let name = "";
163
+              let department = "";
164
+              let doctor_name = "";
165
+              let balance_accounts = "";
166
+
167
+              let order_status = "";
168
+
169
+
170
+
171
+              if(order.his_patient != null && order.his_patient.number.length > 0){
172
+                number = order.his_patient.number
173
+
174
+              }
175
+
176
+              if(order.his_patient != null ){
177
+                if(order.his_patient.balance_accounts_type == 1){
178
+                  balance_accounts = "自费"
179
+                }
180
+
181
+                if(order.his_patient.balance_accounts_type == 2){
182
+                  balance_accounts = "医保"
183
+                }
184
+              }
185
+
186
+              if(order.patient != null && order.patient.name.length > 0){
187
+                name = order.patient.name
188
+
189
+              }
190
+
191
+              if(order.p_info != null && order.p_info.department != null && order.p_info.department.name.length > 0){
192
+                department = order.p_info.department.name
193
+
194
+              }
195
+
196
+              if(order.p_info != null && order.p_info.doctor.length > 0){
197
+                doctor_name = order.p_info.doctor
198
+              }
199
+
200
+              if(order.order_status == 1){
201
+                order_status = "待结算"
202
+              }
203
+
204
+              if(order.order_status == 2){
205
+                order_status = "已结算"
206
+              }
207
+
208
+              if(order.order_status == 3){
209
+                order_status = "已退费"
210
+              }
211
+
212
+
213
+              let obj = {
214
+                "就诊号":number,
215
+                "患者姓名":name,
216
+                "应收金额":order.medfee_sumamt,
217
+                "实收金额":order.medfee_sumamt,
218
+                "科室":department,
219
+                "医生姓名":doctor_name,
220
+                "收费类别":balance_accounts,
221
+                "收费者姓名":doctor_name,
222
+                "总金额":order.medfee_sumamt,
223
+                "现金支付":"",
224
+                "账户支付":"",
225
+                "支付宝支付":"",
226
+                "微信支付":"",
227
+                "其他支付":"",
228
+                "收费日期":"",
229
+                "收费状态":order_status,
230
+                "退费日期":"",
231
+              };
232
+              list.push(obj)
233
+            }
234
+            import('@/vendor/Export2Excel').then(excel => {
235
+              const tHeader = ['就诊号', '患者姓名', '应收金额', '实收金额', '科室',"医生姓名","收费类别","收费者姓名","总金额","现金支付","账户支付","支付宝支付","微信支付","其他支付","收费日期","收费状态","退费日期"];
236
+              const filterVal = ['就诊号', '患者姓名', '应收金额', '实收金额', '科室',"医生姓名","收费类别","收费者姓名","总金额","现金支付","账户支付","支付宝支付","微信支付","其他支付","收费日期","收费状态","退费日期"];
237
+              const data = this.formatJson(filterVal, list);
238
+              excel.export_json_to_excel({
239
+                header: tHeader,
240
+                data,
241
+                filename: "消费明细"
242
+              })
243
+            })
244
+
245
+          }
246
+        })
247
+
248
+      },  formatJson(filterVal, jsonData) {
249
+        return jsonData.map(v => filterVal.map(j => v[j]))
250
+      },
251
+      changeDoctor(){
252
+        this.page = 1;
253
+        this.keywords="";
254
+        this.getHisOrderList()
255
+      },
256
+      handleSizeChange(limit){
257
+        this.limit = limit;
258
+        this.getHisOrderList()
259
+
260
+      },handleCurrentChange(page){
261
+        this.page = page;
262
+        this.getHisOrderList()
263
+
264
+
265
+      },
266
+      handleStartTimeChange(){
267
+        this.page = 1;
268
+        this.keywords="";
269
+        this.getHisOrderList()
270
+      },handleEndTimeChange(){
271
+        this.page = 1;
272
+        this.keywords="";
273
+        this.getHisOrderList()
274
+      },
275
+      searchAction(){
276
+        this.page = 1;
277
+        this.getHisOrderList()
278
+
279
+
280
+      },
281
+      getTimes(time) {
282
+        return uParseTime(time, "{y}-{m}-{d}");
283
+      },
284
+      toDetail(row) {
285
+        this.$router.push('/outpatientCharges/summaryDetail?patient_id='+row.patient.id+"&number="+row.number)
286
+      }, getTime(value, temp) {
287
+        if (value != undefined) {
288
+          return uParseTime(value, temp)
289
+        }
290
+        return ''
291
+      },getHisOrderList(){
292
+        let params= {
293
+          page : this.page,
294
+          limit: this.limit,
295
+          keywords:this.keywords,
296
+          start_time:this.start_time,
297
+          end_time: this.end_time,
298
+          type: this.admin_user_id
299
+        };
300
+        getHisOrderList(params).then(response => {
301
+          if (response.data.state == 0) {
302
+            this.$message.error(response.data.msg);
303
+            return false
304
+          } else {
305
+            this.tableData = response.data.data.order;
306
+            this.total = response.data.data.total
307
+          }
308
+        })
309
+
310
+      },getDoctorList(){
311
+        getDoctorList().then(response => {
312
+          if (response.data.state == 0) {
313
+            this.$message.error(response.data.msg);
314
+            return false
315
+          } else {
316
+            this.doctors = response.data.data.doctors
317
+          }
318
+        })
319
+
320
+
321
+      }
322
+    }, created() {
323
+     this.getDoctorList();
324
+     this.getHisOrderList()
325
+
326
+
327
+    }
328
+  }
329
+</script>

+ 694 - 0
src/xt_pages/hospitalStation/index.vue 查看文件

1
+<template>
2
+  <div class="main-contain">
3
+    <div class="position">
4
+      <bread-crumb :crumbs='crumbs'></bread-crumb>
5
+    </div>
6
+
7
+    <div class="app-container">
8
+      <div class="nameTitle">患者基本信息:</div>
9
+      <div class="formMain">
10
+        <el-form class="basicForm" :model="form" :rules="rules" ref="form" label-width="100px">
11
+
12
+
13
+          <el-form-item label="患者姓名:" prop="name" :validate-event="is_Name">
14
+            <el-autocomplete
15
+              class="checkSearch"
16
+              popper-class="my-autocomplete"
17
+              v-model="form.name"
18
+              :fetch-suggestions="querySearchAsync"
19
+              :trigger-on-focus="false"
20
+              placeholder="请输入病人名字"
21
+              @select="handleSelect"
22
+              style="width:160px;"
23
+            >
24
+              <i class="el-icon-search el-input__icon" slot="suffix"></i>
25
+              <template slot-scope="{ item }">
26
+                <div class="name">{{ item.name }}</div>
27
+              </template>
28
+            </el-autocomplete>
29
+          </el-form-item>
30
+
31
+
32
+          <el-form-item label="手机号码:" prop="phone">
33
+            <el-input v-model="form.phone"></el-input>
34
+          </el-form-item>
35
+
36
+
37
+          <el-form-item label="证件类型:" prop="certificates" :validate-event="is_Name">
38
+            <el-select v-model="form.certificates" placeholder="请选择">
39
+              <el-option
40
+                v-for="item in certificates"
41
+                :key="item.value"
42
+                :label="item.label"
43
+                :value="item.value">
44
+              </el-option>
45
+            </el-select>
46
+          </el-form-item>
47
+
48
+          <el-form-item label="证件号码:" prop="id_card_no" :validate-event="is_Name">
49
+            <el-input v-model="form.id_card_no"></el-input>
50
+          </el-form-item>
51
+
52
+
53
+          <el-form-item label="读卡类型:" prop="id_card_type" :validate-event="is_Name">
54
+            <el-select v-model="form.id_card_type" placeholder="请选择">
55
+              <el-option
56
+                v-for="item in IDCardTypes"
57
+                :key="item.value"
58
+                :label="item.label"
59
+                :value="item.value">
60
+              </el-option>
61
+            </el-select>
62
+          </el-form-item>
63
+
64
+          <!--<el-form-item class="specialFormItem" label="医保卡号:">-->
65
+          <!--<div style="display:flex;">-->
66
+          <!--<el-input v-model="form.medicalInsuranceCard"></el-input>-->
67
+          <!--<el-button style="margin-left:10px;" type="primary" @click="reading">读卡</el-button>-->
68
+          <!--</div>-->
69
+          <!--</el-form-item>-->
70
+
71
+        </el-form>
72
+      </div>
73
+      <div class="nameTitle">患者住院信息:</div>
74
+      <div class="formMain">
75
+        <el-form class="basicForm" :model="form" :rules="rules" ref="form" label-width="100px">
76
+
77
+          <el-form-item label="疾病类型:" prop="sick_type" :validate-event="is_Name">
78
+            <el-select v-model="form.sick_type" placeholder="">
79
+              <el-option
80
+                v-for="(item,index) in sick"
81
+                :key="index"
82
+                :label="item.class_name"
83
+                :value="item.id">
84
+              </el-option>
85
+            </el-select>
86
+          </el-form-item>
87
+
88
+          <el-form-item label="诊断:" prop="diagnosis" :validate-event="is_Name">
89
+            <el-select v-model="form.diagnosis" placeholder="">
90
+              <el-option
91
+                v-for="(item,index) in diagnoses"
92
+                :key="index"
93
+                :label="item.class_name"
94
+                :value="item.id">
95
+              </el-option>
96
+            </el-select>
97
+          </el-form-item>
98
+
99
+          <el-form-item label="医疗类别:" prop="med_type" :validate-event="is_Name">
100
+            <el-select v-model="form.med_type" placeholder=""
101
+            >
102
+              <el-option
103
+                v-for="(item,index) in registers"
104
+                :key="index"
105
+                :label="item.label"
106
+                :value="item.value">
107
+              </el-option>
108
+            </el-select>
109
+          </el-form-item>
110
+
111
+
112
+          <el-form-item label="主治医生:" prop="doctor" :validate-event="is_Name">
113
+            <el-select v-model="form.doctor" placeholder="请选择" @change="changeDoctor">
114
+              <el-option
115
+                v-for="item in doctorList"
116
+                :key="item.admin_user_id"
117
+                :label="item.user_name"
118
+                :value="item.admin_user_id">
119
+              </el-option>
120
+            </el-select>
121
+          </el-form-item>
122
+          <el-form-item label="入院科室:" prop="department" :validate-event="is_Name">
123
+            <el-select v-model="form.department" placeholder="请选择">
124
+              <el-option
125
+                v-for="item in departmentList"
126
+                :key="item.id"
127
+                :label="item.name"
128
+                :value="item.id">
129
+              </el-option>
130
+            </el-select>
131
+          </el-form-item>
132
+
133
+
134
+          <el-form-item label="入院时间:" prop="start_time" :validate-event="is_Name">
135
+            <el-date-picker v-model="form.start_time" type="datetime" format="yyyy-MM-dd HH:mm:ss"
136
+                            value-format="yyyy-MM-dd HH:mm:ss"
137
+                            placeholder="请选择入院时间">
138
+            </el-date-picker>
139
+
140
+          </el-form-item>
141
+
142
+        </el-form>
143
+        <el-button style="float:right" @click="saveHisPatient('form')" v-loading="loadingone" type="primary">登记
144
+        </el-button>
145
+      </div>
146
+
147
+    </div>
148
+  </div>
149
+</template>
150
+
151
+<script>
152
+  import {PostSearch} from '@/api/patient'
153
+  import BreadCrumb from '@/xt_pages/components/bread-crumb'
154
+  import {basename} from 'path'
155
+  import {
156
+    getAllDoctorList,
157
+    getPatientDetail,
158
+    getTodaySchedulePatient,
159
+    getUnRegisterHisPatientList,
160
+    saveHisPatient
161
+  } from '@/api/project/project'
162
+  import {getDictionaryDataConfig} from '@/utils/data'
163
+  import {jsGetAge, uParseTime} from '@/utils/tools'
164
+  import {getInitData} from '@/api/his/his'
165
+  import axios from 'axios'
166
+
167
+  const moment = require('moment');
168
+  export default {
169
+    components: {
170
+      BreadCrumb
171
+    },
172
+    data() {
173
+      return {
174
+        record_date:"",
175
+        loadingone: false,
176
+        read_loading: false,
177
+        registers: [
178
+          {value: 11, label: '普通门诊'},
179
+          {value: 12, label: '门诊挂号'},
180
+          {value: 13, label: '急诊'},
181
+          {value: 14, label: '门诊特殊病'},
182
+          {value: 15, label: '门诊统筹'},
183
+          {value: 16, label: '门诊慢性病'},
184
+          {value: 21, label: '普通住院'}
185
+
186
+        ],
187
+        sick: [],
188
+        diagnoses: [],
189
+        crumbs: [
190
+          {path: false, name: '住院工作站'},
191
+          {path: false, name: '住院登记'}
192
+        ],
193
+        form: {
194
+          start_time: '',
195
+          id: 0,
196
+          sick_type: '',
197
+          diagnosis: '',
198
+          medicalInsuranceCard: '',
199
+          name: '',
200
+          certificates: 1,
201
+          id_card_no: '',
202
+          doctor: '',
203
+          department: '',
204
+          phone: '',
205
+          id_card_type: 2,
206
+          med_type: '',
207
+
208
+        },
209
+
210
+
211
+        certificates: [{
212
+          value: 1,
213
+          label: '内地身份证'
214
+        }, {
215
+          value: 2,
216
+          label: '社保卡'
217
+        }, {
218
+          value: 3,
219
+          label: '护照'
220
+        }, {
221
+          value: 4,
222
+          label: '军官证'
223
+        }, {
224
+          value: 5,
225
+          label: '台胞证'
226
+        }, {
227
+          value: 6,
228
+          label: '港澳地区身份证'
229
+        }],
230
+
231
+        IDCardTypes: [{
232
+          value: 1,
233
+          label: '社保卡'
234
+        }, {
235
+          value: 2,
236
+          label: '身份证'
237
+        }, {
238
+          value: 3,
239
+          label: '电子凭证'
240
+        }],
241
+        rules: {
242
+          name: [{required: true, message: '患者姓名不能为空', trigger: 'blur'}],
243
+          id_card_no: [{required: true, message: '证件号码不能为空', trigger: 'blur'}],
244
+          doctor: [{required: true, message: '请选择医生', trigger: 'blur'}],
245
+          department: [{required: true, message: '请填写科室', trigger: 'blur'}],
246
+          certificates: [{required: true, message: '证件类型不能为空', trigger: 'change'}],
247
+          id_card_type: [{required: true, message: '读卡类型不能为空', trigger: 'change'}],
248
+          med_type: [{required: true, message: '医疗类别不能为空', trigger: 'change'}],
249
+          sick_type: [{required: true, message: '大病类别不能为空', trigger: 'change'}],
250
+          diagnosis: [{required: true, message: '诊断不能为空', trigger: 'change'}],
251
+          start_time: [{required: true, message: '入院时间不能为空', trigger: 'change'}]
252
+
253
+        },
254
+        doctorList: [],
255
+        departmentList: [],
256
+        check: 0,
257
+        show: false,
258
+        is_Name: false,
259
+        patient: [],
260
+        scialType: []
261
+      }
262
+    },
263
+
264
+    methods: {
265
+
266
+      handleSelect(val) {
267
+        this.form.id = val.id;
268
+        this.form.name = val.name;
269
+        this.form.sex = val.gender;
270
+        this.form.age = val.age;
271
+        this.form.birthday = uParseTime(val.birthday, '{y}-{m}-{d}');
272
+        this.form.phone = val.phone;
273
+        this.form.id_card_no = val.id_card_no;
274
+
275
+        var thisLen = this.form.id_card_no.length;
276
+        var birth = '';
277
+        if (thisLen == 15) {
278
+          birth = '19' + this.form.id_card_no.substr(6, 6)
279
+        } else {
280
+          birth = this.form.id_card_no.substr(6, 8)
281
+        }
282
+        var births =
283
+          birth.substr(0, 4) +
284
+          '-' +
285
+          birth.substr(4, 2) +
286
+          '-' +
287
+          birth.substr(6, 2);
288
+        this.form.age = jsGetAge(births, '-')
289
+      },
290
+      querySearchAsync(keyword, cb) {
291
+        let key = '';
292
+        if (keyword != undefined) {
293
+          key = keyword
294
+        }
295
+        let searchArray = [];
296
+        PostSearch(key).then(response => {
297
+          if (response.data.state == 1) {
298
+            searchArray = response.data.data.patient;
299
+            cb(searchArray)
300
+          } else {
301
+            cb([])
302
+          }
303
+        })
304
+      },
305
+
306
+
307
+      // reading(medicalInsuranceCard) {
308
+      //   var that = this
309
+      //   if (this.form.id_card_type.length == 0 || this.form.id_card_type == 0) {
310
+      //     this.$message.error('请先选择读卡类型')
311
+      //     return
312
+      //   }
313
+      //   let params = {
314
+      //     'id_card_type': this.form.id_card_type
315
+      //   }
316
+      //   axios.get('http://127.0.0.1:9532/api/sscard', {
317
+      //     params: params
318
+      //   })
319
+      //     .then(function(response) {
320
+      //       if (response.data.state == 0) {
321
+      //         that.$message.error(response.data.msg)
322
+      //         return false
323
+      //       } else {
324
+      //         var patient = response.data.data.patient
325
+      //
326
+      //         if (that.form.id_card_type == 1) {
327
+      //           that.form.name = patient.ID
328
+      //           that.form.sex = patient.gender
329
+      //           that.form.age = patient.age
330
+      //           that.form.birthday = uParseTime(patient.birthday, '{y}-{m}-{d}')
331
+      //           that.form.phone = patient.phone
332
+      //           that.form.id_card_no = patient.id_card_no
333
+      //           that.form.medicalInsuranceCard = response.data.data.number
334
+      //
335
+      //         } else if (that.form.id_card_type == 2) {
336
+      //           that.form.name = patient.ID
337
+      //           that.form.sex = patient.gender
338
+      //           that.form.age = patient.age
339
+      //           that.form.birthday = uParseTime(patient.birthday, '{y}-{m}-{d}')
340
+      //           that.form.phone = patient.phone
341
+      //           that.form.id_card_no = patient.id_card_no
342
+      //         }
343
+      //         that.$message({ message: '读卡成功', type: 'success' })
344
+      //       }
345
+      //     })
346
+      //     .catch(function(error) {
347
+      //
348
+      //     })
349
+      //
350
+      // },
351
+      getBirthday(date) {
352
+        console.log(date);
353
+        let curTime = moment(new Date(date)).format('YYYY-MM-DD');
354
+        console.log('curTime22222', curTime);
355
+
356
+        console.log(this.jsGetAge(curTime));
357
+
358
+        this.form.age = this.jsGetAge(curTime)
359
+      },
360
+      jsGetAge(strBirthday) { //传入形式yyyy-MM-dd
361
+        //strBirthday = util.formatTime(strBirthday);转换成yyyy-MM-dd形式
362
+        var returnAge;
363
+        var strBirthdayArr = strBirthday.split('-');
364
+        var birthYear = strBirthdayArr[0];
365
+        var birthMonth = strBirthdayArr[1];
366
+        var birthDay = strBirthdayArr[2];
367
+        var d = new Date();
368
+        var nowYear = d.getFullYear();
369
+        var nowMonth = d.getMonth() + 1;
370
+        var nowDay = d.getDate();
371
+        if (nowYear == birthYear) {
372
+          returnAge = 0 //同年 则为0岁
373
+        } else {
374
+          var ageDiff = nowYear - birthYear; //年之差
375
+          if (ageDiff > 0) {
376
+            if (nowMonth == birthMonth) {
377
+              var dayDiff = nowDay - birthDay; //日之差
378
+              if (dayDiff < 0) {
379
+                returnAge = ageDiff - 1
380
+              } else {
381
+                returnAge = ageDiff
382
+              }
383
+            } else {
384
+              var monthDiff = nowMonth - birthMonth; //月之差
385
+              if (monthDiff < 0) {
386
+                returnAge = ageDiff - 1
387
+              } else {
388
+                returnAge = ageDiff
389
+              }
390
+            }
391
+          } else {
392
+            returnAge = -1 //返回-1 表示出生日期输入错误 晚于今天
393
+          }
394
+        }
395
+        return returnAge //返回周岁年龄
396
+      },
397
+      getForm() {
398
+        this.form.total = this.total;
399
+        if (localStorage.getItem('temp')) {
400
+          let a = JSON.parse(localStorage.getItem('temp'));
401
+          // let arr = []
402
+          this.form.create_time = new Date(new Date().toLocaleDateString()).getTime() / 1000;
403
+          this.form.org_id = this.$store.getters.xt_user.org_id;
404
+          a.push(this.form);
405
+          console.log(111, a);
406
+          localStorage.setItem('temp', JSON.stringify(a));
407
+          Object.keys(this.form).forEach((key) => {
408
+            this.form[key] = ''
409
+          });
410
+          this.$message({message: '添加成功', type: 'success'})
411
+        } else {
412
+          let arr = [];
413
+          this.form.create_time = new Date(new Date().toLocaleDateString()).getTime() / 1000;
414
+          this.form.org_id = this.$store.getters.xt_user.org_id;
415
+          arr.push(this.form);
416
+          localStorage.setItem('temp', JSON.stringify(arr));
417
+          Object.keys(this.form).forEach((key) => {
418
+            this.form[key] = ''
419
+          });
420
+          this.$message({message: '添加成功', type: 'success'})
421
+        }
422
+      },
423
+
424
+      getAllDoctorList() {
425
+        getAllDoctorList().then(response => {
426
+          if (response.data.state == 1) {
427
+            var doctor = response.data.data.doctor;
428
+            this.doctorList = doctor;
429
+            var department = response.data.data.department;
430
+            this.departmentList = department
431
+          }
432
+        })
433
+      },
434
+      saveHisPatient(formName) {
435
+        if (this.form.name == '') {
436
+          this.$message.error('患者姓名不能为空');
437
+          this.is_Name = true;
438
+          return
439
+        }
440
+
441
+
442
+        if (this.form.doctor == '') {
443
+          this.$message.error('医生不能为空');
444
+          this.is_Name = true;
445
+          return
446
+        }
447
+
448
+        if (this.form.department == '') {
449
+          this.$message.error('科室不能为空');
450
+          this.is_Name = true;
451
+          return
452
+        }
453
+
454
+        if (this.form.id_card_type == '') {
455
+          this.$message.error('读卡类型不能为空');
456
+          this.is_Name = true;
457
+          return
458
+        }
459
+
460
+        if (this.form.id_card_no == '') {
461
+          this.$message.error('证件号码不能为空');
462
+          this.is_Name = true;
463
+          return
464
+        }
465
+
466
+        if (this.form.med_type == '') {
467
+          this.$message.error('医疗类别不能为空');
468
+          this.is_Name = true;
469
+          return
470
+        }
471
+
472
+        if (this.form.diagnosis == '') {
473
+          this.$message.error('诊断不能为空');
474
+          this.is_Name = true;
475
+          return
476
+        }
477
+
478
+        if (this.form.sick_type == '') {
479
+          this.$message.error('大病类别不能为空');
480
+          this.is_Name = true;
481
+          return
482
+        }
483
+
484
+
485
+        if (this.form.start_time == '') {
486
+          this.$message.error('入院时间不能为空');
487
+          this.is_Name = true;
488
+          return
489
+        }
490
+
491
+        this.$refs[formName].validate((valid) => {
492
+          if (valid) {
493
+            if (this.form.costChecked == true) {
494
+              this.check = 1
495
+            }
496
+            if (this.form.costChecked == false) {
497
+              this.check = 2
498
+            }
499
+            if (this.form.id_card_no == '') {
500
+              this.show = true
501
+            }
502
+            var nowDate = new Date();
503
+            var nowYear = nowDate.getFullYear();
504
+            var nowMonth = nowDate.getMonth() + 1;
505
+            var nowDay = nowDate.getDate();
506
+            this.record_date =
507
+              nowYear +
508
+              '-' +
509
+              (nowMonth < 10 ? '0' + nowMonth : nowMonth) +
510
+              '-' +
511
+              (nowDay < 10 ? '0' + nowDay : nowDay);
512
+
513
+            var params = {
514
+              id: this.form.id,
515
+              name: this.form.name,
516
+              id_card_type: this.form.id_card_type,
517
+              certificates: this.form.certificates,
518
+              id_card_no: this.form.id_card_no,
519
+              doctor: this.form.doctor,
520
+              department: this.form.department,
521
+              phone: this.form.phone,
522
+              med_type: this.form.med_type,
523
+              diagnosis: this.form.diagnosis,
524
+              sick_type: this.form.sick_type,
525
+              start_time: this.form.start_time,
526
+            };
527
+            params['record_time'] = this.record_date;
528
+            params['admin_user_id'] = this.$store.getters.xt_user.user.id;
529
+            this.loadingone = true;
530
+
531
+            var that = this;
532
+
533
+            axios.get('http://127.0.0.1:9532/zh/api/inhopitalcheck/get', {
534
+              params: params,
535
+              headers: {
536
+                'Permission': 5
537
+              }
538
+            })
539
+              .then(function (response) {
540
+                if (response.data.state == 0) {
541
+                  that.$message.error(response.data.msg);
542
+                  that.loadingone = false;
543
+                  return false
544
+                } else {
545
+                  that.loadingone = false;
546
+                  if (response.data.data.failed_code == -10) {
547
+                    // that.$message.error(response.data.data.msg)
548
+                    that.$confirm(response.data.data.msg, '医保错误信息', {
549
+                      confirmButtonText: '确 定',
550
+                      type: 'warning'
551
+                    }).then(() => {
552
+
553
+                    }).catch(() => {
554
+                    })
555
+                  } else {
556
+                    that.$message({message: '登记成功', type: 'success'});
557
+                    that.form.name = '';
558
+                    that.form.certificates = '';
559
+                    that.form.id_card_no = '';
560
+                    that.form.doctor = '';
561
+                    that.form.department = '';
562
+                    that.form.phone = '';
563
+                    that.form.med_type = 14;
564
+                    that.form.sick_type = that.sick[0].id;
565
+                    that.form.diagnosis = that.diagnoses[0].id
566
+                  }
567
+                }
568
+              })
569
+              .catch(function (error) {
570
+
571
+              })
572
+          }
573
+        })
574
+      },
575
+      getDictionaryDataConfig(module, filed_name) {
576
+        return getDictionaryDataConfig(module, filed_name)
577
+      },
578
+
579
+      changeDoctor(id) {
580
+        for (let i = 0; i < this.doctorList.length; i++) {
581
+          if (this.doctorList[i].admin_user_id == id) {
582
+            if (this.doctorList[i].department_id == 0) {
583
+              this.form.department = this.departmentList[0].id
584
+            } else {
585
+              this.form.department = this.doctorList[i].department_id
586
+            }
587
+
588
+          }
589
+        }
590
+      },
591
+      changeName(id) {
592
+        this.form.sex = '';
593
+        this.form.age = '';
594
+        this.form.birthday = '';
595
+        this.form.phone = '';
596
+        this.form.id_card_no = '';
597
+        getPatientDetail(id).then(response => {
598
+          if (response.data.state == 1) {
599
+            var patient = response.data.data.patient;
600
+            console.log('patient', patient);
601
+            this.form.sex = patient.gender;
602
+            this.form.age = patient.age;
603
+            this.form.birthday = uParseTime(patient.birthday, '{y}-{m}-{d}');
604
+            this.form.phone = patient.phone;
605
+            this.form.id_card_no = patient.id_card_no
606
+          }
607
+        })
608
+      }, getInitData() {
609
+        getInitData().then(response => {
610
+          if (response.data.state == 0) {
611
+            this.$message.error(response.data.msg);
612
+            return false
613
+          } else {
614
+            this.doctors = response.data.data.doctors;
615
+            this.department = response.data.data.department;
616
+            this.sick = response.data.data.sick;
617
+            this.diagnoses = response.data.data.diagnose;
618
+
619
+            this.form.p_type = 14;
620
+            this.form.sick_type = this.sick[0].id;
621
+            this.form.diagnosis = this.diagnoses[0].id
622
+
623
+          }
624
+        })
625
+
626
+      }
627
+
628
+    },
629
+    created() {
630
+
631
+      if (this.$store.getters.xt_user.org_id == 9504 || this.$store.getters.xt_user.org_id == 10028) {
632
+        this.form.certificates = 2;
633
+        this.form.id_card_type = 1
634
+      } else {
635
+        this.form.certificates = 1;
636
+        this.form.id_card_type = 2
637
+      }
638
+
639
+      this.getInitData();
640
+      //获取当前机构有人员信息
641
+      this.getAllDoctorList()
642
+    }
643
+  }
644
+</script>
645
+
646
+<style lang="scss" scoped>
647
+  .nameTitle {
648
+    font-weight: bold;
649
+    font-size: 16px;
650
+  }
651
+
652
+  .formMain {
653
+    /*/ / padding: 10 px 90 px;*/
654
+    width: 80%;
655
+    margin: 0 auto;
656
+  }
657
+
658
+  .basicForm {
659
+
660
+    display: flex;
661
+    flex-wrap: wrap;
662
+    justify-content: space-between;
663
+
664
+  .el-form-item {
665
+    width: 33%;
666
+  }
667
+
668
+  .specialFormItem {
669
+    width: 66.5%;
670
+
671
+  .el-input {
672
+    min-width: 150px;
673
+  }
674
+
675
+  }
676
+  .el-select {
677
+    width: 100%;
678
+  }
679
+
680
+  .el-input {
681
+    width: 100%;
682
+  }
683
+
684
+  }
685
+  .el-form-item__error {
686
+    color: #F56C6C;
687
+    font-size: 12px;
688
+    line-height: 1;
689
+    padding-top: 4px;
690
+    position: absolute;
691
+    top: 100%;
692
+    left: 0;
693
+  }
694
+</style>

+ 152 - 0
src/xt_pages/hospitalStation/invoicePrint.vue 查看文件

1
+<template>
2
+  <div>
3
+    <template>
4
+      <el-button
5
+        style="position:fixed;right:25px;z-index:999"
6
+        :loading="loading"
7
+        size="small"
8
+        icon="el-icon-printer"
9
+        @click="printThisPage"
10
+        type="primary"
11
+        >打印</el-button
12
+      >
13
+    </template>
14
+    <div class="app-container" style="padding-top:40px;">
15
+        <div class='dialysisPage'>
16
+            <printOne :paramsObj="invoiceParams"></printOne>
17
+        </div>
18
+    </div>
19
+  </div>
20
+</template>
21
+
22
+<script>
23
+import printOne from './invoiceTemplate/printOne'
24
+export default {
25
+  name: "invoicePrint",
26
+  components: {
27
+    printOne
28
+  },
29
+  props:{
30
+    invoiceParams:Object
31
+  },
32
+  data() {
33
+    return {
34
+      childResponse: {},
35
+    //   invoiceParams:{}
36
+      
37
+
38
+    };
39
+  },
40
+  methods: {
41
+    getAdminUser(id) {
42
+      if (id == 0) {
43
+        return "";
44
+      }
45
+      if (id == undefined) {
46
+        return "";
47
+      }
48
+      for (let i = 0; i < this.adminUser.length; i++) {
49
+        if (this.adminUser[i].id == id) {
50
+          return this.adminUser[i].name;
51
+        }
52
+      }
53
+    },
54
+    getTime(value, temp) {
55
+      if (value == 0) {
56
+        return "";
57
+      }
58
+      if (value != undefined) {
59
+        return uParseTime(value, temp);
60
+      }
61
+      return "";
62
+    },
63
+    printThisPage() {
64
+
65
+      const style =
66
+        '@media print {#invoice-print{font-size:12px;}.printTitle{font-size: 22px;text-align: center;font-weight: bold;}.infoMain{display: flex;flex-wrap: wrap;padding:0 10px;margin-top:10px;}.infoMain .infoP{width: 33%;}.chargeBox{border: 1px solid #000;}.chargeUl{display:flex;justify-content: space-between;text-align: center;}.chargeUl p{line-height: 1px;}.chargeP{line-height: 1px;padding-bottom:16px;}.moneyBox{display: flex;justify-content: space-between;padding: 0 10px;background: #eeeeee;-webkit-print-color-adjust:exact;-moz-print-color-adjust:exact;-ms-print-color-adjust:exact;print-color-adjust:exact;height: 40px;align-items: center;border:1px solid #000; border-top:none}.actionBar{display: flex;justify-content: space-between; line-height: 24px;padding:0 10px;}.actionBar div{width:150px;}}';
67
+        printJS({
68
+            printable: "invoice-print",
69
+            type: "html",
70
+            style: style,
71
+            scanStyles: false
72
+        });
73
+
74
+      // if (this.org_template_info.template_id == 1) {
75
+      //   printJS({
76
+      //     printable: "dialysis-print-box",
77
+      //     type: "html",
78
+      //     style: style,
79
+      //     scanStyles: false
80
+      //   });
81
+      // }
82
+    },
83
+  },
84
+  created() {
85
+      console.log('this.invoiceParams',this.invoiceParams)
86
+  },
87
+  watch:{
88
+    paramsObj:{//深度监听,可监听到对象、数组的变化
89
+      handler(val, oldVal){
90
+        this.invoiceParams = val
91
+        
92
+      },
93
+      deep:true
94
+    }
95
+  }
96
+};
97
+</script>
98
+
99
+<style lang="scss" scoped>
100
+.printTitle{
101
+    font-size: 22px;
102
+    text-align: center;
103
+    font-weight: bold;
104
+}
105
+.infoMain{
106
+    display: flex;
107
+    flex-wrap: wrap;
108
+    border-bottom: 2px solid #000;
109
+    padding:0 10px;
110
+}
111
+.infoMain .infoP{
112
+    width: 33%;
113
+    line-height: 24px;
114
+}
115
+.prescriptionBox{
116
+    padding:0 10px;
117
+    height:600px;
118
+}
119
+.Rp{
120
+    font-size: 22px;
121
+    font-weight: bold;
122
+}
123
+.drugsBox{
124
+    padding-left: 40px;
125
+    margin-bottom: 10px;
126
+}
127
+.drugsBox p{
128
+    line-height: 30px;
129
+}
130
+.drugsOne{
131
+    line-height: 24px;
132
+}
133
+.drugsOne span{
134
+    margin-right: 20px;
135
+}
136
+.doctorBox{
137
+    display: flex;
138
+    justify-content: space-between;
139
+    padding:0 10px;
140
+    line-height: 24px;
141
+    border-bottom: 2px solid #000;
142
+}
143
+.actionBar{
144
+    display: flex;
145
+    justify-content: space-between; 
146
+    line-height: 24px;
147
+    padding:0 10px;
148
+}
149
+.actionBar p{
150
+    width:150px;
151
+}
152
+</style>

+ 0 - 0
src/xt_pages/hospitalStation/invoiceTemplate/printOne.vue 查看文件


部分文件因文件數量過多而無法顯示