Ver código fonte

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

XMLWAN 4 anos atrás
pai
commit
24fd9c4756
51 arquivos alterados com 9076 adições e 393 exclusões
  1. 8 0
      src/api/advice.js
  2. 18 0
      src/api/config.js
  3. 9 10
      src/api/data.js
  4. 4 5
      src/api/dialysis.js
  5. 1 1
      src/api/his/his.js
  6. 9 11
      src/api/stock.js
  7. 20 0
      src/router/modules/dialysis.js
  8. 12 2
      src/store/modules/temp_params.js
  9. 101 40
      src/xt_pages/data/basicConfig.vue
  10. 2 4
      src/xt_pages/data/components/addDrugs.vue
  11. 29 3
      src/xt_pages/data/components/drugs.vue
  12. 28 9
      src/xt_pages/data/druguseTemplate.vue
  13. 24 5
      src/xt_pages/dialysis/PatientBox.vue
  14. 8 11
      src/xt_pages/dialysis/bloodPresssWatch.vue
  15. 8 4
      src/xt_pages/dialysis/details/DialysisPrescription.vue
  16. 2 2
      src/xt_pages/dialysis/details/assessmentAfter.vue
  17. 9 1
      src/xt_pages/dialysis/details/dialog/AssessmentAfterDislysis.vue
  18. 9 2
      src/xt_pages/dialysis/details/dialog/DoctorAdviceDialog.vue
  19. 9 4
      src/xt_pages/dialysis/details/dialog/adviceDialog/AddGroupAdvice.vue
  20. 23 2
      src/xt_pages/dialysis/details/dialog/assessmentBeforeDislysisDialog.vue
  21. 89 23
      src/xt_pages/dialysis/details/dialog/dialysisPrescriptionDialog.vue
  22. 45 36
      src/xt_pages/dialysis/details/dialog/monitor_dialog.vue
  23. 10 9
      src/xt_pages/dialysis/details/dialysisMonitoring.vue
  24. 10 7
      src/xt_pages/dialysis/details/index.vue
  25. 731 0
      src/xt_pages/dialysis/dialysisDoctorAdvice.vue
  26. 109 0
      src/xt_pages/dialysis/dialysisPrintOrder.vue
  27. 519 0
      src/xt_pages/dialysis/doctorAdvicePrint.vue
  28. 14 20
      src/xt_pages/dialysis/template/DialysisPrintOrderFourteen.vue
  29. 7 1
      src/xt_pages/dialysis/template/DialysisPrintOrderTen.vue
  30. 2497 0
      src/xt_pages/dialysis/template/DialysisPrintOrderTwentyEight.vue
  31. 2257 0
      src/xt_pages/dialysis/template/DialysisPrintOrderTwentySeven.vue
  32. 2166 0
      src/xt_pages/dialysis/template/DialysisPrintOrderTwentySix.vue
  33. 1 1
      src/xt_pages/dialysis/template/dialysisPrintOrderTwelve.vue
  34. 99 60
      src/xt_pages/outpatientDoctorStation/components/deskPrescription.vue
  35. 4 4
      src/xt_pages/outpatientDoctorStation/doctorDesk.vue
  36. 0 6
      src/xt_pages/stock/Dialog/goodInfoDailog.vue
  37. 4 0
      src/xt_pages/stock/selfPreparedMedicine/components/addMedicine.vue
  38. 2 1
      src/xt_pages/stock/selfPreparedMedicine/components/warehouseOut.vue
  39. 1 1
      src/xt_pages/stock/stockInOrderAdd.vue
  40. 1 1
      src/xt_pages/stock/stockOutOrderAdd.vue
  41. 7 2
      src/xt_pages/stock/stockQuery.vue
  42. 49 71
      src/xt_pages/upload/fast/FastCountry.vue
  43. 1 1
      src/xt_pages/upload/fast/FastPatientsSidebar.vue
  44. 17 7
      src/xt_pages/upload/fast/Two.vue
  45. 2 2
      src/xt_pages/upload/fast_upload.vue
  46. 2 1
      src/xt_pages/user/components/EditGroupAdvice.vue
  47. 4 1
      src/xt_pages/user/dialysisSolution.vue
  48. 23 3
      src/xt_pages/workforce/components/ScheduleItem.vue
  49. 19 4
      src/xt_pages/workforce/components/tableData.vue
  50. 43 12
      src/xt_pages/workforce/components/tableWeeks.vue
  51. 10 3
      src/xt_pages/workforce/remind_print.vue

+ 8 - 0
src/api/advice.js Ver arquivo

@@ -494,3 +494,11 @@ export function GetLastOrNextDoctorAdvice(params) {
494 494
     params: params
495 495
   });
496 496
 }
497
+
498
+export function getSchedualDoctors (params) {
499
+  return request({
500
+    url: '/api/schedule/advices',
501
+    method: 'get',
502
+    params: params
503
+  })
504
+}

+ 18 - 0
src/api/config.js Ver arquivo

@@ -119,6 +119,24 @@ export function generateLog(params) {
119 119
 
120 120
 
121 121
 
122
+export function getAllIsOpenInit() {
123
+  return request({
124
+    url: '/api/isopen/init',
125
+    method: 'get',
126
+  })
127
+}
128
+
129
+
130
+export function postXtHisIsOpen(params) {
131
+  return request({
132
+    url: '/api/xtconfig/isopen',
133
+    method: 'post',
134
+    params: params
135
+  })
136
+}
137
+
138
+
139
+
122 140
 
123 141
 
124 142
 

+ 9 - 10
src/api/data.js Ver arquivo

@@ -63,9 +63,6 @@ export function getPrintTemplate() {
63 63
   })
64 64
 }
65 65
 
66
-
67
-
68
-
69 66
 export function createDictionaryConfig(params) {
70 67
   console.log('params', params)
71 68
   return request({
@@ -108,7 +105,6 @@ export function updateDictionaryTemplate(params) {
108 105
   })
109 106
 }
110 107
 
111
-
112 108
 export function createBaseDrugLib(params) {
113 109
   return request({
114 110
     url: '/api/basedruglib/create',
@@ -117,16 +113,14 @@ export function createBaseDrugLib(params) {
117 113
   })
118 114
 }
119 115
 
120
-
121
-export function editBaseDrugLib(params,unit) {
116
+export function editBaseDrugLib(params, unit) {
122 117
   return request({
123
-    url: '/api/basedruglib/edit?unit='+unit,
118
+    url: '/api/basedruglib/edit?unit=' + unit,
124 119
     method: 'post',
125 120
     params: params
126 121
   })
127 122
 }
128 123
 
129
-
130 124
 export function getBaseDrugLib(params) {
131 125
   return request({
132 126
     url: '/api/basedruglib/get',
@@ -135,8 +129,6 @@ export function getBaseDrugLib(params) {
135 129
   })
136 130
 }
137 131
 
138
-
139
-
140 132
 export function getBaseDrugLibList(params) {
141 133
   return request({
142 134
     url: '/api/basedruglib/list',
@@ -173,6 +165,13 @@ export function createDrugUnitSafeguard(params) {
173 165
   })
174 166
 }
175 167
 
168
+export function deleteDurg(params) {
169
+  return request({
170
+    url: '/api/drug/basedruglib',
171
+    method: 'get',
172
+    params: params
173
+  })
174
+}
176 175
 
177 176
 
178 177
 

+ 4 - 5
src/api/dialysis.js Ver arquivo

@@ -145,6 +145,7 @@ export function getDialysisRecord(params) {
145 145
 }
146 146
 
147 147
 export function postPrescription(params) {
148
+  console.log('params', params)
148 149
   return request({
149 150
     url: '/api/dialysis/prescription',
150 151
     method: 'Post',
@@ -218,8 +219,6 @@ export function postTreatmentsummary(params) {
218 219
 }
219 220
 
220 221
 export function postAssessmentAfterDislysis(params, data) {
221
-  console.log('到了没有', data)
222
-  console.log('params', params)
223 222
   return request({
224 223
     url: '/api/dialysis/assessmentafterdislysis',
225 224
     method: 'Post',
@@ -242,6 +241,7 @@ export function postDelMonitorInfo(params) {
242 241
 }
243 242
 
244 243
 export function CreateGroupAdvice(id, groupno, advices) {
244
+  console.log('中国人名', advices)
245 245
   return request({
246 246
     url: '/api/advice_remind/create?id=' + id + '&groupno=' + groupno,
247 247
     method: 'post',
@@ -277,17 +277,16 @@ export function GetDialysisgoods(params) {
277 277
   return request({
278 278
     url: '/api/dialysisgoods/get',
279 279
     method: 'get',
280
-    params: params,
280
+    params: params
281 281
 
282 282
   })
283 283
 }
284 284
 
285
-
286 285
 export function GetDialysisGoodStatistics(params) {
287 286
   return request({
288 287
     url: '/api/goodstatistics/get',
289 288
     method: 'get',
290
-    params: params,
289
+    params: params
291 290
 
292 291
   })
293 292
 }

+ 1 - 1
src/api/his/his.js Ver arquivo

@@ -134,7 +134,7 @@ export function getHisPrescriptionList(params) {
134 134
 
135 135
 export function getHisPrescriptionInfo(params){
136 136
   return request({
137
-    url:"",
137
+    url:"/api/hisprescription/info",
138 138
     method:"get",
139 139
     params:params
140 140
   })

+ 9 - 11
src/api/stock.js Ver arquivo

@@ -385,9 +385,9 @@ export function DeleteWarehouseInfoItem(params) {
385 385
   })
386 386
 }
387 387
 
388
-export function EditWarehouse(params, warehousing_time, id,type,manufacturer_id,dealer_id) {
388
+export function EditWarehouse(params, warehousing_time, id, type, manufacturer_id, dealer_id) {
389 389
   return request({
390
-    url: '/api/warehouse/edit?warehousing_time=' + warehousing_time + '&id=' + id+"&type="+type+"&manufacturer_id="+manufacturer_id+"&dealer_id="+dealer_id,
390
+    url: '/api/warehouse/edit?warehousing_time=' + warehousing_time + '&id=' + id + '&type=' + type + '&manufacturer_id=' + manufacturer_id + '&dealer_id=' + dealer_id,
391 391
     method: 'post',
392 392
     data: params
393 393
   })
@@ -433,9 +433,9 @@ export function deleteSalesReturnInfo(params) {
433 433
   })
434 434
 }
435 435
 
436
-export function editSalesReturnInfo(params, return_time, id,type,manufacturer_id,dealer_id) {
436
+export function editSalesReturnInfo(params, return_time, id, type, manufacturer_id, dealer_id) {
437 437
   return request({
438
-    url: '/api/salesreturn/edit?return_time=' + return_time + '&id=' + id+"&type="+type+"&manufacturer_id="+manufacturer_id+"&dealer_id="+dealer_id,
438
+    url: '/api/salesreturn/edit?return_time=' + return_time + '&id=' + id + '&type=' + type + '&manufacturer_id=' + manufacturer_id + '&dealer_id=' + dealer_id,
439 439
     method: 'post',
440 440
     data: params
441 441
   })
@@ -473,9 +473,9 @@ export function getWarehouseOutInfo(params) {
473 473
   })
474 474
 }
475 475
 
476
-export function editWarehouseoutInfo(params, warehouse_out_time, id,type,manufacturer_id,dealer_id) {
476
+export function editWarehouseoutInfo(params, warehouse_out_time, id, type, manufacturer_id, dealer_id) {
477 477
   return request({
478
-    url: '/api/warehouseout/edit?warehouse_out_time=' + warehouse_out_time + '&id=' + id+"&type="+type+"&manufacturer_id="+manufacturer_id+"&dealer_id="+dealer_id,
478
+    url: '/api/warehouseout/edit?warehouse_out_time=' + warehouse_out_time + '&id=' + id + '&type=' + type + '&manufacturer_id=' + manufacturer_id + '&dealer_id=' + dealer_id,
479 479
     method: 'post',
480 480
     data: params
481 481
   })
@@ -489,9 +489,9 @@ export function getCancelStockList(params) {
489 489
   })
490 490
 }
491 491
 
492
-export function editCancelStockInfo(params, cancel_stock_time, id,type,manufacturer_id,dealer_id) {
492
+export function editCancelStockInfo(params, cancel_stock_time, id, type, manufacturer_id, dealer_id) {
493 493
   return request({
494
-    url: '/api/cancelstockinfo/edit?cancel_time=' + cancel_stock_time + '&id=' + id+"&type="+type+"&manufacturer_id="+manufacturer_id+"&dealer_id=" + dealer_id,
494
+    url: '/api/cancelstockinfo/edit?cancel_time=' + cancel_stock_time + '&id=' + id + '&type=' + type + '&manufacturer_id=' + manufacturer_id + '&dealer_id=' + dealer_id,
495 495
     method: 'post',
496 496
     data: params
497 497
   })
@@ -544,8 +544,6 @@ export function getStockDetail(params) {
544 544
   })
545 545
 }
546 546
 
547
-
548
-
549 547
 export function getPrintStockGood(params) {
550 548
   return request({
551 549
     url: '/api/print/stock',
@@ -554,7 +552,6 @@ export function getPrintStockGood(params) {
554 552
   })
555 553
 }
556 554
 
557
-
558 555
 export function getWarehouseOutUser(params) {
559 556
   return request({
560 557
     url: '/api/warehouseout/user',
@@ -562,3 +559,4 @@ export function getWarehouseOutUser(params) {
562 559
     params: params
563 560
   })
564 561
 }
562
+

+ 20 - 0
src/router/modules/dialysis.js Ver arquivo

@@ -38,6 +38,26 @@ export default {
38 38
     //     noCache: true
39 39
     //   }
40 40
     // },
41
+    {
42
+      path: '/dialysis/dialysisDoctorAdvice',
43
+      component: () => import('@/xt_pages/dialysis/dialysisDoctorAdvice'),
44
+      name: '透析医嘱',
45
+      meta: {
46
+        title: '透析医嘱',
47
+        noCache: true
48
+      }
49
+    },
50
+    {
51
+      path: '/dialysis/doctorAdvicePrint',
52
+      component: () => import('@/xt_pages/dialysis/doctorAdvicePrint'),
53
+      name: '透析医嘱打印',
54
+      hidden: true,
55
+      is_menu: false,
56
+      meta: {
57
+        title: '透析医嘱打印',
58
+        noCache: true
59
+      }
60
+    },
41 61
     {
42 62
       path: '/dialysis/consumableDrugs',
43 63
       component: () => import('@/xt_pages/dialysis/consumableDrugs'),

+ 12 - 2
src/store/modules/temp_params.js Ver arquivo

@@ -1,11 +1,15 @@
1 1
 const temp_params = {
2 2
   state: {
3
-    batch_print_dialysis_record_ids: []
3
+    batch_print_dialysis_record_ids: [],
4
+    advice_ids:[],
4 5
   },
5 6
   mutations: {
6 7
     SET_BATCH_PRINT_DIALYSIS_RECORD_IDS: (state, record_ids) => {
7 8
       state.batch_print_dialysis_record_ids = record_ids == null || record_ids == undefined ? [] : record_ids
8
-    }
9
+    },
10
+    SET_ADVICE_IDS: (state, record_ids) => {
11
+      state.advice_ids = record_ids == null || record_ids == undefined ? [] : record_ids
12
+    },
9 13
   },
10 14
   actions: {
11 15
     SetBatchPrintDialysisRecordIDs({ commit, state }, record_ids) {
@@ -14,6 +18,12 @@ const temp_params = {
14 18
         resolve()
15 19
       })
16 20
     },
21
+    SetAdviceIDs({ commit, state }, record_ids) {
22
+      return new Promise((resolve, reject) => {
23
+        commit('SET_ADVICE_IDS', record_ids)
24
+        resolve()
25
+      })
26
+    },
17 27
     ClearBatchPrintDialysisRecordIDs({ commit, state }) {
18 28
       return new Promise((resolve, reject) => {
19 29
         commit('SET_BATCH_PRINT_DIALYSIS_RECORD_IDS', null)

+ 101 - 40
src/xt_pages/data/basicConfig.vue Ver arquivo

@@ -5,43 +5,50 @@
5 5
     </div>
6 6
     <div class="app-container">
7 7
         <p style="font-size:18px">开关配置</p>
8
-        <div class="configBox">
9
-            <p>收费发药</p>
10
-            <p style="font-size:14px;margin-top:5px;">开启收费发药分离后,处方发药的工作需要到收费发药页面完成</p>
11
-            <p style="margin-top:20px;">收费,发药分离:
12
-                <el-switch v-model="value"></el-switch>
13
-            </p>
14
-        </div>
15
-        <div class="configBox">
16
-            <p>药品,耗材出库</p>
17
-            <p style="font-size:14px;margin-top:5px;">开启药品,耗材出库自动扣减则医生开完医嘱或处方可直接出库,不开启则由发药动作或出库按钮手动出库</p>
18
-            <div style="display:flex;margin-top:20px;">
19
-                <p style="margin-right:20px;">药品出库:
20
-                    <el-switch v-model="value"></el-switch>
21
-                </p>
22
-                <p>耗材出库:
23
-                    <el-switch v-model="value"></el-switch>
24
-                </p>
25
-            </div>
26
-        </div>
27
-        <div class="configBox">
28
-            <p style="margin-bottom:20px;">药品有效期预警设置(药品即将失效的预警提示)</p>
29
-            <el-select v-model="value" 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
-        </div>
38
-        <div class="configBox">
39
-            <p>处方单价锁定</p>
40
-            <p style="font-size:14px;margin-top:5px;">开启处方单价锁定后,开处方是无法修改药品或者诊疗项目以及附加费用单价</p>
41
-            <p style="margin-top:20px;">收费单价锁定:
42
-                <el-switch v-model="value"></el-switch>
43
-            </p>
44
-        </div>
8
+        <!--<div class="configBox">-->
9
+            <!--<p>收费发药</p>-->
10
+            <!--<p style="font-size:14px;margin-top:5px;">开启收费发药分离后,处方发药的工作需要到收费发药页面完成</p>-->
11
+            <!--<p style="margin-top:20px;">收费,发药分离:-->
12
+                <!--<el-switch v-model="value"></el-switch>-->
13
+            <!--</p>-->
14
+        <!--</div>-->
15
+      <div class="configBox">
16
+      <p>血透His互通</p>
17
+      <p style="font-size:14px;margin-top:5px;">血透His互通</p>
18
+      <p style="margin-top:20px;">血透His互通
19
+      <el-switch v-model="is_open_xt_his" @change="changeFuncOne"></el-switch>
20
+      </p>
21
+      </div>
22
+        <!--<div class="configBox">-->
23
+            <!--<p>药品,耗材出库</p>-->
24
+            <!--<p style="font-size:14px;margin-top:5px;">开启药品,耗材出库自动扣减则医生开完医嘱或处方可直接出库,不开启则由发药动作或出库按钮手动出库</p>-->
25
+            <!--<div style="display:flex;margin-top:20px;">-->
26
+                <!--<p style="margin-right:20px;">药品出库:-->
27
+                    <!--<el-switch v-model="value" @change="changeFuncTwo"></el-switch>-->
28
+                <!--</p>-->
29
+                <!--<p>耗材出库:-->
30
+                    <!--<el-switch v-model="value"></el-switch>-->
31
+                <!--</p>-->
32
+            <!--</div>-->
33
+        <!--</div>-->
34
+        <!--<div class="configBox">-->
35
+            <!--<p style="margin-bottom:20px;">药品有效期预警设置(药品即将失效的预警提示)</p>-->
36
+            <!--<el-select v-model="value" placeholder="请选择">-->
37
+                <!--<el-option-->
38
+                <!--v-for="item in options"-->
39
+                <!--:key="item.value"-->
40
+                <!--:label="item.label"-->
41
+                <!--:value="item.value">-->
42
+                <!--</el-option>-->
43
+            <!--</el-select>-->
44
+        <!--</div>-->
45
+        <!--<div class="configBox">-->
46
+            <!--<p>处方单价锁定</p>-->
47
+            <!--<p style="font-size:14px;margin-top:5px;">开启处方单价锁定后,开处方是无法修改药品或者诊疗项目以及附加费用单价</p>-->
48
+            <!--<p style="margin-top:20px;">收费单价锁定:-->
49
+                <!--<el-switch v-model="value"></el-switch>-->
50
+            <!--</p>-->
51
+        <!--</div>-->
45 52
         <div class="configBox">
46 53
             <p>打印预览设置</p>
47 54
             <p style="font-size:14px;margin-top:5px;">开启直接打印后,处方单,售药单,收费发票等打印时跳过预览</p>
@@ -55,6 +62,7 @@
55 62
 
56 63
 <script>
57 64
 import BreadCrumb from "@/xt_pages/components/bread-crumb";
65
+import { getAllIsOpenInit,postXtHisIsOpen } from '@/api/config'
58 66
 
59 67
 export default {
60 68
   name: "printTemplate",
@@ -66,14 +74,67 @@ export default {
66 74
         { path: false, name: "管理中心" },
67 75
         { path: false, name: "基础配置" }
68 76
       ],
69
-      value:false
77
+      value:false,
78
+      is_open_xt_his:false,
70 79
     };
71 80
   },
72 81
   methods: {
73
-    
82
+    getInitIsOpenConfig(){
83
+      getAllIsOpenInit().then(
84
+        response => {
85
+          if (response.data.state === 1) {
86
+            if(response.data.data.is_open_xt_his == 1) {
87
+              this.is_open_xt_his = true
88
+            }else{
89
+              this.is_open_xt_his = false
90
+            }
91
+
92
+          } else {
93
+            this.$message.error(response.data.msg)
94
+          }
95
+        }
96
+      )
97
+
98
+    },
99
+    changeFuncOne(val){
100
+      if(this.is_open_xt_his){
101
+        let params={
102
+          is_open:this.is_open_xt_his
103
+        }
104
+        postXtHisIsOpen(params).then(
105
+          response => {
106
+            if (response.data.state === 1) {
107
+              this.is_open_xt_his = response.data.data.is_open
108
+
109
+            } else {
110
+              this.$message.error(response.data.msg)
111
+            }
112
+          }
113
+        )
114
+      }else{
115
+        let params={
116
+          is_open:this.is_open_xt_his
117
+        }
118
+        postXtHisIsOpen(params).then(
119
+          response => {
120
+            if (response.data.state === 1) {
121
+              this.is_open_xt_his = response.data.data.is_open
122
+
123
+            } else {
124
+              this.$message.error(response.data.msg)
125
+            }
126
+          }
127
+        )
128
+      }
129
+
130
+
131
+
132
+    }
133
+
74 134
   },
75 135
   created() {
76
-    
136
+    this.getInitIsOpenConfig()
137
+
77 138
   }
78 139
 };
79 140
 </script>

+ 2 - 4
src/xt_pages/data/components/addDrugs.vue Ver arquivo

@@ -14,10 +14,10 @@
14 14
             <el-form-item label="药品名称 : " prop="drug_name" >
15 15
               <el-input v-model="form.drug_name" style="width:160px;" placeholder="" maxlength="30"></el-input>
16 16
             </el-form-item>
17
-            <el-form-item label="拼音 : " prop="pinyin" >
17
+            <el-form-item label="拼音 : " >
18 18
               <el-input v-model="form.pinyin" style="width:160px;" placeholder="" maxlength="30"></el-input>
19 19
             </el-form-item>
20
-            <el-form-item label="五笔 : " prop="wubi">
20
+            <el-form-item label="五笔 : " >
21 21
               <el-input v-model="form.wubi" style="width:160px;" placeholder="" maxlength="30"></el-input>
22 22
             </el-form-item>
23 23
             <el-form-item label="药品别名 : " prop="drug_alias">
@@ -407,8 +407,6 @@
407 407
 
408 408
         rules: {
409 409
           drug_name: [{ required: true, message: '请填写药品名称', trigger: 'blur'  }],
410
-          pinyin: [{ required: true, message: '请填写拼音' , trigger: 'blur' }],
411
-          wubi: [{ required: true, message: '请填写五笔' , trigger: 'blur' }],
412 410
           drug_alias: [{ required: true, message: '请选择药品类别', trigger: 'change' }],
413 411
           drug_spec: [{ required: true, message: '请填写药品规格',trigger: 'blur' }],
414 412
           drug_type: [{ required: true, message: '请填写药品类型',trigger: 'blur' }],

+ 29 - 3
src/xt_pages/data/components/drugs.vue Ver arquivo

@@ -78,7 +78,7 @@
78 78
           <el-button @click="openForm(scope.row.id)" type="primary" size="small">编辑</el-button>
79 79
           <!--<el-button type="primary" size="small" @click="clickSelfPayment(scope.row.id)">自付比例</el-button>-->
80 80
           <!--<el-button type="primary" size="small" @click="clickMainTain">单位维护</el-button>-->
81
-          <!--<el-button type="danger" size="small">删除</el-button>-->
81
+          <el-button type="danger" size="small" @click="deleteDurg(scope.row.id,scope.$index)">删除</el-button>
82 82
         </template>
83 83
       </el-table-column>
84 84
     </el-table>
@@ -121,7 +121,8 @@
121 121
     createMedicineInsurancePercent,
122 122
     editBaseDrugLib,
123 123
     getBaseDrugLib,
124
-    getBaseDrugLibList
124
+    getBaseDrugLibList,
125
+    deleteDurg
125 126
   } from '@/api/data'
126 127
 
127 128
   export default {
@@ -461,7 +462,32 @@
461 462
           }
462 463
           this.$refs.addDrugs.show(0, this.formValue)
463 464
         }
464
-      }, getList() {
465
+      }, 
466
+
467
+       deleteDurg(id,index){
468
+         console.log("id",id)
469
+            this.$confirm('确认删除吗?', '删除', {
470
+            confirmButtonText: '确 定',
471
+            cancelButtonText: '取 消',
472
+            type: 'warning'
473
+         }).then(() => {
474
+              const params = {
475
+                id:id,
476
+              }
477
+            deleteDurg(params).then(response => {
478
+              if (response.data.state == 1) {
479
+                  var msg = response.data.data.msg
480
+                  this.list.splice(index, 1);
481
+                  this.$message.success("删除成功")
482
+              } else {
483
+                  this.$message.error("药品已经出库不能删除")
484
+              }
485
+            })
486
+          })
487
+          .catch(() => {
488
+          })
489
+        },
490
+      getList() {
465 491
         let params = {
466 492
           page: this.page,
467 493
           limit: this.limit,

+ 28 - 9
src/xt_pages/data/druguseTemplate.vue Ver arquivo

@@ -315,7 +315,7 @@
315 315
                     <el-form-item label="医嘱内容:" required prop="advice_name">
316 316
                       <!-- <el-input v-model="templateForm.advice_name"></el-input> -->
317 317
 
318
-                      <el-select
318
+                      <!-- <el-select
319 319
                         v-model="templateForm.advice_name"
320 320
                         filterable
321 321
                         clearable
@@ -330,7 +330,16 @@
330 330
                         :label="item.drug_name"
331 331
                         :value="item.drug_name"
332 332
                       ></el-option>
333
-                     </el-select>
333
+                     </el-select> -->
334
+
335
+                      <el-autocomplete
336
+                          style="width:100%;"
337
+                          class="inline-input"
338
+                          v-model="templateForm.advice_name"
339
+                          :fetch-suggestions="querySearch"
340
+                          placeholder="请输入内容"
341
+                          @input="changeDrugName"
342
+                      ></el-autocomplete>
334 343
                     </el-form-item>
335 344
                   </el-col>
336 345
 
@@ -340,7 +349,7 @@
340 349
                     <el-form-item label="药品规格 :" prop="advice_desc">
341 350
                       <el-col :span="8">
342 351
                         <!-- <el-input v-model="templateForm.advice_desc"></el-input> -->
343
-                         <el-select
352
+                         <!-- <el-select
344 353
                           v-model="templateForm.advice_desc"
345 354
                           filterable
346 355
                           clearable
@@ -355,7 +364,16 @@
355 364
                           :label="item.drug_spec"
356 365
                           :value="item.drug_spec"
357 366
                         ></el-option>
358
-                        </el-select>
367
+                        </el-select> -->
368
+
369
+                       <el-autocomplete
370
+                         style="width:100px;"
371
+                         class="inline-input"
372
+                         v-model="templateForm.advice_desc"
373
+                         :fetch-suggestions="querySearch1"
374
+                         placeholder="请输入内容"
375
+                         @input="changeDrugDesc"
376
+                       ></el-autocomplete>
359 377
                       </el-col>
360 378
                       <el-col class="line" :span="2">&nbsp;</el-col>
361 379
                       <el-col :span="14">
@@ -522,7 +540,6 @@
522 540
                           v-model="templateFormEdit.advice_name"
523 541
                           :fetch-suggestions="querySearch"
524 542
                           placeholder="请输入内容"
525
-                          @select="handleSelect"
526 543
                           @input="changeDrugNameTwo"
527 544
                          ></el-autocomplete>
528 545
                     </el-form-item>
@@ -537,7 +554,6 @@
537 554
                          v-model="templateFormEdit.advice_desc"
538 555
                          :fetch-suggestions="querySearch1"
539 556
                          placeholder="请输入内容"
540
-                         @select="handleSelect1"
541 557
                          @input="changeDrugDescTwo"
542 558
                        ></el-autocomplete>
543 559
                       </el-col>
@@ -2325,7 +2341,7 @@
2325 2341
         this.templateFormTwoVisible = false
2326 2342
       }, 
2327 2343
       submitTemplateTwo(formName) {
2328
-       
2344
+        
2329 2345
         this.templateForm['template_id'] = this.current_template_id
2330 2346
         this.templateForm['advice_type'] = this.form.advice_type
2331 2347
        
@@ -2342,7 +2358,8 @@
2342 2358
             return s && s.trim()
2343 2359
           }).join(',')
2344 2360
         }
2345
-
2361
+        console.log("编辑模板",this.templateForm)
2362
+        
2346 2363
         // 编辑创建医嘱模版
2347 2364
         CreateSingleAdviceTemplate(this.templateForm).then(response => {
2348 2365
           if (response.data.state == 0) {
@@ -2679,7 +2696,7 @@
2679 2696
           template_id: this.current_template_id
2680 2697
         }
2681 2698
         console.log("params---",params)
2682
-        return 
2699
+       
2683 2700
         updateTemplateName(params).then(response => {
2684 2701
           if (response.data.state == 0) {
2685 2702
             this.$message.error(response.data.msg)
@@ -2812,6 +2829,8 @@
2812 2829
         })
2813 2830
        
2814 2831
     },
2832
+
2833
+
2815 2834
     changeDrugName(name){
2816 2835
        this.current_drug_name = name
2817 2836
        this.templateForm.advice_desc = ''

+ 24 - 5
src/xt_pages/dialysis/PatientBox.vue Ver arquivo

@@ -48,18 +48,18 @@
48 48
           <div style="margin-top:13px;font-size:12px;color:#34495e;margin-right: 5px;" v-if="schedule.assessment_before_dislysis && patientStateVal == 1">签到时间:{{ getTime(schedule.assessment_before_dislysis.created_time) }}</div>
49 49
         </div>
50 50
       </div>
51
-      <div class="function" :class="functionColor(schedule)">
51
+      <div class="function" :class="functionColor(schedule)" :id="modeColor(schedule.mode_id)">
52 52
         <ul>
53 53
           <li>
54
-            <span class="iconfont">&#xe6f5;</span>班次 :
54
+            <span class="iconfont" :id="modeColor(schedule.mode_id)">&#xe6f5;</span>班次 :
55 55
             {{ timeTypeText(schedule) }}
56 56
           </li>
57 57
           <li>
58
-            <span class="iconfont">&#xe6de;</span>床位号 :
58
+            <span class="iconfont" :id="modeColor(schedule.mode_id)">&#xe6de;</span>床位号 :
59 59
             {{ schedule.device_number.number }}
60 60
           </li>
61 61
           <li>
62
-            <span class="iconfont">&#xe6f6;</span>透析模式 :
62
+            <span class="iconfont" :id="modeColor(schedule.mode_id)">&#xe6f6;</span>透析模式 :
63 63
             {{
64 64
               schedule.mode_id &&
65 65
               $store.getters.treatment_mode[schedule.mode_id]
@@ -211,7 +211,8 @@ export default {
211 211
       headNurses: [],
212 212
       lastDialysisPrescribe: { id: 0 },
213 213
       temp_schedual: null,
214
-      date:''
214
+      date:'',
215
+      modedata:0,
215 216
     };
216 217
   },
217 218
   props: {
@@ -588,8 +589,11 @@ export default {
588 589
       this.$emit("advice");
589 590
     },
590 591
     open(schedual){
592
+      console.log("中国2222222",this)
593
+     
591 594
       this.date = schedual.schedule_date
592 595
       this.patient_id = schedual.patient_id
596
+      this.modedata = 1
593 597
       this.getScheduleDetail()
594 598
       // this.getLongAdvice()
595 599
       this.$refs.prescription.show(this.prescription,schedual);
@@ -614,6 +618,15 @@ export default {
614 618
       
615 619
       let strDate = h  + ':' + m;
616 620
       return strDate;
621
+    },
622
+    modeColor (id) {
623
+      if (id == 1) {
624
+
625
+      } else if (id == 2) {
626
+        return 'modeRed'
627
+      } else if (id == 3) {
628
+        return 'modePurple'
629
+      }
617 630
     }
618 631
   },
619 632
 };
@@ -767,4 +780,10 @@ export default {
767 780
 .red {
768 781
   border: 1px #ff7979 solid;
769 782
 }
783
+#modeRed{
784
+  color:#ed5555;
785
+}
786
+#modePurple{
787
+  color: #53b86e;
788
+}
770 789
 </style>

+ 8 - 11
src/xt_pages/dialysis/bloodPresssWatch.vue Ver arquivo

@@ -525,7 +525,7 @@ export default {
525 525
       console.log(val);
526 526
       this.$router.push({
527 527
         path: "/dialysis/details",
528
-        query: { patient_id: val.patient_id, date: val.sch_time_int }
528
+        query: { patient_id: val.patient_id, date: val.sch_time_int,mode_id:val.mode_id }
529 529
       });
530 530
     },
531 531
     handleSelectionChange(val) {
@@ -568,6 +568,7 @@ export default {
568 568
       }
569 569
       this.SchedualPatientsTableData = [];
570 570
       getSchedualPatient(this.listQuery).then(response => {
571
+        console.log("2222",response.data.data.schedule)
571 572
         if (response.data.state == 0) {
572 573
           this.loading = false;
573 574
           this.$message.error(response.data.msg);
@@ -582,14 +583,10 @@ export default {
582 583
                 bp: []
583 584
               };
584 585
 
585
-              SchedualPatientsTable["sch_id"] =
586
-                response.data.data.schedule[i].id;
587
-              SchedualPatientsTable["sch_time_int"] =
588
-                response.data.data.schedule[i].schedule_date;
589
-              SchedualPatientsTable["sch_time"] = parseTime(
590
-                response.data.data.schedule[i].schedule_date,
591
-                "{y}-{m}-{d}"
592
-              );
586
+              SchedualPatientsTable["sch_id"] = response.data.data.schedule[i].id;
587
+              SchedualPatientsTable["sch_time_int"] = response.data.data.schedule[i].schedule_date;
588
+              SchedualPatientsTable["sch_time"] = parseTime(response.data.data.schedule[i].schedule_date,"{y}-{m}-{d}");
589
+              SchedualPatientsTable["mode_id"] = response.data.data.schedule[i].mode_id
593 590
               SchedualPatientsTable["dialysis_no"] =
594 591
                 response.data.data.schedule[i].patient.dialysis_no;
595 592
               SchedualPatientsTable["name"] =
@@ -604,8 +601,7 @@ export default {
604 601
                 response.data.data.schedule[i].patient_id;
605 602
               SchedualPatientsTable["mode_name"] =
606 603
                 response.data.data.schedule[i].treatment_mode.name;
607
-              SchedualPatientsTable["target_ultrafiltration"] =
608
-                response.data.data.schedule[i].prescription.target_ultrafiltration;
604
+              SchedualPatientsTable["target_ultrafiltration"] = response.data.data.schedule[i].prescription.target_ultrafiltration;
609 605
               if (
610 606
                 response.data.data.schedule[i].assessment_before_dislysis.id > 0
611 607
               ) {
@@ -643,6 +639,7 @@ export default {
643 639
               }
644 640
 
645 641
               this.SchedualPatientsTableData.push(SchedualPatientsTable);
642
+              console.log("中国222222",this.SchedualPatientsTableData)
646 643
             }
647 644
           }
648 645
         }

+ 8 - 4
src/xt_pages/dialysis/details/DialysisPrescription.vue Ver arquivo

@@ -15,8 +15,8 @@
15 15
           <span class="content">{{
16 16
             replacement_total != "0" ? replacement_total : ""
17 17
           }}</span>
18
-          <span v-if="this.$store.getters.xt_user.template_info.template_id != 20" class="unit">{{ replacement_total != "0" ? "L" : "" }}</span>
19
-          <span v-if="this.$store.getters.xt_user.template_info.template_id == 20" class="unit">{{ replacement_total != "0" ? "ml" : "" }}</span>
18
+          <span v-if="this.$store.getters.xt_user.template_info.template_id != 20 && this.$store.getters.xt_user.template_info.template_id != 28" class="unit">{{ replacement_total != "0" ? "L" : "" }}</span>
19
+          <span v-if="this.$store.getters.xt_user.template_info.template_id == 20 || this.$store.getters.xt_user.template_info.template_id == 28" class="unit">{{ replacement_total != "0" ? "ml" : "" }}</span>
20 20
 
21 21
         </li>
22 22
 
@@ -81,8 +81,8 @@
81 81
           <span class="content">{{
82 82
             target_ultrafiltration != "0" ? target_ultrafiltration : ""
83 83
           }}</span>
84
-          <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" class="unit">{{ target_ultrafiltration != "0" ? "L" : "" }}</span>
85
-          <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" class="unit">{{ target_ultrafiltration != "0" ? "ml" : "" }}</span>
84
+          <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.org_id != 9555" class="unit">{{ target_ultrafiltration != "0" ? "L" : "" }}</span>
85
+          <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.org_id == 9555" class="unit">{{ target_ultrafiltration != "0" ? "ml" : "" }}</span>
86 86
         </li>
87 87
         <li v-if="isShow('葡萄糖')">
88 88
           <label>葡萄糖 : </label>
@@ -291,6 +291,7 @@
291 291
 
292 292
       </ul>
293 293
     </div>
294
+    <div style="color:#34495e;margin: 12px 100px 0 100px;">备注: <span style="color:#409eff;">{{ note }}</span></div>
294 295
   </div>
295 296
 </template>
296 297
 
@@ -321,6 +322,9 @@ export default {
321 322
     }
322 323
   },
323 324
   computed: {
325
+    note: function () {
326
+      return this.getValueStr('remark', 'remark')
327
+    },
324 328
     target_ultrafiltration: function() {
325 329
       var v = this.getValueStr(
326 330
         'target_ultrafiltration',

+ 2 - 2
src/xt_pages/dialysis/details/assessmentAfter.vue Ver arquivo

@@ -17,8 +17,8 @@
17 17
           <span class="content" v-if="actual_ultrafiltration != '0'">{{
18 18
             actual_ultrafiltration
19 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) " >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" >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.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.org_id == 9555 " >L</span>
22 22
         </li>
23 23
         <li v-if="isShow('导管')">
24 24
           <label>导管 : </label>

+ 9 - 1
src/xt_pages/dialysis/details/dialog/AssessmentAfterDislysis.vue Ver arquivo

@@ -28,7 +28,7 @@
28 28
           <el-col :span="8" v-if="isShow('实际超滤量')">
29 29
             <el-form-item
30 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"  >
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.$store.getters.xt_user.template_info.org_id == 9555 "  >
32 32
               <el-input v-model="form.actual_ultrafiltration"></el-input>
33 33
             </el-form-item>
34 34
             <el-form-item label="实际超滤量(L): " v-else>
@@ -588,7 +588,13 @@
588 588
               <el-input v-model="form.dosage_of_anticoagulants"></el-input>
589 589
           </el-form-item>
590 590
         </el-col>
591
+        
591 592
 
593
+        <el-col :span="8" v-if="isShow('并发症其他')">
594
+          <el-form-item label="并发症其他: ">
595
+            <el-input v-model="form.other_complication"></el-input>
596
+          </el-form-item>
597
+        </el-col>
592 598
 
593 599
       </el-form>
594 600
 
@@ -742,6 +748,7 @@ export default {
742 748
         supine_diastolic_blood_pressure:'',
743 749
         diastolic_pressure:'',
744 750
         additional_weight:'',
751
+        other_complication:''
745 752
       }
746 753
     }
747 754
   },
@@ -944,6 +951,7 @@ export default {
944 951
       data["supine_diastolic_blood_pressure"] = this.form.supine_diastolic_blood_pressure
945 952
       data["diastolic_pressure"] = this.form.diastolic_pressure
946 953
       data["additional_weight"] = this.form.additional_weight ? parseFloat(this.form.additional_weight) : 0
954
+      data["other_complication"] = this.form.other_complication
947 955
       postAssessmentAfterDislysis(ParamsQuery, data)
948 956
         .then(response => {
949 957
           this.loading = false

+ 9 - 2
src/xt_pages/dialysis/details/dialog/DoctorAdviceDialog.vue Ver arquivo

@@ -833,8 +833,12 @@
833 833
         }
834 834
 
835 835
       },
836
-
836
+  //  上一方
837 837
       AddNewAdvice(name) {
838
+        for(let i=0;i<this.other_doctor_advices.length;i++){
839
+           this.other_doctor_advices[i].single_dose = this.other_doctor_advices[i].single_dose.toString()
840
+           this.other_doctor_advices[i].prescribing_number = this.other_doctor_advices[i].prescribing_number.toString()
841
+        }
838 842
         this.$refs[name].validate(valid => {
839 843
           if (valid) {
840 844
             var submitForm = {
@@ -844,7 +848,8 @@
844 848
               adviceNames: this.other_doctor_advices,
845 849
               remark: ''
846 850
             }
847
-
851
+            console.log("2223333",submitForm)
852
+           
848 853
             let mode = '1'
849 854
             CreateGroupAdvice(this.patientid, 0, submitForm, mode).then(
850 855
               response => {
@@ -2205,6 +2210,8 @@
2205 2210
           if (response.data.state == 1) {
2206 2211
 
2207 2212
             var doctor_advices = response.data.data.advices
2213
+            console.log("doctor_advices",doctor_advices)
2214
+           
2208 2215
             this.other_doctor_advices = doctor_advices
2209 2216
             this.request_record_date = uParseTime(this.other_doctor_advices[0].record_date, '{y}-{m}-{d}')
2210 2217
             this.sch = response.data.data.schedule

+ 9 - 4
src/xt_pages/dialysis/details/dialog/adviceDialog/AddGroupAdvice.vue Ver arquivo

@@ -717,15 +717,19 @@ export default {
717 717
                           }
718 718
                       }
719 719
                    }
720
-                   if(submitForm.adviceNames[index].drug_id == this.medicals[i].drug_name_id){
721
-                      submitForm.adviceNames[index].way = 2
722
-                      submitForm.adviceNames[index].drug_name_id = this.medicals[i].drug_name_id
720
+                   if(submitForm.adviceNames[index].children.length == 0){
721
+                     if(submitForm.adviceNames[index].drug_id == this.medicals[i].drug_name_id){
722
+                       console.log("进来了没有")
723
+                        submitForm.adviceNames[index].way = 2
724
+                        submitForm.adviceNames[index].drug_name_id = this.medicals[i].drug_name_id
725
+                    }
723 726
                    }
727
+                   
724 728
                 }
725 729
              }
726 730
           }
727 731
           console.log("2222",submitForm)
728
-        
732
+          
729 733
           CreateGroupAdvice(this.patientID, 0, submitForm, mode).then(
730 734
             response => {
731 735
               if (response.data.state == 0) {
@@ -1512,6 +1516,7 @@ export default {
1512 1516
          if (response.data.state == 1) {
1513 1517
             this.arr_drug = []
1514 1518
             var medicalList = response.data.data.private_drug_list
1519
+            console.log("medicallist",medicalList)
1515 1520
             var base_drug_list = response.data.data.base_drug_list
1516 1521
             var base_drug_cofig = response.data.data.base_drug_config
1517 1522
             var private_drug_cofig = response.data.data.private_drug_config

+ 23 - 2
src/xt_pages/dialysis/details/dialog/assessmentBeforeDislysisDialog.vue Ver arquivo

@@ -206,7 +206,13 @@
206 206
               <el-input v-model="assessmentBeforeDislysis.catheter" @focus="showInnerDialog('4')"></el-input>
207 207
             </el-form-item>
208 208
           </el-col>
209
+           
209 210
 
211
+          <el-col :span="8">
212
+            <el-form-item label="导管维护: " v-if="isShow('导管维护')">
213
+              <el-input v-model="assessmentBeforeDislysis.catheter_maintenance" @focus="showInnerDialog('18')"></el-input>
214
+            </el-form-item>
215
+          </el-col>
210 216
 
211 217
 
212 218
 
@@ -697,6 +703,7 @@
697 703
           urine_volume:'',
698 704
           edema:'',
699 705
           special_treatment:'',
706
+          catheter_maintenance:"",
700 707
         },
701 708
 
702 709
         InnerDialogProps: {
@@ -710,8 +717,8 @@
710 717
         machineType: [],
711 718
         puncture_ways: '',
712 719
         skins:[],
713
-        pinholings:[]
714
-
720
+        pinholings:[],
721
+        catheter_maintenancelist:[]
715 722
       }
716 723
     },
717 724
     props: {
@@ -978,6 +985,15 @@
978 985
             this.InnerDialogProps.selected = this.assessmentBeforeDislysis.blood_access_part_id
979 986
             this.InnerDialogProps.isShowTextArea = false
980 987
 
988
+            break
989
+
990
+           case '18': // 导管维护
991
+            this.InnerDialogProps.values = this.catheter_maintenancelist
992
+            this.InnerDialogProps.titles = '导管维护'
993
+            this.InnerDialogProps.type = 'catheter_maintenance'
994
+            this.InnerDialogProps.selected = this.assessmentBeforeDislysis.catheter_maintenance
995
+            this.InnerDialogProps.isShowTextArea = false
996
+
981 997
             break
982 998
         }
983 999
       },
@@ -1039,6 +1055,9 @@
1039 1055
           case 'blood_access_part_id':
1040 1056
             this.assessmentBeforeDislysis.blood_access_part_id = val.value.join(',')
1041 1057
            break
1058
+          case 'catheter_maintenance':
1059
+           this.assessmentBeforeDislysis.catheter_maintenance = val.value.join(',')
1060
+           break
1042 1061
         }
1043 1062
       },
1044 1063
       innerDialogCancle: function() {
@@ -1200,6 +1219,8 @@
1200 1219
       console.log("皮肤",this.skins)
1201 1220
       this.pinholings = getDataConfig('hemodialysis','pinholing')
1202 1221
       console.log("针眼",this.pinholings)
1222
+      this.catheter_maintenancelist = getDataConfig('hemodialysis','catheter_maintenance')
1223
+      console.log("导管维护",this.catheter_maintenancelist)
1203 1224
       // this.weight_adjust.weight = this.dry_weight.dry_weight
1204 1225
 
1205 1226
       // if(this.predialysis_evaluation.id == 0){

+ 89 - 23
src/xt_pages/dialysis/details/dialog/dialysisPrescriptionDialog.vue Ver arquivo

@@ -87,7 +87,7 @@
87 87
           </el-col>
88 88
 
89 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)">
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.org_id == 9555 )">
91 91
             <el-form-item label="目标超滤量(ml):">
92 92
               <el-input
93 93
                 type="number"
@@ -97,7 +97,7 @@
97 97
           </el-col>
98 98
 
99 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">
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.org_id != 9555 ">
101 101
             <el-form-item label="目标超滤量(L):">
102 102
               <el-input
103 103
                 type="number"
@@ -223,7 +223,7 @@
223 223
 
224 224
 
225 225
 
226
-          <el-col :span="8" v-if="isShows('置换量') && (this.$store.getters.xt_user.template_info.template_id == 20)"
226
+          <el-col :span="8" v-if="isShows('置换量') && (this.$store.getters.xt_user.template_info.template_id == 20 || this.$store.getters.xt_user.template_info.template_id == 28)"
227 227
                   v-show="zhiShow">
228 228
             <el-form-item label="置换量(ml):">
229 229
               <el-input
@@ -232,7 +232,7 @@
232 232
               ></el-input>
233 233
             </el-form-item>
234 234
           </el-col>
235
-          <el-col :span="8" v-if="isShows('置换量') && this.$store.getters.xt_user.template_info.template_id != 20"
235
+          <el-col :span="8" v-if="isShows('置换量') && this.$store.getters.xt_user.template_info.template_id != 20 && this.$store.getters.xt_user.template_info.template_id != 28"
236 236
                   v-show="zhiShow">
237 237
             <el-form-item label="置换量(L):">
238 238
               <el-input
@@ -510,6 +510,16 @@
510 510
           </el-col>
511 511
 
512 512
 
513
+           <el-col :span="8" v-if="isShows('抽血')">
514
+            <el-form-item label="抽血:">
515
+
516
+              <el-input v-model="dialysisPrescription.blood" @focus="showInnerDialog('6')"></el-input>
517
+
518
+              
519
+            </el-form-item>
520
+          </el-col>
521
+
522
+
513 523
           <!-- </el-row>
514 524
           <el-row :gutter="20" > -->
515 525
           <!--          <el-col :span="8" v-if="isShows('实际超滤量')">-->
@@ -779,7 +789,7 @@
779 789
             <!--</el-form-item>-->
780 790
           <!--</el-col>-->
781 791
 
782
-
792
+           
783 793
 
784 794
 
785 795
 
@@ -1258,6 +1268,7 @@
1258 1268
           heparin_sodium:"", //肝素钠
1259 1269
           nucleoprotamine:"",//鱼精蛋白
1260 1270
           no_heparin_remarks:"",
1271
+          blood:"",
1261 1272
         },
1262 1273
 
1263 1274
         anticoagulant: {
@@ -1277,7 +1288,8 @@
1277 1288
         },
1278 1289
 
1279 1290
         doctorAdvices: [],
1280
-        dialyzerPerfusionApparatus: []
1291
+        dialyzerPerfusionApparatus: [],
1292
+        bloods:[]
1281 1293
       }
1282 1294
     },
1283 1295
     methods: {
@@ -1312,14 +1324,50 @@
1312 1324
             this.InnerDialogProps.selected = arrtwo
1313 1325
             this.InnerDialogProps.isShowTextArea = false
1314 1326
             break
1315
-        }
1316
-      }, innerDialogComfirm: function(val) {
1327
+
1328
+          case '6': // 透析器/灌流器
1329
+
1330
+            this.InnerDialogProps.values = this.bloods
1331
+            this.InnerDialogProps.titles = '抽血'
1332
+            this.InnerDialogProps.type = 'blood'
1333
+            this.InnerDialogProps.selected = this.dialysisPrescription.blood
1334
+            this.InnerDialogProps.isShowTextArea = false
1335
+            // if(this.dialysisPrescription.blood !="" || dialysisPrescription.blood !=undefined ){
1336
+            //     var arr = this.dialysisPrescription.blood
1337
+            //     var newArr =  arr.split(",")
1338
+            //     console.log("抽血",newArr)
1339
+            //     var Arr = []
1340
+            //     for(let i=0;i<newArr.length;i++){
1341
+            //       for(let j=0;j<this.bloods.length;j++){
1342
+            //         var newarr = newArr[i].toUpperCase()
1343
+
1344
+            //         var dialy = this.bloods[j].name.toUpperCase()
1345
+
1346
+            //         if(newarr == dialy){
1347
+            //             Arr.push(this.bloods[j].name)
1348
+            //         }
1349
+            //       }
1350
+            //     }
1351
+            //     var arrtwo = Arr.join(",")
1352
+            //     console.log("Arr",arrtwo)
1353
+            //     this.InnerDialogProps.values = this.bloods
1354
+            //     this.InnerDialogProps.titles = '抽血'
1355
+            //     this.InnerDialogProps.type = 'blood'
1356
+            //     this.InnerDialogProps.selected = arrtwo
1357
+            //     this.InnerDialogProps.isShowTextArea = false
1358
+            //     break
1359
+            // }  
1360
+        }
1361
+      }, 
1362
+      innerDialogComfirm: function(val) {
1317 1363
         this.InnerDialogProps.visibility = false
1318 1364
         switch (val.type) {
1319 1365
           case 'dialyzer_perfusion_apparatus':
1320 1366
             this.dialysisPrescription.dialyzer_perfusion_apparatus = val.value.join(',')
1321 1367
             break
1322
-
1368
+          case 'blood':
1369
+            this.dialysisPrescription.blood = val.value.join(',')
1370
+           break
1323 1371
         }
1324 1372
       },
1325 1373
       innerDialogCancle: function() {
@@ -1372,7 +1420,7 @@
1372 1420
 
1373 1421
 
1374 1422
         this.treatment_mode = this.$store.getters.treatment_mode
1375
-        console.log("99999",this.treatment_mode)
1423
+        // console.log("99999",this.treatment_mode)
1376 1424
         this.perfusion_apparatus = getDataConfig(
1377 1425
           'hemodialysis',
1378 1426
           'perfusion_apparatus'
@@ -1423,6 +1471,11 @@
1423 1471
           'dialyzer_perfusion_apparatus'
1424 1472
         )
1425 1473
 
1474
+        this.bloods = getDataConfig(
1475
+          'hemodialysis',
1476
+          'blood'
1477
+        )
1478
+        console.log("抽血-----",this.bloods)
1426 1479
       //  dialyzerPerfusionApparatus.map(item => {
1427 1480
       //    item.name = item.name.toUpperCase()
1428 1481
       //  })
@@ -1765,7 +1818,6 @@
1765 1818
         return uParseTime(val, '{y}-{m}-{d} {h}:{i}')
1766 1819
       },
1767 1820
       show(pre,schedual,last) {
1768
-
1769 1821
         var date = new Date()
1770 1822
         var year = date.getFullYear()
1771 1823
         var month = date.getMonth() + 1
@@ -1838,6 +1890,7 @@
1838 1890
 
1839 1891
         if (this.predialysis == null || this.predialysis.id == 0) {
1840 1892
           if(last != null) {
1893
+          
1841 1894
             this.dialysisPrescription.niprocart = last.niprocart
1842 1895
             this.dialysisPrescription.jms = last.jms
1843 1896
             this.dialysisPrescription.fistula_needle_set = last.fistula_needle_set
@@ -1920,6 +1973,9 @@
1920 1973
         }
1921 1974
 
1922 1975
         this.is_pre = 1
1976
+
1977
+        console.log("99999",this.prescription.id)
1978
+        console.log("open",this.is_open)
1923 1979
         if (this.prescription.id == 0) {
1924 1980
           if (this.is_open == 0) {
1925 1981
             if (this.patient.id <= 0) {
@@ -1935,7 +1991,8 @@
1935 1991
             ParamsQuery['patient'] = this.patient.id
1936 1992
             ParamsQuery['record_date'] = this.record_date
1937 1993
             ParamsQuery['mode'] = '1'
1938
-
1994
+    
1995
+            console.log("第一")
1939 1996
             postPrescription(ParamsQuery).then(response => {
1940 1997
               if (response.data.state == 0) {
1941 1998
                 this.$message.error(response.data.msg)
@@ -1957,6 +2014,7 @@
1957 2014
                 this.hide()
1958 2015
               }
1959 2016
             })
2017
+
1960 2018
           } else if (this.is_open == 1) {
1961 2019
             if (this.targetAdvices.length > 0) {
1962 2020
               // 弹框推送提醒
@@ -1977,7 +2035,7 @@
1977 2035
               ParamsQuery['patient'] = this.patient.id
1978 2036
               ParamsQuery['record_date'] = this.record_date
1979 2037
               ParamsQuery['mode'] = '1'
1980
-
2038
+               console.log("第二")
1981 2039
               postPrescription(ParamsQuery).then(response => {
1982 2040
                 if (response.data.state == 0) {
1983 2041
                   this.$message.error(response.data.msg)
@@ -2020,11 +2078,12 @@
2020 2078
               var arr = this.dialysisPrescription
2021 2079
 
2022 2080
               const ParamsQuery = arr
2023
-              // console.log('paramsquerythree', ParamsQuery)
2081
+              console.log('paramsquerythree', ParamsQuery)
2024 2082
               ParamsQuery['patient'] = this.patient.id
2025 2083
               ParamsQuery['record_date'] = this.record_date
2026 2084
               ParamsQuery['mode'] = '1'
2027
-
2085
+              console.log("第三")
2086
+              
2028 2087
               postPrescription(ParamsQuery).then(response => {
2029 2088
                 if (response.data.state == 0) {
2030 2089
                   this.$message.error(response.data.msg)
@@ -2054,6 +2113,7 @@
2054 2113
 
2055 2114
                     remark: ''
2056 2115
                   }
2116
+                   console.log("params--------",params)
2057 2117
                   CreateGroupAdvice(this.$route.query.patient_id, 0, params).then(
2058 2118
                     rs => {
2059 2119
                       var resp = rs.data
@@ -2094,7 +2154,7 @@
2094 2154
               ParamsQuery['patient'] = this.patient.id
2095 2155
               ParamsQuery['record_date'] = this.record_date
2096 2156
               // console.log(this.prescription);
2097
-
2157
+              console.log("第四")
2098 2158
               postPrescription(ParamsQuery).then(response => {
2099 2159
                 if (response.data.state == 0) {
2100 2160
                   this.$message.error(response.data.msg)
@@ -2106,7 +2166,7 @@
2106 2166
                     type: 'success',
2107 2167
                     duration: 2000
2108 2168
                   })
2109
-
2169
+ 
2110 2170
                   const prescription_resp = response.data.data.prescription
2111 2171
                   // console.log("aaaaaaa", prescription_resp);
2112 2172
                   var prescription = this.prescription
@@ -2137,7 +2197,7 @@
2137 2197
               ParamsQuery['patient'] = this.patient.id
2138 2198
               ParamsQuery['record_date'] = this.record_date
2139 2199
               ParamsQuery['mode'] = '1'
2140
-
2200
+               console.log("第五")
2141 2201
               postPrescription(ParamsQuery).then(response => {
2142 2202
                 if (response.data.state == 0) {
2143 2203
                   this.$message.error(response.data.msg)
@@ -2180,7 +2240,7 @@
2180 2240
                 ParamsQuery['patient'] = this.patient.id
2181 2241
                 ParamsQuery['record_date'] = this.record_date
2182 2242
                 ParamsQuery['mode'] = '1'
2183
-
2243
+                console.log("第6")
2184 2244
                 postPrescription(ParamsQuery).then(response => {
2185 2245
                   if (response.data.state == 0) {
2186 2246
                     this.$message.error(response.data.msg)
@@ -2229,7 +2289,7 @@
2229 2289
                 ParamsQuery['patient'] = this.patient.id
2230 2290
                 ParamsQuery['record_date'] = this.record_date
2231 2291
                 ParamsQuery['mode'] = '1'
2232
-
2292
+                 console.log("第七")
2233 2293
                 postPrescription(ParamsQuery).then(response => {
2234 2294
                   if (response.data.state == 0) {
2235 2295
                     this.$message.error(response.data.msg)
@@ -2251,6 +2311,7 @@
2251 2311
                       advice_doctor: this.waitUploadAdvices[0].advice_doctor,
2252 2312
                       advice_type: this.waitUploadAdvices[0].advice_type,
2253 2313
                       parent_id: this.patient_id,
2314
+
2254 2315
                       // start_time: uParseTime(this.$route.query.date, '{y}-{m}-{d}'),
2255 2316
                       start_time:
2256 2317
                         uParseTime(this.$route.query.date, '{y}-{m}-{d}') +
@@ -2298,7 +2359,7 @@
2298 2359
                 ParamsQuery['patient'] = this.patient.id
2299 2360
                 ParamsQuery['record_date'] = this.record_date
2300 2361
                 ParamsQuery['mode'] = '1'
2301
-
2362
+                console.log("第八")
2302 2363
                 postPrescription(ParamsQuery).then(response => {
2303 2364
                   if (response.data.state == 0) {
2304 2365
                     this.$message.error(response.data.msg)
@@ -2345,7 +2406,7 @@
2345 2406
             ) {
2346 2407
               ParamsQuery['mode'] = '3'
2347 2408
             }
2348
-
2409
+             console.log("第九")
2349 2410
             postPrescription(ParamsQuery).then(response => {
2350 2411
               if (response.data.state == 0) {
2351 2412
                 this.$message.error(response.data.msg)
@@ -2394,6 +2455,7 @@
2394 2455
         }
2395 2456
 
2396 2457
         this.is_pre = 2
2458
+
2397 2459
         if (this.prescription.id == 0) {
2398 2460
           if (this.is_open == 0) {
2399 2461
             if (this.patient.id <= 0) {
@@ -2746,6 +2808,7 @@
2746 2808
                       duration: 2000
2747 2809
                     })
2748 2810
                     const params = {
2811
+                   
2749 2812
                       advices: this.waitUploadAdvices,
2750 2813
                       advice_date: uParseTime(
2751 2814
                         this.$route.query.date,
@@ -3144,7 +3207,10 @@
3144 3207
         return arr.filter((arr) => !res.has(arr.name) && res.set(arr.name, 1));
3145 3208
       },
3146 3209
     },
3147
-
3210
+    // created(){
3211
+    //   var org_id =  this.$store.getters.xt_user.template_info.org_id
3212
+    //   console.log("org_id-----",org_id)
3213
+    // },
3148 3214
     watch: {
3149 3215
       'dialysisPrescription.dialysis_duration_hour': function() {
3150 3216
         let dialysis_duration_minute = 0

+ 45 - 36
src/xt_pages/dialysis/details/dialog/monitor_dialog.vue Ver arquivo

@@ -154,7 +154,10 @@
154 154
                   template_id == 21 ||
155 155
                   template_id == 22 ||
156 156
                   template_id == 23 ||
157
-                  template_id == 24)
157
+                  template_id == 24 ||
158
+                  template_id == 26 ||
159
+                  template_id == 27 ||
160
+                  org_id == 9555)
158 161
             "
159 162
           >
160 163
             <template slot-scope="scope">
@@ -184,7 +187,10 @@
184 187
                 template_id != 21 &&
185 188
                 template_id != 22 &&
186 189
                 template_id != 23 &&
187
-                template_id != 24
190
+                template_id != 24 &&
191
+                template_id != 26 &&
192
+                template_id != 27 &&
193
+                org_id!=9555
188 194
             "
189 195
           >
190 196
             <template slot-scope="scope">
@@ -195,6 +201,29 @@
195 201
               }}
196 202
             </template>
197 203
           </el-table-column>
204
+
205
+          <el-table-column
206
+            prop="displacement_flow_quantity"
207
+            align="center"
208
+            label="超滤率(ml/h)"
209
+            width="100"
210
+            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) "
211
+          >
212
+            <template slot-scope="scope">
213
+              {{ scope.row.ultrafiltration_rate ? scope.row.ultrafiltration_rate : ""  }}
214
+            </template>
215
+          </el-table-column>
216
+          <el-table-column
217
+            prop="displacement_flow_quantity"
218
+            align="center"
219
+            label="超滤率(L/h)"
220
+            width="100"
221
+            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"
222
+          >
223
+            <template slot-scope="scope">
224
+              {{ scope.row.ultrafiltration_rate ? scope.row.ultrafiltration_rate : ""  }}
225
+            </template>
226
+          </el-table-column>
198 227
           <el-table-column
199 228
             prop="sodium_concentration"
200 229
             align="center"
@@ -230,7 +259,7 @@
230 259
             align="center"
231 260
             label="置换率(ml/min)"
232 261
             width="120"
233
-            v-if=" isShow('置换率') && (template_id == 6 || template_id == 10 || template_id == 11 || template_id == 20)" >
262
+            v-if=" isShow('置换率') && (template_id == 6 || template_id == 10 || template_id == 11 || template_id == 20 || template_id == 26)" >
234 263
             <template slot-scope="scope">
235 264
               {{ scope.row.replacement_rate ? scope.row.replacement_rate : "" }}
236 265
             </template>
@@ -241,7 +270,7 @@
241 270
             align="center"
242 271
             label="置换率(L/h)"
243 272
             width="120"
244
-            v-if=" isShow('置换率') && template_id != 6 && template_id != 10 && template_id != 11 && template_id != 20">
273
+            v-if=" isShow('置换率') && template_id != 6 && template_id != 10 && template_id != 11 && template_id != 20 && template_id != 26">
245 274
             <template slot-scope="scope">
246 275
               {{ scope.row.replacement_rate ? scope.row.replacement_rate : "" }}
247 276
             </template>
@@ -251,7 +280,7 @@
251 280
             align="center"
252 281
             label="置换量(ml)"
253 282
             width="100"
254
-            v-if=" isShow('置换量') && (template_id == 6 || template_id == 10 || template_id == 11 || template_id == 20) " >
283
+            v-if=" isShow('置换量') && ((template_id == 6 && org_id != 9919) || template_id == 10 || template_id == 11 || template_id == 20 || template_id == 26)" >
255 284
             <template slot-scope="scope">
256 285
               {{ scope.row.displacement_quantity ? scope.row.displacement_quantity : "" }}
257 286
             </template>
@@ -262,7 +291,7 @@
262 291
             align="center"
263 292
             label="置换量(L)"
264 293
             width="100"
265
-            v-if=" isShow('置换量') &&  template_id != 6 && template_id != 10 && template_id != 11 && template_id != 20" >
294
+            v-if=" isShow('置换量') &&  ((template_id != 6 || org_id == 9919) && template_id != 10 && template_id != 11 && template_id != 20 && template_id != 26)" >
266 295
             <template slot-scope="scope">
267 296
               {{ scope.row.displacement_quantity ? scope.row.displacement_quantity : "" }}
268 297
             </template>
@@ -316,28 +345,7 @@
316 345
           </el-table-column>
317 346
 
318 347
 
319
-          <el-table-column
320
-            prop="displacement_flow_quantity"
321
-            align="center"
322
-            label="超滤率(ml/h)"
323
-            width="100"
324
-            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) "
325
-          >
326
-            <template slot-scope="scope">
327
-              {{ scope.row.ultrafiltration_rate ? scope.row.ultrafiltration_rate : ""  }}
328
-            </template>
329
-          </el-table-column>
330
-          <el-table-column
331
-            prop="displacement_flow_quantity"
332
-            align="center"
333
-            label="超滤率(L/h)"
334
-            width="100"
335
-            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"
336
-          >
337
-            <template slot-scope="scope">
338
-              {{ scope.row.ultrafiltration_rate ? scope.row.ultrafiltration_rate : ""  }}
339
-            </template>
340
-          </el-table-column>
348
+          
341 349
 
342 350
           <el-table-column
343 351
             prop="heparin"
@@ -473,12 +481,12 @@
473 481
             </el-form-item>
474 482
           </el-col>
475 483
 
476
-          <el-col :span="8" 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) ">
484
+          <el-col :span="8" 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) ">
477 485
             <el-form-item label="超滤率(ml/h)">
478 486
               <el-input v-model="form.ultrafiltration_rate"></el-input>
479 487
             </el-form-item>
480 488
           </el-col>
481
-          <el-col :span="8" 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">
489
+          <el-col :span="8" 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">
482 490
             <el-form-item label="超滤率(L/h)">
483 491
               <el-input v-model="form.ultrafiltration_rate"></el-input>
484 492
             </el-form-item>
@@ -486,7 +494,7 @@
486 494
 
487 495
           <el-col
488 496
             :span="8"
489
-            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) " >
497
+            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 == 27 || org_id == 9555) " >
490 498
             <el-form-item label="超滤量(ml):">
491 499
               <el-input v-model="form.ultrafiltration_volume"></el-input>
492 500
             </el-form-item>
@@ -494,7 +502,7 @@
494 502
 
495 503
           <el-col
496 504
             :span="8"
497
-            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" >
505
+            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!=27 && org_id !=9555" >
498 506
             <el-form-item label="超滤量(L):">
499 507
               <el-input v-model="form.ultrafiltration_volume"></el-input>
500 508
             </el-form-item>
@@ -513,22 +521,22 @@
513 521
               <el-input v-model="form.dialysate_temperature"></el-input>
514 522
             </el-form-item>
515 523
           </el-col>
516
-          <el-col :span="8" v-if="isShow('置换率') && template_id != 6 && template_id != 10 && template_id != 11 && template_id != 20">
524
+          <el-col :span="8" v-if="isShow('置换率') && template_id != 6 && template_id != 10 && template_id != 11 && template_id != 20 && template_id != 26">
517 525
             <el-form-item label="置换率(L/h):">
518 526
               <el-input v-model="form.replacement_rate"></el-input>
519 527
             </el-form-item>
520 528
           </el-col>
521
-          <el-col :span="8" v-if="isShow('置换率') && (template_id == 6 || template_id == 10 || template_id == 11 || template_id == 20)">
529
+          <el-col :span="8" v-if="isShow('置换率') && (template_id == 6 || template_id == 10 || template_id == 11 || template_id == 20 || template_id == 26)">
522 530
             <el-form-item label="置换率(ml/min):">
523 531
               <el-input v-model="form.replacement_rate"></el-input>
524 532
             </el-form-item>
525 533
           </el-col>
526
-          <el-col :span="8" v-if=" isShow('置换量') &&  template_id != 6 && template_id != 10 && template_id != 11 && template_id != 20">
534
+          <el-col :span="8" v-if=" isShow('置换量') &&  ((template_id != 6 || org_id == 9919) && template_id != 10 && template_id != 11 && template_id != 20 && template_id != 26)">
527 535
             <el-form-item label="置换量(L):">
528 536
               <el-input v-model="form.displacement_quantity"></el-input>
529 537
             </el-form-item>
530 538
           </el-col>
531
-          <el-col :span="8" v-if=" isShow('置换量') && (template_id == 6 || template_id == 10 || template_id == 11 || template_id == 20)">
539
+          <el-col :span="8" v-if=" isShow('置换量') && ((template_id == 6 && org_id != 9919) || template_id == 10 || template_id == 11 || template_id == 20 || template_id == 26)">
532 540
             <el-form-item label="置换量(ml):">
533 541
               <el-input v-model="form.displacement_quantity"></el-input>
534 542
             </el-form-item>
@@ -785,6 +793,7 @@ export default {
785 793
   },
786 794
   created() {
787 795
     this.template_id = this.$store.getters.xt_user.template_info.template_id
796
+    this.org_id = this.$store.getters.xt_user.template_info.org_id
788 797
     var date = this.$route.query.date
789 798
     var patient_id = this.$route.query.patient_id
790 799
     this.patient_id = patient_id

+ 10 - 9
src/xt_pages/dialysis/details/dialysisMonitoring.vue Ver arquivo

@@ -14,20 +14,20 @@
14 14
           <th width="76px">静脉压/动脉压({{monitores[0]&&monitores[0]['venous_pressure_type'] == 2 ? 'kpa' : 'mmHg'}})</th>
15 15
           <th v-if="isShow('血流量')" width="92px">血流量(ml/min)</th>
16 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 == 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)" width="76px" > 超滤量(ml)</th>
18
-          <th v-if=" isShow('超滤量') && template_id != 6 && 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"  width="76px"> 超滤量(L) </th>
17
+          <th v-if=" isShow('超滤量') &&(template_id == 6 || 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 || this.$store.getters.xt_user.template_info.org_id == 9555)" width="76px" > 超滤量(ml)</th>
18
+          <th v-if=" isShow('超滤量') && template_id != 6 && 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 && 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)" 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" width="50px"> 超滤率 <br />(L/h) </th>
19 21
           <th v-if="isShow('钠浓度')" width="92px">钠浓度(mmol/L)</th>
20 22
           <th v-if="isShow('透析液温度')" width="92px">透析液温度(℃)</th>
21
-          <th v-if=" isShow('置换率') && (template_id == 6 || template_id == 10 || template_id == 11 || template_id == 20) " width="92px" > 置换率(ml/min) </th>
22
-          <th v-if=" isShow('置换率') && template_id != 6 && template_id != 10 && template_id != 11 && template_id != 20" width="92px" > 置换率(L/h)  </th>
23
-          <th v-if=" isShow('置换量') && (template_id == 6 || template_id == 10 || template_id == 11 || template_id == 20) " width="92px"  > 置换量(ml)  </th>
24
-          <th v-if=" isShow('置换量') && template_id != 6 && template_id != 10 && template_id != 11 && template_id != 20" width="92px" > 置换量(L) </th>
23
+          <th v-if=" isShow('置换率') && (template_id == 6 || template_id == 10 || template_id == 11 || template_id == 20 || template_id == 26) " width="92px" > 置换率(ml/min) </th>
24
+          <th v-if=" isShow('置换率') && template_id != 6 && template_id != 10 && template_id != 11 && template_id != 20 && template_id != 26" width="92px" > 置换率(L/h)  </th>
25
+          <th v-if=" isShow('置换量') && ((template_id == 6 && org_id != 9919) || template_id == 10 || template_id == 11 || template_id == 20 || template_id == 26)" width="92px"  > 置换量(ml)  </th>
26
+          <th v-if=" isShow('置换量') && ((template_id != 6 || org_id == 9919) && template_id != 10 && template_id != 11 && template_id != 20 && template_id != 26)" width="92px" > 置换量(L) </th>
25 27
           <th v-if=" isShow('SpO₂') && template_id != 6 && template_id != 10 && template_id != 11  " width="92px" > SpO₂(%) </th>
26 28
           <th v-if="isShow('电导度')" width="92px">电导度(mS/m)</th>
27 29
           <th v-if="isShow('置换液流量')" width="92px">置换液流量(ml/h)</th>
28 30
           <th v-if="isShow('透析液流量')" width="92px">透析液流量(ml/h)</th>
29
-          <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)" width="50px"> 超滤率 <br />(ml/h) </th>
30
-          <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" width="50px"> 超滤率 <br />(L/h) </th>
31 31
           <th v-if="isShow('肝素用量余量')" width="92px">肝素用量余量(ml)</th>
32 32
           <th v-if="isShow('病情变化')" width="92px">病情变化</th>
33 33
           <th v-if="isShow('处理')" width="92px">处理</th>
@@ -43,6 +43,7 @@
43 43
           <td v-if="isShow('血流量')"> {{ monitor.blood_flow_volume ? monitor.blood_flow_volume : "" }} </td>
44 44
           <td v-if="isShow('跨膜压')"> {{ monitor.transmembrane_pressure ? monitor.transmembrane_pressure : "" }} </td>
45 45
           <td v-if="isShow('超滤量')"> {{ monitor.ultrafiltration_volume ? monitor.ultrafiltration_volume : "" }} </td>
46
+          <td v-if="isShow('超滤率')" >{{monitor.ultrafiltration_rate?monitor.ultrafiltration_rate:''}}</td>
46 47
           <td v-if="isShow('钠浓度')"> {{ monitor.sodium_concentration ? monitor.sodium_concentration : "" }} </td>
47 48
           <td v-if="isShow('透析液温度')"> {{ monitor.dialysate_temperature ? monitor.dialysate_temperature : "" }} </td>
48 49
           <td v-if="isShow('置换率')"> {{ monitor.replacement_rate ? monitor.replacement_rate : "" }} </td>
@@ -51,7 +52,6 @@
51 52
           <td v-if="isShow('电导度')"> {{ monitor.conductivity ? monitor.conductivity : "" }} </td>
52 53
           <th v-if="isShow('置换液流量')"> {{ monitor.displacement_flow_quantity  ? monitor.displacement_flow_quantity : "" }} </th>
53 54
           <th v-if="isShow('透析液流量')"> {{ monitor.dialysate_flow  ? monitor.dialysate_flow : "" }} </th>
54
-          <td v-if="isShow('超滤率')" >{{monitor.ultrafiltration_rate?monitor.ultrafiltration_rate:''}}</td>
55 55
           <th v-if="isShow('肝素用量余量')"> {{ monitor.heparin ? monitor.heparin : "" }} </th>
56 56
           <td v-if="isShow('病情变化')">{{ monitor.symptom }}</td>
57 57
           <td v-if="isShow('处理')">{{ monitor.dispose }}</td>
@@ -83,6 +83,7 @@ export default {
83 83
   },
84 84
   created() {
85 85
     this.template_id = this.$store.getters.xt_user.template_info.template_id
86
+    this.org_id = this.$store.getters.xt_user.template_info.org_id
86 87
   },
87 88
   methods: {
88 89
     parseTime(time, layout) {

+ 10 - 7
src/xt_pages/dialysis/details/index.vue Ver arquivo

@@ -764,6 +764,9 @@ export default {
764 764
     }, 1000*50);
765 765
   },
766 766
   computed: {
767
+    websocket() {
768
+      return this.$store.state.user.websocket;
769
+    },
767 770
     steps: function() {
768 771
       var steps = [
769 772
         { title: '透析处方', finish: false },
@@ -1040,8 +1043,8 @@ export default {
1040 1043
           this.lastDialysisPrescribe = lastDialysisPrescribe
1041 1044
           this.lastDryWeightDislysis = lastDryWeightDislysis
1042 1045
           this.headNurses = headNurses
1043
-          this.system_prescribe = system_prescribe 
1044
-          
1046
+          this.system_prescribe = system_prescribe
1047
+
1045 1048
 
1046 1049
 
1047 1050
           this.niprocart_info = []
@@ -1304,7 +1307,7 @@ export default {
1304 1307
       this.patient_id = schedual.patient_id
1305 1308
       this.date = schedual.schedule_date
1306 1309
       // this.getScheduleDetail();
1307
-      // this.getLongAdvice();
1310
+      this.getLongAdvice();
1308 1311
 
1309 1312
       var patient_id = schedual.patient_id
1310 1313
       var date = schedual.schedule_date
@@ -1653,7 +1656,7 @@ export default {
1653 1656
     websocketSend(data) {
1654 1657
       try {
1655 1658
         this.websocket.send(JSON.stringify(data))
1656
-          
1659
+
1657 1660
       } catch (error) {
1658 1661
         this.showError = true;
1659 1662
         this.showIndex = 4;
@@ -1739,7 +1742,7 @@ export default {
1739 1742
             arr.push(item.patient_id)
1740 1743
           })
1741 1744
           if(arr.indexOf(parseInt(res.data.data.patientInfo.patient_id)) > -1){
1742
-            
1745
+
1743 1746
             this.showView = false
1744 1747
             this.$router.push({
1745 1748
               path: '/dialysis/details',
@@ -1752,9 +1755,9 @@ export default {
1752 1755
                 showView:false
1753 1756
               }
1754 1757
             })
1755
-            
1758
+
1756 1759
           }else {
1757
-            
1760
+
1758 1761
             this.showView = true
1759 1762
             this.$router.push({
1760 1763
               path: '/dialysis/details',

+ 731 - 0
src/xt_pages/dialysis/dialysisDoctorAdvice.vue Ver arquivo

@@ -0,0 +1,731 @@
1
+<template>
2
+  <div class="main-contain">
3
+    <div class="position">
4
+      <bread-crumb :crumbs="crumbs"></bread-crumb>
5
+      <el-button
6
+          size="small"
7
+          icon="el-icon-printer"
8
+          :disabled="selecting_schs.length == 0"
9
+          @click="batchPrintAction"
10
+          type="primary"
11
+          >打印</el-button>
12
+    </div>
13
+    <div class="app-container">
14
+      <!-- <div class="filter-container">
15
+        <el-input style="width: 400px;" v-model="searchKey" class="filter-item"/>
16
+        <el-button class="filter-item" type="primary" icon="el-icon-search" @click="search">搜索</el-button>
17
+      </div>-->
18
+      <div class="cell clearfix">
19
+        <label class="title">
20
+          <span class="name">日期查询:</span>
21
+        </label>
22
+        <el-date-picker
23
+          v-model="time"
24
+          prefix-icon="el-icon-date"
25
+          @change="changeTime"
26
+          :editable="false"
27
+          style="width: 250px;"
28
+          type="date"
29
+          placeholder="选择日期时间"
30
+          align="right"
31
+          format="yyyy-MM-dd"
32
+          value-format="timestamp"
33
+        ></el-date-picker>
34
+
35
+        <!-- <el-button type="primary" :disabled="selecting_schs.length == 0" @click="batchPrintAction">打印</el-button> -->
36
+      </div>
37
+      <div class="cell clearfix">
38
+        <label class="title"> <span class="name">排班班次</span> : </label>
39
+        <div class="time">
40
+          <ul class>
41
+            <li
42
+              :class="item.value == schedulType ? 'active' : ''"
43
+              @click="selectSchedulType(item.value)"
44
+              v-for="item in schedulArr"
45
+              :key="item.value"
46
+            >
47
+              {{ item.label }}
48
+            </li>
49
+          </ul>
50
+        </div>
51
+      </div>
52
+      <div class="cell clearfix">
53
+        <label class="title"> <span class="name">分区</span> : </label>
54
+        <div class="time">
55
+          <ul class>
56
+            <li
57
+              :class="item.id == partitionType ? 'active' : ''"
58
+              @click="selectPartitionType(item.id)"
59
+              v-for="item in partitionArr"
60
+              :key="item.id"
61
+            >
62
+              {{ item.name }}
63
+            </li>
64
+          </ul>
65
+        </div>
66
+      </div>
67
+
68
+      <el-table :data="scheduleMap" border :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" 
69
+        @selection-change="handleSelectionChange"
70
+        :row-class-name="tableRowClassName"
71
+        :span-method="objectSpanMethod"
72
+        :cell-class-name="adviceNameShow"
73
+        :modal-append-to-body="false">
74
+        <el-table-column type="selection" width="55" align="center"></el-table-column>
75
+        <el-table-column prop="date" label="姓名" align="center" min-width="26px">
76
+          <template slot-scope="scope">
77
+            <span>{{ scope.row.name }}</span>
78
+            <br>
79
+            ({{ scope.row.parent_id == 0 ? scope.row.dialysis_no : ""}})
80
+            <br>
81
+            <span v-if="scope.row.mode_id == 1">(HD)</span>
82
+            <span v-if="scope.row.mode_id == 2">(HDF)</span>
83
+            <span v-if="scope.row.mode_id == 3">(HD+HP)</span>
84
+            <span v-if="scope.row.mode_id == 4">(HP)</span>
85
+            <span v-if="scope.row.mode_id == 5">(HF)</span>
86
+            <span v-if="scope.row.mode_id == 6">(SCUF)</span>
87
+            <span v-if="scope.row.mode_id == 7">(IUF)</span>
88
+            <span v-if="scope.row.mode_id == 8">(HFHD)</span>
89
+            <span v-if="scope.row.mode_id == 9">(HFHD+HP)</span>
90
+            <span v-if="scope.row.mode_id == 10">(PHF)</span>
91
+            <span v-if="scope.row.mode_id == 11">(HFR)</span>
92
+            <span v-if="scope.row.mode_id == 12">(HDF+HP)</span>
93
+            <span v-if="scope.row.mode_id == 13">(CRRT)</span>
94
+            <span v-if="scope.row.mode_id == 14">(腹水回输)</span>
95
+          </template>
96
+        </el-table-column>
97
+        <el-table-column prop="date" label="透析器" align="center" min-width="26px">
98
+          <template slot-scope="scope">
99
+            <span>{{ scope.row.dialyzer_perfusion_apparatus }}</span>
100
+          </template>
101
+        </el-table-column>
102
+        <el-table-column prop="start_time" label="开始时间" align="center" min-width="35px">
103
+          <template slot-scope="scope">
104
+            <span>
105
+              {{scope.row.start_time | parseTime('{m}-{d} {h}:{i}')}}
106
+            </span>
107
+          </template>
108
+        </el-table-column>
109
+        <el-table-column prop="advice_name" min-width="50px" label="医嘱内容" align="center">
110
+          <template slot-scope="scope">
111
+            <el-dropdown trigger="click" v-if="scope.row.parent_id == 0">
112
+              <span class="el-dropdown-link" v-if="scope.row.parent_id == 0">
113
+                {{ getAdviceContent(scope.row, 1)}}
114
+              </span>
115
+            </el-dropdown>
116
+
117
+            <el-dropdown trigger="click" v-if="scope.row.parent_id > 0">
118
+              <span class="el-dropdown-link">
119
+                &emsp;{{ getAdviceContent(scope.row, 2)}}
120
+              </span>
121
+            </el-dropdown>
122
+          </template>
123
+        </el-table-column>
124
+        <el-table-column
125
+          prop="start_time"
126
+          align="center"
127
+          min-width="30px"
128
+          label="执行时间"
129
+          sortable
130
+        >
131
+          <template slot-scope="scope">
132
+            <span v-if="scope.row.execution_time != 0">
133
+              {{scope.row.start_time | parseTime('{m}-{d} {h}:{i}')}}
134
+            </span>
135
+            <span v-else></span>
136
+          </template>
137
+        </el-table-column>
138
+        <el-table-column prop="execution_staff" align="center" min-width="30px" label="执行护士">
139
+          <template slot-scope="scope">
140
+            <span v-if="scope.row.parent_id == 0">
141
+              {{getXuserName(scope.row.execution_staff)}}
142
+            </span>
143
+            <span v-else></span>
144
+          </template>
145
+        </el-table-column>
146
+        <el-table-column prop="checker" align="center" min-width="30px" label="校对护士">
147
+          <template slot-scope="scope">
148
+            <span v-if="scope.row.parent_id == 0">
149
+              {{getXuserName(scope.row.checker)}}
150
+            </span>
151
+            <span v-else></span>
152
+          </template>
153
+        </el-table-column>
154
+        <el-table-column
155
+          prop="check_time"
156
+          align="center"
157
+          min-width="30px"
158
+          label="校对时间"
159
+          sortable
160
+        >
161
+          <template slot-scope="scope">
162
+            <span v-if="scope.row.check_time != 0">
163
+              {{scope.row.check_time | parseTime('{m}-{d} {h}:{i}')}}
164
+            </span>
165
+            <span v-else></span>
166
+          </template>
167
+        </el-table-column>
168
+        <el-table-column prop="date" label="开嘱医生" align="center" min-width="26px">
169
+          <template slot-scope="scope">
170
+            <span>{{ getXuserName(scope.row.advice_doctor) }}</span>
171
+          </template>
172
+        </el-table-column>
173
+        <el-table-column
174
+          prop="created_time"
175
+          align="center"
176
+          min-width="30px"
177
+          label="校对时间"
178
+          sortable
179
+        >
180
+          <template slot-scope="scope">
181
+            <span v-if="scope.row.created_time != 0">
182
+              {{scope.row.created_time | parseTime('{m}-{d} {h}:{i}')}}
183
+            </span>
184
+            <span v-else></span>
185
+          </template>
186
+        </el-table-column>
187
+        
188
+
189
+        
190
+        
191
+        <!-- <el-table-column
192
+          v-if="template_id != 6"
193
+          prop="checker"
194
+          min-width="30px"
195
+          align="center"
196
+          label="核对人员"
197
+        >
198
+          <template slot-scope="scope">
199
+            <span v-if="scope.row.parent_id == 0">
200
+              {{getXuserName(scope.row.checker)}}
201
+            </span>
202
+            <span v-else></span>
203
+          </template>
204
+        </el-table-column> -->
205
+      </el-table>
206
+    </div>
207
+  </div>
208
+</template>
209
+
210
+<script>
211
+const moment = require('moment')
212
+import { getSchedualPatient, GetAllZone } from "@/api/dialysis";
213
+import { parseTime } from "@/utils";
214
+import BreadCrumb from "@/xt_pages/components/bread-crumb";
215
+import { getPrintTemplate } from "@/api/data";
216
+import { getSchedualDoctors } from '@/api/advice'
217
+
218
+export default {
219
+  name: "Patient",
220
+  data() {
221
+    return {
222
+      crumbs: [
223
+        { path: false, name: "透析管理" },
224
+        { path: false, name: "透析监测" }
225
+      ],
226
+      loading: false,
227
+      time: "",
228
+
229
+      search_mode: 1, // 搜索模式 1.日期搜索 2.病人搜索
230
+      patient_search_keyword: "",
231
+
232
+      SchedualPatientsTableData: [],
233
+      active: true,
234
+      schedulType: 0,
235
+      schedulArr: [
236
+        { value: 0, label: "全部" },
237
+        { value: 1, label: "上午" },
238
+        { value: 2, label: "下午" },
239
+        { value: 3, label: "晚上" }
240
+      ],
241
+      template_id: 0,
242
+
243
+      partitionType: 0,
244
+
245
+      total: 0,
246
+      listQuery: {
247
+        page: 1,
248
+        limit: 10,
249
+        schedul_type: 0,
250
+        partition_type: 0,
251
+        schedul_time: "",
252
+        keywords: ""
253
+      },
254
+      selecting_schs: [],
255
+      partitionArr: [],
256
+
257
+      scheduleMap:[]
258
+    };
259
+  },
260
+  created() {
261
+    var date = new Date();
262
+    this.time = date;
263
+    var year = date.getFullYear();
264
+    var month = date.getMonth() + 1;
265
+    var day = date.getDate();
266
+    if (month < 10) {
267
+      month = "0" + month;
268
+    }
269
+    if (day < 10) {
270
+      day = "0" + day;
271
+    }
272
+    var nowDate = year + "-" + month + "-" + day;
273
+    var date = new Date(nowDate + " 00:00:00");
274
+    this.listQuery.schedul_time = date.getTime();
275
+    this.getAllZone();
276
+    this.getTemplateInfo();
277
+    this.requestSchedualDoctors(this.time)
278
+    // this.template_id = this.$store.getters.xt_user.template_info.template_id;
279
+  },
280
+  methods: {
281
+    getTemplateInfo() {
282
+      getPrintTemplate().then(response => {
283
+        if (response.data.state == 0) {
284
+          this.$message.error(response.data.msg);
285
+          return false;
286
+        } else {
287
+          var template = response.data.data.template;
288
+          this.template_id = template.template_id;
289
+        }
290
+      });
291
+    },
292
+    clickCurrent(val) {
293
+      console.log(val);
294
+      this.$router.push({
295
+        path: "/dialysis/details",
296
+        query: { patient_id: val.patient_id, date: val.sch_time_int,mode_id:val.mode_id }
297
+      });
298
+    },
299
+    handleSelectionChange(val) {
300
+      this.selecting_schs = val;
301
+    },
302
+
303
+    selectSchedulType(scheduleType) {
304
+      // alert(scheduleType);/
305
+      this.schedulType = scheduleType;
306
+      this.listQuery.schedul_type = scheduleType;
307
+      this.requestSchedualDoctors();
308
+    },
309
+    selectPartitionType(partitionType) {
310
+      this.partitionType = partitionType;
311
+      this.listQuery.partition_type = partitionType;
312
+      this.requestSchedualDoctors();
313
+    },
314
+
315
+    changeTime() {
316
+      this.listQuery.schedul_time = this.time;
317
+      this.requestSchedualDoctors(this.time)
318
+    },
319
+    getAllZone: function() {
320
+      GetAllZone().then(response => {
321
+        if (response.data.state == 0) {
322
+          this.$message.error(response.data.msg);
323
+          return false;
324
+        } else {
325
+          this.partitionArr = response.data.data.zone;
326
+          this.partitionArr.unshift({ id: 0, name: "全部" });
327
+        }
328
+      });
329
+    },
330
+    requestSchedualDoctors (time) {
331
+        let newTime =  moment(time).format('YYYY-MM-DD')
332
+        getSchedualDoctors({
333
+        date: newTime,
334
+        patient_type: 0,
335
+        advice_type: 2
336
+        }).then(rs => {
337
+        var resp = rs.data
338
+        if (resp.state == 1) {
339
+            this.admin_users = resp.data.adminUser
340
+            var schedules = resp.data.scheduals
341
+            // console.log("schedules",schedules)
342
+            let arr = []
343
+            let newArr = []
344
+            let newSchedules = []
345
+            schedules.map(item => {
346
+                item.doctor_advice.map(it =>{
347
+                    it.name = item.patient.name
348
+                    it.dialyzer_perfusion_apparatus = item.prescription.dialyzer_perfusion_apparatus
349
+                    it.schedule_type = item.schedule_type
350
+                    it.zoneId = item.device_number.zone.id
351
+                    it.dialysis_no = item.patient.dialysis_no
352
+                    it.mode_id = item.mode_id
353
+                    arr.push(it)
354
+                })
355
+            })
356
+            if(this.schedulType == 0){
357
+                newSchedules = arr
358
+            }else{
359
+                arr.map(item => {
360
+                    if (item.schedule_type == this.schedulType) {
361
+                        newSchedules.push(item)
362
+                    }
363
+                })
364
+            }
365
+            
366
+            
367
+            if(this.partitionType == 0){
368
+                this.scheduleMap = newSchedules
369
+            }else {
370
+                let a = []
371
+                arr.map(item => {
372
+                    if(this.partitionType == item.zoneId){
373
+                        a.push(item)
374
+                    }
375
+                })
376
+                this.scheduleMap = a
377
+            }
378
+            this.scheduleMap.map(ele => {
379
+                let firstIndex = this.scheduleMap.findIndex(item => {
380
+                  return item.patient_id === ele.patient_id   // 当category相同的时候,返回第一个相同的Index 赋值给 firstIndex
381
+                })
382
+                if (this.scheduleMap.findIndex(item => { return item.patient_id === firstIndex}) === -1) {
383
+                    newArr.push({
384
+                    length: this.scheduleMap.filter(item => {
385
+                        return item.patient_id === ele.patient_id    //利用数组的filter方法,过滤出相同category的数组的长度。数组长度-即为跨多少行
386
+                    }).length,
387
+                    firstIndex: firstIndex    // firstIndex 返回的是第一个catergory就满足的第一个Index,即为rowIndex开始于第几行。
388
+                    })
389
+                }
390
+            })
391
+            this.indexInfoList = newArr
392
+        }
393
+        })
394
+    },
395
+    getValue: function(val) {
396
+      if (val != undefined) {
397
+        return val.value;
398
+      } else {
399
+        return "";
400
+      }
401
+    },
402
+
403
+    handleCurrentChange(val) {
404
+      this.listQuery.page = val;
405
+      this.getSchedualPatientList();
406
+    },
407
+    changeSearchMode: function() {
408
+      if (this.search_mode == 1) {
409
+        this.search_mode = 2;
410
+      } else {
411
+        this.search_mode = 1;
412
+      }
413
+    },
414
+    searchPatientAction: function() {
415
+      this.listQuery.keywords = this.patient_search_keyword;
416
+      console.log(this.patient_search_keyword);
417
+      if (this.patient_search_keyword.length == 0) {
418
+        return;
419
+      }
420
+      this.getSchedualPatientList();
421
+    },
422
+    handleSizeChange(val) {
423
+      this.listQuery.limit = val;
424
+      this.getSchedualPatientList();
425
+    },
426
+    batchPrintAction: function() {
427
+      if (this.selecting_schs.length === 0) {
428
+        this.$message.error("请至少选择一条需要打印的内容");
429
+        return false;
430
+      }
431
+      // 模板ID为6
432
+      var sch_ids = [];
433
+
434
+      for (let index = 0; index < this.selecting_schs.length; index++) {
435
+        sch_ids.push(this.selecting_schs[index].patient_id);
436
+      }
437
+    //   console.log("sch_ids",sch_ids)
438
+      this.$store.dispatch("SetAdviceIDs", sch_ids);
439
+      this.$router.push({ path: "/dialysis/doctorAdvicePrint",query:{time: new Date(this.time).getTime()} });
440
+
441
+    },
442
+    batchPrintActionOne: function() {
443
+      if (this.selecting_schs.length === 0) {
444
+        this.$message.error("请至少选择一条需要打印的内容");
445
+        return false;
446
+      }
447
+      var sch_ids = [];
448
+      for (let index = 0; index < this.selecting_schs.length; index++) {
449
+        sch_ids.push(this.selecting_schs[index].sch_id);
450
+      }
451
+      this.$store.dispatch("SetBatchPrintDialysisRecordIDs", sch_ids);
452
+      if (this.template_id == 2 || this.template_id == 0) {
453
+        this.$router.push({ path: "/dialysis/print/batch/otherone" });
454
+      } else if (this.template_id == 1) {
455
+        this.$router.push({ path: "/dialysis/print/batch" });
456
+      } else if (this.template_id == 5) {
457
+        this.$router.push({ path: "/dialysis/print/batch/fiveone" });
458
+      } else if (this.template_id == 22) {
459
+        this.$router.push({ path: "/dialysis/print/batch/twentyTwo_one" });
460
+      }
461
+    },
462
+    batchPrintActionTwo: function() {
463
+      if (this.selecting_schs.length === 0) {
464
+        this.$message.error("请至少选择一条需要打印的内容");
465
+        return false;
466
+      }
467
+      var sch_ids = [];
468
+      for (let index = 0; index < this.selecting_schs.length; index++) {
469
+        sch_ids.push(this.selecting_schs[index].sch_id);
470
+      }
471
+      this.$store.dispatch("SetBatchPrintDialysisRecordIDs", sch_ids);
472
+      if (this.template_id == 2 || this.template_id == 0) {
473
+        this.$router.push({ path: "/dialysis/print/batch/othertwo" });
474
+      } else if (this.template_id == 1) {
475
+        this.$router.push({ path: "/dialysis/print/batch" });
476
+      } else if (this.template_id == 5) {
477
+        this.$router.push({ path: "/dialysis/print/batch/fivetwo" });
478
+      } else if (this.template_id == 22) {
479
+        this.$router.push({ path: "/dialysis/print/batch/twentyTwo_two" });
480
+      }
481
+    },
482
+    compare (property) {
483
+      return function (a, b) {
484
+        var value1 = a[property]
485
+        var value2 = b[property]
486
+        return value1 - value2
487
+      }
488
+    },
489
+    tableRowClassName({ row, rowIndex }) {
490
+        // if (row.stop_state == 1 || row.execution_state == 1) {
491
+        //     return 'stoped-row';
492
+        // }
493
+        // return 'success-rows'
494
+        // row.index = rowIndex
495
+        // const arr = this.hoverOrderArr
496
+        // for (let i = 0; i < arr.length; i++) {
497
+        //   if (rowIndex == arr[i]) {
498
+        //     return 'success-row'
499
+        //   }
500
+        // }
501
+    },
502
+    objectSpanMethod({ row, column, rowIndex, columnIndex }) {
503
+        if (columnIndex === 0) {
504
+            let index = this.indexInfoList.findIndex(item => {  //遍历数组
505
+                return item.firstIndex === rowIndex
506
+            })
507
+            if (index > -1) {
508
+                return {
509
+                    rowspan: this.indexInfoList[index].length,
510
+                    colspan: 1
511
+                }
512
+            } else {
513
+                return {
514
+                    rowspan: 0,
515
+                    colspan: 0
516
+                }
517
+            }
518
+        }
519
+        
520
+        if (columnIndex === 1) {
521
+            let index = this.indexInfoList.findIndex(item => {  //遍历数组
522
+                return item.firstIndex === rowIndex
523
+            })
524
+            if (index > -1) {
525
+                return {
526
+                    rowspan: this.indexInfoList[index].length,
527
+                    colspan: 1
528
+                }
529
+            } else {
530
+                return {
531
+                    rowspan: 0,
532
+                    colspan: 0
533
+                }
534
+            }
535
+        }
536
+        if (columnIndex === 2) {
537
+            let index = this.indexInfoList.findIndex(item => {  //遍历数组
538
+                return item.firstIndex === rowIndex
539
+            })
540
+            if (index > -1) {
541
+                return {
542
+                    rowspan: this.indexInfoList[index].length,
543
+                    colspan: 1
544
+                }
545
+            } else {
546
+                return {
547
+                    rowspan: 0,
548
+                    colspan: 0
549
+                }
550
+            }
551
+        }
552
+    },
553
+    adviceNameShow({ row, column, rowIndex, columnIndex }) {
554
+        if (columnIndex == 2) {
555
+          return 'dialysisadvicenamedisplay'
556
+        } else {
557
+          return ''
558
+        }
559
+    },
560
+    getXuserName(id) {
561
+        if (id <= 0) {
562
+          return ''
563
+        }
564
+        var name = ''
565
+        if (
566
+          this.admin_users == null ||
567
+          typeof this.admin_users.length === 'undefined'
568
+        ) {
569
+          return name
570
+        }
571
+        var leng = this.admin_users.length
572
+        if (leng == 0) {
573
+          return name
574
+        }
575
+        for (let index = 0; index < leng; index++) {
576
+          if (this.admin_users[index].id == id) {
577
+            name = this.admin_users[index].name
578
+            break
579
+          }
580
+        }
581
+        return name
582
+    },
583
+    getAdviceContent(row, isChild) {
584
+        let tempSingleDoseDesc = ''
585
+        let tempDrugSpecDesc = ''
586
+        let tempPrescribingNumberDesc = ''
587
+
588
+        if (row.prescribing_number) {
589
+          tempPrescribingNumberDesc =
590
+            row.prescribing_number + '' + row.prescribing_number_unit
591
+        }
592
+
593
+        if (row.single_dose) {
594
+          if (this.template_id != 6) {
595
+            tempSingleDoseDesc =
596
+              ' 单次用量 ' + '  ' + row.single_dose + '' + row.single_dose_unit
597
+          } else {
598
+            tempSingleDoseDesc = row.single_dose + '' + row.single_dose_unit
599
+          }
600
+        }
601
+
602
+        if (row.advice_desc) {
603
+          tempDrugSpecDesc = '(' + row.advice_desc + row.drug_spec_unit + ')'
604
+        }
605
+
606
+        if (isChild == 1) {
607
+          // 不是子药
608
+
609
+          return (
610
+            row.advice_name +
611
+            tempDrugSpecDesc +
612
+            ' ' +
613
+            tempPrescribingNumberDesc +
614
+            tempSingleDoseDesc +
615
+            ' ' +
616
+            row.delivery_way +
617
+            ' ' +
618
+            row.execution_frequency
619
+          )
620
+        } else {
621
+          // 是子药
622
+          return (
623
+            row.advice_name +
624
+            tempDrugSpecDesc +
625
+            ' ' +
626
+            tempPrescribingNumberDesc +
627
+            tempSingleDoseDesc
628
+          )
629
+        }
630
+    },
631
+    handleSelectionChange(val){
632
+        // console.log('val',val)
633
+        this.selecting_schs = val;
634
+    }
635
+  },
636
+  components: {
637
+    BreadCrumb
638
+  }
639
+};
640
+</script>
641
+
642
+<style rel="stylesheet/scss" lang="scss" scoped>
643
+.app-container {
644
+  //   margin: 20px;
645
+  font-size: 15px;
646
+  .filter-container {
647
+    padding-bottom: 5px;
648
+  }
649
+  .cqd-dataTitle {
650
+    color: #303133;
651
+    font-size: 14px;
652
+    border-bottom: 2px #e4e7ed solid;
653
+    height: 36px;
654
+    line-height: 36px;
655
+    margin: 0 0 25px 0;
656
+    position: relative;
657
+  }
658
+  .cqd-dataTitle::before {
659
+    position: absolute;
660
+    left: 0;
661
+    bottom: -2px;
662
+    content: "";
663
+    width: 42px;
664
+    height: 2px;
665
+    background: #409eff;
666
+  }
667
+  .search-component {
668
+    width: 500px;
669
+    .searchBox {
670
+      width: 300px;
671
+      height: 36px;
672
+      line-height: 36px;
673
+      padding-left: 15px;
674
+      border: 1px #dcdfe6 solid;
675
+      border-right: none;
676
+      outline: none;
677
+      float: left;
678
+      border-radius: 6px 0 0 6px;
679
+      font-size: 14px;
680
+      color: #333;
681
+      background: #fff;
682
+      box-shadow: 3px 3px 4px rgba(135, 135, 135, 0.05);
683
+    }
684
+    .searchBtn {
685
+      background-color: #409eff;
686
+      color: #fff;
687
+      font-size: 15px;
688
+      text-align: center;
689
+      height: 36px;
690
+      line-height: 36px;
691
+      float: left;
692
+      outline: none;
693
+      width: 70px;
694
+      border: none;
695
+      border-radius: 0 6px 6px 0;
696
+      font-family: "Microsoft Yahei";
697
+      cursor: pointer;
698
+    }
699
+  }
700
+  .amount {
701
+    font-weight: normal;
702
+    padding: 10px 0 0 0;
703
+    color: #606266;
704
+    font-size: 14px;
705
+    span {
706
+      color: #ef2525;
707
+      font-family: "Arial";
708
+      padding: 0 2px;
709
+    }
710
+  }
711
+}
712
+.el-table td,
713
+.el-table th.is-leaf,
714
+.el-table--border,
715
+.el-table--group {
716
+  border-color: #d0d3da;
717
+}
718
+.el-table--border::after,
719
+.el-table--group::after,
720
+.el-table::before {
721
+  background-color: #d0d3da;
722
+}
723
+.el-checkbox__inner::after {
724
+  height: 10px;
725
+  left: 7px;
726
+}
727
+.el-checkbox__inner {
728
+  width: 20px;
729
+  height: 20px;
730
+}
731
+</style>

+ 109 - 0
src/xt_pages/dialysis/dialysisPrintOrder.vue Ver arquivo

@@ -354,6 +354,59 @@
354 354
           >打印</el-button
355 355
         >
356 356
       </template>
357
+      <template v-if="org_template_info.template_id == 26">
358
+        <el-button
359
+          :loading="loading"
360
+          size="small"
361
+          icon="el-icon-printer"
362
+          @click="printThisPage"
363
+          type="primary"
364
+          >打印</el-button
365
+        >
366
+      </template>
367
+      <template
368
+        v-if="
369
+          org_template_info.template_id == 27 ||
370
+            org_template_info.template_id == 0
371
+        "
372
+      >
373
+      <div>
374
+          <el-button
375
+            :loading="loading"
376
+            size="small"
377
+            icon="el-icon-printer"
378
+            @click="printThisPage"
379
+            type="primary"
380
+            >打印全部</el-button
381
+          >
382
+          <el-button
383
+            :loading="loading"
384
+            size="small"
385
+            icon="el-icon-printer"
386
+            @click="printThisOnePage"
387
+            type="primary"
388
+            >打印纪录单</el-button
389
+          >
390
+          <el-button
391
+            :loading="loading"
392
+            size="small"
393
+            icon="el-icon-printer"
394
+            @click="printThisTwoPage"
395
+            type="primary"
396
+            >打印医嘱单</el-button
397
+          >
398
+        </div>
399
+      </template>
400
+      <template v-if="org_template_info.template_id == 28">
401
+        <el-button
402
+          :loading="loading"
403
+          size="small"
404
+          icon="el-icon-printer"
405
+          @click="printThisPage"
406
+          type="primary"
407
+          >打印</el-button
408
+        >
409
+      </template>
357 410
     </div>
358 411
     <div class="app-container" style="min-height:0;">
359 412
       <!--<div class="order-print-btn"-->
@@ -559,6 +612,21 @@
559 612
             v-if="org_template_info.template_id == 25"
560 613
           >
561 614
           </DialysisPrintOrderTwentyFive>
615
+          <DialysisPrintOrderTwentySix
616
+            v-bind:childResponse="childResponse"
617
+            v-if="org_template_info.template_id == 26"
618
+          >
619
+          </DialysisPrintOrderTwentySix>
620
+          <DialysisPrintOrderTwentySeven
621
+            v-bind:childResponse="childResponse"
622
+            v-if="org_template_info.template_id == 27"
623
+          >
624
+          </DialysisPrintOrderTwentySeven>
625
+          <DialysisPrintOrderTwentyEight
626
+            v-bind:childResponse="childResponse"
627
+            v-if="org_template_info.template_id == 28"
628
+          >
629
+          </DialysisPrintOrderTwentyEight>
562 630
         </div>
563 631
       </el-container>
564 632
     </div>
@@ -603,9 +671,15 @@ import DialysisPrintOrderTwentyTwo from "./template/DialysisPrintOrderTwentyTwo"
603 671
 import DialysisPrintOrderTwentyThree from "./template/DialysisPrintOrderTwentyThree";
604 672
 import DialysisPrintOrderTwentyFour from "./template/DialysisPrintOrderTwentyFour";
605 673
 import DialysisPrintOrderTwentyFive from "./template/DialysisPrintOrderTwentyFive";
674
+import DialysisPrintOrderTwentySix from "./template/DialysisPrintOrderTwentySix";
675
+import DialysisPrintOrderTwentySeven from "./template/DialysisPrintOrderTwentySeven";
676
+import DialysisPrintOrderTwentyEight from "./template/DialysisPrintOrderTwentyEight";
606 677
 export default {
607 678
   name: "dialysisPrintOrder",
608 679
   components: {
680
+    DialysisPrintOrderTwentyEight,
681
+    DialysisPrintOrderTwentySeven,
682
+    DialysisPrintOrderTwentySix,
609 683
     DialysisPrintOrderTwentyFive,
610 684
     DialysisPrintOrderTwentyFour,
611 685
     DialysisPrintOrderTwentyThree,
@@ -973,6 +1047,27 @@ export default {
973 1047
           style: style5,
974 1048
           scanStyles: false
975 1049
         });
1050
+      } else if (this.org_template_info.template_id == 26) {
1051
+        printJS({
1052
+          printable: "dialysis-print-box",
1053
+          type: "html",
1054
+          style: style,
1055
+          scanStyles: false
1056
+        });
1057
+      } else if (this.org_template_info.template_id == 27) {
1058
+        printJS({
1059
+          printable: "dialysis-print-box",
1060
+          type: "html",
1061
+          style: style,
1062
+          scanStyles: false
1063
+        });
1064
+      } else if (this.org_template_info.template_id == 28) {
1065
+        printJS({
1066
+          printable: "dialysis-print-box",
1067
+          type: "html",
1068
+          style: style5,
1069
+          scanStyles: false
1070
+        });
976 1071
       }
977 1072
     },
978 1073
     printThisOnePage() {
@@ -1017,6 +1112,13 @@ export default {
1017 1112
           style: style,
1018 1113
           scanStyles: false
1019 1114
         });
1115
+      } else if(this.org_template_info.template_id == 27){
1116
+        printJS({
1117
+          printable: "new-dialysis-1",
1118
+          type: "html",
1119
+          style: style,
1120
+          scanStyles: false
1121
+        });
1020 1122
       }
1021 1123
     },
1022 1124
     printThisTwoPage() {
@@ -1061,6 +1163,13 @@ export default {
1061 1163
           style: style,
1062 1164
           scanStyles: false
1063 1165
         });
1166
+      } else if(this.org_template_info.template_id == 27){
1167
+        printJS({
1168
+          printable: "new-dialysis-2",
1169
+          type: "html",
1170
+          style: style,
1171
+          scanStyles: false
1172
+        });
1064 1173
       }
1065 1174
     },
1066 1175
     getNumber() {

+ 519 - 0
src/xt_pages/dialysis/doctorAdvicePrint.vue Ver arquivo

@@ -0,0 +1,519 @@
1
+<template>
2
+    <div class="main-contain">
3
+        <div class="position">
4
+        <bread-crumb :crumbs="crumbs"></bread-crumb>
5
+        <el-row style="float:right;">
6
+            <el-col :span="24">
7
+            <el-button size="small" icon="el-icon-printer" type="primary" @click="printAction">打印</el-button>
8
+            </el-col>
9
+        </el-row>
10
+        </div>
11
+        <div class="app-container" style="background-color: white;">
12
+            <div id="dialysisTable">
13
+                <div class="order_title_panl">
14
+                    <span class="main_title">透析医嘱</span>
15
+                </div>
16
+                <p style="width: 960px;text-align: right;margin: 0 auto 10px;">日期:{{ time }}</p>
17
+                <table class="table dialysisTable" border="1" cellspacing="0" cellpadding="0">
18
+                    <tr>
19
+                    <th width="40px">姓名</th>
20
+                    <th width="40px">透析器</th>
21
+                    <!-- <th width="50px">类型</th> -->
22
+                    <th width="50px">开始时间</th>
23
+                    <th width="100px">医嘱内容</th>
24
+                    <th width="50px">执行时间</th>
25
+                    <th width="50px">执行护士</th>
26
+                    <th width="50px">校对护士</th>
27
+                    <th width="50px">校对时间</th>
28
+                    <th width="50px">开嘱医生</th>
29
+                    <th width="50px">开嘱时间</th>
30
+                    </tr>
31
+                    <template v-for="(schedules, zone_name, index) in scheduleMap">
32
+                    <tr :key="index">
33
+                        <td>{{ zone_name }}</td>
34
+                        <!-- <td></td> -->
35
+                        <td></td>
36
+                        <td></td>
37
+                        <td></td>
38
+                        <td></td>
39
+                        <td></td>
40
+                        <td></td>
41
+                        <td></td>
42
+                        <td></td>
43
+                        <td></td>
44
+                    </tr>
45
+                    <template v-for="schedule in schedules">
46
+                        <template v-for="(group, group_index) in schedule.new_advice">
47
+                        <tr v-for="(advice, advice_index) in group.advices" :key="advice_index">
48
+                            <td
49
+                            v-if="advice_index == 0"
50
+                            :rowspan="group.advices.length"
51
+                            >{{ advice.parent_id == 0 ? schedule.patient.name : "" }}
52
+                            <br>
53
+                            ({{ advice.parent_id == 0 ? schedule.dialysis_no : ""}})
54
+                            <br>
55
+                            <span v-if="schedule.mode_id == 1">(HD)</span>
56
+                            <span v-if="schedule.mode_id == 2">(HDF)</span>
57
+                            <span v-if="schedule.mode_id == 3">(HD+HP)</span>
58
+                            <span v-if="schedule.mode_id == 4">(HP)</span>
59
+                            <span v-if="schedule.mode_id == 5">(HF)</span>
60
+                            <span v-if="schedule.mode_id == 6">(SCUF)</span>
61
+                            <span v-if="schedule.mode_id == 7">(IUF)</span>
62
+                            <span v-if="schedule.mode_id == 8">(HFHD)</span>
63
+                            <span v-if="schedule.mode_id == 9">(HFHD+HP)</span>
64
+                            <span v-if="schedule.mode_id == 10">(PHF)</span>
65
+                            <span v-if="schedule.mode_id == 11">(HFR)</span>
66
+                            <span v-if="schedule.mode_id == 12">(HDF+HP)</span>
67
+                            <span v-if="schedule.mode_id == 13">(CRRT)</span>
68
+                            <span v-if="schedule.mode_id == 14">(腹水回输)</span>
69
+                                
70
+                            </td>
71
+                            <td v-if="advice_index == 0" :rowspan="group.advices.length">
72
+                            {{advice.parent_id == 0 && schedule.prescription!=null ?  schedule.prescription.dialyzer_perfusion_apparatus : ""}}
73
+                            </td>
74
+                            <!-- <td
75
+                            v-if="advice_index == 0"
76
+                            :rowspan="group.advices.length"
77
+                            >{{ getAdaviceType(advice.advice_type, advice.parent_id) }}</td>-->
78
+                            <td v-if="advice_index == 0" :rowspan="group.advices.length">
79
+                            {{
80
+                            advice.parent_id == 0
81
+                            ? parseTime(advice.start_time, "{m}-{d} {h}:{i}")
82
+                            : ""
83
+                            }}
84
+                            </td>
85
+                            <td
86
+                            :class="
87
+                                advice.parent_id == 0
88
+                                ? 'advice_content'
89
+                                : 'subadvice_content'
90
+                            "
91
+                            >
92
+                            <span>{{ advice.advice_name }}</span>
93
+                            <span>{{ advice.advice_desc }}{{ advice.drug_spec_unit }}</span>
94
+                            <span v-if="advice.prescribing_number">
95
+                                {{ advice.prescribing_number
96
+                                }}{{ advice.prescribing_number_unit }}
97
+                            </span>
98
+                            <span v-if="advice.single_dose">
99
+                                单次用量 {{ advice.single_dose
100
+                                }}{{ advice.single_dose_unit }}
101
+                            </span>
102
+                            <span>{{ advice.delivery_way }}</span>
103
+                            <span>{{ advice.execution_frequency }}</span>
104
+                            <span
105
+                                v-if="advice.parent_id == 0 && advice.remark.length > 0"
106
+                            >({{ advice.remark }})</span>
107
+                            </td>
108
+                            <td>{{ parseTime(advice.execution_time, "{m}-{d} {h}:{i}") }}</td>
109
+                            <td>{{ getName(advice.execution_staff) }}</td>
110
+                            <td>{{ getName(advice.checker) }}</td>
111
+                            <td>{{ parseTime(advice.check_time, "{m}-{d} {h}:{i}") }}</td>
112
+                            <td>{{ getName(advice.advice_doctor) }}</td>
113
+                            <td>{{ parseTime(advice.created_time, "{m}-{d} {h}:{i}") }}</td>
114
+                        </tr>
115
+                        </template>
116
+                    </template>
117
+                    </template>
118
+                </table>
119
+            </div>
120
+        </div>
121
+    </div>
122
+</template>
123
+
124
+<script>
125
+import BreadCrumb from '@/xt_pages/components/bread-crumb'
126
+import { getSchedualDoctors } from '@/api/advice'
127
+import { parseTime } from '@/utils'
128
+import print from 'print-js'
129
+const moment = require('moment')
130
+export default {
131
+    components:{
132
+        BreadCrumb
133
+    },
134
+    data(){
135
+        return{
136
+            crumbs: [
137
+                { path: false, name: '耗材药品' },
138
+                { path: false, name: '打印' }
139
+            ],
140
+            tableData:[],
141
+            start_time:"",
142
+            end_time:"",
143
+            print_time:moment(new Date()).add('year', 0).format('YYYY-MM-DD'),
144
+
145
+            zone_selected: 0,
146
+            scheduleMap:[],
147
+            time:''
148
+        }
149
+    },
150
+    methods:{
151
+        printAction: function() {
152
+            const style = '@media print { .dialysisTable{width:960px;margin: 0 auto;text-align: center;border-collapse: collapse;}.order_title_panl {text-align: center;.main_title {font-size: 18px;line-height: 40px;font-weight: 500;}}.dialysisTable tr{padding: 10px 0;}.dialysisTable th {color: #000;padding: 0;margin: 0;height: 30px;}.dialysisTable tr td {padding: 12px 0;}.subadvice_content {text-align: left;padding-left: 25px !important;padding-right: 5px !important;}.advice_content {text-align: left;padding-left: 5px !important;padding-right: 5px !important;padding: 15px 5px !important;} }'
153
+
154
+            printJS({
155
+            printable: 'dialysisTable',
156
+            type: 'html',
157
+            documentTitle: '  ',
158
+            style: style,
159
+            scanStyles: false
160
+            })
161
+        },
162
+        requestSchedualDoctors (time) {
163
+            let newTime =  moment(time).format('YYYY-MM-DD')
164
+            getSchedualDoctors({
165
+            date: newTime,
166
+            patient_type: 0,
167
+            advice_type: 2
168
+            }).then(rs => {
169
+                var resp = rs.data
170
+                if (resp.state == 1) {
171
+                this.admin_user = resp.data.adminUser
172
+                var schedulesArr = resp.data.scheduals
173
+                let schedules = []
174
+                var ids = this.$store.getters.temp_params.advice_ids
175
+                console.log('ids',ids)
176
+                schedulesArr.map(item => {
177
+                    if(ids.indexOf(item.patient_id) > -1){
178
+                        schedules.push(item)
179
+                    }
180
+                    
181
+                })
182
+                // console.log("schedules",schedules)
183
+                for (let i = 0; i < schedules.length; i++) {
184
+                    schedules[i].dialysis_no = schedules[i].patient.dialysis_no
185
+                }
186
+                // console.log('schedules', schedules)
187
+
188
+                var arr = []
189
+                for (let j = 0; j < schedules.length; j++) {
190
+                    arr.push(schedules[j].dialysis_no)
191
+                }
192
+                arr.sort(function (a, b) {
193
+                    return a - b
194
+                })
195
+                // console.log('arr', arr)
196
+
197
+                var arrTwo = []
198
+                for (let i = 0; i < arr.length; i++) {
199
+                    for (let j = 0; j < schedules.length; j++) {
200
+                    if (arr[i] == schedules[j].dialysis_no) {
201
+                        arrTwo.push(schedules[j])
202
+                    }
203
+                    }
204
+                }
205
+
206
+                arrTwo.map((item, index) => {
207
+                    // console.log(item);
208
+                    // item.doctor_advice.map((items, i) => {
209
+                    //   console.log(items);
210
+                    // });
211
+                    item.doctor_advice.sort(this.compare('start_time'))
212
+                })
213
+                // console.log('arrTwo', arrTwo)
214
+
215
+                const res = new Map()
216
+                let a = arrTwo.filter(
217
+                    a => !res.has(a.dialysis_no) && res.set(a.dialysis_no, 1)
218
+                )
219
+
220
+                // console.log('a', a)
221
+
222
+                schedules = a
223
+                var zoneMap = {}
224
+                var scheduleMap = {}
225
+                for (let index = 0; index < schedules.length; index++) {
226
+                    const schedule = schedules[index]
227
+                    if (schedule.doctor_advice.length == 0) {
228
+                    continue
229
+                    }
230
+                    if (scheduleMap[schedule.device_number.zone.name] == null) {
231
+                    scheduleMap[schedule.device_number.zone.name] = []
232
+                    }
233
+                    scheduleMap[schedule.device_number.zone.name].push(schedule)
234
+                    if (zoneMap[schedule.device_number.zone.name] == null) {
235
+                    zoneMap[schedule.device_number.zone.name] =
236
+                        schedule.device_number.zone
237
+                    }
238
+                }
239
+
240
+                var zones = []
241
+                zones.push({ value: 0, text: '全部分区' })
242
+                for (var zoneName in zoneMap) {
243
+                    zones.push({ value: zoneMap[zoneName].id, text: zoneName })
244
+                }
245
+
246
+                zones = zones.sort(function (a, b) {
247
+                    return a.value > b.value
248
+                })
249
+                this.zones = zones
250
+                for (var key in scheduleMap) {
251
+                    let mapArr = scheduleMap[key]
252
+                    for (let i = 0; i < mapArr.length; i++) {
253
+                    mapArr[i]['new_advice'] = []
254
+                    }
255
+                }
256
+
257
+                for (var key in scheduleMap) {
258
+                    let mapArr = scheduleMap[key]
259
+                    for (let i = 0; i < mapArr.length; i++) {
260
+                    var maps = mapArr[i]
261
+                    var resp_advices = maps.doctor_advice
262
+                    if (resp_advices.length > 0) {
263
+                        var newGroupObject = function () {
264
+                        return Object.assign(
265
+                            {},
266
+                            {
267
+                            group_no: 0,
268
+                            advices: []
269
+                            }
270
+                        )
271
+                        }
272
+                        var initGroupBlock = function (group, advice) {
273
+                        group.group_no = advice.groupno
274
+                        }
275
+
276
+                        var advice_groups = []
277
+                        var group = newGroupObject()
278
+                        for (let index = 0; index < resp_advices.length; index++) {
279
+                        const advice = resp_advices[index]
280
+                        if (advice.groupno == 0) {
281
+                            // 老版本的医嘱
282
+                            if (advice.parent_id > 0) {
283
+                            if (advice_groups.length > 0) {
284
+                                var parent_group = advice_groups[advice_groups.length - 1]
285
+                                if (parent_group.advices.length > 0) {
286
+                                if (parent_group.advices[0].id == advice.parent_id) {
287
+                                    parent_group.advices.push(advice)
288
+                                }
289
+                                }
290
+                            }
291
+                            continue
292
+                            } else {
293
+                            if (group.group_no > 0) {
294
+                                advice_groups.push(group)
295
+                                group = newGroupObject()
296
+                            }
297
+
298
+                            initGroupBlock(group, advice)
299
+                            group.advices.push(advice)
300
+                            advice_groups.push(group)
301
+                            group = newGroupObject()
302
+                            continue
303
+                            }
304
+                        } else {
305
+                            if (group.group_no > 0 && group.group_no != advice.groupno) {
306
+                            advice_groups.push(group)
307
+                            group = newGroupObject()
308
+                            }
309
+                            if (group.group_no == 0) {
310
+                            initGroupBlock(group, advice)
311
+                            }
312
+                            if (group.group_no == advice.groupno) {
313
+                            group.advices.push(advice)
314
+                            }
315
+                        }
316
+                        }
317
+                        if (group.group_no > 0) {
318
+                        // 上述的算法会导致最后一组没有加到advice_groups,这里要手动加
319
+                        advice_groups.push(group)
320
+                        }
321
+                        advice_groups = advice_groups
322
+                    } else {
323
+                        advice_groups = []
324
+                    }
325
+                    maps.new_advice = advice_groups
326
+                    }
327
+                }
328
+                
329
+
330
+                this.scheduleMap = scheduleMap
331
+                // console.log(9999999999,this.scheduleMap)
332
+
333
+                
334
+                }
335
+            })
336
+        },
337
+        compare (property) {
338
+            return function (a, b) {
339
+                var value1 = a[property]
340
+                var value2 = b[property]
341
+                return value1 - value2
342
+            }
343
+        },
344
+        parseTime: function (time, layout) {
345
+            if (time == 0) {
346
+                return ''
347
+            }
348
+            return parseTime(time, layout)
349
+        },
350
+        getName (val) {
351
+            for (let i = 0; i < this.admin_user.length; i++) {
352
+                if (this.admin_user[i].id == val) {
353
+                    return this.admin_user[i].name
354
+                }
355
+            }
356
+        },
357
+    },
358
+    computed: {
359
+    filtedScheduals: function () {
360
+        var scheduleMap = new Object()
361
+        if (this.zone_selected == 0) {
362
+            for (const key in this.scheduleMap) {
363
+            scheduleMap[key] = this.scheduleMap[key]
364
+            }
365
+        } else {
366
+            var zone_name = this.zones[this.zone_selected].text
367
+            scheduleMap[zone_name] = this.scheduleMap[zone_name]
368
+        }
369
+
370
+        if (this.schedule_type_selected != 0) {
371
+            var _scheduleMap = {}
372
+            for (const key in scheduleMap) {
373
+            var origin_schedules = scheduleMap[key]
374
+            var schedules = []
375
+            for (let index = 0; index < origin_schedules.length; index++) {
376
+                const schedule = origin_schedules[index]
377
+                if (schedule.schedule_type == this.schedule_type_selected) {
378
+                schedules.push(schedule)
379
+                }
380
+            }
381
+            if (schedules.length > 0) {
382
+                _scheduleMap[key] = schedules
383
+            }
384
+            }
385
+
386
+            scheduleMap = _scheduleMap
387
+        }
388
+        for (var key in scheduleMap) {
389
+            let mapArr = scheduleMap[key]
390
+            for (let i = 0; i < mapArr.length; i++) {
391
+            mapArr[i]['new_advice'] = []
392
+            }
393
+        }
394
+
395
+        for (var key in scheduleMap) {
396
+            let mapArr = scheduleMap[key]
397
+            for (let i = 0; i < mapArr.length; i++) {
398
+            var maps = mapArr[i]
399
+            var resp_advices = maps.doctor_advice
400
+            if (resp_advices.length > 0) {
401
+                var newGroupObject = function () {
402
+                return Object.assign(
403
+                    {},
404
+                    {
405
+                    group_no: 0,
406
+                    advices: []
407
+                    }
408
+                )
409
+                }
410
+                var initGroupBlock = function (group, advice) {
411
+                group.group_no = advice.groupno
412
+                }
413
+
414
+                var advice_groups = []
415
+                var group = newGroupObject()
416
+                for (let index = 0; index < resp_advices.length; index++) {
417
+                const advice = resp_advices[index]
418
+                if (advice.groupno == 0) {
419
+                    // 老版本的医嘱
420
+                    if (advice.parent_id > 0) {
421
+                    if (advice_groups.length > 0) {
422
+                        var parent_group = advice_groups[advice_groups.length - 1]
423
+                        if (parent_group.advices.length > 0) {
424
+                        if (parent_group.advices[0].id == advice.parent_id) {
425
+                            parent_group.advices.push(advice)
426
+                        }
427
+                        }
428
+                    }
429
+                    continue
430
+                    } else {
431
+                    if (group.group_no > 0) {
432
+                        advice_groups.push(group)
433
+                        group = newGroupObject()
434
+                    }
435
+
436
+                    initGroupBlock(group, advice)
437
+                    group.advices.push(advice)
438
+                    advice_groups.push(group)
439
+                    group = newGroupObject()
440
+                    continue
441
+                    }
442
+                } else {
443
+                    if (group.group_no > 0 && group.group_no != advice.groupno) {
444
+                    advice_groups.push(group)
445
+                    group = newGroupObject()
446
+                    }
447
+                    if (group.group_no == 0) {
448
+                    initGroupBlock(group, advice)
449
+                    }
450
+                    if (group.group_no == advice.groupno) {
451
+                    group.advices.push(advice)
452
+                    }
453
+                }
454
+                }
455
+                if (group.group_no > 0) {
456
+                // 上述的算法会导致最后一组没有加到advice_groups,这里要手动加
457
+                advice_groups.push(group)
458
+                }
459
+                advice_groups = advice_groups
460
+            } else {
461
+                advice_groups = []
462
+            }
463
+            maps.new_advice = advice_groups
464
+            }
465
+        }
466
+        console.log("222222",scheduleMap)
467
+        return scheduleMap
468
+        }
469
+    },
470
+    created(){
471
+      var time = this.$route.query.time
472
+      this.time = moment(time).format('YYYY-MM-DD')
473
+      console.log(11,this.$route.query)
474
+      this.requestSchedualDoctors(time)
475
+    }
476
+}
477
+</script>
478
+
479
+
480
+<style rel="stylesheet/scss" lang="scss" scoped>
481
+.dialysisTable{
482
+    width:960px;
483
+    margin: 0 auto;
484
+    text-align: center;
485
+    border-collapse: collapse;
486
+}
487
+.order_title_panl {
488
+    text-align: center;
489
+
490
+    .main_title {
491
+      font-size: 18px;
492
+      line-height: 40px;
493
+      font-weight: 500;
494
+    }
495
+}
496
+.dialysisTable tr{
497
+    padding: 10px 0;
498
+}
499
+.dialysisTable th {
500
+    color: #000;
501
+    padding: 0;
502
+    margin: 0;
503
+    height: 30px;
504
+}
505
+.dialysisTable tr td {
506
+    padding: 12px 0;
507
+}
508
+.subadvice_content {
509
+    text-align: left;
510
+    padding-left: 25px !important;
511
+    padding-right: 5px !important;
512
+}
513
+.advice_content {
514
+    text-align: left;
515
+    padding-left: 5px !important;
516
+    padding-right: 5px !important;
517
+    padding: 15px 5px !important;
518
+}
519
+</style>

+ 14 - 20
src/xt_pages/dialysis/template/DialysisPrintOrderFourteen.vue Ver arquivo

@@ -1,9 +1,9 @@
1 1
 <template>
2 2
   <div id="dialysis-print-box">
3 3
     <div id='new-dialysis-1' class="dialysis-print-order">
4
-      <div class="order-yy-name">{{ orgname }}</div>
5
-      <div class="order-title">血液净化治疗记录单</div>
6
-      <table class="table-box" style="margin-top: 10px;">
4
+      <div class="order-yy-name"></div>
5
+      <div class="order-title" style="padding-bottom:10px;padding-top:0;">{{ orgname }}&nbsp;&nbsp;血液净化治疗记录单</div>
6
+      <table class="table-box">
7 7
         <tbody>
8 8
           <tr>
9 9
             <td width="50">姓 名:</td>
@@ -505,7 +505,7 @@
505 505
                     </td>
506 506
                     <td width="10">L</td>
507 507
                     <td width="20"></td>
508
-                    <td width="100">实际超滤量:</td>
508
+                    <td width="100">机面超滤量:</td>
509 509
                     <td width="50">
510 510
                       <div class="under-line">
511 511
                         &nbsp;{{ afterdialysis.actual_ultrafiltration ? afterdialysis.actual_ultrafiltration : " " }}
@@ -663,12 +663,6 @@
663 663
                         <div class="under-line">&nbsp;{{ prescription.calcium ? prescription.calcium : "" }}</div>
664 664
                     </td>
665 665
                     <td width="20">mmol/L</td>
666
-                    <td width="30"></td>
667
-                    <td width="80">透析液温度:</td>
668
-                    <td width="50">
669
-                        <div class="under-line">&nbsp;{{ prescription.dialysate_temperature ? prescription.dialysate_temperature : "" }}</div>
670
-                    </td>
671
-                    <td width="10">℃</td>
672 666
                     <td></td>
673 667
                   </tr>
674 668
                 </tbody>
@@ -753,7 +747,7 @@
753 747
               透析中护理记录
754 748
             </td>
755 749
 
756
-            <td width="100">时间</td>
750
+            <td width="60">时间</td>
757 751
             <td width="40" style="height:20px;line-height:20px">体温<br />℃</td>
758 752
             <td width="80" style="height:20px;line-height:20px">血压<br />mmHg</td>
759 753
             <td width="40" style="height:20px;line-height:20px">脉搏<br />次/分</td>
@@ -764,12 +758,11 @@
764 758
             <td width="60" style="height:20px;line-height:20px">电导度<br />mS/cm</td>
765 759
             <td width="60" style="height:20px;line-height:20px">血流量<br />ml/分</td>
766 760
             <td width="40" style="height:20px;line-height:20px">液温<br />℃</td>
767
-            <td width="60" style="height:20px;line-height:20px">钠浓度<br />mmol/L</td>
768 761
             <td width="">特殊记录</td>
769 762
           </tr>
770 763
 
771 764
           <tr v-for="monitor in monitors" :key="monitor.id">
772
-            <td>&nbsp;{{ getTime(monitor.operate_time, "{h}:{i}") }}</td>
765
+            <td style="height:40px;line-height:40px;">&nbsp;{{ getTime(monitor.operate_time, "{h}:{i}") }}</td>
773 766
             <td>&nbsp;{{ monitor.temperature ? monitor.temperature : '' }}</td>
774 767
             <td>
775 768
               <span v-if="monitor.systolic_blood_pressure || monitor.diastolic_blood_pressure">
@@ -785,9 +778,10 @@
785 778
             <td>&nbsp;{{ monitor.conductivity ? monitor.conductivity : "" }}</td>
786 779
             <td>&nbsp;{{ monitor.blood_flow_volume ? monitor.blood_flow_volume : "" }}</td>
787 780
             <td>&nbsp;{{ monitor.dialysate_temperature ? monitor.dialysate_temperature : "" }}</td>
788
-            <td>&nbsp;{{ monitor.sodium_concentration ? monitor.sodium_concentration : "" }}</td>
789 781
             <td style="text-align:left;padding-left:10px;">
790
-              &nbsp;{{ monitor.symptom }} &nbsp;{{ monitor.dispose }} &nbsp;{{ monitor.result }}
782
+              <div style="line-height:20px;text-align: left;display: inline-block;">
783
+                &nbsp;{{ monitor.symptom }}{{ monitor.dispose }}{{ monitor.result }}
784
+              </div>
791 785
             </td>
792 786
           </tr>
793 787
         </tbody>
@@ -911,7 +905,7 @@
911 905
                 </tbody>
912 906
               </table>
913 907
 
914
-              <table class="table-box" style="margin-bottom:130px;">
908
+              <table class="table-box" style="margin-bottom:20px;">
915 909
                 <tbody>
916 910
                   <tr>
917 911
                     <!-- <td width="70">其他记录:</td> -->
@@ -960,8 +954,8 @@
960 954
       
961 955
     </div>
962 956
     <div id='new-dialysis-2' class="dialysis-print-order">
963
-      <div class="order-yy-name">{{ orgname }}</div>
964
-      <div class="order-title">临时医嘱单</div>
957
+      <!-- <div class="order-yy-name"></div> -->
958
+      <div class="order-title">{{ orgname }}&nbsp;&nbsp;临时医嘱单</div>
965 959
       <table class="table-box" style="margin-top: 10px;">
966 960
         <tbody>
967 961
           <tr>
@@ -1816,8 +1810,8 @@ export default {
1816 1810
           if (this.org_template_info.org_id == 9535) {
1817 1811
             this.isShowZero = true
1818 1812
           }
1819
-          if (this.monitors.length < 13) {
1820
-            var nl = 14 - this.monitors.length
1813
+          if (this.monitors.length < 9) {
1814
+            var nl = 10 - this.monitors.length
1821 1815
             for (let index = 0; index < nl; index++) {
1822 1816
               this.monitors.push([])
1823 1817
             }

+ 7 - 1
src/xt_pages/dialysis/template/DialysisPrintOrderTen.vue Ver arquivo

@@ -29,12 +29,18 @@
29 29
           </div>
30 30
31 31
         </div>
32
-        <div class="inline_block">
32
+        <div class="inline_block" v-if="patientInfo_source_1">
33 33
           门诊:
34 34
           <div class="under_line" style="width: 30px;text-align: center;">
35 35
             <check-box :checked="patientInfo_source_1"></check-box>
36 36
           </div>
37 37
         </div>
38
+        <div class="inline_block" v-if="patientInfo_source_2">
39
+          住院:
40
+          <div class="under_line" style="width: 30px;text-align: center;">
41
+            <check-box :checked="patientInfo_source_2"></check-box>
42
+          </div>
43
+        </div>
38 44
         <div class="inline_block">
39 45
           病区:
40 46
           <div class="under_line" style="width: 50px;text-align: center;">

Diferenças do arquivo suprimidas por serem muito extensas
+ 2497 - 0
src/xt_pages/dialysis/template/DialysisPrintOrderTwentyEight.vue


Diferenças do arquivo suprimidas por serem muito extensas
+ 2257 - 0
src/xt_pages/dialysis/template/DialysisPrintOrderTwentySeven.vue


Diferenças do arquivo suprimidas por serem muito extensas
+ 2166 - 0
src/xt_pages/dialysis/template/DialysisPrintOrderTwentySix.vue


+ 1 - 1
src/xt_pages/dialysis/template/dialysisPrintOrderTwelve.vue Ver arquivo

@@ -789,7 +789,7 @@
789 789
               <div>
790 790
                 <span style="width:70px;display:inline-block">
791 791
                   {{ afterdialysis.actual_ultrafiltration ? afterdialysis.actual_ultrafiltration : "/" }}
792
-                </span>L
792
+                </span>ml
793 793
               </div>
794 794
             </td>
795 795
             <td width="100" style="border:none;border-left:1px solid #000;padding-left:5px">

+ 99 - 60
src/xt_pages/outpatientDoctorStation/components/deskPrescription.vue Ver arquivo

@@ -42,13 +42,16 @@
42 42
             </el-select>
43 43
           </el-form-item>
44 44
           <el-form-item label="诊断:" prop="name">
45
-            <el-autocomplete
46
-              style="width:100%;"
47
-              class="inline-input"
48
-              v-model="state1"
49
-              :fetch-suggestions="querySearch"
50
-              placeholder="请输入内容"
51
-            ></el-autocomplete>
45
+
46
+            <el-select style="margin-right:5px;" v-model="state1" placeholder="">
47
+              <el-option
48
+                v-for="(item,index) in sick"
49
+                :key="index"
50
+                :label="item.class_name"
51
+                :value="item.id">
52
+              </el-option>
53
+            </el-select>
54
+
52 55
           </el-form-item>
53 56
           <el-form-item label="过敏病史: " prop="name">
54 57
             <el-autocomplete
@@ -83,7 +86,7 @@
83 86
         </div>
84 87
         <div class="costBox">
85 88
           <span>医生:</span>
86
-          <el-select style="margin-right:5px;" v-model="doctorValue" placeholder="">
89
+          <el-select style="margin-right:5px;" v-model="doctorValue" placeholder="" @change="changeDoctor">
87 90
             <el-option
88 91
               v-for="(item,index) in doctors"
89 92
               :key="index"
@@ -94,15 +97,15 @@
94 97
           <span>科室:</span>
95 98
           <el-select style="margin-right:5px;" v-model="departmentValue" placeholder="">
96 99
             <el-option
97
-              v-for="(item,index) in getDictionaryDataConfig('system','department')"
100
+              v-for="(item,index) in department"
98 101
               :key="index"
99 102
               :label="item.name"
100
-              :value="item.name">
103
+              :value="item.id">
101 104
             </el-option>
102 105
           </el-select>
103
-          <span>总:</span>
106
+          <span>总:</span>
104 107
           <span style="color:red;">{{ getTotal() }}</span>元
105
-          <span >{{order_status}}</span>
108
+          <span>{{order_status}}</span>
106 109
 
107 110
         </div>
108 111
       </div>
@@ -116,7 +119,8 @@
116 119
             <el-tabs class="rightTabs" v-model="activeName">
117 120
               <el-tab-pane label="药品列表" name="1">
118 121
                 <div style="margin-bottom:5px;display:flex;">
119
-                  <el-input style="width:50%;"  @keyup.enter.native='searchAction' v-model.trim="search_keyword" placeholder=""></el-input>
122
+                  <el-input style="width:50%;"  @input="searchAction" @keyup.enter.native='searchAction' v-model.trim="search_keyword"
123
+                            placeholder="请输入药品名字"></el-input>
120 124
                   <el-select style="margin-left:5px;width:50%;" v-model="value" placeholder="" @change="changeKind">
121 125
                     <el-option
122 126
                       label="全部"
@@ -130,7 +134,8 @@
130 134
                     </el-option>
131 135
                   </el-select>
132 136
                 </div>
133
-                <el-table ref="multipleTable" :data="drugs" border @select='selectDrugs' style="width: 100%;flex:1;overflow-y: auto;"
137
+                <el-table ref="multipleTable" :data="drugs" border @select='selectDrugs'
138
+                          style="width: 100%;flex:1;overflow-y: auto;"
134 139
                           :row-style="{ color: '#303133' }"
135 140
                           @select-all="changeAllGoodInfoTableData"
136 141
                           :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
@@ -152,15 +157,16 @@
152 157
                 <div style="margin-bottom:5px;">
153 158
                   <!--<el-input style="width:50%;" v-model="input" placeholder=""></el-input>-->
154 159
                   <el-select style="float: right;width: 49%;" v-model="value" placeholder="">
155
-                      <el-option
160
+                    <el-option
156 161
                       v-for="item in options"
157 162
                       :key="item.value"
158 163
                       :label="item.label"
159 164
                       :value="item.value">
160
-                      </el-option>
165
+                    </el-option>
161 166
                   </el-select>
162 167
                 </div>
163
-                <el-table ref="multipleTableTwo" :data="advices_template" border style="width: 100%;flex:1;overflow-y: auto;"
168
+                <el-table ref="multipleTableTwo" :data="advices_template" border
169
+                          style="width: 100%;flex:1;overflow-y: auto;"
164 170
                           :row-style="{ color: '#303133' }"
165 171
                           :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
166 172
                           highlight-current-row>
@@ -185,7 +191,8 @@
185 191
           <div style="height:84%;overflow-y: auto;margin-bottom: 60px;" v-show="showTwo">
186 192
             <el-tabs class="rightTabs" v-model="activeName">
187 193
               <el-tab-pane label="项目列表" name="1">
188
-                <el-table ref="tables" :data="tabProject" border @select='selectChange' style="width: 100%;flex:1;overflow-y: auto;"
194
+                <el-table ref="tables" :data="tabProject" border @select='selectChange'
195
+                          style="width: 100%;flex:1;overflow-y: auto;"
189 196
                           :row-style="{ color: '#303133' }"
190 197
                           @select-all="changeAllGoodInfoTableDataTwo"
191 198
                           :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
@@ -203,7 +210,8 @@
203 210
                 </el-table>
204 211
               </el-tab-pane>
205 212
               <el-tab-pane label="项目组套" name="2">
206
-                <el-table :data="tabPrjectTeam"  border style="width: 100%;flex:1;overflow-y: auto;" :row-style="{ color: '#303133' }"
213
+                <el-table :data="tabPrjectTeam" border style="width: 100%;flex:1;overflow-y: auto;"
214
+                          :row-style="{ color: '#303133' }"
207 215
                           :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
208 216
                           highlight-current-row
209 217
                           @select='selectTeam'>
@@ -266,7 +274,7 @@
266 274
       hisPatientInfo: Object,
267 275
       prescriptions: Array,
268 276
       record_date: String,
269
-      search_keyword:"",
277
+      search_keyword: '',
270 278
 
271 279
       other_sick: {
272 280
         type: Array,
@@ -326,17 +334,31 @@
326 334
         doctors: [],
327 335
         departMent: [],
328 336
         curStatus: 0,
329
-        order_status:"",
337
+        order_status: '',
330 338
         register_types: [
331 339
           { id: 1, name: '医保' },
332 340
           { id: 2, name: '自费' }
333 341
 
334
-        ]
342
+        ],
343
+        department:[],
344
+        sick:[]
335 345
       }
336 346
     },
337 347
     methods: {
338
-      searchAction(){
339
-        console.log(this.search_keyword)
348
+      searchAction() {
349
+        if(this.search_keyword.length == 0){
350
+          this.drugs = this.allDrugs
351
+        }else{
352
+          let arr = []
353
+          for (let i = 0; i < this.drugs.length; i++){
354
+            if(this.drugs[i].drug_name.indexOf(this.search_keyword) != -1){
355
+              arr = arr.concat(this.drugs[i])
356
+            }
357
+          }
358
+          this.drugs = arr
359
+
360
+        }
361
+
340 362
 
341 363
       },
342 364
       getTotal() {
@@ -408,6 +430,10 @@
408 430
             this.allDrugs = response.data.data.drugs
409 431
             this.advices_template = response.data.data.advices_template
410 432
             this.doctors = response.data.data.doctors
433
+            this.department = response.data.data.department
434
+            this.sick = response.data.data.sick
435
+
436
+
411 437
 
412 438
           }
413 439
         })
@@ -485,21 +511,19 @@
485 511
         this.departmentValue = info.departments
486 512
         this.register_type = info.register_type
487 513
 
488
-        if(info.prescription_status == 1 || info.prescription_status == 2){
489
-          this.order_status  = "未收费"
514
+        if (info.prescription_status == 1 || info.prescription_status == 2) {
515
+          this.order_status = '未收费'
490 516
 
491 517
         }
492 518
 
493
-        if(info.prescription_status == 3){
494
-          this.order_status  = "已结算"
519
+        if (info.prescription_status == 3) {
520
+          this.order_status = '已结算'
495 521
         }
496 522
 
497
-
498
-        if(info.prescription_status == 4){
499
-          this.order_status  = "已退费"
523
+        if (info.prescription_status == 4) {
524
+          this.order_status = '已退费'
500 525
         }
501 526
 
502
-
503 527
         // console.log(this.$refs)
504 528
         // this.$nextTick(() => {
505 529
         //   this.$refs.prescription_tables.setNewData(this.prescriptions[0])
@@ -511,7 +535,7 @@
511 535
         }
512 536
       },
513 537
       open(index) {
514
-        if(this.curPrescriptions.order_status >= 2){
538
+        if (this.curPrescriptions.order_status >= 2) {
515 539
           this.$message.error('当前处方处于结算或者退费状态,无法保存')
516 540
           return
517 541
         }
@@ -574,22 +598,21 @@
574 598
 
575 599
       },
576 600
       addTab(targetName) {
577
-        if(this.curPrescriptions.order_status >= 2){
601
+        if (this.curPrescriptions.order_status >= 2) {
578 602
           this.$message.error('该处方已经结算或者退费,无法继续添加处方')
579 603
           return
580 604
         }
581
-        if(this.curPrescriptions.advices.length == 0 && this.curPrescriptions.project.length == 0 ){
605
+        if (this.curPrescriptions.advices.length == 0 && this.curPrescriptions.project.length == 0) {
582 606
           this.$message.error('当前处方无数据,新增数据后才能新增处方')
583 607
           return
584 608
         }
585 609
 
586
-
587 610
         ++this.tabIndex
588 611
         let newTabName = '处方' + this.tabIndex
589 612
         this.prescriptions.push({
590 613
           id: 0,
591 614
           name: newTabName,
592
-          order_status:0,
615
+          order_status: 0,
593 616
           advices: [],
594 617
           project: []
595 618
 
@@ -599,11 +622,11 @@
599 622
         this.curStatus = 0
600 623
       },
601 624
       removeTab(targetName) {
602
-        if(this.curPrescriptions.order_status == 2){
625
+        if (this.curPrescriptions.order_status == 2) {
603 626
           this.$message.error('该处方已经结算,无法删除')
604 627
           return
605 628
         }
606
-        if(targetName == "处方1"){
629
+        if (targetName == '处方1') {
607 630
           this.$message.error('该处方无法删除')
608 631
           return
609 632
         }
@@ -765,7 +788,7 @@
765 788
         this.curDrugs = selection
766 789
       },
767 790
       comfirm() {
768
-        if(this.curPrescriptions.order_status >= 2){
791
+        if (this.curPrescriptions.order_status >= 2) {
769 792
           this.$message.error('该处方已经结算或者退费,无法继续添加药品或者项目')
770 793
           this.teamList = []
771 794
           this.curDrugs = []
@@ -910,7 +933,7 @@
910 933
         })
911 934
       },
912 935
       selectTeam(row) {
913
-        console.log("row------",row)
936
+        console.log('row------', row)
914 937
         var arr = []
915 938
         for (let i = 0; i < row.length; i++) {
916 939
           arr.push(row[i].project_id)
@@ -936,7 +959,7 @@
936 959
         const params = {
937 960
           project_id: idstr
938 961
         }
939
-        console.log("params",params)
962
+        console.log('params', params)
940 963
         getPojectListById(params).then(response => {
941 964
           if (response.data.state == 1) {
942 965
             var project = response.data.data.project
@@ -945,6 +968,14 @@
945 968
             this.teamList = project
946 969
           }
947 970
         })
971
+      },changeDoctor(val){
972
+        console.log(val)
973
+        console.log(this.doctors)
974
+        for (let i = 0; i < this.doctors.length;i++){
975
+          if(this.doctors[i].admin_user_id == this.doctorValue){
976
+            this.departmentValue = this.doctors[i].department_id
977
+          }
978
+        }
948 979
       }
949 980
     },
950 981
     created() {
@@ -1049,10 +1080,12 @@
1049 1080
     height: 100%;
1050 1081
     display: flex;
1051 1082
     flex-direction: column;
1052
-    .el-tabs__content{
1053
-      flex:1;
1054
-      overflow-y: auto;
1055
-    }
1083
+
1084
+  .el-tabs__content {
1085
+    flex: 1;
1086
+    overflow-y: auto;
1087
+  }
1088
+
1056 1089
   }
1057 1090
 
1058 1091
   .costBox {
@@ -1106,10 +1139,11 @@
1106 1139
   }
1107 1140
 
1108 1141
   }
1109
-  .rightTabs{
1142
+  .rightTabs {
1110 1143
     display: flex;
1111 1144
     flex-direction: column;
1112 1145
   }
1146
+
1113 1147
   .comfirmBox {
1114 1148
     width: 100%;
1115 1149
     height: 60px;
@@ -1165,22 +1199,27 @@
1165 1199
 
1166 1200
   }
1167 1201
   .preTabs {
1168
-    .el-tabs__content{
1169
-      flex:1;
1170
-      overflow-y: auto;
1171
-    }
1202
+
1203
+  .el-tabs__content {
1204
+    flex: 1;
1205
+    overflow-y: auto;
1206
+  }
1207
+
1172 1208
   }
1173 1209
   .rightTabs {
1174 1210
     height: 100%;
1175
-    .el-tabs__content{
1176
-      flex:1;
1177
-      overflow-y: auto;
1178
-    }
1179
-    .el-tab-pane{
1180
-      display: flex;
1181
-      flex-direction: column;
1182
-      height:100%;
1183
-    }
1211
+
1212
+  .el-tabs__content {
1213
+    flex: 1;
1214
+    overflow-y: auto;
1215
+  }
1216
+
1217
+  .el-tab-pane {
1218
+    display: flex;
1219
+    flex-direction: column;
1220
+    height: 100%;
1221
+  }
1222
+
1184 1223
   }
1185 1224
   #tab-more {
1186 1225
 

+ 4 - 4
src/xt_pages/outpatientDoctorStation/doctorDesk.vue Ver arquivo

@@ -44,13 +44,13 @@
44 44
             <el-radio-button label="电子处方"></el-radio-button>
45 45
             <el-radio-button label="电子病历"></el-radio-button>
46 46
           </el-radio-group>
47
-          <div class="mainCell fixedCell" style="float:right" v-if="titleType == '电子处方'">
47
+          <div class="mainCell fixedCell" style="float:right" v-show="titleType == '电子处方'">
48 48
             <el-button size="small" ref="button_one"   @click="open(1)" type="primary" style="margin-left:10px;">保存</el-button>
49 49
             <el-button size="small" ref="button_two"   @click="open(2)" type="primary">打印</el-button>
50 50
             <el-button size="small" ref="button_three" @click="open(4)" type="primary">选择模板</el-button>
51 51
             <el-button size="small" ref="button_four"  @click="open(5)" type="primary">存模板</el-button>
52 52
           </div>
53
-          <div class="mainCell fixedCell" style="float:right" v-if="titleType == '电子病历'">
53
+          <div class="mainCell fixedCell" style="float:right" v-show="titleType == '电子病历'">
54 54
             <el-button size="small" @click="opentwo(1)" type="primary" style="margin-left:10px;">保存</el-button>
55 55
             <el-button size="small" @click="opentwo(2)" type="primary">打印</el-button>
56 56
             <el-button size="small" @click="opentwo(3)" type="primary">病历调用</el-button>
@@ -62,9 +62,9 @@
62 62
         <desk-prescription  :diagnoses="diagnoses" :other_sick="other_sick" :record_date="record_date"
63 63
                            ref="prescriptions" :prescriptions="prescriptions" :patientInfo="patientInfo"
64 64
                            :hisPatientInfo="hisPatientInfo"
65
-                           v-show="titleType == '处方'" style="flex:1;"></desk-prescription>
65
+                           v-show="titleType == '电子处方'" style="flex:1;"></desk-prescription>
66 66
         <desk-record :record_date="record_date" :case_history="case_history" :patientInfo="patientInfo"
67
-                     :hisPatientInfo="hisPatientInfo"   v-show="titleType == '病历'" :detalid="detalid" ref="child"></desk-record>
67
+                     :hisPatientInfo="hisPatientInfo"   v-show="titleType == '电子病历'" :detalid="detalid" ref="child"></desk-record>
68 68
 
69 69
          <medicalRecord ref='medicalRecord' @func="getMsgFormSon" ></medicalRecord>
70 70
          <saveRecordTemplate ref='saveRecordTemplate'></saveRecordTemplate>

+ 0 - 6
src/xt_pages/stock/Dialog/goodInfoDailog.vue Ver arquivo

@@ -301,12 +301,6 @@
301 301
           good_name: [
302 302
             { required: true, message: '请输入耗材名称', trigger: 'blur' }
303 303
           ],
304
-          pinyin: [
305
-            { required: true, message: '请输入拼音', trigger: 'blur' }
306
-          ],
307
-          wubi: [
308
-            { required: true, message: '请输入五笔', trigger: 'blur' }
309
-          ],
310 304
           good_kind: [
311 305
             { required: true, message: '请选择耗材种类', trigger: 'change' }
312 306
           ],

+ 4 - 0
src/xt_pages/stock/selfPreparedMedicine/components/addMedicine.vue Ver arquivo

@@ -176,6 +176,7 @@ export default {
176 176
              this.$message.error("请添加药品规格")
177 177
              return
178 178
           }
179
+        
179 180
           const params = {
180 181
              patient_id:this.patient_id,
181 182
              medicineData:this.multipleSelection
@@ -186,6 +187,9 @@ export default {
186 187
                 this.$message.success("保存成功")
187 188
                 this.visible = false
188 189
                 this.$emit('getlist');
190
+                for(let i=0;i<this.multipleSelection.length;i++){
191
+                   this.multipleSelection[i].isSelected = false
192
+                }
189 193
              }else {
190 194
                 this.$message.error("药品名称规格已存在")
191 195
              }

+ 2 - 1
src/xt_pages/stock/selfPreparedMedicine/components/warehouseOut.vue Ver arquivo

@@ -31,7 +31,7 @@
31 31
                 <template slot-scope="scope">{{scope.row.drug_name}}</template>
32 32
             </el-table-column>
33 33
             <el-table-column align="center" prop="name" label="规格名称">
34
-                <template slot-scope="scope">{{scope.row.drug_name}}</template>
34
+                <template slot-scope="scope">{{scope.row.drug_spec}}</template>
35 35
             </el-table-column>
36 36
             <el-table-column align="center" prop="name" label="出库数量">
37 37
                 <template slot-scope="scope">
@@ -130,6 +130,7 @@ export default {
130 130
           getDrugDataByPatientId(params).then(response=>{
131 131
              if(response.data.state == 1){
132 132
                var medicalList = response.data.data.medicalList
133
+              
133 134
                 for(let i=0;i<medicalList.length;i++){
134 135
                   medicalList[i].store_number = ""
135 136
                   medicalList[i].remarks = ""

+ 1 - 1
src/xt_pages/stock/stockInOrderAdd.vue Ver arquivo

@@ -89,7 +89,7 @@
89 89
 
90 90
           <el-table-column align="center" width="150">
91 91
             <template slot="header" slot-scope="scope">
92
-              <span>价<span style="color: red">*</span></span>
92
+              <span>进货价<span style="color: red">*</span></span>
93 93
             </template>
94 94
             <template slot-scope="scope">
95 95
               <!--<el-input type="number" v-model="scope.row.price"  @blur="handleBlur(scope.$index, scope.row)"></el-input>-->

+ 1 - 1
src/xt_pages/stock/stockOutOrderAdd.vue Ver arquivo

@@ -144,7 +144,7 @@
144 144
 
145 145
           <el-table-column min-width="23" align="center">
146 146
             <template slot="header" slot-scope="scope">
147
-              <span>价<span style="color: red">*</span></span>
147
+              <span>出货价<span style="color: red">*</span></span>
148 148
             </template>
149 149
             <template slot-scope="scope">
150 150
               <!--<el-input type="number" v-model="scope.row.price"  @blur="handleBlur(scope.$index, scope.row)"></el-input>-->

+ 7 - 2
src/xt_pages/stock/stockQuery.vue Ver arquivo

@@ -38,12 +38,17 @@
38 38
             {{ scope.row.good_code }}
39 39
           </template>
40 40
         </el-table-column>
41
-        <el-table-column label="商品类型" align="center">
41
+        <el-table-column label="耗材名称" align="center">
42
+          <template slot-scope="scope">
43
+            {{ scope.row.good_name }}
44
+          </template>
45
+        </el-table-column>
46
+        <el-table-column label="耗材类型" align="center">
42 47
           <template slot-scope="scope">
43 48
             <span>{{ scope.row.type.type_name }}</span>
44 49
           </template>
45 50
         </el-table-column>
46
-        <el-table-column label="规格名称" align="center">
51
+        <el-table-column label="规格型号" align="center">
47 52
           <template slot-scope="scope">
48 53
             <span>{{ scope.row.specification_name }}</span>
49 54
           </template>

+ 49 - 71
src/xt_pages/upload/fast/FastCountry.vue Ver arquivo

@@ -1,28 +1,33 @@
1 1
 <template>
2 2
   <div class="patient-container">
3
-     <fast-patients-sidebar
3
+    
4
+    <el-container>
5
+      <div style="width:170px">
6
+        <el-form :inline="true" @submit.native.prevent>
7
+          <el-form-item label style="margin-bottom:0;">
8
+            <el-input v-model.trim="searchVal" @keyup.enter.native='onSearch' placeholder="姓名/透析号" style="width:70%"></el-input>
9
+            <el-button type="primary" style="padding: 10px 6px;" @click="onSearch">搜索</el-button>
10
+          </el-form-item>
11
+        </el-form>
12
+        <div style="width:170px">
13
+          <div class="tableTitle">患者列表</div>
14
+          <el-table :data="patientData" border style="width: 100%;" height="500" @row-click='handleSelect'>
15
+            <el-table-column prop="date" label="透析号" width="80" align="center">
16
+              <template slot-scope="scope">
17
+                {{ scope.row.dialysis_no }}
18
+              </template>
19
+            </el-table-column>
20
+            <el-table-column prop="name" label="姓名" width="90" align="center"></el-table-column>
21
+          </el-table>
22
+        </div>
23
+      </div>
24
+      <!-- <fast-patients-sidebar
4 25
       :id="patientID"
5 26
       v-on:patient="patientInfoClick()"
6 27
       v-on:inspection="inspectionClick()"
7
-    ></fast-patients-sidebar>
28
+    ></fast-patients-sidebar> -->
8 29
     <!-- <fast-upload-detail v-if="isShow == 1"  :id="patientID"  :is-edit='true' :class='panelClass'></fast-upload-detail> -->
9
-    <el-container>
10
-      <!--<div style="width:170px">-->
11
-        <!--<el-form :inline="true" :model="listQuery">-->
12
-          <!--<el-form-item label style="margin-bottom:0;">-->
13
-            <!--<el-input v-model.trim="searchVal" placeholder="姓名/透析号" style="width:70%"></el-input>-->
14
-            <!--<el-button type="primary" style="padding: 10px 6px;" @click="onSearch">搜索</el-button>-->
15
-          <!--</el-form-item>-->
16
-        <!--</el-form>-->
17
-        <!--<div style="width:170px">-->
18
-          <!--<div class="tableTitle">患者列表</div>-->
19
-          <!--<el-table :data="tableData" border style="width: 100%;" height="500">-->
20
-            <!--<el-table-column prop="date" label="日期" width="80"></el-table-column>-->
21
-            <!--<el-table-column prop="name" label="姓名" width="90"></el-table-column>-->
22
-          <!--</el-table>-->
23
-        <!--</div>-->
24
-      <!--</div>-->
25
-
30
+      
26 31
       <div style="margin-left:20px;flex:1;" >
27 32
         <div class="cell clearfix">
28 33
           <div class="time">
@@ -36,8 +41,8 @@
36 41
             </ul>
37 42
           </div>
38 43
         </div>
39
-        <one ref="one" v-if="wayType == 0" :patientID="patientID" :is-edit='true' style="margin-top:28px;" @></one>
40
-        <two ref="two" v-if="wayType == 1" :id="patientID" :is-edit="true" style="margin-top:28px;"></two>
44
+        <one ref="one" v-show="wayType == 0" :patientID="patientID" :is-edit='true' style="margin-top:28px;" @></one>
45
+        <two ref="two" v-show="wayType == 1 && patientID != 0" :id="patientID" :is-edit="true" style="margin-top:28px;"></two>
41 46
       </div>
42 47
     </el-container>
43 48
   </div>
@@ -68,62 +73,14 @@
68 73
           id: 0
69 74
         },
70 75
         isShow: 1,
71
-        tableData: [
72
-          {
73
-              date: "2016",
74
-              name: "王小虎"
75
-          },
76
-          {
77
-              date: "2016",
78
-              name: "王小虎"
79
-          },
80
-          {
81
-              date: "2016",
82
-              name: "王小虎"
83
-          },
84
-          {
85
-              date: "2016",
86
-              name: "王小虎"
87
-          },
88
-          {
89
-              date: "2016",
90
-              name: "王小虎"
91
-          },
92
-          {
93
-              date: "2016",
94
-              name: "王小虎"
95
-          },
96
-          {
97
-              date: "2016",
98
-              name: "王小虎"
99
-          },
100
-          {
101
-              date: "2016",
102
-              name: "王小虎"
103
-          },
104
-          {
105
-              date: "2016",
106
-              name: "王小虎"
107
-          },
108
-          {
109
-              date: "2016",
110
-              name: "王小虎"
111
-          },
112
-          {
113
-              date: "2016",
114
-              name: "王小虎"
115
-          },
116
-          {
117
-              date: "2016",
118
-              name: "王小虎"
119
-          }
120
-        ],
121 76
         searchVal:'',
122 77
         way: [
123 78
             { value: 0, label: "基本信息", state: 0 },
124 79
             { value: 1, label: "检验检查", state: 1 },
125 80
         ],
126 81
         wayType: 0,
82
+        patientsList:[],
83
+        patientData:[]
127 84
       }
128 85
     },
129 86
     created() {
@@ -144,6 +101,7 @@
144 101
         fetchAllList().then(response => {
145 102
           if (response.data.state == 1) {
146 103
             this.patientsList = response.data.data.patients
104
+            this.patientData = response.data.data.patients
147 105
             if (type == 1) {
148 106
               this.patientID = this.patientsList[0].id
149 107
 
@@ -233,6 +191,26 @@
233 191
         var monthEndDate = new Date(nowYear, myMonth + 1, 1)
234 192
         var days = (monthEndDate - monthStartDate) / (1000 * 60 * 60 * 24)
235 193
         return days
194
+      },
195
+      handleSelect(val) {
196
+        this.$router.push("/upload/fast?id=" + val.id);
197
+      },
198
+      onSearch(){
199
+        if(this.searchVal != ''){
200
+          let arr = []
201
+          this.patientsList.map(item => {
202
+          
203
+            if(item.name.includes(this.searchVal)){
204
+              console.log('hhhh')
205
+              arr.push(item)
206
+            }
207
+          })
208
+          console.log(arr)
209
+          this.patientData = arr
210
+        }else if(this.searchVal == ''){
211
+          this.patientData = this.patientsList
212
+        }
213
+        
236 214
       }
237 215
 
238 216
     }

+ 1 - 1
src/xt_pages/upload/fast/FastPatientsSidebar.vue Ver arquivo

@@ -29,7 +29,7 @@
29 29
       >
30 30
       </el-option>
31 31
     </el-select>
32
-    <el-tree
32
+    <!-- <el-tree
33 33
       :data="treeData"
34 34
       accordion
35 35
       node-key="name"

+ 17 - 7
src/xt_pages/upload/fast/Two.vue Ver arquivo

@@ -894,6 +894,9 @@ import { GetUploadInspections, GetInitInspections } from "@/api/inspection";
894 894
 export default {
895 895
   name: "Two",
896 896
   components: {},
897
+  props:{
898
+    id:Number
899
+  },
897 900
 
898 901
   data() {
899 902
     return {
@@ -976,6 +979,7 @@ export default {
976 979
     };
977 980
   },
978 981
   created() {
982
+    
979 983
     var start_time = new Date(
980 984
       this.getQuarterStartDate().replace(/-/g, "/")
981 985
     ).getTime();
@@ -1302,7 +1306,7 @@ export default {
1302 1306
     },
1303 1307
     xcgChange(val) {
1304 1308
       this.GetUploadInspections(
1305
-        this.patient_id,
1309
+        this.patient_id != 0 ? this.patient_id : parseInt(this.$route.query.id),
1306 1310
         val[0] / 1000,
1307 1311
         val[1] / 1000,
1308 1312
         1,
@@ -1311,7 +1315,7 @@ export default {
1311 1315
     },
1312 1316
     gkwzChange(val) {
1313 1317
       this.GetUploadInspections(
1314
-        this.patient_id,
1318
+        this.patient_id != 0 ? this.patient_id : parseInt(this.$route.query.id),
1315 1319
         val[0] / 1000,
1316 1320
         val[1] / 1000,
1317 1321
         2,
@@ -1320,7 +1324,7 @@ export default {
1320 1324
     },
1321 1325
     tdxChange(val) {
1322 1326
       this.GetUploadInspections(
1323
-        this.patient_id,
1327
+        this.patient_id != 0 ? this.patient_id : parseInt(this.$route.query.id),
1324 1328
         val[0] / 1000,
1325 1329
         val[1] / 1000,
1326 1330
         3,
@@ -1329,7 +1333,7 @@ export default {
1329 1333
     },
1330 1334
     shjcChange(val) {
1331 1335
       this.GetUploadInspections(
1332
-        this.patient_id,
1336
+        this.patient_id != 0 ? this.patient_id : parseInt(this.$route.query.id),
1333 1337
         val[0] / 1000,
1334 1338
         val[1] / 1000,
1335 1339
         4,
@@ -1338,7 +1342,7 @@ export default {
1338 1342
     },
1339 1343
     yyyyzChange(val) {
1340 1344
       this.GetUploadInspections(
1341
-        this.patient_id,
1345
+        this.patient_id != 0 ? this.patient_id : parseInt(this.$route.query.id),
1342 1346
         val[0] / 1000,
1343 1347
         val[1] / 1000,
1344 1348
         5,
@@ -1347,7 +1351,7 @@ export default {
1347 1351
     },
1348 1352
     crbxzbChange(val) {
1349 1353
       this.GetUploadInspections(
1350
-        this.patient_id,
1354
+        this.patient_id != 0 ? this.patient_id : parseInt(this.$route.query.id),
1351 1355
         val[0] / 1000,
1352 1356
         val[1] / 1000,
1353 1357
         6,
@@ -1356,7 +1360,7 @@ export default {
1356 1360
     },
1357 1361
     jhChange(val) {
1358 1362
       this.GetUploadInspections(
1359
-        this.patient_id,
1363
+        this.patient_id != 0 ? this.patient_id : parseInt(this.$route.query.id),
1360 1364
         val[0] / 1000,
1361 1365
         val[1] / 1000,
1362 1366
         7,
@@ -1424,6 +1428,12 @@ export default {
1424 1428
       var days = (monthEndDate - monthStartDate) / (1000 * 60 * 60 * 24);
1425 1429
       return days;
1426 1430
     }
1431
+  },
1432
+  watch:{
1433
+    id(newVal, oldVal){//对引用类型的值无效
1434
+      console.info('value changed 1', newVal)
1435
+      this.patient_id = newVal
1436
+    },
1427 1437
   }
1428 1438
 };
1429 1439
 </script>

+ 2 - 2
src/xt_pages/upload/fast_upload.vue Ver arquivo

@@ -6,10 +6,10 @@
6 6
     <div class="app-container">
7 7
       <div class="service-box">
8 8
         <el-tabs v-model="activeName">
9
-      <el-tab-pane label="国家质控平台" name="first">
9
+          <el-tab-pane label="国家质控平台" name="first">
10 10
            <fast-country></fast-country>
11 11
           </el-tab-pane>
12
-          <el-tab-pane label="省级质控平台" name="first">
12
+          <el-tab-pane label="省级质控平台">
13 13
             <fast-province></fast-province>
14 14
           </el-tab-pane>
15 15
           <el-tab-pane label="市级质控平台">

+ 2 - 1
src/xt_pages/user/components/EditGroupAdvice.vue Ver arquivo

@@ -1410,6 +1410,7 @@ export default {
1410 1410
       this.nameFormTitle = "添加子药内容";
1411 1411
     },
1412 1412
     openGroupAdvice(isEdit) {
1413
+     
1413 1414
       this.isChild = false;
1414 1415
       if (isEdit) {
1415 1416
         if (this.groupSelectRow === null) {
@@ -1450,7 +1451,7 @@ export default {
1450 1451
         if (!this.isChild) {
1451 1452
           this.weeks = this.groupSelectRow.week_day.split(",");
1452 1453
         }
1453
-
1454
+        this.getAdviceConfig(1)
1454 1455
         this.nameFormTitle = "修改医嘱内容";
1455 1456
       } else {
1456 1457
         this.nameForm = {

+ 4 - 1
src/xt_pages/user/dialysisSolution.vue Ver arquivo

@@ -1726,7 +1726,10 @@ export default {
1726 1726
     this.blood_filters = this.$store.getters.blood_filters
1727 1727
     this.perfusion_apparatus = this.$store.getters.perfusion_apparatus
1728 1728
     this.hemodialysis_machines = this.$store.getters.hemodialysis_machines
1729
-    this.dialysate_formulation = this.$store.getters.dialysate_formulation
1729
+    this.dialysate_formulation =  getDataConfig(
1730
+          'hemodialysis',
1731
+          'dialysate_formulation'
1732
+    )
1730 1733
     this.body_fluid_option = this.$store.getters.body_fluid
1731 1734
     this.special_medicine_option = this.$store.getters.special_medicine
1732 1735
 

+ 23 - 3
src/xt_pages/workforce/components/ScheduleItem.vue Ver arquivo

@@ -2,13 +2,13 @@
2 2
     <div >
3 3
         <el-tooltip placement="right" :disabled="scheduleDetail.patient.length>0?false:true" >
4 4
             <div slot="content">
5
-                {{scheduleDetail.patient}}
5
+                {{scheduleDetail.patient}}11
6 6
                 <br/>
7 7
                 <span v-if="scheduleDetail.mode_name.length>0">({{scheduleDetail.mode_name}})</span>
8 8
             </div>
9 9
             <div>
10
-                <span>{{scheduleDetail.patient}}</span><br/>
11
-                <span v-if="scheduleDetail.mode_name.length>0">({{scheduleDetail.mode_name}})</span>
10
+                <span :class='modeColor(scheduleDetail.mode_name)'>{{scheduleDetail.patient}}</span><br/>
11
+                <span v-if="scheduleDetail.mode_name.length>0" :class='modeColor(scheduleDetail.mode_name)'>({{scheduleDetail.mode_name}})</span>
12 12
             </div>
13 13
         </el-tooltip>
14 14
     </div>
@@ -30,5 +30,25 @@ export default {
30 30
           },
31 31
       },
32 32
   },
33
+  methods:{
34
+        modeColor(name){
35
+            if(name == 'HD'){
36
+
37
+            }else if(name == 'HDF'){
38
+                return 'modeRed'
39
+            }else if(name == 'HD+HP'){
40
+                return 'modePurple'
41
+            }
42
+        }
43
+  }
33 44
 };
34 45
 </script>
46
+
47
+<style lang="scss" scoped>
48
+.modeRed{
49
+  color:#ed5555;
50
+}
51
+.modePurple{
52
+  color: #53b86e;
53
+}
54
+</style>

+ 19 - 4
src/xt_pages/workforce/components/tableData.vue Ver arquivo

@@ -99,12 +99,13 @@
99 99
       @cell-click="clickThis"
100 100
       :summary-method="getSummaries"
101 101
       show-summary
102
-      :row-class-name="rowClass"
102
+      :row-class-name="tableRowClassName"
103 103
       :cell-class-name="cellClass"
104 104
       sum-text="总数"
105 105
       :height="tableContainHeight"
106 106
       ref="table"
107 107
       style="width: 100%;cursor: pointer;"
108
+      
108 109
     >
109 110
       <el-table-column
110 111
         prop="area"
@@ -329,6 +330,7 @@
329 330
                 v-model="searchKey"
330 331
                 placeholder="请输入搜索的内容"
331 332
                 style="width:260px"
333
+                @keyup.enter.native='SubmitSearch'
332 334
               ></el-input>
333 335
               <el-button
334 336
                 type="primary"
@@ -464,8 +466,11 @@
464 466
           :disabled="$store.getters.xt_user.subscibe.state == 3 ? true : false"
465 467
           type="primary"
466 468
           @click="submitTiaoX"
467
-          >保 存</el-button
468
-        >
469
+          >
470
+          <span v-if='tiaoZhengType == 1'>保存</span>
471
+          <span v-if='tiaoZhengType == 2'>下一步</span>
472
+          <span v-if='tiaoZhengType == 3'>下一步</span>
473
+          </el-button>
469 474
       </span>
470 475
     </el-dialog>
471 476
     <el-dialog
@@ -626,7 +631,7 @@ export default {
626 631
     return {
627 632
       // tableContainHeight:400,
628 633
       // tableHeight:'window.innerHeight - 0',
629
-      rowClass: "table-row-new-class schedule-table-row",
634
+      // rowClass: "table-row-new-class schedule-table-row",
630 635
       searchKey: "",
631 636
       tiaoZhengType: 1,
632 637
       modeOptions: null,
@@ -1931,6 +1936,13 @@ export default {
1931 1936
       this.currentData.id = row.id;
1932 1937
       this.searchTableVisible = false;
1933 1938
       this.msDialogVisible = true;
1939
+    },
1940
+    tableRowClassName({row, rowIndex}) {
1941
+      if(row.zone_type == 1){
1942
+        return 'table-row-new-class schedule-table-row'
1943
+      }else {
1944
+        return 'table-row-new-class schedule-table-row backPurple'
1945
+      }
1934 1946
     }
1935 1947
   },
1936 1948
   components: {
@@ -2062,4 +2074,7 @@ export default {
2062 2074
     color: #fff;
2063 2075
   }
2064 2076
 }
2077
+.backPurple{
2078
+  color: #08c3df !important;
2079
+}
2065 2080
 </style>

+ 43 - 12
src/xt_pages/workforce/components/tableWeeks.vue Ver arquivo

@@ -25,6 +25,20 @@
25 25
           </li>
26 26
         </ul>
27 27
       </div>
28
+      
29
+      <div  class="title"><span class="name">班 次</span> :</div>
30
+      <div class="time">
31
+        <ul class>
32
+          <li
33
+            :class="item.id == week_time ? 'active' : ''"
34
+            @click="selectWeekTime(item.id)"
35
+            v-for="item in weekTimes"
36
+            :key="item.id"
37
+          >
38
+            {{ item.name }}
39
+          </li>
40
+        </ul>
41
+      </div>
28 42
     </div>
29 43
     <el-table
30 44
       :row-style="{ color: '#303133' }"
@@ -171,6 +185,13 @@ export default {
171 185
       anticoagulants_confit: null,
172 186
 
173 187
       week_type: "1",
188
+      week_time:0,
189
+      weekTimes:[
190
+        {id:0,name:"全部"},
191
+        {id:1,name:"上午"},
192
+        {id:2,name:"下午"},
193
+        {id:3,name:"晚上"},
194
+      ],
174 195
       weekTitle: ["", "", "", "", "", "", ""],
175 196
       weekData: {
176 197
         Monday: [],
@@ -195,15 +216,20 @@ export default {
195 216
   methods: {
196 217
     printAction() {
197 218
       this.$router.push({
198
-        path: "/schedule/remind/print?week_type=" + this.week_type
219
+        path: "/schedule/remind/print?week_type=" + this.week_type+"&week_time="+this.week_time
199 220
       });
200 221
     },
201
-    getScheduleWeekDay(weekType) {
202
-      getScheduleWeekDay(weekType).then(response => {
222
+    getScheduleWeekDay() {
223
+        const params = {
224
+          week_type:this.week_type,
225
+          week_time:this.week_time,
226
+        }
227
+        console.log("params------",params)
228
+      getScheduleWeekDay(params).then(response => {
203 229
         this.scheduleData = [];
204 230
         if (response.data.state == 1) {
205 231
           this.scheduleData = response.data.data.schdules;
206
-          //console.log("排班-----", this.scheduleData);
232
+          console.log("排班-----", this.scheduleData);
207 233
         } else {
208 234
           this.$message.error("网络错误");
209 235
           return false;
@@ -290,11 +316,16 @@ export default {
290 316
     },
291 317
     selectWeekType(type) {
292 318
       this.week_type = type;
293
-      let params = {
294
-        week_type: this.week_type
295
-      };
296
-      this.getScheduleWeekDay(params);
319
+      // let params = {
320
+      //   week_type: this.week_type
321
+      // };
322
+      this.getScheduleWeekDay();
297 323
     },
324
+    selectWeekTime(type){
325
+       this.week_time = type
326
+       this.getScheduleWeekDay()
327
+    },
328
+
298 329
     getSchedulesType: function(type) {
299 330
       let type_name = "";
300 331
       switch (type) {
@@ -401,10 +432,10 @@ export default {
401 432
     if (this.week_type == 0) {
402 433
       this.week_type = 7;
403 434
     }
404
-    let params = {
405
-      week_type: this.week_type
406
-    };
407
-    this.getScheduleWeekDay(params);
435
+    // let params = {
436
+    //   week_type: this.week_type
437
+    // };
438
+    this.getScheduleWeekDay();
408 439
   }
409 440
 };
410 441
 </script>

+ 10 - 3
src/xt_pages/workforce/remind_print.vue Ver arquivo

@@ -72,6 +72,9 @@
72 72
                   <span v-if="main_collection.prescription.anticoagulant == 2">{{main_collection.prescription.anticoagulant_zongliang?main_collection.prescription.anticoagulant_zongliang+'iu':''}}</span>
73 73
                   <span v-if="main_collection.prescription.anticoagulant == 3">{{main_collection.prescription.anticoagulant_zongliang?main_collection.prescription.anticoagulant_zongliang+'iu':''}}</span>
74 74
                   <span v-if="main_collection.prescription.anticoagulant == 4">{{main_collection.prescription.anticoagulant_zongliang?main_collection.prescription.anticoagulant_zongliang+'mg':''}}</span>
75
+                  <span v-if="main_collection.prescription.anticoagulant == 5">{{main_collection.prescription.anticoagulant_zongliang?main_collection.prescription.anticoagulant_zongliang+'mg':''}}</span>
76
+                  <span v-if="main_collection.prescription.anticoagulant == 6">{{main_collection.prescription.anticoagulant_zongliang?main_collection.prescription.anticoagulant_zongliang+'iu':''}}</span>
77
+                  <span v-if="main_collection.prescription.anticoagulant == 7">{{main_collection.prescription.anticoagulant_zongliang?main_collection.prescription.anticoagulant_zongliang+'iu':''}}</span>
75 78
                 </td>
76 79
                 <td :width="td_4_width" style="text-align:left" >
77 80
                   <span style="white-space: pre">{{getAdvice(main_collection.doctor_advice)}}</span>
@@ -120,10 +123,14 @@
120 123
       this.modeOptions = this.$store.getters.treatment_mode
121 124
       this.anticoagulants_confit = this.$store.getters.anticoagulants_confit
122 125
       this.week_type = this.$route.query.week_type
126
+      this.week_time  = this.$route.query.week_time
127
+      
128
+      const params = {
129
+          week_type:this.week_type,
130
+          week_time:this.week_time,
131
+        }
123 132
 
124
-
125
-
126
-      getScheduleWeekDay({week_type: this.week_type}).then(rs => {
133
+      getScheduleWeekDay(params).then(rs => {
127 134
         var resp = rs.data
128 135
         console.log(resp)
129 136
         if (resp.state == 1) {