Browse Source

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

csx 3 years ago
parent
commit
9fb540d22b
64 changed files with 8468 additions and 374 deletions
  1. 3 2
      src/api/advice.js
  2. 27 3
      src/api/config.js
  3. 1 0
      src/api/dialysis.js
  4. 82 0
      src/api/his/his_config.js
  5. 18 0
      src/api/schedule.js
  6. BIN
      src/assets/home/111.jpg
  7. BIN
      src/assets/home/222.jpg
  8. 2 0
      src/lang/zh.js
  9. 12 0
      src/router/modules/dialysis.js
  10. 18 0
      src/router/modules/outpatientDoctorStation.js
  11. 15 0
      src/store/modules/globalConfig.js
  12. 95 7
      src/xt_pages/data/basicConfig.vue
  13. 47 19
      src/xt_pages/data/druguseTemplate.vue
  14. 3 3
      src/xt_pages/data/prescription.vue
  15. 5 3
      src/xt_pages/data/printTemplate.vue
  16. 165 0
      src/xt_pages/data/printTemplate/schedulePrint.vue
  17. 1 0
      src/xt_pages/dialysis/PatientBox.vue
  18. 9 1
      src/xt_pages/dialysis/batch_print/batch_print_order.vue
  19. 10 3
      src/xt_pages/dialysis/batch_print/batch_print_order_six.vue
  20. 1516 0
      src/xt_pages/dialysis/batch_print/batch_print_order_thirtyNine.vue
  21. 12 0
      src/xt_pages/dialysis/bloodPresssWatch.vue
  22. 10 0
      src/xt_pages/dialysis/details/DialysisPrescription.vue
  23. 6 0
      src/xt_pages/dialysis/details/assessmentBefore.vue
  24. 2 2
      src/xt_pages/dialysis/details/dialog/DoctorAdviceDialog.vue
  25. 7 0
      src/xt_pages/dialysis/details/dialog/assessmentBeforeDislysisDialog.vue
  26. 55 6
      src/xt_pages/dialysis/details/dialog/dialysisPrescriptionDialog.vue
  27. 4 1
      src/xt_pages/dialysis/details/dialog/doubleCheckDialog.vue
  28. 4 2
      src/xt_pages/dialysis/details/dialog/finish_dialog.vue
  29. 10 0
      src/xt_pages/dialysis/details/index.vue
  30. 3 2
      src/xt_pages/dialysis/dialysisDoctorAdvice.vue
  31. 24 0
      src/xt_pages/dialysis/dialysisPrintOrder.vue
  32. 2523 0
      src/xt_pages/dialysis/template/DialysisPrintOrderForty.vue
  33. 15 4
      src/xt_pages/dialysis/template/DialysisPrintOrderSix.vue
  34. 8 1
      src/xt_pages/dialysis/template/dialysisPrintOrderTwo.vue
  35. 1 3
      src/xt_pages/outpatientCharges/components/prescriptionTable.vue
  36. 16 33
      src/xt_pages/outpatientCharges/newStatementPrint.vue
  37. 12 9
      src/xt_pages/outpatientCharges/summary.vue
  38. 3 1
      src/xt_pages/outpatientDoctorStation/components/callPrescription.vue
  39. 16 19
      src/xt_pages/outpatientDoctorStation/components/deskPrescription.vue
  40. 206 155
      src/xt_pages/outpatientDoctorStation/components/dialysisIndex.vue
  41. 2 1
      src/xt_pages/outpatientDoctorStation/components/nextOrLastPrescription.vue
  42. 6 0
      src/xt_pages/outpatientDoctorStation/components/prescriptionTable.vue
  43. 468 0
      src/xt_pages/outpatientDoctorStation/components/prescriptionTemplateTable.vue
  44. 56 18
      src/xt_pages/outpatientDoctorStation/doctorDesk.vue
  45. 485 0
      src/xt_pages/outpatientDoctorStation/prescriptionTemplate.vue
  46. 1995 0
      src/xt_pages/outpatientDoctorStation/prescriptionTemplatedetail.vue
  47. 8 3
      src/xt_pages/outpatientDoctorStation/print.vue
  48. 330 0
      src/xt_pages/outpatientDoctorStation/template/printFour.vue
  49. 1 1
      src/xt_pages/qcd/basicInformationAnalysis.vue
  50. 3 1
      src/xt_pages/role/components/AdminInfoForm.vue
  51. 3 1
      src/xt_pages/stock/detail/print.vue
  52. 8 5
      src/xt_pages/stock/detail/stockOutDetail.vue
  53. 7 10
      src/xt_pages/stock/drugs/drugStockInOrder.vue
  54. 0 2
      src/xt_pages/stock/drugs/drugStockOutOrderDetailPrint.vue
  55. 2 1
      src/xt_pages/stock/stockOutOrderDetailPrint.vue
  56. 1 4
      src/xt_pages/stock/stockQuery.vue
  57. 54 6
      src/xt_pages/user/dialysisSolution.vue
  58. 28 13
      src/xt_pages/workforce/appointment.vue
  59. 4 1
      src/xt_pages/workforce/components/nextTableWeeks.vue
  60. 3 0
      src/xt_pages/workforce/components/tableData.vue
  61. 5 2
      src/xt_pages/workforce/components/tableWeeks.vue
  62. 4 1
      src/xt_pages/workforce/next_remind_print.vue
  63. 5 2
      src/xt_pages/workforce/remind_print.vue
  64. 24 23
      src/xt_pages/workforce/scheduleTablePrint.vue

+ 3 - 2
src/api/advice.js View File

212
   });
212
   });
213
 }
213
 }
214
 
214
 
215
-export function postAdviceTemplate(params, name, advice_type) {
215
+export function postAdviceTemplate(params, name,sort, advice_type) {
216
   return request({
216
   return request({
217
     url:
217
     url:
218
       "/api/advicetemplate/create?template_name=" +
218
       "/api/advicetemplate/create?template_name=" +
219
       name +
219
       name +
220
       "&advice_type=" +
220
       "&advice_type=" +
221
-      advice_type,
221
+      advice_type
222
+      +"&sort="+sort,
222
     method: "post",
223
     method: "post",
223
     data: params
224
     data: params
224
   });
225
   });

+ 27 - 3
src/api/config.js View File

136
   })
136
   })
137
 }
137
 }
138
 
138
 
139
+export function postXtHisProjectIsOpen(params) {
140
+  return request({
141
+    url: '/api/xtconfigproject/isopen',
142
+    method: 'post',
143
+    params: params
144
+  })
145
+}
139
 
146
 
140
 export function postMonitorIsOpen(params){
147
 export function postMonitorIsOpen(params){
141
   console.log("params",params)
148
   console.log("params",params)
148
 
155
 
149
 
156
 
150
 export function getMonitorConfig(params){
157
 export function getMonitorConfig(params){
151
-  
158
+
152
   return request({
159
   return request({
153
     url:"/api/monitor/getmonitorconfig",
160
     url:"/api/monitor/getmonitorconfig",
154
     method:"Get",
161
     method:"Get",
158
 
165
 
159
 
166
 
160
 export function addOrderConfig(params){
167
 export function addOrderConfig(params){
161
-  
168
+
162
   return request({
169
   return request({
163
     url:"/api/order/addorderconfig",
170
     url:"/api/order/addorderconfig",
164
     method:"Get",
171
     method:"Get",
168
 }
175
 }
169
 
176
 
170
 export function getOrderConfig(params){
177
 export function getOrderConfig(params){
171
-  
178
+
172
   return request({
179
   return request({
173
     url:"/api/order/getorderconfig",
180
     url:"/api/order/getorderconfig",
174
     method:"get",
181
     method:"get",
176
   })
183
   })
177
 }
184
 }
178
 
185
 
186
+export function changeFuncPrint(params){
187
+
188
+  return request({
189
+    url:"/api/order/changefuncprint",
190
+    method:"get",
191
+    params:params
192
+  })
193
+}
194
+
195
+export function getDataPrintList(params){
196
+
197
+  return request({
198
+    url:"/api/order/getdataprint",
199
+    method:"get",
200
+    params:params
201
+  })
202
+}

+ 1 - 0
src/api/dialysis.js View File

157
 }
157
 }
158
 
158
 
159
 export function postSoulution(params) {
159
 export function postSoulution(params) {
160
+  console.log("params",params)
160
   return request({
161
   return request({
161
     url: '/api/dialysis/soulution',
162
     url: '/api/dialysis/soulution',
162
     method: 'Post',
163
     method: 'Post',

+ 82 - 0
src/api/his/his_config.js View File

1
+import request from "@/utils/request";
2
+
3
+
4
+
5
+export function getPatientList(params) {
6
+  return request({
7
+    url: "/api/his/patient/list",
8
+    method: "get",
9
+    params:params
10
+  });
11
+}
12
+
13
+
14
+export function getPrescriptiontemplateList(params) {
15
+  return request({
16
+    url: "/api/his/prescriptiontemplate/list",
17
+    method: "get",
18
+    params:params
19
+  });
20
+}
21
+
22
+
23
+export function getPrescriptionTemplateInfo(params) {
24
+  return request({
25
+    url: "/api/his/prescriptiontemplate/info",
26
+    method: "get",
27
+    params:params
28
+  });
29
+}
30
+
31
+
32
+
33
+export function createdTemplate(params,data) {
34
+  return request({
35
+    url: "/api/his/prescriptiontemplate/create",
36
+    method: "post",
37
+    data:data,
38
+    params:params,
39
+  });
40
+}
41
+
42
+
43
+
44
+
45
+export function delHisPrescriptionTemplate(params) {
46
+  return request({
47
+    url: "/api/his/prescriptiontemplate/delete",
48
+    method: "post",
49
+    params:params,
50
+  });
51
+}
52
+
53
+
54
+
55
+export function delHisPrescriptionInfoTemplate(params) {
56
+  return request({
57
+    url: "/api/his/prescriptioninfotemplate/delete",
58
+    method: "post",
59
+    params:params,
60
+  });
61
+}
62
+
63
+
64
+
65
+
66
+export function delHisPrescriptionAdviceTemplate(params) {
67
+  return request({
68
+    url: "/api/his/advicetemplate/delete",
69
+    method: "post",
70
+    params:params,
71
+  });
72
+}
73
+
74
+
75
+
76
+export function delHisPrescriptionProjectTemplate(params) {
77
+  return request({
78
+    url: "/api/his/projecttemplate/delete",
79
+    method: "post",
80
+    params:params,
81
+  });
82
+}

+ 18 - 0
src/api/schedule.js View File

220
     method:"get",
220
     method:"get",
221
     params:params
221
     params:params
222
   })
222
   })
223
+}
224
+
225
+export function postScheduleTemplate(params){
226
+   
227
+  return request({
228
+    url:"/api/schedule/postscheduletemplate",
229
+    method:"get",
230
+    params:params
231
+  })
232
+}
233
+
234
+export function getScheduleTemplate(params){
235
+  
236
+  return request({
237
+    url:"/api/schedule/getscheduletemplate",
238
+    method:"get",
239
+    params:params,
240
+  })
223
 }
241
 }

BIN
src/assets/home/111.jpg View File


BIN
src/assets/home/222.jpg View File


+ 2 - 0
src/lang/zh.js View File

247
     hospitalStation:"住院工作站",
247
     hospitalStation:"住院工作站",
248
     pastInquiries:"既往查询",
248
     pastInquiries:"既往查询",
249
 
249
 
250
+    prescriptionTemplate:"处方模版",
251
+
250
   },
252
   },
251
   navbar: {
253
   navbar: {
252
     logOut: '退出登录',
254
     logOut: '退出登录',

+ 12 - 0
src/router/modules/dialysis.js View File

399
         noCache: true
399
         noCache: true
400
       }
400
       }
401
     },
401
     },
402
+    {
403
+      path: '/dialysis/print/batch/thirtyNine',
404
+      component: () =>
405
+        import('@/xt_pages/dialysis/batch_print/batch_print_order_thirtyNine'),
406
+      hidden: true,
407
+      is_menu: false,
408
+      name: 'batch_print_order_thirtyNine',
409
+      meta: {
410
+        title: '批量打印',
411
+        noCache: true
412
+      }
413
+    },
402
     {
414
     {
403
       path: '/dialysis/print/batch/thirtyThree_one',
415
       path: '/dialysis/print/batch/thirtyThree_one',
404
       component: () =>
416
       component: () =>

+ 18 - 0
src/router/modules/outpatientDoctorStation.js View File

24
         name: 'outpatientDoctorStationPastInquiries',
24
         name: 'outpatientDoctorStationPastInquiries',
25
         meta: { title: 'outpatientDoctorStationPastInquiries', noCache: true }
25
         meta: { title: 'outpatientDoctorStationPastInquiries', noCache: true }
26
     },
26
     },
27
+    {
28
+      path: '/outpatientDoctorStation/prescriptionTemplate',
29
+      component: () => import('@/xt_pages/outpatientDoctorStation/prescriptionTemplate'),
30
+      name: 'prescriptionTemplate',
31
+      meta: { title: 'prescriptionTemplate', noCache: true }
32
+    },
33
+
34
+    {
35
+      path: '/outpatientDoctorStation/prescriptionTemplatedetail',
36
+      component: () => import('@/xt_pages/outpatientDoctorStation/prescriptionTemplatedetail'),
37
+      name: 'prescriptionTemplatedetail',
38
+      hidden: true,
39
+      is_menu: false,
40
+      meta: { title: 'prescriptionTemplatedetail', noCache: true }
41
+    },
42
+
43
+
44
+
27
     {
45
     {
28
         path: '/outpatientDoctorStation/templateManagement',
46
         path: '/outpatientDoctorStation/templateManagement',
29
         component: () => import('@/xt_pages/outpatientDoctorStation/templateManagement'),
47
         component: () => import('@/xt_pages/outpatientDoctorStation/templateManagement'),

+ 15 - 0
src/store/modules/globalConfig.js View File

524
         sodium: 1,
524
         sodium: 1,
525
         calcium: 1,
525
         calcium: 1,
526
         bicarbonate: 1
526
         bicarbonate: 1
527
+      },
528
+      22: {
529
+        id: 22,
530
+        name: '血浆胆红素吸附+HDF',
531
+        dialysis_duration: 1,
532
+        replacement_way: 1,
533
+        hemodialysis_machine: 2,
534
+        blood_filter: 1,
535
+        perfusion_apparatus: 2,
536
+        blood_flow_volume: 1,
537
+        dialysate_flow: 1,
538
+        kalium: 1,
539
+        sodium: 1,
540
+        calcium: 1,
541
+        bicarbonate: 1
527
       }
542
       }
528
     },
543
     },
529
     anticoagulants_confit: { // 抗凝剂
544
     anticoagulants_confit: { // 抗凝剂

+ 95 - 7
src/xt_pages/data/basicConfig.vue View File

15
             <p style="font-size:18px;font-weight:bold">门诊打印</p>
15
             <p style="font-size:18px;font-weight:bold">门诊打印</p>
16
             <p style="font-size:14px;margin-top:5px;color:#333;">开启直接打印后,门诊病历、处方、治疗单、处置单、收费清单等打印时跳过打印预览,直接连接打印机打印。</p>
16
             <p style="font-size:14px;margin-top:5px;color:#333;">开启直接打印后,门诊病历、处方、治疗单、处置单、收费清单等打印时跳过打印预览,直接连接打印机打印。</p>
17
             <p style="margin-top:20px;">直接打印:
17
             <p style="margin-top:20px;">直接打印:
18
-                <el-switch v-model="value"></el-switch>
18
+                <el-switch v-model="is_open_print" @change="changeFuncPrint"></el-switch>
19
             </p>
19
             </p>
20
         </div>
20
         </div>
21
         <div class="configBox">
21
         <div class="configBox">
26
           </p>
26
           </p>
27
         </div>
27
         </div>
28
 
28
 
29
+        <div class="configBox">
30
+            <p style="font-size:18px;font-weight:bold">处方项目同步到临时医嘱</p>
31
+            <p style="font-size:14px;margin-top:5px;color:#333;">开启门诊处方的项目同步后,护士则在血透的临时医嘱中可以看到相关的耗材/检验检查数据</p>
32
+            <p style="margin-top:20px;">门诊处方项目同步到透析医嘱:
33
+                <el-switch v-model="is_open_xt_his_project" @change="changeFuncProject"></el-switch>
34
+            </p>
35
+        </div>
36
+
37
+
29
         <!-- <div class="configBox">
38
         <!-- <div class="configBox">
30
           <p style="font-size:18px;font-weight:bold">血压数据自动获取</p>
39
           <p style="font-size:18px;font-weight:bold">血压数据自动获取</p>
31
           <p style="font-size:14px;margin-top:5px;color:#333;">在联机的状态下,开启透析监测-血压数据自动获取功能后,则不需要手动输入,数据会自动上传到监测中</p>
40
           <p style="font-size:14px;margin-top:5px;color:#333;">在联机的状态下,开启透析监测-血压数据自动获取功能后,则不需要手动输入,数据会自动上传到监测中</p>
71
                 <!--<el-switch v-model="value"></el-switch>-->
80
                 <!--<el-switch v-model="value"></el-switch>-->
72
             <!--</p>-->
81
             <!--</p>-->
73
         <!--</div>-->
82
         <!--</div>-->
74
-        
83
+
75
     </div>
84
     </div>
76
   </div>
85
   </div>
77
 </template>
86
 </template>
78
 
87
 
79
 <script>
88
 <script>
80
 import BreadCrumb from "@/xt_pages/components/bread-crumb";
89
 import BreadCrumb from "@/xt_pages/components/bread-crumb";
81
-import { getAllIsOpenInit,postXtHisIsOpen,postMonitorIsOpen} from '@/api/config'
90
+import { getAllIsOpenInit,postXtHisIsOpen,postMonitorIsOpen,changeFuncPrint,getDataPrintList,postXtHisProjectIsOpen} from '@/api/config'
82
 
91
 
83
 export default {
92
 export default {
84
   name: "printTemplate",
93
   name: "printTemplate",
94
       is_open_xt_his:false,
103
       is_open_xt_his:false,
95
       is_open_monitor:false,
104
       is_open_monitor:false,
96
       is_open_order:false,
105
       is_open_order:false,
106
+      is_open_print:false,
107
+      is_open_xt_his_project: false,
97
     };
108
     };
98
   },
109
   },
99
   methods: {
110
   methods: {
103
           if (response.data.state === 1) {
114
           if (response.data.state === 1) {
104
             if(response.data.data.is_open_xt_his == 1) {
115
             if(response.data.data.is_open_xt_his == 1) {
105
               this.is_open_xt_his = true
116
               this.is_open_xt_his = true
117
+
106
             }else{
118
             }else{
107
               this.is_open_xt_his = false
119
               this.is_open_xt_his = false
108
             }
120
             }
109
 
121
 
122
+            if(response.data.data.is_open_xt_his_project == 1) {
123
+              this.is_open_xt_his_project = true
124
+
125
+            }else{
126
+              this.is_open_xt_his_project = false
127
+            }
128
+
110
           } else {
129
           } else {
111
             this.$message.error(response.data.msg)
130
             this.$message.error(response.data.msg)
112
           }
131
           }
145
         )
164
         )
146
       }
165
       }
147
     },
166
     },
167
+    changeFuncProject(val){
168
+      if(this.is_open_xt_his_project){
169
+        let params={
170
+          is_open:this.is_open_xt_his_project
171
+        }
172
+        postXtHisProjectIsOpen(params).then(
173
+          response => {
174
+            if (response.data.state === 1) {
175
+              this.is_open_xt_his_project = response.data.data.is_open
176
+
177
+            } else {
178
+              this.$message.error(response.data.msg)
179
+            }
180
+          }
181
+        )
182
+      }else{
183
+        let params={
184
+          is_open:this.is_open_xt_his_project
185
+        }
186
+        postXtHisProjectIsOpen(params).then(
187
+          response => {
188
+            if (response.data.state === 1) {
189
+              this.is_open_xt_his_project = response.data.data.is_open
190
+
191
+            } else {
192
+              this.$message.error(response.data.msg)
193
+            }
194
+          }
195
+        )
196
+      }
197
+    },
198
+
148
 
199
 
149
     changeFuncTwo(){
200
     changeFuncTwo(){
150
       console.log("3333333",this.is_open_monitor)
201
       console.log("3333333",this.is_open_monitor)
192
        }
243
        }
193
       let params = {
244
       let params = {
194
          is_open:is_open,
245
          is_open:is_open,
195
-       } 
246
+       }
196
       addOrderConfig(params).then(response=>{
247
       addOrderConfig(params).then(response=>{
197
          if(response.data.state == 1){
248
          if(response.data.state == 1){
198
            var config = response.data.data.config
249
            var config = response.data.data.config
213
            }
264
            }
214
         }
265
         }
215
       })
266
       })
267
+    },
268
+
269
+    changeFuncPrint(val){
270
+      console.log("val22222",val)
271
+      var is_open  = 0
272
+      if(val == true){
273
+         is_open = 1
274
+      }
275
+      if(val == false){
276
+        is_open = 0
277
+      }
278
+      var params = {
279
+        is_open:is_open,
280
+      }
281
+
282
+      changeFuncPrint(params).then(response=>{
283
+         if(response.data.state == 1){
284
+           var dataPrint =  response.data.data.dataPrint
285
+           this.$message.success("保存成功")
286
+           this.getDataPrintList()
287
+         }
288
+      })
289
+    },
290
+
291
+    getDataPrintList(){
292
+      getDataPrintList().then(response=>{
293
+         if(response.data.state ==1){
294
+           var dataPrint = response.data.data.dataPrint
295
+           console.log("列表数据",dataPrint)
296
+           if(dataPrint.is_open == 1){
297
+              this.is_open_print = true
298
+           }
299
+           if(dataPrint.is_open == 0){
300
+              this.is_open_print = false
301
+           }
302
+         }
303
+      })
216
     }
304
     }
217
 
305
 
218
   },
306
   },
219
   created() {
307
   created() {
220
     this.getInitIsOpenConfig()
308
     this.getInitIsOpenConfig()
221
-    this.getMonitorConfig()
222
-    this.getOrderConfig()
223
-
309
+    // this.getMonitorConfig()
310
+    // this.getOrderConfig()
311
+    this.getDataPrintList()
224
   }
312
   }
225
 };
313
 };
226
 </script>
314
 </script>

+ 47 - 19
src/xt_pages/data/druguseTemplate.vue View File

129
                 prop="amount1"
129
                 prop="amount1"
130
                 align="center"
130
                 align="center"
131
                 label="药品规格">
131
                 label="药品规格">
132
-                <!-- {{drugDesc(scope.row)}} -->
133
                 <template slot-scope="scope">
132
                 <template slot-scope="scope">
134
                   <span v-if="scope.row.advice_desc">{{scope.row.advice_desc}}{{scope.row.drug_spec_unit}}</span>
133
                   <span v-if="scope.row.advice_desc">{{scope.row.advice_desc}}{{scope.row.drug_spec_unit}}</span>
135
                 </template>
134
                 </template>
189
                 </template>
188
                 </template>
190
               </el-table-column>
189
               </el-table-column>
191
 
190
 
191
+             <el-table-column prop="blood_flow_volume" align="center" label="排序">
192
+                <template slot-scope="scope">
193
+                  <span v-if="scope.row.sort == 0"></span>
194
+                  <span v-if="scope.row.sort!=0">{{scope.row.sort}}</span>
195
+                </template>
196
+              </el-table-column>
197
+
192
               <el-table-column
198
               <el-table-column
193
                 align="center"
199
                 align="center"
194
                 label="操作"
200
                 label="操作"
228
                   <el-form-item label="模版名称" style="width: 300px" prop="name">
234
                   <el-form-item label="模版名称" style="width: 300px" prop="name">
229
                     <el-input v-model="form.name"></el-input>
235
                     <el-input v-model="form.name"></el-input>
230
                   </el-form-item>
236
                   </el-form-item>
231
-
237
+                 <el-form-item label="排序" style="width: 300px" prop="name">
238
+                    <el-input v-model="form.sort" v-type="number"></el-input>
239
+                  </el-form-item>
232
                   <el-form-item label="模版类型" prop="advice_type">
240
                   <el-form-item label="模版类型" prop="advice_type">
233
                     <el-radio-group v-model="form.advice_type">
241
                     <el-radio-group v-model="form.advice_type">
234
                       <el-radio :label="0">临时</el-radio>
242
                       <el-radio :label="0">临时</el-radio>
711
             <!--增删改查都请求网络类型的dialog-->
719
             <!--增删改查都请求网络类型的dialog-->
712
             <el-dialog title="编辑医嘱模版" :visible.sync="templateTableTwoVisible" width="800px">
720
             <el-dialog title="编辑医嘱模版" :visible.sync="templateTableTwoVisible" width="800px">
713
               <div>
721
               <div>
714
-                <!--<el-form ref="form" :model="form" :rule="formRules" label-width="100px">-->
715
-                <!--<el-form-item label="模版名称" style="width: 300px" prop="name">-->
716
-                <!--<el-input v-model="form.name" ></el-input>-->
717
-                <!--</el-form-item>-->
718
-                <!--</el-form>-->
722
+                <el-form ref="form" :model="form" :rule="formRules" label-width="100px">
723
+                  <el-form-item label="模版名称" style="width: 300px" prop="name">
724
+                    <el-input v-model="form.name" ></el-input>
725
+                  </el-form-item>
726
+
727
+                   <el-form-item label="排序" style="width: 300px" prop="name">
728
+                    <el-input v-model="form.sort" ></el-input>
729
+                   </el-form-item>
730
+                </el-form>
719
 
731
 
720
 
732
 
721
                 <div class="txsj" style="text-align: center;margin-bottom: 30px">
733
                 <div class="txsj" style="text-align: center;margin-bottom: 30px">
1448
         },
1460
         },
1449
         form: {
1461
         form: {
1450
           name: '',
1462
           name: '',
1451
-          advice_type: 0
1452
-
1463
+          advice_type: 0,
1464
+          sort:"",
1453
         },
1465
         },
1454
         drugwayForm: {
1466
         drugwayForm: {
1455
           name: '',
1467
           name: '',
1669
         const params = {
1681
         const params = {
1670
           'data': this.adviceTableData
1682
           'data': this.adviceTableData
1671
         }
1683
         }
1672
-
1684
+       
1673
         let name = encodeURIComponent(this.form.name)
1685
         let name = encodeURIComponent(this.form.name)
1674
         console.log("params",params)
1686
         console.log("params",params)
1675
-
1676
-        postAdviceTemplate(params, name, this.form.advice_type).then(response => {
1687
+        let sort = this.form.sort
1688
+        postAdviceTemplate(params, name,sort, this.form.advice_type).then(response => {
1677
 
1689
 
1678
           if (response.data.state == 0) {
1690
           if (response.data.state == 0) {
1679
             this.$message.error(response.data.msg)
1691
             this.$message.error(response.data.msg)
1691
                 }
1703
                 }
1692
                 object['name'] = template.name
1704
                 object['name'] = template.name
1693
                 object['isNoSub'] = 2
1705
                 object['isNoSub'] = 2
1706
+                object['sort'] = template.sort
1694
                 this.adviceTemplates.unshift(object)
1707
                 this.adviceTemplates.unshift(object)
1695
               }
1708
               }
1696
             }
1709
             }
2145
                 object['name'] = response.data.data.advice_templates[i].name
2158
                 object['name'] = response.data.data.advice_templates[i].name
2146
                 object['isNoSub'] = 1
2159
                 object['isNoSub'] = 1
2147
                 object['template_id'] = response.data.data.advice_templates[i].id
2160
                 object['template_id'] = response.data.data.advice_templates[i].id
2161
+                object['sort'] = response.data.data.advice_templates[i].sort
2148
                 this.adviceTemplates.push(object)
2162
                 this.adviceTemplates.push(object)
2149
               }
2163
               }
2150
 
2164
 
2158
                   }
2172
                   }
2159
                   object['isNoSub'] = 2
2173
                   object['isNoSub'] = 2
2160
                   object['name'] = response.data.data.advice_templates[i].name
2174
                   object['name'] = response.data.data.advice_templates[i].name
2175
+                  object['sort'] = response.data.data.advice_templates[i].sort
2161
                   this.adviceTemplates.push(object)
2176
                   this.adviceTemplates.push(object)
2177
+
2178
+
2162
                 }
2179
                 }
2163
               }
2180
               }
2164
             }
2181
             }
2165
-
2166
-            console.log(this.adviceTemplates)
2167
-
2182
+             this.adviceTemplates.sort(this.sortData)
2183
+             console.log("列表",this.adviceTemplates)
2168
             // 处理单元格合并的数据
2184
             // 处理单元格合并的数据
2169
             this.handleSpanTempArr()
2185
             this.handleSpanTempArr()
2170
           }
2186
           }
2462
             return 'success-row'
2478
             return 'success-row'
2463
           }
2479
           }
2464
         }
2480
         }
2465
-      }, cellMouseEnter: function(row, column, cell, event) {
2481
+      }, 
2482
+      cellMouseEnter: function(row, column, cell, event) {
2466
         if (column.label == '模版名称') {
2483
         if (column.label == '模版名称') {
2467
           this.sameRowArr.forEach((arr, i) => {
2484
           this.sameRowArr.forEach((arr, i) => {
2468
             if (arr.indexOf(row.index) != -1) {
2485
             if (arr.indexOf(row.index) != -1) {
2678
         this.sameRowArr = sameRowArr
2695
         this.sameRowArr = sameRowArr
2679
       },
2696
       },
2680
        handleUpdateAdviceTemplate(row, index) {
2697
        handleUpdateAdviceTemplate(row, index) {
2698
+       
2681
         this.current_template_id = row.template_id
2699
         this.current_template_id = row.template_id
2682
         this.current_template_name = row.name
2700
         this.current_template_name = row.name
2683
         this.form.name = row.name
2701
         this.form.name = row.name
2684
         this.form.advice_type = row.advice_type
2702
         this.form.advice_type = row.advice_type
2703
+        if(row.sort == 0){
2704
+          row.sort = ""
2705
+        }else{
2706
+          this.form.sort = row.sort
2707
+        }
2685
         this.templateTableTwoVisible = true
2708
         this.templateTableTwoVisible = true
2686
         this.adviceTableDataTwo = []
2709
         this.adviceTableDataTwo = []
2710
+      
2687
         for (let i = 0; i < this.adviceTemplates.length; i++) {
2711
         for (let i = 0; i < this.adviceTemplates.length; i++) {
2688
           if (this.adviceTemplates[i].template_id == row.template_id) {
2712
           if (this.adviceTemplates[i].template_id == row.template_id) {
2689
             this.adviceTableDataTwo.push(this.adviceTemplates[i])
2713
             this.adviceTableDataTwo.push(this.adviceTemplates[i])
2690
           }
2714
           }
2691
         }
2715
         }
2716
+        this.getAdviceConfig()
2692
       },
2717
       },
2693
       modifyTemplateName() {
2718
       modifyTemplateName() {
2694
         const params = {
2719
         const params = {
2695
           template_name: this.form.name,
2720
           template_name: this.form.name,
2696
-          template_id: this.current_template_id
2721
+          template_id: this.current_template_id,
2722
+          sort:this.form.sort,
2697
         }
2723
         }
2698
-        console.log("params---",params)
2699
-
2724
+      
2700
         updateTemplateName(params).then(response => {
2725
         updateTemplateName(params).then(response => {
2701
           if (response.data.state == 0) {
2726
           if (response.data.state == 0) {
2702
             this.$message.error(response.data.msg)
2727
             this.$message.error(response.data.msg)
2918
         console.log('results',results)
2943
         console.log('results',results)
2919
         cb(results);
2944
         cb(results);
2920
       },
2945
       },
2946
+     sortData(a, b) {
2947
+       return a.sort - b.sort
2948
+     }
2921
     }
2949
     }
2922
   }
2950
   }
2923
 </script>
2951
 </script>

+ 3 - 3
src/xt_pages/data/prescription.vue View File

229
                     </el-form-item>
229
                     </el-form-item>
230
                   </el-col>
230
                   </el-col>
231
 
231
 
232
-                  <el-col :span="8">
232
+                  <el-col :span="8" v-if="this.$store.getters.xt_user.template_info.org_id != 9987 && this.$store.getters.xt_user.template_info.org_id != 3877 && this.$store.getters.xt_user.template_info.org_id != 10090">
233
                     <el-form-item label="透析器/灌流器:">
233
                     <el-form-item label="透析器/灌流器:">
234
                       <el-input
234
                       <el-input
235
                         v-model="addPlan.dialyzer_perfusion_apparatus" @focus="showInnerDialog('5')"></el-input>
235
                         v-model="addPlan.dialyzer_perfusion_apparatus" @focus="showInnerDialog('5')"></el-input>
237
                   </el-col>
237
                   </el-col>
238
 
238
 
239
 
239
 
240
-                  <el-col :span="8" v-if="this.$store.getters.xt_user.template_info.org_id == 9987 || this.$store.getters.xt_user.template_info.org_id == 3877">
240
+                  <el-col :span="8" v-if="this.$store.getters.xt_user.template_info.org_id == 9987 || this.$store.getters.xt_user.template_info.org_id == 3877 || this.$store.getters.xt_user.template_info.org_id == 10090">
241
                     <el-form-item label="透析器:">
241
                     <el-form-item label="透析器:">
242
                       <el-input
242
                       <el-input
243
                         v-model="dialysis_dialyszers" @focus="showInnerDialog('6')"></el-input>
243
                         v-model="dialysis_dialyszers" @focus="showInnerDialog('6')"></el-input>
244
                     </el-form-item>
244
                     </el-form-item>
245
                   </el-col>
245
                   </el-col>
246
 
246
 
247
-                  <el-col :span="8" v-if="this.$store.getters.xt_user.template_info.org_id == 9987 || this.$store.getters.xt_user.template_info.org_id == 3877">
247
+                  <el-col :span="8" v-if="this.$store.getters.xt_user.template_info.org_id == 9987 || this.$store.getters.xt_user.template_info.org_id == 3877 || this.$store.getters.xt_user.template_info.org_id == 10090">
248
                     <el-form-item label="灌流器:">
248
                     <el-form-item label="灌流器:">
249
                       <el-input
249
                       <el-input
250
                         v-model="dialysis_irrigation" @focus="showInnerDialog('7')"></el-input>
250
                         v-model="dialysis_irrigation" @focus="showInnerDialog('7')"></el-input>

+ 5 - 3
src/xt_pages/data/printTemplate.vue View File

20
         <el-tab-pane label="透析记录单模板" name="4">
20
         <el-tab-pane label="透析记录单模板" name="4">
21
           <dialysis-print></dialysis-print>
21
           <dialysis-print></dialysis-print>
22
         </el-tab-pane>
22
         </el-tab-pane>
23
-       
23
+        <el-tab-pane label="排班打印模板" name="6">
24
+          <schedule-print></schedule-print>
25
+        </el-tab-pane>
24
       </el-tabs>
26
       </el-tabs>
25
     </div>
27
     </div>
26
   </div>
28
   </div>
33
 import treatPrint from './printTemplate/treatPrint'
35
 import treatPrint from './printTemplate/treatPrint'
34
 import dialysisPrint from './printTemplate/dialysisPrint'
36
 import dialysisPrint from './printTemplate/dialysisPrint'
35
 import chargePrint from './printTemplate/chargePrint'
37
 import chargePrint from './printTemplate/chargePrint'
36
-
38
+import schedulePrint from './printTemplate/schedulePrint'
37
 export default {
39
 export default {
38
   name: "printTemplate",
40
   name: "printTemplate",
39
-  components: { BreadCrumb,recordPrint,prescriptionPrint,treatPrint,dialysisPrint,chargePrint },
41
+  components: { BreadCrumb,recordPrint,prescriptionPrint,treatPrint,dialysisPrint,chargePrint,schedulePrint },
40
   data() {
42
   data() {
41
     return {
43
     return {
42
       showViewer:false,
44
       showViewer:false,

+ 165 - 0
src/xt_pages/data/printTemplate/schedulePrint.vue View File

1
+<template>
2
+    <div
3
+      v-loading="loading"
4
+      element-loading-text="服务器处理数据中,请稍候......."
5
+      element-loading-spinner="el-icon-loading"
6
+      element-loading-background="rgba(0, 0, 0, 0.8)"
7
+    >
8
+    <p style="margin-top: 10px;margin-bottom: 30px">
9
+        请选择你需要打印的排班打印单样式
10
+    </p>
11
+    <el-row :gutter="20" type="flex" justify="center">
12
+        <el-col :span="6" style="text-align: center">
13
+        <div
14
+            @click="imgClick('https://kuyi.shengws.com/tempSchedule1.jpg')"
15
+        >
16
+            <el-tooltip
17
+            class="item"
18
+            effect="dark"
19
+            :hide-after="2000"
20
+            content="点击查看大图"
21
+            placement="top-start"
22
+            >
23
+         
24
+            <el-image
25
+                style="width: 200px; height: 200px"
26
+                :src="require('@/assets/home/111.jpg')"
27
+            ></el-image>
28
+
29
+            </el-tooltip>
30
+        </div>
31
+        <el-radio v-model="radio" label="1" @change="change">模版一</el-radio>
32
+        </el-col>
33
+        <el-col
34
+        :span="6"
35
+        style="margin-left: 100px;margin-right: 100px;text-align: center"
36
+        >
37
+        <div
38
+            @click="imgClick('https://kuyi.shengws.com/tempSchedule2.jpg')"
39
+
40
+        >
41
+            <el-tooltip
42
+            class="item"
43
+            effect="dark"
44
+            content="点击查看大图"
45
+            placement="top-start"
46
+            :hide-after="2000"
47
+            >
48
+          
49
+
50
+            <el-image
51
+                style="width: 200px; height: 200px"
52
+                :src="require('@/assets/home/222.jpg')"
53
+            ></el-image>
54
+            </el-tooltip>
55
+        </div>
56
+        <el-radio v-model="radio" label="2" @change="change">模版二</el-radio
57
+        >
58
+        </el-col>
59
+    </el-row>
60
+   
61
+
62
+
63
+      <el-image-viewer
64
+        v-if="showViewer"
65
+        :on-close="closeViewer"
66
+        :url-list="imgs"
67
+      ></el-image-viewer>
68
+
69
+    </div>
70
+  </div>
71
+</template>
72
+
73
+<script>
74
+import BreadCrumb from "@/xt_pages/components/bread-crumb";
75
+import ElImageViewer from 'element-ui/packages/image/src/image-viewer'
76
+import { getScheduleTemplate, postScheduleTemplate } from "@/api/schedule";
77
+import store from "@/store";
78
+
79
+export default {
80
+  name: "printTemplate",
81
+  components: { ElImageViewer, BreadCrumb },
82
+  data() {
83
+    return {
84
+      showViewer:false,
85
+      crumbs: [
86
+        { path: false, name: "管理中心" },
87
+        { path: "data/print", name: "打印模版" }
88
+      ],
89
+      imgUrl_One: require("@/assets/home/111.jpg"),
90
+      imgUrl_Two: require("@/assets/home/222.jpg"),
91
+   
92
+
93
+      imgs:[],
94
+
95
+      imgs_one: ["https://kuyi.shengws.com/template1.png"],
96
+      imgs_two: ["https://kuyi.shengws.com/template2.png"],
97
+      delay: 500,
98
+      radio: 0,
99
+      tempRadio: 0,
100
+      loading: false
101
+    };
102
+  },
103
+  methods: {
104
+    imgClick(val){
105
+      this.imgs = []
106
+      this.imgs.push(val)
107
+      this.showViewer = true
108
+
109
+    },
110
+    closeViewer() {
111
+      this.showViewer = false
112
+    },
113
+    change: function(val) {
114
+       var params = {
115
+            template_id:val
116
+        }
117
+     postScheduleTemplate(params).then(response=>{
118
+         if(response.data.state == 1){
119
+            var template = response.data.data.template
120
+            this.$message.success("保存成功!")
121
+            this.getlist()
122
+         }   
123
+      })
124
+    },
125
+    getlist(){
126
+       getScheduleTemplate().then(response=>{
127
+          if(response.data.state == 1){
128
+            var template = response.data.data.template
129
+            console.log("template222222",template)
130
+            if(template.template_id == 0){
131
+               this.radio = "1"
132
+            }
133
+            if(template.template_id!=0){
134
+               this.radio = template.template_id.toString()
135
+            }
136
+           
137
+          }
138
+       })
139
+    }
140
+  },
141
+  created() {
142
+    this.getlist()
143
+  }
144
+};
145
+</script>
146
+
147
+<style scoped>
148
+.el-row {
149
+  margin-bottom: 20px;
150
+
151
+  & :last-child {
152
+    margin-bottom: 0;
153
+  }
154
+}
155
+.el-col {
156
+  border-radius: 4px;
157
+}
158
+</style>
159
+<style lang="scss">
160
+.app-print {
161
+  .el-radio__label {
162
+    padding-left: 10px;
163
+  }
164
+}
165
+</style>

+ 1 - 0
src/xt_pages/dialysis/PatientBox.vue View File

551
           this.getLongAdvice()
551
           this.getLongAdvice()
552
         } else {
552
         } else {
553
           this.$message.error(resp.msg);
553
           this.$message.error(resp.msg);
554
+         
554
         }
555
         }
555
 
556
 
556
         if (this.lastDialysisPrescribe != null) {
557
         if (this.lastDialysisPrescribe != null) {

+ 9 - 1
src/xt_pages/dialysis/batch_print/batch_print_order.vue View File

2049
 
2049
 
2050
 
2050
 
2051
           for (const index in this.records) {
2051
           for (const index in this.records) {
2052
+            for(const index2 in this.records[index].his_project){
2053
+              if(this.records[index].his_project[index2].type == 2){
2054
+                this.records[index].his_project[index2]['advice_name'] = this.records[index].his_project[index2].project.project_name
2055
+              }else if(this.records[index].his_project[index2].type == 3){
2056
+                this.records[index].his_project[index2]['advice_name'] =this.records[index].his_project[index2].good_info.good_name
2057
+              }
2058
+              this.records[index].his_project[index2]['advice_doctor'] = this.records[index].his_project[index2].doctor
2059
+            }
2052
             this.records[index].advices = this.records[index].advices.concat(this.records[index].his_advices)
2060
             this.records[index].advices = this.records[index].advices.concat(this.records[index].his_advices)
2061
+            this.records[index].advices = this.records[index].advices.concat(this.records[index].his_project)
2053
           }
2062
           }
2054
 
2063
 
2055
-
2056
           for (const recordIndex in this.records) {
2064
           for (const recordIndex in this.records) {
2057
             var dlegh = 0;
2065
             var dlegh = 0;
2058
             if (
2066
             if (

+ 10 - 3
src/xt_pages/dialysis/batch_print/batch_print_order_six.vue View File

81
               <div
81
               <div
82
                 class="under_line"
82
                 class="under_line"
83
                 style="width: 70px;text-align: left"
83
                 style="width: 70px;text-align: left"
84
-                v-if="record.patient.admission_number"
84
+                v-if="record.receive_assessment.admission_number"
85
               >
85
               >
86
-                {{ record.patient.admission_number }}
86
+                {{ record.receive_assessment.admission_number }}
87
               </div>
87
               </div>
88
               <div
88
               <div
89
                 class="under_line"
89
                 class="under_line"
556
                           >
556
                           >
557
                             IUF+HD
557
                             IUF+HD
558
                           </div>
558
                           </div>
559
+                           <div
560
+                            class="under_line"
561
+                            style="width: 100px;text-align: center;font-weight:600;"
562
+                            v-if="record.prescription.mode_id == 22"
563
+                          >
564
+                            血浆胆红素吸附+HDF
565
+                          </div>
559
                         </div>
566
                         </div>
560
                       </div>
567
                       </div>
561
 
568
 
1027
                           </td>
1034
                           </td>
1028
                           <td>
1035
                           <td>
1029
                             {{
1036
                             {{
1030
-                              monitor_record.ultrafiltration_volume? monitor_record.ultrafiltration_volume: ""}}
1037
+                              monitor_record.ultrafiltration_volume? monitor_record.ultrafiltration_volume: "0"}}
1031
                           </td>
1038
                           </td>
1032
                           <td v-if=" record.prescription.mode_id == 2 || record.prescription.mode_id == 5 ||(record.prescription.mode_id == 12 &&monitor_record.operate_time >record.dialysis_order.end_time) " style="width:50px">
1039
                           <td v-if=" record.prescription.mode_id == 2 || record.prescription.mode_id == 5 ||(record.prescription.mode_id == 12 &&monitor_record.operate_time >record.dialysis_order.end_time) " style="width:50px">
1033
                             {{
1040
                             {{

File diff suppressed because it is too large
+ 1516 - 0
src/xt_pages/dialysis/batch_print/batch_print_order_thirtyNine.vue


+ 12 - 0
src/xt_pages/dialysis/bloodPresssWatch.vue View File

249
           >批量打印</el-button
249
           >批量打印</el-button
250
         >
250
         >
251
       </template>
251
       </template>
252
+      <template v-if="this.template_id == 39">
253
+        <el-button
254
+          size="small"
255
+          icon="el-icon-printer"
256
+          :disabled="selecting_schs.length == 0"
257
+          @click="batchPrintAction"
258
+          type="primary"
259
+          >批量打印</el-button
260
+        >
261
+      </template>
252
     </div>
262
     </div>
253
     <div class="app-container">
263
     <div class="app-container">
254
       <!-- <div class="filter-container">
264
       <!-- <div class="filter-container">
827
         this.$router.push({ path: "/dialysis/print/batch/thirtyTwo" });
837
         this.$router.push({ path: "/dialysis/print/batch/thirtyTwo" });
828
       } else if (this.template_id == 33) {
838
       } else if (this.template_id == 33) {
829
         this.$router.push({ path: "/dialysis/print/batch/thirtyThree" });
839
         this.$router.push({ path: "/dialysis/print/batch/thirtyThree" });
840
+      } else if (this.template_id == 39) {
841
+        this.$router.push({ path: "/dialysis/print/batch/thirtyNine" });
830
       }
842
       }
831
     },
843
     },
832
     batchPrintActionOne: function() {
844
     batchPrintActionOne: function() {

+ 10 - 0
src/xt_pages/dialysis/details/DialysisPrescription.vue View File

339
           <span class="content">{{this.prescription.replacement_flow}}</span>
339
           <span class="content">{{this.prescription.replacement_flow}}</span>
340
         </li>
340
         </li>
341
 
341
 
342
+        <li v-if="isShow('血浆分离器')">
343
+          <label>血浆分离器: </label>
344
+          <span class="content">{{this.prescription.plasma_separator}}</span>
345
+        </li>
346
+
347
+       <li v-if="isShow('胆红素吸附柱')">
348
+          <label>胆红素吸附柱: </label>
349
+          <span class="content">{{this.prescription.bilirubin_adsorption_column}}</span>
350
+        </li>
351
+
342
       </ul>
352
       </ul>
343
     </div>
353
     </div>
344
     <div style="color:#34495e;margin: 12px 100px 0 100px;">备注: <span style="color:#409eff;">{{ note }}</span></div>
354
     <div style="color:#34495e;margin: 12px 100px 0 100px;">备注: <span style="color:#409eff;">{{ note }}</span></div>

+ 6 - 0
src/xt_pages/dialysis/details/assessmentBefore.vue View File

363
           <span class="content">{{this.record.estimated_food_intake}}</span>
363
           <span class="content">{{this.record.estimated_food_intake}}</span>
364
           <span class="unit"></span>
364
           <span class="unit"></span>
365
         </li>
365
         </li>
366
+
367
+       <li v-if="isShow('透析期间血压')">
368
+          <label>透析期间血压: </label>
369
+          <span class="content">{{this.record.blood_pressure_during_dialysis}}</span>
370
+          <span class="unit"></span>
371
+        </li>
366
        
372
        
367
       </ul>
373
       </ul>
368
     </div>
374
     </div>

+ 2 - 2
src/xt_pages/dialysis/details/dialog/DoctorAdviceDialog.vue View File

2430
                 obj.type = 2
2430
                 obj.type = 2
2431
                 obj.custom_id = this.rand(10000000, 99999999)
2431
                 obj.custom_id = this.rand(10000000, 99999999)
2432
                 obj.drug_specs = medicalList[i].drug_specs
2432
                 obj.drug_specs = medicalList[i].drug_specs
2433
-                console.log("222",this.all_drug)
2433
+                // console.log("222",this.all_drug)
2434
                 this.all_drug.push(obj)
2434
                 this.all_drug.push(obj)
2435
               }
2435
               }
2436
             }
2436
             }
2467
                 obj.custom_id = this.rand(10000000, 99999999)
2467
                 obj.custom_id = this.rand(10000000, 99999999)
2468
                 obj.drug_specs = base_drug_list[i].drug_specs
2468
                 obj.drug_specs = base_drug_list[i].drug_specs
2469
                 this.all_drug.push(obj)
2469
                 this.all_drug.push(obj)
2470
-                console.log("2222",this.all_drug)
2470
+                // console.log("2222",this.all_drug)
2471
               }
2471
               }
2472
             }
2472
             }
2473
         })
2473
         })

+ 7 - 0
src/xt_pages/dialysis/details/dialog/assessmentBeforeDislysisDialog.vue View File

570
              <el-input v-model="assessmentBeforeDislysis.estimated_food_intake"></el-input>
570
              <el-input v-model="assessmentBeforeDislysis.estimated_food_intake"></el-input>
571
             </el-form-item>
571
             </el-form-item>
572
           </el-col>
572
           </el-col>
573
+
574
+         <el-col :span="8">
575
+            <el-form-item label="透析期间血压:" v-if="isShow('透析期间血压')">
576
+             <el-input v-model="assessmentBeforeDislysis.blood_pressure_during_dialysis"></el-input>
577
+            </el-form-item>
578
+          </el-col>
573
          
579
          
574
           <el-col :span="24">
580
           <el-col :span="24">
575
             <el-form-item label="备注: ">
581
             <el-form-item label="备注: ">
738
           pre_dialysis_drugs:"",
744
           pre_dialysis_drugs:"",
739
           period:"",
745
           period:"",
740
           estimated_food_intake:"",
746
           estimated_food_intake:"",
747
+          blood_pressure_during_dialysis:"",
741
         },
748
         },
742
 
749
 
743
         InnerDialogProps: {
750
         InnerDialogProps: {

+ 55 - 6
src/xt_pages/dialysis/details/dialog/dialysisPrescriptionDialog.vue View File

396
              </el-form-item>
396
              </el-form-item>
397
           </el-col>
397
           </el-col>
398
 
398
 
399
+          <el-col :span="8" v-if="isShows('血浆分离器')">
400
+             <el-form-item label="血浆分离器:">
401
+                  <el-input v-model="dialysisPrescription.plasma_separator" @focus="showInnerDialog('9')"></el-input>
402
+             </el-form-item>
403
+          </el-col>
404
+
405
+         
406
+         <el-col :span="8" v-if="isShows('胆红素吸附柱')">
407
+             <el-form-item label="胆红素吸附柱:">
408
+                  <el-input v-model="dialysisPrescription.bilirubin_adsorption_column" @focus="showInnerDialog('10')"></el-input>
409
+             </el-form-item>
410
+         </el-col>
411
+
412
+
399
           <el-col :span="8" v-if="isShows('体液过多症状')">
413
           <el-col :span="8" v-if="isShows('体液过多症状')">
400
             <el-form-item label="体液过多症状:">
414
             <el-form-item label="体液过多症状:">
401
               <el-select
415
               <el-select
562
              </el-form-item>
576
              </el-form-item>
563
           </el-col>
577
           </el-col>
564
 
578
 
565
-         
566
-
567
-
579
+        
568
           <el-col :span="8" v-if="isShows('置换流量')">
580
           <el-col :span="8" v-if="isShows('置换流量')">
569
              <el-form-item label="置换流量(L/h):">
581
              <el-form-item label="置换流量(L/h):">
570
                 <el-input v-model="dialysisPrescription.replacement_flow"></el-input>
582
                 <el-input v-model="dialysisPrescription.replacement_flow"></el-input>
571
              </el-form-item>
583
              </el-form-item>
572
           </el-col>
584
           </el-col>
585
+         
573
 
586
 
587
+       
574
         </el-row>
588
         </el-row>
575
 
589
 
576
         <el-row :gutter="20">
590
         <el-row :gutter="20">
1069
           single_time:"",
1083
           single_time:"",
1070
           single_water:"",
1084
           single_water:"",
1071
           replacement_flow:"",
1085
           replacement_flow:"",
1086
+          plasma_separator:"",
1087
+          bilirubin_adsorption_column:"",
1072
         },
1088
         },
1073
 
1089
 
1074
         anticoagulant: {
1090
         anticoagulant: {
1092
         bloods:[],
1108
         bloods:[],
1093
         irrigations:[],
1109
         irrigations:[],
1094
         dialyzers:[],
1110
         dialyzers:[],
1095
-        illnessList:[]
1111
+        illnessList:[],
1112
+        plasmaSeparatorList:[],
1113
+        bilirubinAdsorptionColumn:[],
1096
       }
1114
       }
1097
     },
1115
     },
1098
     methods: {
1116
     methods: {
1177
             this.InnerDialogProps.selected = this.dialysisPrescription.dialysis_irrigation
1195
             this.InnerDialogProps.selected = this.dialysisPrescription.dialysis_irrigation
1178
             this.InnerDialogProps.isShowTextArea = false
1196
             this.InnerDialogProps.isShowTextArea = false
1179
             break
1197
             break
1198
+           case '9': // 血浆灌流器
1199
+
1200
+           
1201
+            this.InnerDialogProps.values = this.plasmaSeparatorList
1202
+            this.InnerDialogProps.titles = '血浆灌流器'
1203
+            this.InnerDialogProps.type = 'plasma_separator'
1204
+            this.InnerDialogProps.selected = this.dialysisPrescription.plasma_separator
1205
+            this.InnerDialogProps.isShowTextArea = false
1206
+            break
1207
+
1208
+           case '10': // 胆红素吸附柱
1209
+
1210
+           
1211
+            this.InnerDialogProps.values = this.bilirubinAdsorptionColumn
1212
+            this.InnerDialogProps.titles = '胆红素吸附柱'
1213
+            this.InnerDialogProps.type = 'bilirubin_adsorption_column'
1214
+            this.InnerDialogProps.selected = this.dialysisPrescription.bilirubin_adsorption_column
1215
+            this.InnerDialogProps.isShowTextArea = false
1216
+            break
1180
         }
1217
         }
1181
       },
1218
       },
1182
       innerDialogComfirm: function(val) {
1219
       innerDialogComfirm: function(val) {
1194
           case 'irrigations':
1231
           case 'irrigations':
1195
            this.dialysisPrescription.dialysis_irrigation = val.value.join(',')
1232
            this.dialysisPrescription.dialysis_irrigation = val.value.join(',')
1196
           break
1233
           break
1234
+          case 'plasma_separator':
1235
+          this.dialysisPrescription.plasma_separator = val.value.join(',')
1236
+          break
1237
+          case 'bilirubin_adsorption_column':
1238
+          this.dialysisPrescription.bilirubin_adsorption_column = val.value.join(',')
1239
+          break
1197
         }
1240
         }
1198
       },
1241
       },
1199
       innerDialogCancle: function() {
1242
       innerDialogCancle: function() {
1645
         return uParseTime(val, '{y}-{m}-{d} {h}:{i}')
1688
         return uParseTime(val, '{y}-{m}-{d} {h}:{i}')
1646
       },
1689
       },
1647
       show(pre,schedual,last,his_is_open) {
1690
       show(pre,schedual,last,his_is_open) {
1648
-        
1691
+        console.log("pre222222",pre)
1692
+       
1649
         if(his_is_open == 1){
1693
         if(his_is_open == 1){
1650
           this.is_open = 0
1694
           this.is_open = 0
1651
         }
1695
         }
3582
       }
3626
       }
3583
     },
3627
     },
3584
     created(){
3628
     created(){
3629
+      
3585
       this.illnessList = getDataConfig('hemodialysis','illness')
3630
       this.illnessList = getDataConfig('hemodialysis','illness')
3586
-      console.log("列表22222222222",this.illnessList)
3631
+      
3632
+      this.plasmaSeparatorList = getDataConfig('hemodialysis','plasma_separator')
3633
+      
3634
+      this.bilirubinAdsorptionColumn = getDataConfig('hemodialysis','bilirubin_adsorption_column')
3635
+
3587
     }
3636
     }
3588
   }
3637
   }
3589
 </script>
3638
 </script>

+ 4 - 1
src/xt_pages/dialysis/details/dialog/doubleCheckDialog.vue View File

930
       isVisibility(val) {
930
       isVisibility(val) {
931
         
931
         
932
         if(this.prescription!=null && this.prescription.id!=0){
932
         if(this.prescription!=null && this.prescription.id!=0){
933
-
933
+          
934
           this.diazes = this.diazes + this.prescription.dialyzer_perfusion_apparatus
934
           this.diazes = this.diazes + this.prescription.dialyzer_perfusion_apparatus
935
+          this.diazes = this.diazes + this.prescription.dialysis_dialyszers+this.prescription.dialysis_irrigation
935
           this.prescription.dialyzer_perfusion_apparatus = ""
936
           this.prescription.dialyzer_perfusion_apparatus = ""
937
+          this.prescription.dialysis_dialyszers = ""
938
+          this.prescription.dialysis_irrigation = ""
936
           this.dialysate_formulation = this.dialysate_formulation + this.GetDialysateFormulationById(this.prescription.dialysate_formulation)
939
           this.dialysate_formulation = this.dialysate_formulation + this.GetDialysateFormulationById(this.prescription.dialysate_formulation)
937
           // this.prescription.dialysate_formulation = ""
940
           // this.prescription.dialysate_formulation = ""
938
           this.kalium = this.kalium + (this.prescription.kalium?this.prescription.kalium:"")
941
           this.kalium = this.kalium + (this.prescription.kalium?this.prescription.kalium:"")

+ 4 - 2
src/xt_pages/dialysis/details/dialog/finish_dialog.vue View File

126
           (nowMonth < 10 ? '0' + nowMonth : nowMonth) +
126
           (nowMonth < 10 ? '0' + nowMonth : nowMonth) +
127
           '-' +
127
           '-' +
128
           (nowDay < 10 ? '0' + nowDay : nowDay) + ' ' + (nowHours < 10 ? '0' + nowHours : nowHours) + ':' + (nowMinutes < 10 ? '0' + nowMinutes : nowMinutes)
128
           (nowDay < 10 ? '0' + nowDay : nowDay) + ' ' + (nowHours < 10 ? '0' + nowHours : nowHours) + ':' + (nowMinutes < 10 ? '0' + nowMinutes : nowMinutes)
129
-
130
-        this.patient_id = this.$route.query.patient_id
129
+        if(this.$route.query.patient_id){
130
+          this.patient_id = this.$route.query.patient_id
131
+        }
132
+        
131
         this.schedule_date = this.$route.query.date
133
         this.schedule_date = this.$route.query.date
132
 
134
 
133
         if (this.dialysis_order.id == 0) {
135
         if (this.dialysis_order.id == 0) {

+ 10 - 0
src/xt_pages/dialysis/details/index.vue View File

985
             if (prescription.body_fluid == -2) {
985
             if (prescription.body_fluid == -2) {
986
               prescription.body_fluid = 0
986
               prescription.body_fluid = 0
987
             }
987
             }
988
+            if(prescription.bilirubin_adsorption_column == 0){
989
+               prescription.bilirubin_adsorption_column  = ""
990
+            }
991
+
992
+             if(prescription.plasma_separator == 0){
993
+               prescription.plasma_separator  = ""
994
+            }
988
           }
995
           }
989
 
996
 
990
           var solution = resp.data.solution // 透析方案
997
           var solution = resp.data.solution // 透析方案
997
             if (predialysis_evaluation.blood_access_part_id == -2) {
1004
             if (predialysis_evaluation.blood_access_part_id == -2) {
998
               predialysis_evaluation.blood_access_part_id = 0
1005
               predialysis_evaluation.blood_access_part_id = 0
999
             }
1006
             }
1007
+            if(predialysis_evaluation.blood_pressure_during_dialysis == 0){
1008
+              predialysis_evaluation.blood_pressure_during_dialysis = ""
1009
+            }
1000
           }
1010
           }
1001
           var doctor_advices = resp.data.doctor_advices // 临时医嘱
1011
           var doctor_advices = resp.data.doctor_advices // 临时医嘱
1002
 
1012
 

+ 3 - 2
src/xt_pages/dialysis/dialysisDoctorAdvice.vue View File

2
   <div class="main-contain">
2
   <div class="main-contain">
3
     <div class="position">
3
     <div class="position">
4
       <bread-crumb :crumbs="crumbs"></bread-crumb>
4
       <bread-crumb :crumbs="crumbs"></bread-crumb>
5
+      <div>
5
        <el-button
6
        <el-button
6
           size="small"
7
           size="small"
7
           icon="el-icon-printer"
8
           icon="el-icon-printer"
8
           :disabled="selecting_schs.length == 0"
9
           :disabled="selecting_schs.length == 0"
9
           @click="signPrintAction"
10
           @click="signPrintAction"
10
           type="primary"
11
           type="primary"
11
-          style="float:right"
12
+          style="margin-right:10"
12
         >标签打印
13
         >标签打印
13
       </el-button>
14
       </el-button>
14
       <el-button
15
       <el-button
19
           type="primary"
20
           type="primary"
20
           >医嘱打印
21
           >医嘱打印
21
       </el-button>
22
       </el-button>
22
-   
23
+    </div>
23
     </div>
24
     </div>
24
     <div class="app-container">
25
     <div class="app-container">
25
       <!-- <div class="filter-container">
26
       <!-- <div class="filter-container">

+ 24 - 0
src/xt_pages/dialysis/dialysisPrintOrder.vue View File

553
           >打印</el-button
553
           >打印</el-button
554
         >
554
         >
555
       </template>
555
       </template>
556
+      <template v-if="org_template_info.template_id == 40">
557
+        <el-button
558
+          :loading="loading"
559
+          size="small"
560
+          icon="el-icon-printer"
561
+          @click="printThisPage"
562
+          type="primary"
563
+          >打印</el-button
564
+        >
565
+      </template>
556
     </div>
566
     </div>
557
     <div class="app-container" style="min-height:0;">
567
     <div class="app-container" style="min-height:0;">
558
       <!--<div class="order-print-btn"-->
568
       <!--<div class="order-print-btn"-->
828
             v-if="org_template_info.template_id == 39"
838
             v-if="org_template_info.template_id == 39"
829
           >
839
           >
830
           </DialysisPrintOrderThirtyNine>
840
           </DialysisPrintOrderThirtyNine>
841
+          <DialysisPrintOrderForty
842
+            v-bind:childResponse="childResponse"
843
+            v-if="org_template_info.template_id == 40"
844
+          >
845
+          </DialysisPrintOrderForty>
831
         </div>
846
         </div>
832
       </el-container>
847
       </el-container>
833
     </div>
848
     </div>
886
 import DialysisPrintOrderThirtySeven from "./template/DialysisPrintOrderThirtySeven";
901
 import DialysisPrintOrderThirtySeven from "./template/DialysisPrintOrderThirtySeven";
887
 import DialysisPrintOrderThirtyEight from "./template/DialysisPrintOrderThirtyEight";
902
 import DialysisPrintOrderThirtyEight from "./template/DialysisPrintOrderThirtyEight";
888
 import DialysisPrintOrderThirtyNine from "./template/DialysisPrintOrderThirtyNine";
903
 import DialysisPrintOrderThirtyNine from "./template/DialysisPrintOrderThirtyNine";
904
+import DialysisPrintOrderForty from "./template/DialysisPrintOrderForty";
889
 export default {
905
 export default {
890
   name: "dialysisPrintOrder",
906
   name: "dialysisPrintOrder",
891
   components: {
907
   components: {
908
+    DialysisPrintOrderForty,
892
     DialysisPrintOrderThirtyNine,
909
     DialysisPrintOrderThirtyNine,
893
     DialysisPrintOrderThirtyEight,
910
     DialysisPrintOrderThirtyEight,
894
     DialysisPrintOrderThirtySeven,
911
     DialysisPrintOrderThirtySeven,
1366
           style: style3,
1383
           style: style3,
1367
           scanStyles: false
1384
           scanStyles: false
1368
         });
1385
         });
1386
+      } else if (this.org_template_info.template_id == 40) {
1387
+        printJS({
1388
+          printable: "dialysis-print-box",
1389
+          type: "html",
1390
+          style: style5,
1391
+          scanStyles: false
1392
+        });
1369
       }
1393
       }
1370
     },
1394
     },
1371
     printThisOnePage() {
1395
     printThisOnePage() {

File diff suppressed because it is too large
+ 2523 - 0
src/xt_pages/dialysis/template/DialysisPrintOrderForty.vue


+ 15 - 4
src/xt_pages/dialysis/template/DialysisPrintOrderSix.vue View File

64
         </div>
64
         </div>
65
         <div class="inline_block" style="margin-left: 5px;">
65
         <div class="inline_block" style="margin-left: 5px;">
66
           住院号/门诊号:
66
           住院号/门诊号:
67
-          <div class="under_line" style="width: 70px;text-align: left" v-if="patientInfo.admission_number">
68
-            {{ patientInfo.admission_number }}
67
+          <div class="under_line" style="width: 70px;text-align: left" v-if="receiverTreatmentAccess.admission_number">
68
+            {{ receiverTreatmentAccess.admission_number }}
69
           </div>
69
           </div>
70
           <div class="under_line" style="width: 70px;text-align: left" v-else>
70
           <div class="under_line" style="width: 70px;text-align: left" v-else>
71
             {{ "/" }}
71
             {{ "/" }}
300
                     <div class="under_line" style="width: 100px;text-align: center;font-weight:600;" v-if="prescription.mode_id == 19">
300
                     <div class="under_line" style="width: 100px;text-align: center;font-weight:600;" v-if="prescription.mode_id == 19">
301
                       IUF+HD
301
                       IUF+HD
302
                     </div>
302
                     </div>
303
+                    <div class="under_line" style="width: 150px;text-align: center;font-weight:600;" v-if="prescription.mode_id == 22">
304
+                      血浆胆红素吸附+HDF
305
+                    </div>
303
                   </div>
306
                   </div>
304
 
307
 
305
                   <div class="inline_block" style="margin-left:10px;flex:1;">
308
                   <div class="inline_block" style="margin-left:10px;flex:1;">
344
                      {{prescription.dialysis_irrigation?prescription.dialysis_irrigation:'/'}}
347
                      {{prescription.dialysis_irrigation?prescription.dialysis_irrigation:'/'}}
345
                     </div>
348
                     </div>
346
                   </div>
349
                   </div>
350
+                  <div class="inline_block" style="flex:1;" v-if="org_id == 9538">
351
+                    血浆分离器:
352
+                    <div class="under_line" style="width: 70px;text-align: center">
353
+                     {{prescription.plasma_separator?prescription.plasma_separator:'/'}}
354
+                    </div>
355
+                  </div>
347
                   <div class="inline_block" style="flex:1;">
356
                   <div class="inline_block" style="flex:1;">
348
                     干体重:
357
                     干体重:
349
                     <div class="under_line" style="width: 150px;text-align: center">
358
                     <div class="under_line" style="width: 150px;text-align: center">
357
                   <div class="inline_block" style="flex:1;">
366
                   <div class="inline_block" style="flex:1;">
358
                     上次透后体重:
367
                     上次透后体重:
359
                     <div class="under_line" style="width: 100px;text-align: center">
368
                     <div class="under_line" style="width: 100px;text-align: center">
360
-                      {{ lastafterdialysis.weight_after_last_transparency ? parseFloat(lastafterdialysis.weight_after - lastafterdialysis.additional_weight).toFixed(1) : "未称重" }}
369
+                      {{predialysis.weight_after_last_transparency?predialysis.weight_after_last_transparency:'未称重'}}
370
+                      <!-- {{ predialysis.weight_after_last_transparency ? parseFloat(lastafterdialysis.weight_after - lastafterdialysis.additional_weight).toFixed(1) : "未称重" }} -->
361
                     </div>
371
                     </div>
362
                     kg
372
                     kg
363
                   </div>
373
                   </div>
553
                         {{ monitor.ultrafiltration_volume ? monitor.ultrafiltration_volume : "" }}
563
                         {{ monitor.ultrafiltration_volume ? monitor.ultrafiltration_volume : "" }}
554
                       </td>
564
                       </td>
555
                       <td v-if="(dialysisOrder && monitor.operate_time <= dialysisOrder.end_time) && ( dialysisOrder && monitor.operate_time >= dialysisOrder.start_time)">
565
                       <td v-if="(dialysisOrder && monitor.operate_time <= dialysisOrder.end_time) && ( dialysisOrder && monitor.operate_time >= dialysisOrder.start_time)">
556
-                        {{ monitor.ultrafiltration_volume ? monitor.ultrafiltration_volume : "" }}
566
+                        {{ monitor.ultrafiltration_volume ? monitor.ultrafiltration_volume : "0" }}
557
                       </td>
567
                       </td>
558
                       <td v-if="(prescription.mode_id == 2 || prescription.mode_id == 5 || prescription.mode_id == 12) && ((dialysisOrder && monitor.operate_time <= dialysisOrder.end_time) && (dialysisOrder && monitor.operate_time >= dialysisOrder.start_time))" style="width:50px">
568
                       <td v-if="(prescription.mode_id == 2 || prescription.mode_id == 5 || prescription.mode_id == 12) && ((dialysisOrder && monitor.operate_time <= dialysisOrder.end_time) && (dialysisOrder && monitor.operate_time >= dialysisOrder.start_time))" style="width:50px">
559
                         {{ monitor.displacement_quantity ? monitor.displacement_quantity : 0 }}
569
                         {{ monitor.displacement_quantity ? monitor.displacement_quantity : 0 }}
1342
         this.check = response.data.data.check
1352
         this.check = response.data.data.check
1343
         this.xtdate = response.data.data.xtdate
1353
         this.xtdate = response.data.data.xtdate
1344
         this.predialysis = response.data.data.PredialysisEvaluation
1354
         this.predialysis = response.data.data.PredialysisEvaluation
1355
+        console.log("透前评估",this.predialysis)
1345
         this.predialysis.blood_access_part_opera_name = this.bloodAccessParOperaName(
1356
         this.predialysis.blood_access_part_opera_name = this.bloodAccessParOperaName(
1346
           this.predialysis.blood_access_part_opera_id
1357
           this.predialysis.blood_access_part_opera_id
1347
         )
1358
         )

+ 8 - 1
src/xt_pages/dialysis/template/dialysisPrintOrderTwo.vue View File

2
   <div id="dialysis-print-box-1">
2
   <div id="dialysis-print-box-1">
3
     <div id="dialysis-print-box-1-1" :class="(this.monitors.length > 8 && this.print_length == 8) || (this.monitors.length > 9 && this.print_length == 9) ? 'margin-bottom-900 dialysis-print-order print-template-two print_page_main_content' : 'margin-bottom-50 dialysis-print-order print-template-two print_page_main_content'">
3
     <div id="dialysis-print-box-1-1" :class="(this.monitors.length > 8 && this.print_length == 8) || (this.monitors.length > 9 && this.print_length == 9) ? 'margin-bottom-900 dialysis-print-order print-template-two print_page_main_content' : 'margin-bottom-50 dialysis-print-order print-template-two print_page_main_content'">
4
       <div class="order-yy-name">{{ orgname }}</div>
4
       <div class="order-yy-name">{{ orgname }}</div>
5
-      <div class="order-title">血液净化专科护理记录单</div>
5
+      <div class="order-title">血液净化透析治疗记录单</div>
6
       <div class="row">
6
       <div class="row">
7
         <div class="inline_block">
7
         <div class="inline_block">
8
           科室:
8
           科室:
985
                   </div>
985
                   </div>
986
                   kg
986
                   kg
987
                 </div>
987
                 </div>
988
+                <div class="inline_block" v-if="orgid == 9566">
989
+                  碳酸氢根:
990
+                  <div class="under_line" style="width: 50px;text-align: left">
991
+                    {{ prescription.bicarbonate ? prescription.bicarbonate : '' }}
992
+                  </div>
993
+                  mmol/L
994
+                </div>
988
                 <div class="inline_block" v-if="orgid == 9566">
995
                 <div class="inline_block" v-if="orgid == 9566">
989
                   医生签名:
996
                   医生签名:
990
                   <div class="under_line" style="width: 70px;text-align: left">
997
                   <div class="under_line" style="width: 70px;text-align: left">

+ 1 - 3
src/xt_pages/outpatientCharges/components/prescriptionTable.vue View File

93
         <template slot-scope="scope">
93
         <template slot-scope="scope">
94
           <div style="display:flex;">
94
           <div style="display:flex;">
95
             <!--<el-input v-model="scope.row.total" placeholder="" readonly></el-input>-->
95
             <!--<el-input v-model="scope.row.total" placeholder="" readonly></el-input>-->
96
-            {{scope.row.total}}
97
-
98
-            <div>{{scope.row.unit}}</div>
96
+            {{scope.row.total}} {{scope.row.unit}}
99
 
97
 
100
           </div>
98
           </div>
101
         </template>
99
         </template>

+ 16 - 33
src/xt_pages/outpatientCharges/newStatementPrint.vue View File

13
     </template>
13
     </template>
14
 
14
 
15
     <div class='dialysisPage' style="padding-top:40px;">
15
     <div class='dialysisPage' style="padding-top:40px;">
16
-      <printOne v-if="org_id != 9990" :info="info" :p_admin="p_admin" :charge_admin="charge_admin"></printOne>
17
-      <printTwo v-if="org_id == 9990" :info="info" :order_infos="order_infos" :p_admin="p_admin" :charge_admin="charge_admin"></printTwo>
16
+      <printOne :info="info" :p_admin="p_admin" :charge_admin="charge_admin"></printOne>
18
     </div>
17
     </div>
19
   </div>
18
   </div>
20
 </template>
19
 </template>
31
   import BreadCrumb from "@/xt_pages/components/bread-crumb";
30
   import BreadCrumb from "@/xt_pages/components/bread-crumb";
32
   import print from "print-js";
31
   import print from "print-js";
33
   import printOne from "./statementTemplate/printOne"
32
   import printOne from "./statementTemplate/printOne"
34
-  import printTwo from "./statementTemplate/printTwo"
35
   import { getAllDoctorList,getAllHisPatientList,getPrescriptionPrint } from "@/api/project/project"
33
   import { getAllDoctorList,getAllHisPatientList,getPrescriptionPrint } from "@/api/project/project"
36
   export default {
34
   export default {
37
     name: "newStatementPrint",
35
     name: "newStatementPrint",
38
     components: {
36
     components: {
39
       BreadCrumb,
37
       BreadCrumb,
40
-      printOne,
41
-      printTwo
38
+      printOne
42
     },
39
     },
43
     props:{
40
     props:{
44
       paramsObj:Object
41
       paramsObj:Object
62
         info:null,
59
         info:null,
63
         p_admin:{},
60
         p_admin:{},
64
         charge_admin:{},
61
         charge_admin:{},
65
-        org_id:'',
66
-        order_infos:null
67
       };
62
       };
68
     },
63
     },
69
     methods:{
64
     methods:{
71
         var ptime = Math.round(new Date().getTime() / 1000);
66
         var ptime = Math.round(new Date().getTime() / 1000);
72
         this.print_time = uParseTime(ptime, "{y}-{m}-{d} {h}:{i}");
67
         this.print_time = uParseTime(ptime, "{y}-{m}-{d} {h}:{i}");
73
 
68
 
74
-        if(this.org_id != 9990){
75
-          const style =
69
+        const style =
76
           '@media print {.statementTitle{font-size: 28px;text-align: center;font-weight: bold;margin-bottom: 10px;}.statementTable{width: 100%;text-align: center;border-collapse: collapse;line-height: 40px;font-size: 16px;border-color: #000;}}';
70
           '@media print {.statementTitle{font-size: 28px;text-align: center;font-weight: bold;margin-bottom: 10px;}.statementTable{width: 100%;text-align: center;border-collapse: collapse;line-height: 40px;font-size: 16px;border-color: #000;}}';
77
-          printJS({
78
-            printable: "statement-print",
79
-            type: "html",
80
-            style: style,
81
-            scanStyles: false
82
-          });
83
-        }else {
84
-          const style =
85
-          '@media print {#statement-print{font-size:12px;width:600px;margin:0 auto;}.statementTitle{font-size: 22px;text-align: center;margin-bottom: 10px;}.statementTable{width: 100%;text-align: center;border-collapse: collapse;line-height: 40px;font-size: 16px;border-color: #000;}}';
86
-          printJS({
87
-            printable: "statement-print",
88
-            type: "html",
89
-            style: style,
90
-            scanStyles: false
91
-          });
92
-        }
93
-
71
+        printJS({
72
+          printable: "statement-print",
73
+          type: "html",
74
+          style: style,
75
+          scanStyles: false
76
+        });
94
 
77
 
95
         // if (this.org_template_info.template_id == 1) {
78
         // if (this.org_template_info.template_id == 1) {
96
         //   printJS({
79
         //   printJS({
164
         //       console.log("doctorporject",doctorPorject)
147
         //       console.log("doctorporject",doctorPorject)
165
         //     }
148
         //     }
166
         // })
149
         // })
150
+      },  getTimes(time) {
151
+        return uParseTime(time, '{y}-{m}-{d}')
167
       },
152
       },
168
       searchAction(){
153
       searchAction(){
169
 
154
 
190
                 that.info = response.data.data.info;
175
                 that.info = response.data.data.info;
191
                 that.p_admin = response.data.data.printor_admin;
176
                 that.p_admin = response.data.data.printor_admin;
192
                 that.charge_admin = response.data.data.charge_admin;
177
                 that.charge_admin = response.data.data.charge_admin;
193
-                that.order_infos = response.data.data;
194
-
195
 
178
 
196
 
179
 
197
                 that.info['p_admin'] =  that.p_admin;
180
                 that.info['p_admin'] =  that.p_admin;
203
                 that.info['diagnosis'] =  response.data.data.diagnosis;
186
                 that.info['diagnosis'] =  response.data.data.diagnosis;
204
 
187
 
205
 
188
 
206
-                console.log(that.info);
207
-
208
                 that.info['bed_cost_total'] = response.data.data.bedCostTotal;
189
                 that.info['bed_cost_total'] = response.data.data.bedCostTotal;
209
                 that.info['bed_cost_self_total'] = response.data.data.bedCostSelfTotal;
190
                 that.info['bed_cost_self_total'] = response.data.data.bedCostSelfTotal;
210
                 that.info['bed_cost_part_self_total'] = response.data.data.bedCostPartSelfTotal;
191
                 that.info['bed_cost_part_self_total'] = response.data.data.bedCostPartSelfTotal;
242
                 that.info['treat_cost_total'] = response.data.data.treatCostTotal;
223
                 that.info['treat_cost_total'] = response.data.data.treatCostTotal;
243
                 that.info['treat_cost_self_total'] = response.data.data.treatCostSelfTotal;
224
                 that.info['treat_cost_self_total'] = response.data.data.treatCostSelfTotal;
244
                 that.info['treat_cost_part_self_total'] = response.data.data.treatCostPartSelfTotal;
225
                 that.info['treat_cost_part_self_total'] = response.data.data.treatCostPartSelfTotal;
245
-                console.log(this.info)
226
+
227
+                if(that.paramsObj.settle_type != 1){
228
+                  that.info.begndate = that.getTimes(that.paramsObj.start_time)
229
+                  that.info.enddate = that.getTimes(that.paramsObj.end_time)
230
+                }
246
               }
231
               }
247
             })
232
             })
248
             .catch(function (error) {
233
             .catch(function (error) {
254
     },
239
     },
255
 
240
 
256
     created() {
241
     created() {
257
-      this.org_id = this.$store.getters.xt_user.org_id;
258
       this.getInfo(this.paramsObj.order_id)
242
       this.getInfo(this.paramsObj.order_id)
259
-
260
     },
243
     },
261
     watch:{
244
     watch:{
262
       paramsObj:{//深度监听,可监听到对象、数组的变化
245
       paramsObj:{//深度监听,可监听到对象、数组的变化

+ 12 - 9
src/xt_pages/outpatientCharges/summary.vue View File

65
           type="index"
65
           type="index"
66
         >
66
         >
67
         </el-table-column>
67
         </el-table-column>
68
-        <el-table-column align="center" prop="name" label="就诊号">
68
+        <el-table-column align="center" width="100" prop="name" label="就诊号">
69
           <template slot-scope="scope">{{ scope.row.his_patient.number }}</template>
69
           <template slot-scope="scope">{{ scope.row.his_patient.number }}</template>
70
         </el-table-column>
70
         </el-table-column>
71
-        <el-table-column align="center" prop="name" label="患者名字">
71
+        <el-table-column align="center" width="90" prop="name" label="患者名字">
72
           <template slot-scope="scope">{{ scope.row.patient.name }}</template>
72
           <template slot-scope="scope">{{ scope.row.patient.name }}</template>
73
         </el-table-column>
73
         </el-table-column>
74
         <!--<el-table-column align="center" prop="name" label="患者类型">-->
74
         <!--<el-table-column align="center" prop="name" label="患者类型">-->
75
         <!--<template slot-scope="scope"></template>-->
75
         <!--<template slot-scope="scope"></template>-->
76
         <!--</el-table-column>-->
76
         <!--</el-table-column>-->
77
 
77
 
78
-        <el-table-column align="center" prop="name" label="应收金额">
78
+        <el-table-column align="center" width="90" prop="name" label="应收金额">
79
           <template slot-scope="scope">{{scope.row.medfee_sumamt}}</template>
79
           <template slot-scope="scope">{{scope.row.medfee_sumamt}}</template>
80
         </el-table-column>
80
         </el-table-column>
81
-        <el-table-column align="center" prop="name" label="实收金额">
81
+        <el-table-column align="center" width="90" prop="name" label="实收金额">
82
           <template slot-scope="scope">{{scope.row.reality_price}}</template>
82
           <template slot-scope="scope">{{scope.row.reality_price}}</template>
83
         </el-table-column>
83
         </el-table-column>
84
-        <el-table-column align="center" prop="name" label="科室">
84
+        <el-table-column align="center" width="90" prop="name" label="科室">
85
           <template slot-scope="scope">{{scope.row.department_name}}</template>
85
           <template slot-scope="scope">{{scope.row.department_name}}</template>
86
         </el-table-column>
86
         </el-table-column>
87
-        <el-table-column align="center" prop="name" label="收费日期">
87
+        <el-table-column align="center" width="100" prop="name" label="收费日期">
88
           <template slot-scope="scope">
88
           <template slot-scope="scope">
89
             {{scope.row.setl_time?scope.row.setl_time:getTimes(scope.row.settle_accounts_date)}}
89
             {{scope.row.setl_time?scope.row.setl_time:getTimes(scope.row.settle_accounts_date)}}
90
           </template>
90
           </template>
91
         </el-table-column>
91
         </el-table-column>
92
-        <el-table-column align="center" prop="name" label="收费员">
92
+        <el-table-column align="center" width="90" prop="name" label="收费员">
93
           <template slot-scope="scope">{{ getName(scope.row.creator) }}</template>
93
           <template slot-scope="scope">{{ getName(scope.row.creator) }}</template>
94
         </el-table-column>
94
         </el-table-column>
95
-        <el-table-column align="center" prop="name" label="状态">
95
+        <el-table-column align="center" width="80" prop="name" label="状态">
96
           <template slot-scope="scope">
96
           <template slot-scope="scope">
97
             <div v-if="scope.row.order_status == 1">待结算</div>
97
             <div v-if="scope.row.order_status == 1">待结算</div>
98
             <div v-if="scope.row.order_status == 2">已结算</div>
98
             <div v-if="scope.row.order_status == 2">已结算</div>
371
         } else {
371
         } else {
372
           this.statementVisible = true;
372
           this.statementVisible = true;
373
           let obj = {
373
           let obj = {
374
-            order_id: row.id
374
+            order_id: row.id,
375
+            settle_type:row.settle_type,
376
+            start_time:row.settle_start_time,
377
+            end_time:row.settle_end_time,
375
           };
378
           };
376
           this.orderObj = obj
379
           this.orderObj = obj
377
         }
380
         }

+ 3 - 1
src/xt_pages/outpatientDoctorStation/components/callPrescription.vue View File

260
                 single_dose_unit:prescription.doctor_advice[b].single_dose_unit,
260
                 single_dose_unit:prescription.doctor_advice[b].single_dose_unit,
261
                 prescribing_number_unit:prescription.doctor_advice[b].prescribing_number_unit,
261
                 prescribing_number_unit:prescription.doctor_advice[b].prescribing_number_unit,
262
                 medical_insurance_number:prescription.doctor_advice[b].med_list_codg,
262
                 medical_insurance_number:prescription.doctor_advice[b].med_list_codg,
263
-                id:prescription.doctor_advice[b].drug_id
263
+                id:prescription.doctor_advice[b].drug_id,
264
+                drug:prescription.doctor_advice[b].drug,
265
+
264
               };
266
               };
265
               tempAdvice.push(obj)
267
               tempAdvice.push(obj)
266
 
268
 

+ 16 - 19
src/xt_pages/outpatientDoctorStation/components/deskPrescription.vue View File

424
         <!--<next-or-last-prescription ref='next_or_last_prescription' v-on:save="setValue" v-on:cancel="cancel"></next-or-last-prescription>-->
424
         <!--<next-or-last-prescription ref='next_or_last_prescription' v-on:save="setValue" v-on:cancel="cancel"></next-or-last-prescription>-->
425
         <call-prescription ref='call_prescription' v-on:call="call" v-on:call-cancel="callCancel"></call-prescription>
425
         <call-prescription ref='call_prescription' v-on:call="call" v-on:call-cancel="callCancel"></call-prescription>
426
 
426
 
427
-        <
428
     </div>
427
     </div>
429
 </template>
428
 </template>
430
 
429
 
711
               obj['id'] = drug_month_prescriptions.advices[a].drug_id
710
               obj['id'] = drug_month_prescriptions.advices[a].drug_id
712
               // obj['retail_price'] = obj['retail_price'] +  drug_month_prescriptions.advices[a].drug.retail_price
711
               // obj['retail_price'] = obj['retail_price'] +  drug_month_prescriptions.advices[a].drug.retail_price
713
               obj['retail_price'] = parseFloat(drug_month_prescriptions.advices[a].price)
712
               obj['retail_price'] = parseFloat(drug_month_prescriptions.advices[a].price)
713
+              obj['drug'] = drug_month_prescriptions.advices[a].drug
714
+
714
               count = count + drug_month_prescriptions.advices[a].prescribing_number
715
               count = count + drug_month_prescriptions.advices[a].prescribing_number
715
 
716
 
716
             }
717
             }
1035
                       single_dose_unit: prescription.advices[b].single_dose_unit,
1036
                       single_dose_unit: prescription.advices[b].single_dose_unit,
1036
                       prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
1037
                       prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
1037
                       medical_insurance_number: prescription.advices[b].med_list_codg,
1038
                       medical_insurance_number: prescription.advices[b].med_list_codg,
1038
-                      id: prescription.advices[b].drug_id
1039
+                      id: prescription.advices[b].drug_id,
1040
+                      drug:prescription.advices[b].drug
1039
                     }
1041
                     }
1040
                     tempAdvice.push(obj)
1042
                     tempAdvice.push(obj)
1041
                   }
1043
                   }
1153
                       single_dose_unit: prescription.advices[b].single_dose_unit,
1155
                       single_dose_unit: prescription.advices[b].single_dose_unit,
1154
                       prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
1156
                       prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
1155
                       medical_insurance_number: prescription.advices[b].med_list_codg,
1157
                       medical_insurance_number: prescription.advices[b].med_list_codg,
1156
-                      id: prescription.advices[b].drug_id
1158
+                      id: prescription.advices[b].drug_id,
1159
+                      drug: prescription.advices[b].drug
1160
+
1161
+
1157
                     }
1162
                     }
1158
                     tempAdvice.push(obj)
1163
                     tempAdvice.push(obj)
1159
                   }
1164
                   }
2373
       },
2378
       },
2374
 
2379
 
2375
       comfirm() {
2380
       comfirm() {
2376
-        console.log('222222222222', this.curPrescriptions)
2377
-
2378
-        // if (this.curPrescriptions.order_status == 2) {
2379
-        //   this.$message.error('该处方已经结算,无法继续添加药品或者项目')
2380
-        //   this.teamList = []
2381
-        //   this.curDrugs = []
2382
-        //   this.tempDrugs = []
2383
-        //   this.$refs.tables.clearSelection()
2384
-        //   this.$refs.multipleTableTwo.clearSelection()
2385
-        //   this.$refs.multipleTable.clearSelection()
2386
-        //   return
2387
-        // }
2388
 
2381
 
2389
         if (this.curStatus == 1 && this.rightTab == 2) {
2382
         if (this.curStatus == 1 && this.rightTab == 2) {
2390
           this.$message.error('改处方是药品,无法添加项目')
2383
           this.$message.error('改处方是药品,无法添加项目')
2413
           }
2406
           }
2414
         }
2407
         }
2415
 
2408
 
2416
-        console.log(this.curDrugs)
2417
-        console.log(this.curPrescriptions.advices)
2418
-
2419
         for (let i = 0; i < this.curDrugs.length; i++) {
2409
         for (let i = 0; i < this.curDrugs.length; i++) {
2420
           for (let a = 0; a < this.curPrescriptions.advices.length; a++) {
2410
           for (let a = 0; a < this.curPrescriptions.advices.length; a++) {
2421
             if (this.curDrugs[i].id == this.curPrescriptions.advices[a].id) {
2411
             if (this.curDrugs[i].id == this.curPrescriptions.advices[a].id) {
2425
             }
2415
             }
2426
           }
2416
           }
2427
         }
2417
         }
2418
+
2428
         let templateDrugs = []
2419
         let templateDrugs = []
2429
 
2420
 
2430
         for (let i = 0; i < this.tempDrugs.length; i++) {
2421
         for (let i = 0; i < this.tempDrugs.length; i++) {
2466
                   single_dose_unit: temp3[b].drug.min_unit,
2457
                   single_dose_unit: temp3[b].drug.min_unit,
2467
                   prescribing_number_unit: temp3[b].drug.max_unit,
2458
                   prescribing_number_unit: temp3[b].drug.max_unit,
2468
                   medical_insurance_number: temp3[b].drug.medical_insurance_number
2459
                   medical_insurance_number: temp3[b].drug.medical_insurance_number
2460
+
2469
                 }
2461
                 }
2470
 
2462
 
2471
                 if (obj.prescribing_number == 0 || obj.prescribing_number.length == 0) {
2463
                 if (obj.prescribing_number == 0 || obj.prescribing_number.length == 0) {
2491
                   prescribing_number: temp[b].prescribing_number,
2483
                   prescribing_number: temp[b].prescribing_number,
2492
                   single_dose_unit: temp[b].min_unit,
2484
                   single_dose_unit: temp[b].min_unit,
2493
                   prescribing_number_unit: temp[b].max_unit,
2485
                   prescribing_number_unit: temp[b].max_unit,
2494
-                  medical_insurance_number: temp[b].medical_insurance_number
2486
+                  medical_insurance_number: temp[b].medical_insurance_number,
2487
+                  drug: temp[b],
2495
 
2488
 
2496
                 }
2489
                 }
2497
 
2490
 
2498
                 if (obj.prescribing_number == 0 || obj.prescribing_number.length == 0) {
2491
                 if (obj.prescribing_number == 0 || obj.prescribing_number.length == 0) {
2499
                   obj.prescribing_number = 1
2492
                   obj.prescribing_number = 1
2500
                 }
2493
                 }
2494
+                console.log("obj   ")
2495
+                console.log(obj)
2496
+                console.log("obj  ")
2497
+
2501
                 this.prescriptions[i].advices.push(obj)
2498
                 this.prescriptions[i].advices.push(obj)
2502
               }
2499
               }
2503
               this.curStatus = 1
2500
               this.curStatus = 1

+ 206 - 155
src/xt_pages/outpatientDoctorStation/components/dialysisIndex.vue View File

7
       element-loading-text="拼命加载中"
7
       element-loading-text="拼命加载中"
8
       element-loading-spinner="el-icon-loading"
8
       element-loading-spinner="el-icon-loading"
9
       element-loading-background="rgba(0, 0, 0, 0.8)"
9
       element-loading-background="rgba(0, 0, 0, 0.8)"
10
+      v-if="dialysisShow"
10
     >
11
     >
11
-    <div style="padding-top: 56px;width:100%;">
12
-
13
-      <nav-igation
14
-        ref="nav"
15
-        title="弹窗导航"
16
-        @advice="adviceFunc"
17
-        :patient="patient"
18
-        :schedual="schedual"
19
-        :prescription="prescription"
20
-        :solution="solution"
21
-        :receiver_treatment_access="receiver_treatment_access"
22
-        :predialysis_evaluation="predialysis_evaluation"
23
-        :doctor_advices="doctor_advices"
24
-        :double_check="double_check"
25
-        :assessment_after_dislysis="assessment_after_dislysis"
26
-        :treatment_summary="treatment_summary"
27
-        :monitor_records="monitor_records"
28
-        :dialysis_order="dialysis_order"
29
-        :admin_users="admin_users"
30
-        :devices="devices"
31
-        :device_numbers="device_numbers"
32
-        :admin_user_map="admin_user_map"
33
-        :device_map="device_map"
34
-        :device_number_map="device_number_map"
35
-        :niprocart_info="niprocart_info"
36
-        :jms_info="jms_info"
37
-        :fistula_needle_set_info="fistula_needle_set_info"
38
-        :fistula_needle_set_16_info="fistula_needle_set_16_info"
39
-        :hemoperfusion_info="hemoperfusion_info"
40
-        :dialyser_sterilised_info="dialyser_sterilised_info"
41
-        :filtryzer_info="filtryzer_info"
42
-        :dialyzers_info="dialyzers_info"
43
-        :injector_info="injector_info"
44
-        :bloodlines_info="bloodlines_info"
45
-        :tubingHemodialysis_info="tubingHemodialysis_info"
46
-        :safe_package_info="safe_package_info"
47
-        :aliquid_info="aliquid_info"
48
-        :config="config"
49
-        :longAdvices="longAdvices"
50
-        :waitUploadAdvices="waitUploadAdvices"
51
-        :is_open="is_open"
52
-        :last_predialysis_evaluation="lastPredialysisEvaluation"
53
-        :last_monitor_record="lastMonitorRecord"
54
-        :last_assessment_after_dislysis="lastAssessmentAfterDislysis"
55
-        :last_dialysis_prescribe="lastDialysisPrescribe"
56
-        :last_dryWeight_dislysis="lastDryWeightDislysis"
57
-        :special_premission="headNurses"
58
-        @assessmentAfterDislysis="assessmentAfterDislysisFunc"
59
-        :system_prescribe="system_prescribe"
60
-        :his_is_open="his_is_open"
61
-        :lastAssessment="lastAssessment"
62
-        :stockType="stockType"
63
-      >
64
-      </nav-igation>
65
-
66
-
67
-
68
-      <basic-infor
69
-        :patient="patient"
70
-        :device_number="schedual.id == 0 ? '' : schedual.device_number.number"
71
-        :steps="steps"
72
-        title="基本信息"
73
-      ></basic-infor>
74
-
75
-      <dialysis-prescription
76
-        :prescription="prescription"
77
-        :solution="solution"
78
-        :device_map="device_map"
79
-        :preparestock="preparestock"
80
-        title="透析处方"
81
-      ></dialysis-prescription>
82
-
83
-
84
-
85
-    <!-- <past-data class="往期数据"></past-data> -->
86
-      <div style="height: 20px;background-color: #f6f8f9"></div>
87
-      <accepts-assessment
88
-        :record="receiver_treatment_access"
89
-        title="接诊评估"
90
-      ></accepts-assessment>
91
-
92
-      <assessment-before
93
-        :record="predialysis_evaluation"
94
-        ref="assessment_before"
95
-        title="透前评估"
96
-      ></assessment-before>
97
-
98
-      <stat-order
99
-        ref="stat_order"
100
-        :advices="doctor_advices"
101
-        :doctor_map="admin_user_map"
102
-        title="临时医嘱"
103
-      ></stat-order>
104
-
105
-      <double-check
106
-        ref="double_check"
107
-        :record="double_check"
108
-        :admin_map="admin_user_map"
109
-        title="双人核对 "
110
-      ></double-check>
111
-
112
-      <dialysis-computer
113
-        ref="dialysis_computer"
114
-        :record="dialysis_order"
115
-        :admin_map="admin_user_map"
116
-        :device_number_map="device_number_map"
117
-        title="透析上机 "
118
-      ></dialysis-computer>
119
-
120
-      <dialysis-monitoring
121
-        ref="monitoring"
122
-        :monitores="monitor_records"
123
-        title="透析监测"
124
-      ></dialysis-monitoring>
125
-
126
-
127
-      <dialysis-off
128
-        ref="dialysis_off"
129
-        :record="dialysis_order"
130
-        :admin_map="admin_user_map"
131
-        title="透析下机 "
132
-      ></dialysis-off>
133
-
134
-      <assessment-after
135
-        ref="assessment_after"
136
-        :record="assessment_after_dislysis"
137
-        title="透后评估"
138
-      ></assessment-after>
139
-
140
-      <treatment-of
141
-        ref="treatment_of"
142
-        :record="treatment_summary"
143
-        title="治疗小结"
144
-      ></treatment-of>
12
+      <div style="padding-top: 56px;width:100%;" >
13
+
14
+        <nav-igation
15
+          ref="nav"
16
+          title="弹窗导航"
17
+          @advice="adviceFunc"
18
+          :patient="patient"
19
+          :schedual="schedual"
20
+          :prescription="prescription"
21
+          :solution="solution"
22
+          :receiver_treatment_access="receiver_treatment_access"
23
+          :predialysis_evaluation="predialysis_evaluation"
24
+          :doctor_advices="doctor_advices"
25
+          :double_check="double_check"
26
+          :assessment_after_dislysis="assessment_after_dislysis"
27
+          :treatment_summary="treatment_summary"
28
+          :monitor_records="monitor_records"
29
+          :dialysis_order="dialysis_order"
30
+          :admin_users="admin_users"
31
+          :devices="devices"
32
+          :device_numbers="device_numbers"
33
+          :admin_user_map="admin_user_map"
34
+          :device_map="device_map"
35
+          :device_number_map="device_number_map"
36
+          :niprocart_info="niprocart_info"
37
+          :jms_info="jms_info"
38
+          :fistula_needle_set_info="fistula_needle_set_info"
39
+          :fistula_needle_set_16_info="fistula_needle_set_16_info"
40
+          :hemoperfusion_info="hemoperfusion_info"
41
+          :dialyser_sterilised_info="dialyser_sterilised_info"
42
+          :filtryzer_info="filtryzer_info"
43
+          :dialyzers_info="dialyzers_info"
44
+          :injector_info="injector_info"
45
+          :bloodlines_info="bloodlines_info"
46
+          :tubingHemodialysis_info="tubingHemodialysis_info"
47
+          :safe_package_info="safe_package_info"
48
+          :aliquid_info="aliquid_info"
49
+          :config="config"
50
+          :longAdvices="longAdvices"
51
+          :waitUploadAdvices="waitUploadAdvices"
52
+          :is_open="is_open"
53
+          :last_predialysis_evaluation="lastPredialysisEvaluation"
54
+          :last_monitor_record="lastMonitorRecord"
55
+          :last_assessment_after_dislysis="lastAssessmentAfterDislysis"
56
+          :last_dialysis_prescribe="lastDialysisPrescribe"
57
+          :last_dryWeight_dislysis="lastDryWeightDislysis"
58
+          :special_premission="headNurses"
59
+          @assessmentAfterDislysis="assessmentAfterDislysisFunc"
60
+          :system_prescribe="system_prescribe"
61
+          :his_is_open="his_is_open"
62
+          :lastAssessment="lastAssessment"
63
+          :stockType="stockType"
64
+        >
65
+        </nav-igation>
66
+
67
+
68
+
69
+        <basic-infor
70
+          :patient="patient"
71
+          :device_number="schedual.id == 0 ? '' : schedual.device_number.number"
72
+          :steps="steps"
73
+          title="基本信息"
74
+        ></basic-infor>
75
+
76
+        <dialysis-prescription
77
+          :prescription="prescription"
78
+          :solution="solution"
79
+          :device_map="device_map"
80
+          :preparestock="preparestock"
81
+          title="透析处方"
82
+        ></dialysis-prescription>
83
+
84
+
85
+
86
+      <!-- <past-data class="往期数据"></past-data> -->
87
+        <div style="height: 20px;background-color: #f6f8f9"></div>
88
+        <accepts-assessment
89
+          :record="receiver_treatment_access"
90
+          title="接诊评估"
91
+        ></accepts-assessment>
92
+
93
+        <assessment-before
94
+          :record="predialysis_evaluation"
95
+          ref="assessment_before"
96
+          title="透前评估"
97
+        ></assessment-before>
98
+
99
+        <stat-order
100
+          ref="stat_order"
101
+          :advices="doctor_advices"
102
+          :doctor_map="admin_user_map"
103
+          title="临时医嘱"
104
+        ></stat-order>
105
+
106
+        <double-check
107
+          ref="double_check"
108
+          :record="double_check"
109
+          :admin_map="admin_user_map"
110
+          title="双人核对 "
111
+        ></double-check>
112
+
113
+        <dialysis-computer
114
+          ref="dialysis_computer"
115
+          :record="dialysis_order"
116
+          :admin_map="admin_user_map"
117
+          :device_number_map="device_number_map"
118
+          title="透析上机 "
119
+        ></dialysis-computer>
120
+
121
+        <dialysis-monitoring
122
+          ref="monitoring"
123
+          :monitores="monitor_records"
124
+          title="透析监测"
125
+        ></dialysis-monitoring>
126
+
127
+
128
+        <dialysis-off
129
+          ref="dialysis_off"
130
+          :record="dialysis_order"
131
+          :admin_map="admin_user_map"
132
+          title="透析下机 "
133
+        ></dialysis-off>
134
+
135
+        <assessment-after
136
+          ref="assessment_after"
137
+          :record="assessment_after_dislysis"
138
+          title="透后评估"
139
+        ></assessment-after>
140
+
141
+        <treatment-of
142
+          ref="treatment_of"
143
+          :record="treatment_summary"
144
+          title="治疗小结"
145
+        ></treatment-of>
145
       </div>
146
       </div>
147
+      
146
     </div>
148
     </div>
149
+    <div style="padding-top: 56px;width:100%;text-align:center;font-size:22px;color:red;" v-else>该患者未排班,请先去排班</div>
147
   </div>
150
   </div>
148
 </template>
151
 </template>
149
 
152
 
194
   },
197
   },
195
   props:{
198
   props:{
196
     record_date:String,
199
     record_date:String,
197
-    patientid:String
200
+    patientid:Number,
201
+    dialysisShow:Boolean
198
   },
202
   },
199
   data() {
203
   data() {
200
     return {
204
     return {
304
 
308
 
305
       queueConfig:{},
309
       queueConfig:{},
306
       stockType:[],
310
       stockType:[],
307
-      preparestock:[]
311
+      preparestock:[],
312
+      dialysisShow:false
308
     }
313
     }
309
   },
314
   },
310
   created() {
315
   created() {
312
     var date = this.record_date
317
     var date = this.record_date
313
     this.patient_id = patient_id
318
     this.patient_id = patient_id
314
     this.date = date
319
     this.date = date
320
+    var ymd = parseTime(new Date(), '{y}-{m}-{d}')
321
+    getDialysisSchedules(ymd).then(rs => {
322
+      var resp = rs.data
323
+      if (resp.state == 1) {
324
+        var schedules = resp.data.schedules
325
+        let arr = []
326
+        schedules.map(item => {
327
+          if(item.patient_id == this.patient_id){
328
+            arr.push(item.patient_id)
329
+          }
330
+        })
331
+        if(arr.length > 0){
332
+          this.dialysisShow = true
333
+        }else{
334
+          this.dialysisShow = false
335
+        }
336
+        console.log('this.dialysisShowthis.dialysisShowthis.dialysisShow',this.dialysisShow)
337
+      } else {
338
+        this.$message.error(resp.msg)
339
+      }
340
+    })
315
 
341
 
316
     
342
     
317
 
343
 
318
   },
344
   },
319
   mounted() {
345
   mounted() {
320
-    this.getScheduleDetail()
321
-    this.getLongAdvice()
346
+    if(this.dialysisShow == true){
347
+      
348
+      this.getScheduleDetail()
349
+      this.getLongAdvice()
350
+    }
351
+    
322
   },
352
   },
323
   watch:{
353
   watch:{
324
         patientid:{
354
         patientid:{
325
             handler(newVal){
355
             handler(newVal){
356
+              var ymd = parseTime(new Date(), '{y}-{m}-{d}')
357
+              getDialysisSchedules(ymd).then(rs => {
358
+                var resp = rs.data
359
+                if (resp.state == 1) {
360
+                  var schedules = resp.data.schedules
361
+                  let arr = []
362
+                  schedules.map(item => {
363
+                    if(item.patient_id == this.patient_id){
364
+                      arr.push(item.patient_id)
365
+                    }
366
+                  })
367
+                  if(arr.length > 0){
368
+                    this.dialysisShow = true
369
+                  }else{
370
+                    this.dialysisShow = false
371
+                  }
372
+                  console.log('this.dialysisShowthis.dialysisShowthis.dialysisShow',this.dialysisShow)
373
+                } else {
374
+                  this.$message.error(resp.msg)
375
+                }
376
+              })
377
+              console.log('执行执行执行执行执行执行',this.dialysisShow)
378
+              if(this.dialysisShow == true){
379
+                console.log('执行')
326
                 this.patient_id = newVal
380
                 this.patient_id = newVal
327
                 this.getScheduleDetail()
381
                 this.getScheduleDetail()
328
                 this.getLongAdvice()
382
                 this.getLongAdvice()
329
-            }
330
-        }
383
+              }
384
+            },
385
+            deep:true
386
+        },
331
   },
387
   },
332
   computed: {
388
   computed: {
333
     websocket() {
389
     websocket() {
444
       // return schedules
500
       // return schedules
445
     }
501
     }
446
   },
502
   },
447
-  beforeDestroy(){
448
-
449
-    let unObj = {
450
-      cmd: "queue/unjoin",
451
-      data: {type:3},
452
-    };
453
-    this.websocketSend(unObj)
454
-  },
455
   methods: {
503
   methods: {
456
     adviceFunc() {
504
     adviceFunc() {
457
       this.getScheduleDetail()
505
       this.getScheduleDetail()
521
       }
569
       }
522
     },
570
     },
523
     getScheduleDetail: function() {
571
     getScheduleDetail: function() {
572
+      
524
       this.loading = true
573
       this.loading = true
525
     //   var dateStr = parseTime(this.date, '{y}-{m}-{d}')
574
     //   var dateStr = parseTime(this.date, '{y}-{m}-{d}')
526
-      if(this.$route.query.showView == true){
527
-        this.loading = false
528
-        return
529
-      }
575
+      // if(this.$route.query.showView == true){
576
+      //   this.loading = false
577
+      //   return
578
+      // }
530
         console.log('this.patient_id',this.patient_id)
579
         console.log('this.patient_id',this.patient_id)
531
         console.log('this.date',this.date)
580
         console.log('this.date',this.date)
532
       this.doctor_advices = []
581
       this.doctor_advices = []
536
         if (resp.state == 1) {
585
         if (resp.state == 1) {
537
           var patient = resp.data.patient // 患者信息
586
           var patient = resp.data.patient // 患者信息
538
           var schedual = resp.data.schedual // 患者排班信息
587
           var schedual = resp.data.schedual // 患者排班信息
539
-          console.log("排班22222222222",schedual)
588
+         
540
           var prescription = resp.data.prescription // 透析处方
589
           var prescription = resp.data.prescription // 透析处方
541
           if (prescription != null) {
590
           if (prescription != null) {
542
             if (prescription.body_fluid == -2) {
591
             if (prescription.body_fluid == -2) {
545
           }
594
           }
546
 
595
 
547
           var solution = resp.data.solution // 透析方案
596
           var solution = resp.data.solution // 透析方案
548
-          console.log("透析方案22223333333333",solution)
597
+         
549
           var receiver_treatment_access = resp.data.receiver_treatment_access // 接诊评估
598
           var receiver_treatment_access = resp.data.receiver_treatment_access // 接诊评估
550
 
599
 
551
           var predialysis_evaluation = resp.data.predialysis_evaluation // 透前评估
600
           var predialysis_evaluation = resp.data.predialysis_evaluation // 透前评估
739
           }
788
           }
740
           this.device_number_map = device_number_map
789
           this.device_number_map = device_number_map
741
         } else {
790
         } else {
742
-          this.$message.error(resp.msg)
791
+         // this.$message.error(resp.msg)
792
+          console.log("报错提示")
793
+          this.$message.error("该患者今日未排班,无法使用此模块,请先排班!")
743
         }
794
         }
744
 
795
 
745
         if (this.lastDialysisPrescribe != null) {
796
         if (this.lastDialysisPrescribe != null) {

+ 2 - 1
src/xt_pages/outpatientDoctorStation/components/nextOrLastPrescription.vue View File

317
                 single_dose_unit:prescription.doctor_advice[b].single_dose_unit,
317
                 single_dose_unit:prescription.doctor_advice[b].single_dose_unit,
318
                 prescribing_number_unit:prescription.doctor_advice[b].prescribing_number_unit,
318
                 prescribing_number_unit:prescription.doctor_advice[b].prescribing_number_unit,
319
                 medical_insurance_number:prescription.doctor_advice[b].med_list_codg,
319
                 medical_insurance_number:prescription.doctor_advice[b].med_list_codg,
320
-                id:prescription.doctor_advice[b].drug_id
320
+                id:prescription.doctor_advice[b].drug_id,
321
+                drug:prescription.doctor_advice[b].drug,
321
               };
322
               };
322
               tempAdvice.push(obj)
323
               tempAdvice.push(obj)
323
 
324
 

+ 6 - 0
src/xt_pages/outpatientDoctorStation/components/prescriptionTable.vue View File

389
       },
389
       },
390
       getProjectSingleDose(scope){
390
       getProjectSingleDose(scope){
391
         this.prescription.project[scope.$index].total = scope.row.single_dose * scope.row.number_days
391
         this.prescription.project[scope.$index].total = scope.row.single_dose * scope.row.number_days
392
+        if(this.prescription.project[scope.$index].total == 0){
393
+          this.prescription.project[scope.$index].total = 1
394
+        }
392
       },
395
       },
393
       getProjectDay(scope){
396
       getProjectDay(scope){
394
         this.prescription.project[scope.$index].total = scope.row.single_dose * scope.row.number_days
397
         this.prescription.project[scope.$index].total = scope.row.single_dose * scope.row.number_days
398
+        if(this.prescription.project[scope.$index].total == 0){
399
+          this.prescription.project[scope.$index].total = 1
400
+        }
395
       }
401
       }
396
     },mounted(){
402
     },mounted(){
397
       this.getInitData()
403
       this.getInitData()

+ 468 - 0
src/xt_pages/outpatientDoctorStation/components/prescriptionTemplateTable.vue View File

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

+ 56 - 18
src/xt_pages/outpatientDoctorStation/doctorDesk.vue View File

703
               obj['id'] = drug_month_prescriptions.advices[a].drug_id
703
               obj['id'] = drug_month_prescriptions.advices[a].drug_id
704
               // obj['retail_price'] = obj['retail_price'] +  drug_month_prescriptions.advices[a].drug.retail_price
704
               // obj['retail_price'] = obj['retail_price'] +  drug_month_prescriptions.advices[a].drug.retail_price
705
               obj['retail_price'] = parseFloat(drug_month_prescriptions.advices[a].price)
705
               obj['retail_price'] = parseFloat(drug_month_prescriptions.advices[a].price)
706
+              obj['drug'] = parseFloat(drug_month_prescriptions.advices[a].drug)
707
+
706
               count = count + drug_month_prescriptions.advices[a].prescribing_number
708
               count = count + drug_month_prescriptions.advices[a].prescribing_number
707
 
709
 
708
             }
710
             }
1167
                     single_dose_unit: prescription.advices[b].single_dose_unit,
1169
                     single_dose_unit: prescription.advices[b].single_dose_unit,
1168
                     prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
1170
                     prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
1169
                     medical_insurance_number: prescription.advices[b].med_list_codg,
1171
                     medical_insurance_number: prescription.advices[b].med_list_codg,
1170
-                    id: prescription.advices[b].drug_id
1172
+                    id: prescription.advices[b].drug_id,
1173
+                    drug: prescription.advices[b].drug,
1174
+
1175
+
1171
                   };
1176
                   };
1172
                   tempAdvice.push(obj)
1177
                   tempAdvice.push(obj)
1173
                 }
1178
                 }
1263
                       single_dose_unit: prescription.advices[b].single_dose_unit,
1268
                       single_dose_unit: prescription.advices[b].single_dose_unit,
1264
                       prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
1269
                       prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
1265
                       medical_insurance_number: prescription.advices[b].med_list_codg,
1270
                       medical_insurance_number: prescription.advices[b].med_list_codg,
1266
-                      id: prescription.advices[b].drug_id
1271
+                      id: prescription.advices[b].drug_id,
1272
+                      drug:prescription.advices[b].drug
1267
                     };
1273
                     };
1268
                     tempAdvice.push(obj)
1274
                     tempAdvice.push(obj)
1269
                   }
1275
                   }
1355
                           single_dose_unit: prescription.advices[b].single_dose_unit,
1361
                           single_dose_unit: prescription.advices[b].single_dose_unit,
1356
                           prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
1362
                           prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
1357
                           medical_insurance_number: prescription.advices[b].med_list_codg,
1363
                           medical_insurance_number: prescription.advices[b].med_list_codg,
1358
-                          id: prescription.advices[b].drug_id
1364
+                          id: prescription.advices[b].drug_id,
1365
+                          drug:prescription.advices[b].drug
1366
+
1359
                         };
1367
                         };
1360
                         tempAdvice.push(obj)
1368
                         tempAdvice.push(obj)
1361
                       }
1369
                       }
1553
                           single_dose_unit: prescription.advices[b].single_dose_unit,
1561
                           single_dose_unit: prescription.advices[b].single_dose_unit,
1554
                           prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
1562
                           prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
1555
                           medical_insurance_number: prescription.advices[b].med_list_codg,
1563
                           medical_insurance_number: prescription.advices[b].med_list_codg,
1556
-                          id: prescription.advices[b].drug_id
1564
+                          id: prescription.advices[b].drug_id,
1565
+                          drug:prescription.advices[b].drug
1566
+
1557
                         };
1567
                         };
1558
                         tempAdvice.push(obj)
1568
                         tempAdvice.push(obj)
1559
                       }
1569
                       }
1649
                             single_dose_unit: prescription.advices[b].single_dose_unit,
1659
                             single_dose_unit: prescription.advices[b].single_dose_unit,
1650
                             prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
1660
                             prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
1651
                             medical_insurance_number: prescription.advices[b].med_list_codg,
1661
                             medical_insurance_number: prescription.advices[b].med_list_codg,
1652
-                            id: prescription.advices[b].drug_id
1662
+                            id: prescription.advices[b].drug_id,
1663
+                            drug:prescription.advices[b].drug
1664
+
1653
                           };
1665
                           };
1654
                           tempAdvice.push(obj)
1666
                           tempAdvice.push(obj)
1655
                         }
1667
                         }
1741
                                 single_dose_unit: prescription.advices[b].single_dose_unit,
1753
                                 single_dose_unit: prescription.advices[b].single_dose_unit,
1742
                                 prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
1754
                                 prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
1743
                                 medical_insurance_number: prescription.advices[b].med_list_codg,
1755
                                 medical_insurance_number: prescription.advices[b].med_list_codg,
1744
-                                id: prescription.advices[b].drug_id
1756
+                                id: prescription.advices[b].drug_id,
1757
+                                drug:prescription.advices[b].drug
1758
+
1745
                               };
1759
                               };
1746
                               tempAdvice.push(obj)
1760
                               tempAdvice.push(obj)
1747
                             }
1761
                             }
1927
                           single_dose_unit: prescription.advices[b].single_dose_unit,
1941
                           single_dose_unit: prescription.advices[b].single_dose_unit,
1928
                           prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
1942
                           prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
1929
                           medical_insurance_number: prescription.advices[b].med_list_codg,
1943
                           medical_insurance_number: prescription.advices[b].med_list_codg,
1930
-                          id: prescription.advices[b].drug_id
1944
+                          id: prescription.advices[b].drug_id,
1945
+                          drug:prescription.advices[b].drug
1946
+
1931
                         };
1947
                         };
1932
                         tempAdvice.push(obj)
1948
                         tempAdvice.push(obj)
1933
                       }
1949
                       }
2023
                             single_dose_unit: prescription.advices[b].single_dose_unit,
2039
                             single_dose_unit: prescription.advices[b].single_dose_unit,
2024
                             prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
2040
                             prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
2025
                             medical_insurance_number: prescription.advices[b].med_list_codg,
2041
                             medical_insurance_number: prescription.advices[b].med_list_codg,
2026
-                            id: prescription.advices[b].drug_id
2042
+                            id: prescription.advices[b].drug_id,
2043
+                            drug:prescription.advices[b].drug
2044
+
2027
                           };
2045
                           };
2028
                           tempAdvice.push(obj)
2046
                           tempAdvice.push(obj)
2029
                         }
2047
                         }
2115
                                 single_dose_unit: prescription.advices[b].single_dose_unit,
2133
                                 single_dose_unit: prescription.advices[b].single_dose_unit,
2116
                                 prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
2134
                                 prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
2117
                                 medical_insurance_number: prescription.advices[b].med_list_codg,
2135
                                 medical_insurance_number: prescription.advices[b].med_list_codg,
2118
-                                id: prescription.advices[b].drug_id
2136
+                                id: prescription.advices[b].drug_id,
2137
+                                drug:prescription.advices[b].drug
2138
+
2119
                               };
2139
                               };
2120
                               tempAdvice.push(obj)
2140
                               tempAdvice.push(obj)
2121
                             }
2141
                             }
2302
                           single_dose_unit: prescription.advices[b].single_dose_unit,
2322
                           single_dose_unit: prescription.advices[b].single_dose_unit,
2303
                           prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
2323
                           prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
2304
                           medical_insurance_number: prescription.advices[b].med_list_codg,
2324
                           medical_insurance_number: prescription.advices[b].med_list_codg,
2305
-                          id: prescription.advices[b].drug_id
2325
+                          id: prescription.advices[b].drug_id,
2326
+                          drug:prescription.advices[b].drug
2327
+
2306
                         };
2328
                         };
2307
                         tempAdvice.push(obj)
2329
                         tempAdvice.push(obj)
2308
                       }
2330
                       }
2398
                             single_dose_unit: prescription.advices[b].single_dose_unit,
2420
                             single_dose_unit: prescription.advices[b].single_dose_unit,
2399
                             prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
2421
                             prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
2400
                             medical_insurance_number: prescription.advices[b].med_list_codg,
2422
                             medical_insurance_number: prescription.advices[b].med_list_codg,
2401
-                            id: prescription.advices[b].drug_id
2423
+                            id: prescription.advices[b].drug_id,
2424
+                            drug:prescription.advices[b].drug
2425
+
2402
                           };
2426
                           };
2403
                           tempAdvice.push(obj)
2427
                           tempAdvice.push(obj)
2404
                         }
2428
                         }
2490
                                 single_dose_unit: prescription.advices[b].single_dose_unit,
2514
                                 single_dose_unit: prescription.advices[b].single_dose_unit,
2491
                                 prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
2515
                                 prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
2492
                                 medical_insurance_number: prescription.advices[b].med_list_codg,
2516
                                 medical_insurance_number: prescription.advices[b].med_list_codg,
2493
-                                id: prescription.advices[b].drug_id
2517
+                                id: prescription.advices[b].drug_id,
2518
+                                drug:prescription.advices[b].drug
2519
+
2494
                               };
2520
                               };
2495
                               tempAdvice.push(obj)
2521
                               tempAdvice.push(obj)
2496
                             }
2522
                             }
2726
                         single_dose_unit: prescription.advices[b].single_dose_unit,
2752
                         single_dose_unit: prescription.advices[b].single_dose_unit,
2727
                         prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
2753
                         prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
2728
                         medical_insurance_number: prescription.advices[b].med_list_codg,
2754
                         medical_insurance_number: prescription.advices[b].med_list_codg,
2729
-                        id: prescription.advices[b].drug_id
2755
+                        id: prescription.advices[b].drug_id,
2756
+                        drug:prescription.advices[b].drug
2757
+
2730
                       };
2758
                       };
2731
                       tempAdvice.push(obj)
2759
                       tempAdvice.push(obj)
2732
                     }
2760
                     }
2822
                           single_dose_unit: prescription.advices[b].single_dose_unit,
2850
                           single_dose_unit: prescription.advices[b].single_dose_unit,
2823
                           prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
2851
                           prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
2824
                           medical_insurance_number: prescription.advices[b].med_list_codg,
2852
                           medical_insurance_number: prescription.advices[b].med_list_codg,
2825
-                          id: prescription.advices[b].drug_id
2853
+                          id: prescription.advices[b].drug_id,
2854
+                          drug:prescription.advices[b].drug
2855
+
2826
                         };
2856
                         };
2827
                         tempAdvice.push(obj)
2857
                         tempAdvice.push(obj)
2828
                       }
2858
                       }
2914
                               single_dose_unit: prescription.advices[b].single_dose_unit,
2944
                               single_dose_unit: prescription.advices[b].single_dose_unit,
2915
                               prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
2945
                               prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
2916
                               medical_insurance_number: prescription.advices[b].med_list_codg,
2946
                               medical_insurance_number: prescription.advices[b].med_list_codg,
2917
-                              id: prescription.advices[b].drug_id
2947
+                              id: prescription.advices[b].drug_id,
2948
+                              drug:prescription.advices[b].drug
2949
+
2918
                             };
2950
                             };
2919
                             tempAdvice.push(obj)
2951
                             tempAdvice.push(obj)
2920
                           }
2952
                           }
3100
                       single_dose_unit: prescription.advices[b].single_dose_unit,
3132
                       single_dose_unit: prescription.advices[b].single_dose_unit,
3101
                       prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
3133
                       prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
3102
                       medical_insurance_number: prescription.advices[b].med_list_codg,
3134
                       medical_insurance_number: prescription.advices[b].med_list_codg,
3103
-                      id: prescription.advices[b].drug_id
3135
+                      id: prescription.advices[b].drug_id,
3136
+                      drug:prescription.advices[b].drug
3137
+
3104
                     };
3138
                     };
3105
                     tempAdvice.push(obj)
3139
                     tempAdvice.push(obj)
3106
                   }
3140
                   }
3196
                         single_dose_unit: prescription.advices[b].single_dose_unit,
3230
                         single_dose_unit: prescription.advices[b].single_dose_unit,
3197
                         prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
3231
                         prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
3198
                         medical_insurance_number: prescription.advices[b].med_list_codg,
3232
                         medical_insurance_number: prescription.advices[b].med_list_codg,
3199
-                        id: prescription.advices[b].drug_id
3233
+                        id: prescription.advices[b].drug_id,
3234
+                        drug:prescription.advices[b].drug
3235
+
3200
                       };
3236
                       };
3201
                       tempAdvice.push(obj)
3237
                       tempAdvice.push(obj)
3202
                     }
3238
                     }
3288
                             single_dose_unit: prescription.advices[b].single_dose_unit,
3324
                             single_dose_unit: prescription.advices[b].single_dose_unit,
3289
                             prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
3325
                             prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
3290
                             medical_insurance_number: prescription.advices[b].med_list_codg,
3326
                             medical_insurance_number: prescription.advices[b].med_list_codg,
3291
-                            id: prescription.advices[b].drug_id
3327
+                            id: prescription.advices[b].drug_id,
3328
+                            drug:prescription.advices[b].drug
3329
+
3292
                           };
3330
                           };
3293
                           tempAdvice.push(obj)
3331
                           tempAdvice.push(obj)
3294
                         }
3332
                         }

+ 485 - 0
src/xt_pages/outpatientDoctorStation/prescriptionTemplate.vue View File

1
+<template>
2
+    <div class="main-contain new-main-contain">
3
+        <div class="position">
4
+            <bread-crumb :crumbs='crumbs'></bread-crumb>
5
+            <el-button type="primary" @click="add">新增</el-button>
6
+
7
+        </div>
8
+        <div class="app-container" style="display:flex;flex: 1;padding: 10px 20px 0px 20px;">
9
+            <div class="mainLeft">
10
+                <div class="mainCell" style="margin-bottom:10px;">
11
+                    <el-input size="small" placeholder="请输入姓名" @input="searchAction"
12
+                              @keyup.enter.native='searchAction'
13
+                              v-model="search_input" class="filter-item"/>
14
+                    <el-button size="small" style="margin-left:10px;" class="filter-item" type="primary"
15
+                               @click="searchAction">
16
+                        搜索
17
+                    </el-button>
18
+                </div>
19
+                <div>
20
+                    <el-table :data="data" :height="tableHeight" @row-click='choosePatient'
21
+                              @current-change='currentChange' border style="width: 100%;"
22
+                              :row-style="{ color: '#303133' }"
23
+                              :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
24
+                              highlight-current-row
25
+                              ref="tab">
26
+                        <el-table-column prop="name" label="姓名">
27
+                            <template slot-scope="scope">{{scope.row.name}}</template>
28
+                        </el-table-column>
29
+                    </el-table>
30
+                </div>
31
+            </div>
32
+            <div class="mainRight">
33
+                <el-table :data="templates" :height="tableHeight" @row-click='choosePatient'
34
+                          @current-change='currentChange' border style="width: 100%;"
35
+                          :row-style="{ color: '#303133' }"
36
+                          :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
37
+                          highlight-current-row
38
+                          ref="tab"
39
+                >
40
+                    <el-table-column prop="name" label="模版名称" >
41
+                        <template slot-scope="scope">{{scope.row.name}}</template>
42
+                    </el-table-column>
43
+                    <el-table-column prop="name" label="透析模式" >
44
+                        <template slot-scope="scope">{{getMode(scope.row.mode)}}</template>
45
+                    </el-table-column>
46
+                    <el-table-column prop="name" label="操作">
47
+                        <template slot-scope="scope">
48
+                            <el-button size="mini" type="primary" @click="jumpDetail(scope.row)">编辑</el-button>
49
+                            <el-button size="mini" type="danger" @click="deleteTemplate(scope.row)">删除</el-button>
50
+                        </template>
51
+                    </el-table-column>
52
+                </el-table>
53
+
54
+
55
+                <el-pagination
56
+                        @size-change="handleSizeChange"
57
+                        @current-change="handleCurrentChange"
58
+                        :page-sizes="[10, 50, 100]"
59
+                        :page-size="10"
60
+                        background
61
+                        align="right"
62
+                        style="margin-top:20px;"
63
+                        layout="total, sizes, prev, pager, next, jumper"
64
+                        :total="total"
65
+                >
66
+                </el-pagination>
67
+            </div>
68
+        </div>
69
+    </div>
70
+</template>
71
+
72
+<script>
73
+  import BreadCrumb from '@/xt_pages/components/bread-crumb'
74
+  import { getPatientList, getPrescriptiontemplateList,delHisPrescriptionTemplate } from '@/api/his/his_config'
75
+  import { uParseTime } from '@/utils/tools'
76
+
77
+  const moment = require('moment')
78
+  export default {
79
+    components: {
80
+      BreadCrumb
81
+    },
82
+    data() {
83
+      return {
84
+        templates: [],
85
+        tableHeight: '',
86
+        fullHeight: document.documentElement.clientHeight,
87
+        isloading: false,
88
+        data: [],
89
+        page: 1,
90
+        limit: 10,
91
+        patient_id: 0
92
+      }
93
+    },
94
+    methods: {
95
+      jumpDetail(row){
96
+        this.$router.push("/outpatientDoctorStation/prescriptionTemplatedetail?id="+row.id+"&patient_id="+this.patient_id)
97
+      },
98
+      deleteTemplate(row){
99
+        this.$confirm('处方模版删除后不可恢复,是否确认删除', '删除', {
100
+          confirmButtonText: '确 定',
101
+          cancelButtonText: '取 消',
102
+          type: 'warning'
103
+        }).then(() => {
104
+          let params = {
105
+            id:row.id
106
+          }
107
+          delHisPrescriptionTemplate(params).then(response => {
108
+            if (response.data.state == 1) {
109
+              this.GetPrescriptiontemplateList()
110
+            }
111
+          })
112
+
113
+        }).catch(() => {
114
+
115
+        })
116
+
117
+
118
+      },
119
+      getMode(id){
120
+        let name = ''
121
+        this.treatment_mode = Object.values(this.$store.getters.treatment_mode)
122
+        this.treatment_mode.map(item => {
123
+          if(item.id == id){
124
+            name = item.name
125
+          }
126
+        })
127
+        return name
128
+      },
129
+      handleSizeChange(val) {
130
+        this.limit = val
131
+        this.GetPrescriptiontemplateList()
132
+      },
133
+      handleCurrentChange(val) {
134
+        this.page = val
135
+        this.GetPrescriptiontemplateList()
136
+      },
137
+      GetPrescriptiontemplateList() {
138
+        let params = {
139
+          patient_id: this.patient_id,
140
+          page: this.page,
141
+          limit: this.limit
142
+        }
143
+        getPrescriptiontemplateList(params).then(response => {
144
+          if (response.data.state == 1) {
145
+            this.templates = response.data.data.list
146
+            this.total = response.data.data.total
147
+          }
148
+        })
149
+
150
+      },
151
+      searchAction() {
152
+
153
+      },choosePatient(val) {
154
+         this.page = 1,
155
+         this.limit = 10
156
+        let params = {
157
+          patient_id: val.id,
158
+          page: this.page,
159
+          limit: this.limit
160
+        }
161
+        getPrescriptiontemplateList(params).then(response => {
162
+          if (response.data.state == 1) {
163
+            this.templates = response.data.data.list
164
+            this.total = response.data.data.total
165
+          }
166
+        })
167
+      },
168
+      getList(id) {
169
+        getPatientList().then(response => {
170
+          if (response.data.state == 1) {
171
+            this.data = response.data.data.list
172
+            this.$refs.tab.setCurrentRow(this.data[0])
173
+            this.patient_id = this.data[0].id
174
+            this.GetPrescriptiontemplateList()
175
+
176
+          }
177
+        })
178
+      },
179
+      getTime(val, temp) {
180
+        if (val != 0) {
181
+          return uParseTime(val, temp)
182
+        } else {
183
+          return ''
184
+        }
185
+      },add(){
186
+        if(this.patient_id == 0){
187
+          this.$message.error("请选择病人")
188
+          return
189
+        }
190
+        this.$router.push("/outpatientDoctorStation/prescriptionTemplatedetail?id="+0+"&patient_id="+this.patient_id)
191
+
192
+      }
193
+    },
194
+    created() {
195
+      var nowDate = new Date()
196
+      var nowYear = nowDate.getFullYear()
197
+      var nowMonth = nowDate.getMonth() + 1
198
+      var nowDay = nowDate.getDate()
199
+      this.record_date =
200
+        nowYear +
201
+        '-' +
202
+        (nowMonth < 10 ? '0' + nowMonth : nowMonth) +
203
+        '-' +
204
+        (nowDay < 10 ? '0' + nowDay : nowDay)
205
+      this.getList()
206
+      let tableHeight = document.body.clientHeight - 263
207
+      this.tableHeight = tableHeight
208
+
209
+    },
210
+
211
+    mounted() {
212
+      const that = this
213
+      window.onresize = () => {
214
+        return (() => {
215
+          window.fullHeight = document.documentElement.clientHeight
216
+          that.fullHeight = window.fullHeight
217
+        })()
218
+      }
219
+    },
220
+    watch: {
221
+      fullHeight(val) {
222
+        if (!this.timer) {
223
+          this.fullHeight = val
224
+          let tableHeight = val - 263
225
+          this.tableHeight = tableHeight
226
+          this.timer = true
227
+          let that = this
228
+          setTimeout(function() {
229
+            that.timer = false
230
+          }, 400)
231
+        }
232
+      }
233
+
234
+    }
235
+  }
236
+</script>
237
+
238
+<style lang="scss" scoped>
239
+    .new-main-contain {
240
+        height: 100%;
241
+        display: flex;
242
+        flex-direction: column;
243
+    }
244
+
245
+    .app-container {
246
+        height: 100%;
247
+    }
248
+
249
+    .mainCell {
250
+        height: 36px;
251
+        display: flex;
252
+        align-items: center;
253
+    }
254
+
255
+    .mainLeft {
256
+        width: 200px;
257
+        height: 100%;
258
+        display: flex;
259
+        flex-direction: column;
260
+
261
+    .el-radio {
262
+        margin-right: 5px;
263
+    }
264
+
265
+    }
266
+    .mainRight {
267
+        margin-left: 10px;
268
+        flex: 1;
269
+        height: 100%;
270
+        display: flex;
271
+        flex-direction: column;
272
+        overflow-y: auto;
273
+
274
+    .cellSpan {
275
+        min-width: 80px;
276
+        display: inline-block;
277
+        margin-right: 10px;
278
+    }
279
+
280
+    }
281
+    .mainCenter {
282
+        display: flex;
283
+        flex: 1;
284
+    }
285
+
286
+    .centerLeft {
287
+        flex: 1;
288
+        display: flex;
289
+        flex-direction: column;
290
+        position: relative;
291
+
292
+    .el-form-item {
293
+        width: 32%;
294
+        margin-right: 1%;
295
+        float: left;
296
+    }
297
+
298
+    .el-form-item__label {
299
+        text-align: left;
300
+    }
301
+
302
+    }
303
+    .backColor {
304
+        background: #f6f8f9;
305
+        height: 5px;
306
+        margin-bottom: 5px;
307
+    }
308
+
309
+    .tabsBox {
310
+        position: relative;
311
+        height: 76%;
312
+        overflow-y: auto;
313
+        margin-bottom: 60px;
314
+
315
+    .el-tabs__item {
316
+        padding: 0 10px;
317
+    }
318
+
319
+    }
320
+    .preTabs {
321
+        height: 100%;
322
+        display: flex;
323
+        flex-direction: column;
324
+
325
+    .el-tabs__content {
326
+        flex: 1;
327
+        overflow-y: auto;
328
+    }
329
+
330
+    }
331
+
332
+    .costBox {
333
+        width: 100%;
334
+        height: 60px;
335
+        background: #fff;
336
+        position: absolute;
337
+        bottom: 0;
338
+        display: flex;
339
+        align-items: center;
340
+    }
341
+
342
+    .addTab {
343
+        position: absolute;
344
+        right: 0;
345
+        top: 14px;
346
+        z-index: 20;
347
+    }
348
+
349
+    .centerRight {
350
+        width: 300px;
351
+        margin-left: 10px;
352
+        display: flex;
353
+        flex-direction: column;
354
+        position: relative;
355
+    }
356
+
357
+    .rightTab {
358
+        height: 40px;
359
+        width: 100%;
360
+        border: 1px solid #d2d2d2;
361
+        box-sizing: border-box;
362
+
363
+    p {
364
+        width: 50%;
365
+        height: 40px;
366
+        line-height: 40px;
367
+        text-align: center;
368
+        background: #eee;
369
+        float: left;
370
+    }
371
+
372
+    > p:last-child {
373
+        border-left: 1px solid #d2d2d2;
374
+        float: right;
375
+    }
376
+
377
+    .activeP {
378
+        background: #409EFF;
379
+        color: #fff;
380
+    }
381
+
382
+    }
383
+    .comfirmBox {
384
+        width: 100%;
385
+        height: 60px;
386
+        background: #fff;
387
+        position: absolute;
388
+        bottom: 0;
389
+        display: flex;
390
+        align-items: center;
391
+        justify-content: space-between;
392
+    }
393
+
394
+    .mainHeader {
395
+        width: 100%;
396
+        background: #fff;
397
+        position: fixed;
398
+        z-index: 100;
399
+        height: 36px;
400
+    }
401
+
402
+    .titleBox {
403
+        position: fixed;
404
+        z-index: 99;
405
+        background: #fff;
406
+    }
407
+
408
+    .fixedCell {
409
+        position: fixed;
410
+        z-index: 99;
411
+        right: 30px;
412
+        background: #fff;
413
+        width: 300px;
414
+        display: flex;
415
+        justify-content: space-between;
416
+    }
417
+</style>
418
+
419
+<style lang="scss">
420
+    .centerLeft {
421
+
422
+    .el-form-item__label {
423
+        text-align: left;
424
+    }
425
+
426
+    }
427
+    .tabsBox {
428
+
429
+    .el-tabs__item {
430
+        padding: 0 10px;
431
+    }
432
+
433
+    .el-tabs--bottom .el-tabs--left > .el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--bottom .el-tabs--right > .el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--bottom.el-tabs--border-card > .el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--bottom.el-tabs--card > .el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--top .el-tabs--left > .el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--top .el-tabs--right > .el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--top.el-tabs--border-card > .el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--top.el-tabs--card > .el-tabs__header .el-tabs__item:nth-child(2) {
434
+        padding: 0 10px;
435
+    }
436
+
437
+    .el-tabs--bottom .el-tabs--left > .el-tabs__header .el-tabs__item:last-child, .el-tabs--bottom .el-tabs--right > .el-tabs__header .el-tabs__item:last-child, .el-tabs--bottom.el-tabs--border-card > .el-tabs__header .el-tabs__item:last-child, .el-tabs--bottom.el-tabs--card > .el-tabs__header .el-tabs__item:last-child, .el-tabs--top .el-tabs--left > .el-tabs__header .el-tabs__item:last-child, .el-tabs--top .el-tabs--right > .el-tabs__header .el-tabs__item:last-child, .el-tabs--top.el-tabs--border-card > .el-tabs__header .el-tabs__item:last-child, .el-tabs--top.el-tabs--card > .el-tabs__header .el-tabs__item:last-child {
438
+        padding: 0 10px;
439
+    }
440
+
441
+    .el-tabs--card > .el-tabs__header .el-tabs__item.is-active.is-closable {
442
+        padding: 0 10px;
443
+    }
444
+
445
+    }
446
+    .centerRight {
447
+
448
+    .el-tabs__nav-scroll {
449
+        display: flex;
450
+    }
451
+
452
+    .el-tabs__nav {
453
+        margin: 0 auto;
454
+    }
455
+
456
+    .el-table th .cell, .el-table td .cell {
457
+        padding: 0 2px;
458
+    }
459
+
460
+    }
461
+    .preTabs {
462
+
463
+    .el-tabs__content {
464
+
465
+    }
466
+
467
+    }
468
+    .rightTabs {
469
+        height: 100%;
470
+
471
+
472
+    .el-tabs__content {
473
+
474
+    }
475
+
476
+    }
477
+    .centerDialog {
478
+
479
+    .el-dialog__body {
480
+        max-height: calc(100vh - 100px) !important;
481
+        padding: 0 20px;
482
+    }
483
+
484
+    }
485
+</style>

File diff suppressed because it is too large
+ 1995 - 0
src/xt_pages/outpatientDoctorStation/prescriptionTemplatedetail.vue


+ 8 - 3
src/xt_pages/outpatientDoctorStation/print.vue View File

13
       </template>
13
       </template>
14
             
14
             
15
     <div class='dialysisPage' style="padding-top:40px;">
15
     <div class='dialysisPage' style="padding-top:40px;">
16
-      <printOne v-bind:childResponse="childResponse" :advicePrint="advicePrint" :ids="ids" :patient="patient" :hisPatient="hisPatient" :doctorPorject="doctorPorject" :patient_id="patient_id" :record_date="record_date" :prescription_id="prescription_id"></printOne>
16
+      <printOne v-if="org_id != 10088" v-bind:childResponse="childResponse" :advicePrint="advicePrint" :ids="ids" :patient="patient" :hisPatient="hisPatient" :doctorPorject="doctorPorject" :patient_id="patient_id" :record_date="record_date" :prescription_id="prescription_id"></printOne>
17
+      <printFour v-else v-bind:childResponse="childResponse" :advicePrint="advicePrint" :ids="ids" :patient="patient" :hisPatient="hisPatient" :doctorPorject="doctorPorject" :patient_id="patient_id" :record_date="record_date" :prescription_id="prescription_id"></printFour>
17
     </div>
18
     </div>
18
   </div>
19
   </div>
19
 </template>
20
 </template>
29
 import BreadCrumb from "@/xt_pages/components/bread-crumb";
30
 import BreadCrumb from "@/xt_pages/components/bread-crumb";
30
 import print from "print-js";
31
 import print from "print-js";
31
 import printOne from "./template/printOne"
32
 import printOne from "./template/printOne"
33
+import printFour from "./template/printFour"
32
 import { getAllDoctorList,getAllHisPatientList,getPrescriptionPrint } from "@/api/project/project"
34
 import { getAllDoctorList,getAllHisPatientList,getPrescriptionPrint } from "@/api/project/project"
33
 export default {
35
 export default {
34
   name: "dialysisPrintOrder",
36
   name: "dialysisPrintOrder",
35
   components: {
37
   components: {
36
     BreadCrumb,
38
     BreadCrumb,
37
-    printOne
39
+    printOne,
40
+    printFour
38
   },
41
   },
39
   props:{
42
   props:{
40
     paramsObj:Object
43
     paramsObj:Object
56
        patient_id:"",
59
        patient_id:"",
57
        prescription_id:"",
60
        prescription_id:"",
58
        ids:'',
61
        ids:'',
59
-       paramsObj:{}
62
+       paramsObj:{},
63
+       org_id:''
60
     };
64
     };
61
   },
65
   },
62
   methods:{
66
   methods:{
154
   },
158
   },
155
 
159
 
156
   created() {
160
   created() {
161
+    this.org_id = this.$store.getters.xt_user.org_id
157
     this.getAllDoctorList()
162
     this.getAllDoctorList()
158
     var record_date = this.paramsObj.record
163
     var record_date = this.paramsObj.record
159
     this.record_date = record_date
164
     this.record_date = record_date

+ 330 - 0
src/xt_pages/outpatientDoctorStation/template/printFour.vue View File

1
+<template>
2
+  <div id='prescriptionPrint'>
3
+    <div v-for="(item,index) in advicePrint" :key="index">
4
+      <div id='prescription-print' class="prescription-print" style="page-break-after: always;">
5
+          <div class="printTitle">{{orgname}}处方笺</div>
6
+          <div class="infoTitle">
7
+              <p>姓名:{{item.patient.name?item.patient.name:""}}</p>
8
+              <p>性别:
9
+                <span v-if="item.patient.gender == 1">男</span>
10
+                <span v-if="item.patient.gender == 2">女</span>
11
+              </p>
12
+              <p>年龄:{{item.patient.age?item.patient.age:""}}岁</p>
13
+          </div>
14
+          <div class="infoMain">
15
+              <div style="margin-bottom: 10px;">门诊号:{{hisPatient.number?hisPatient.number:""}}</div>
16
+              <div style="margin-bottom: 10px;">科室:{{item.info?getDepart(item.info.departments):''}}</div>
17
+              <div style="margin-bottom: 10px;">医保卡号:{{item.hisPatient.number?item.hisPatient.number:""}}</div>
18
+              <div style="margin-bottom: 10px;">电话:{{item.patient.phone}}</div>
19
+              <div>地址:{{item.patient.home_address}}</div>
20
+              <div style="display:flex;width:50%;">临床诊断:{{getDiagnosis(item.info.diagnosis)}}</div>
21
+          </div>
22
+          <div class="prescriptionBox">
23
+              <div class="Rp">Rp:</div>
24
+              <div class="drugsBox" v-for="(it,index) in item.advices" :key="index">
25
+                  <!-- <div class="drugsOne"><span style="font-weight:bold;">{{ index+1 + '.' }}</span>{{it.advice_name?it.advice_name:""}}&nbsp;&nbsp;{{it.single_dose}}{{it.single_dose_unit}}&nbsp;×&nbsp; {{it.prescribing_number}}{{it.prescribing_number_unit}}</div> -->
26
+                  <div class="drugsOne"><span style="font-weight:bold;">{{ index+1 + '.' }}</span>{{it.advice_name?it.advice_name:""}}&nbsp;&nbsp;<span>用法:{{it.single_dose}}{{it.single_dose_unit}}</span>&nbsp;&nbsp;<span>{{it.execution_frequency}}&nbsp;{{it.delivery_way}}&nbsp;</span>&nbsp;&nbsp;<span>{{it.advice_desc}}</span></div>
27
+                  <div style="margin-left:100px;"><span>{{it.drug.drug_spec}}&nbsp;×&nbsp; {{it.prescribing_number}}{{it.prescribing_number_unit}}</span></div>
28
+              </div>
29
+              <div class="drugsBox" v-for="(it,i) in item.additionalcharge" :key="i">
30
+                <div class="drugsOne">{{it.item_name?it.item_name:""}}:&nbsp;{{it.price}}元/{{it.count}}次</div>
31
+               </div>
32
+               
33
+              <div class="drugsBox" v-for="(it,index) in item.project" :key="index">
34
+                  <div class="drugsOne"><span style="font-weight:bold;">{{ index+1 + '.' }}</span>{{getProjectName(it.project_id)?getProjectName(it.project_id):""}}&nbsp;&nbsp;<span>用法:{{it.single_dose}}{{it.single_dose_unit}}</span>&nbsp;&nbsp;<span>{{it.delivery_way}}</span>&nbsp;&nbsp;<span>{{it.advice_desc}}</span></div>
35
+                  <div style="margin-left:100px;"><span>{{it.single_dose}}{{it.single_dose_unit}}&nbsp;×&nbsp; {{it.count}}{{unit}}</span></div>
36
+              </div>
37
+              <div class="drugsBox" v-for="(it,i) in item.additionalcharge" :key="i">
38
+                <div class="drugsOne">{{it.project_id?it.project_id:""}}:&nbsp;{{it.price}}元/{{it.count}}次</div>
39
+               </div>
40
+               <div style="text-align:center;" >(以下空白)</div>
41
+
42
+          </div>
43
+          <div class="doctorBox">
44
+              <p>医师:{{item.doctor?item.doctor:""}}</p>
45
+              <p>日期:{{getTime(item.ctime)?getTime(item.ctime):""}}</p>
46
+          </div>
47
+          <div class="actionBar">
48
+                 <!-- <p>审核:{{getDoctor(item.advices[0].checker)?getDoctor(item.advices[0].checker):""}}</p>
49
+                 <p>配对:</p>
50
+                 <p>核对:{{getDoctor(item.advices[0].checker)?getDoctor(item.advices[0].checker):""}}</p>
51
+                 <p>发药:{{getDoctor(item.advices[0].execution_staff)?getDoctor(item.advices[0].execution_staff):""}}</p>
52
+                 <p>药费:{{getTotalOne(item.id)?getTotalOne(item.id):0}}元</p> -->
53
+
54
+                 <p>审核:</p>
55
+                 <p>配对:</p>
56
+                 <p>核对:</p>
57
+                 <p>发药:</p>
58
+                 <p>药费:{{getTotalOne(item.id).toFixed(2)?getTotalOne(item.id).toFixed(2):0}}元</p>
59
+          </div>
60
+          <div style="page-break-after:always"></div>
61
+      </div>
62
+    </div>
63
+    
64
+  </div>
65
+
66
+    
67
+</template>
68
+<script>
69
+import { jsGetAge, uParseTime } from '@/utils/tools'
70
+import {getAllDoctorList,getPrescriptionPrint,getHisPatientDetail} from "@/api/project/project"
71
+import {getInitData} from "@/api/his/his"
72
+export default {
73
+    props:{
74
+      patient_id:Number,
75
+      record_date:String,
76
+      prescription_id:Number,
77
+      ids:String
78
+    }, 
79
+    data(){
80
+      return {
81
+        doctorList:[],
82
+        advicePrint:{},
83
+        patient:{},
84
+        tableData:[],
85
+        prescriptionInfo:[],
86
+        hisPatient:{},
87
+        department:[],
88
+        prescriptions:[],
89
+        projectList:[],
90
+        orgname:"",
91
+        diagnoses:[],
92
+      }
93
+    },
94
+   methods:{
95
+     
96
+     getAllDoctorList(){
97
+      getAllDoctorList().then(response=>{
98
+        if(response.data.state == 1){
99
+               var doctor =  response.data.data.doctor
100
+               
101
+               this.doctorList = doctor
102
+             }
103
+         })   
104
+     },
105
+
106
+      getDoctor(id){
107
+        var name = ""
108
+        for(let i=0;i<this.doctorList.length;i++){
109
+          if(id == this.doctorList[i].admin_user_id){
110
+              name = this.doctorList[i].user_name
111
+          }
112
+        }
113
+        return name
114
+      },
115
+      getTime(value, temp) {
116
+        if (value != undefined) {
117
+            return uParseTime(value, temp)
118
+        }
119
+        return ''
120
+     },
121
+       getPrescriptionPrint(){
122
+         var params = {
123
+          // patient_id:this.patient_id,
124
+          // record_date:this.record_date,
125
+          // prescription_id:this.prescription_id,
126
+          patient_id:this.patient_id,
127
+          record_date:this.record_date,
128
+          prescription_id:this.prescription_id,
129
+          ids:this.ids
130
+        }
131
+        console.log("params",params)
132
+       getPrescriptionPrint(params).then(response=>{
133
+         if(response.data.state == 1){
134
+            var advicePrint =  response.data.data.advicePrint
135
+            console.log("adviceprint9999",advicePrint)
136
+            this.advicePrint = advicePrint
137
+            this.prescriptions = advicePrint
138
+            console.log("处方222222",this.prescriptions)
139
+            var hisPatient = response.data.data.hisPatient
140
+            console.log("hisPatient",hisPatient)
141
+            this.hisPatient = hisPatient
142
+            var projectlist =  response.data.data.projectlist
143
+            console.log("所有项目列表",projectlist)
144
+            this.projectList = projectlist
145
+          }
146
+       })
147
+     },
148
+     getHisPatientDetail(){
149
+          const params = {
150
+              patient_id:this.patient_id
151
+          }
152
+       getHisPatientDetail(params).then(response=>{
153
+          if(response.data.state == 1){
154
+             var hisPatient =  response.data.data.hisPatient
155
+             console.log("挂号病人",hisPatient)
156
+             this.hisPatient = hisPatient
157
+          }
158
+       })
159
+     },
160
+     getInitData(){
161
+       getInitData().then(response=>{
162
+          if(response.data.state == 1){
163
+            this.department = response.data.data.department
164
+            this.diagnoses = response.data.data.diagnose
165
+            console.log("争端",this.diagnoses)
166
+          }
167
+       })
168
+     },
169
+     getDepart(id){
170
+         var name = ""
171
+       for(let i=0;i<this.department.length;i++){
172
+           if(id == this.department[i].id){
173
+               name = this.department[i].name
174
+           }
175
+       }
176
+       return name
177
+     },
178
+    getTotalOne(id) {
179
+
180
+        var total = 0
181
+        var addtotal = 0
182
+        for (let i = 0; i < this.prescriptions.length; i++) {
183
+          if(id == this.prescriptions[i].id){
184
+            if (this.prescriptions[i].project != null) {
185
+              for (let a = 0; a < this.prescriptions[i].project.length; a++) {
186
+                total = total + this.prescriptions[i].project[a].price * this.prescriptions[i].project[a].count
187
+              }
188
+            }
189
+
190
+            if (this.prescriptions[i].additionalcharge != null) {
191
+              for (let a = 0; a < this.prescriptions[i].additionalcharge.length; a++) {
192
+                addtotal = addtotal + this.prescriptions[i].additionalcharge[a].price * this.prescriptions[i].additionalcharge[a].count
193
+              }
194
+            }
195
+              addtotal =  Math.floor(addtotal * 100) / 100
196
+        }
197
+       
198
+       }
199
+
200
+      for (let i = 0; i < this.prescriptions.length; i++) {
201
+          if(id == this.prescriptions[i].id){
202
+            if (this.prescriptions[i].advices != null) {
203
+              for (let a = 0; a < this.prescriptions[i].advices.length; a++) {
204
+                total = total + this.prescriptions[i].advices[a].price * this.prescriptions[i].advices[a].prescribing_number
205
+              }
206
+            }
207
+          
208
+            if (this.prescriptions[i].additionalcharge != null) {
209
+              for (let a = 0; a < this.prescriptions[i].additionalcharge.length; a++) {
210
+                addtotal = addtotal + this.prescriptions[i].additionalcharge[a].price * this.prescriptions[i].additionalcharge[a].count
211
+              }
212
+            }
213
+              addtotal =  Math.floor(addtotal * 100) / 100
214
+        }
215
+       }
216
+
217
+        return total + addtotal
218
+      },
219
+      
220
+     getProjectName(id){
221
+        var project_name = ""
222
+        for(let i=0;i<this.projectList.length;i++){
223
+           if(id == this.projectList[i].id){
224
+               project_name = this.projectList[i].project_name
225
+           }
226
+        }
227
+        return project_name
228
+     },
229
+
230
+     getDiagnosis(id){
231
+        var name = ""
232
+        for(let i=0;i<this.diagnoses.length;i++){
233
+          if(id == this.diagnoses[i].id){
234
+             name = this.diagnoses[i].class_name
235
+          }
236
+        }
237
+        return name
238
+     }
239
+
240
+   },
241
+   created(){
242
+      this.getAllDoctorList()
243
+      this.getInitData()
244
+      this.getPrescriptionPrint()
245
+      this.getHisPatientDetail()
246
+      var xtuser = this.$store.getters.xt_user;
247
+      this.orgname = xtuser.org.org_name;
248
+     
249
+   },
250
+   watch:{
251
+     ids:function(val){
252
+      this.ids = val
253
+      this.getPrescriptionPrint()
254
+    }
255
+   }
256
+}
257
+</script>
258
+
259
+
260
+<style lang="scss" scoped>
261
+.prescription-print{
262
+  -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 60px rgba(0, 0, 0, 0.06) inset;
263
+    -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset; 
264
+    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset;
265
+    margin-bottom: 20px;
266
+    padding:20px 10px;
267
+}
268
+.printTitle{
269
+    font-size: 22px;
270
+    text-align: center;
271
+    font-weight: bold;
272
+}
273
+.infoTitle{
274
+    display: flex;
275
+    border-bottom: 2px solid #000;
276
+    margin-top:10px;
277
+    line-height: 24px;
278
+    padding:0 10px;
279
+}
280
+.infoTitle p{
281
+    width: 200px;
282
+}
283
+.infoMain{
284
+    display: flex;
285
+    flex-wrap: wrap;
286
+    border-bottom: 2px solid #000;
287
+    padding:0 10px;
288
+}
289
+.infoMain div{
290
+    width: 50%;
291
+    line-height: 24px;
292
+}
293
+.prescriptionBox{
294
+    padding:0 10px;
295
+    min-height:450px;
296
+}
297
+.Rp{
298
+    font-size: 22px;
299
+    font-weight: bold;
300
+}
301
+.drugsBox{
302
+    padding-left: 40px;
303
+    margin-bottom: 10px;
304
+}
305
+.drugsBox div{
306
+    line-height: 20px;
307
+}
308
+.drugsOne{
309
+    line-height: 24px;
310
+}
311
+.drugsOne span{
312
+    margin-right: 20px;
313
+}
314
+.doctorBox{
315
+    display: flex;
316
+    justify-content: space-between;
317
+    padding:0 10px;
318
+    line-height: 24px;
319
+    border-bottom: 2px solid #000;
320
+}
321
+.actionBar{
322
+    display: flex;
323
+    justify-content: space-between; 
324
+    line-height: 24px;
325
+    padding:0 10px;
326
+}
327
+.actionBar p{
328
+    width:150px;
329
+}
330
+</style>

+ 1 - 1
src/xt_pages/qcd/basicInformationAnalysis.vue View File

720
       //本月的结束时间
720
       //本月的结束时间
721
       var monthEndDate = new Date(nowYear, nowMonth+1, 0);
721
       var monthEndDate = new Date(nowYear, nowMonth+1, 0);
722
       var timeEnd=Date.parse(monthEndDate)/1000-1;//s
722
       var timeEnd=Date.parse(monthEndDate)/1000-1;//s
723
-      // console.log("本月最后一天",timeEnd)
723
+       console.log("本月最后一天",timeEnd)
724
       //本月
724
       //本月
725
       if(state == 0){
725
       if(state == 0){
726
        //统计透析总量
726
        //统计透析总量

+ 3 - 1
src/xt_pages/role/components/AdminInfoForm.vue View File

440
 
440
 
441
         user_types: [
441
         user_types: [
442
           { index: 2, name: '医生' },
442
           { index: 2, name: '医生' },
443
-          { index: 3, name: '护士' }
443
+          { index: 3, name: '护士' },
444
+          { index:4,name:'行政'},
445
+          { index:5,name:'其他'}
444
         ],
446
         ],
445
         user_titles: [
447
         user_titles: [
446
           { index: 1, name: '医士' },
448
           { index: 1, name: '医士' },

+ 3 - 1
src/xt_pages/stock/detail/print.vue View File

184
       },
184
       },
185
       getDialysisRecord() {
185
       getDialysisRecord() {
186
         this.loading = true
186
         this.loading = true
187
+        
187
         getPrintStockGood(this.queryParams).then(response => {
188
         getPrintStockGood(this.queryParams).then(response => {
188
           if (response.data.state == 1) {
189
           if (response.data.state == 1) {
189
             var stockTotal = response.data.data.stockTotal
190
             var stockTotal = response.data.data.stockTotal
251
             return false
252
             return false
252
           }
253
           }
253
         })
254
         })
254
-      }, calCount(stock) {
255
+      }, 
256
+      calCount(stock) {
255
       
257
       
256
         let total = 0
258
         let total = 0
257
         var array = []
259
         var array = []

+ 8 - 5
src/xt_pages/stock/detail/stockOutDetail.vue View File

164
         </el-table-column>
164
         </el-table-column>
165
         <el-table-column label="数量" align="center">
165
         <el-table-column label="数量" align="center">
166
           <template slot-scope="scope">
166
           <template slot-scope="scope">
167
-            {{ scope.row.count }}
167
+            <span v-if="orgId!=9583">{{ scope.row.count }}</span>
168
+            <span v-if="orgId ==9583">{{getStockCount(scope.row.good_id) }}</span>
168
           </template>
169
           </template>
169
         </el-table-column>
170
         </el-table-column>
170
         <el-table-column label="总价" align="center">
171
         <el-table-column label="总价" align="center">
227
     this.goodUnit = this.$store.getters.good_unit
228
     this.goodUnit = this.$store.getters.good_unit
228
     this.getPrintStockGood()
229
     this.getPrintStockGood()
229
     this.getList()
230
     this.getList()
231
+    var org_id = this.$store.getters.xt_user.org.id
232
+    this.orgId = org_id
233
+    console.log("机构信息",org_id)
230
   },
234
   },
231
   data() {
235
   data() {
232
     return {
236
     return {
260
       goodUnit:[],
264
       goodUnit:[],
261
       tableList:[],
265
       tableList:[],
262
       stockTotal:[],
266
       stockTotal:[],
263
-      goodInfoData:[]
267
+      goodInfoData:[],
268
+      orgId:"",
264
     };
269
     };
265
   },
270
   },
266
   methods: {
271
   methods: {
686
         return Math.floor(amountPrice* 100) / 100
691
         return Math.floor(amountPrice* 100) / 100
687
       },
692
       },
688
       getStockCount(id){
693
       getStockCount(id){
689
-
690
         var count = ""
694
         var count = ""
691
         for(let i=0;i<this.stockTotal.length;i++){
695
         for(let i=0;i<this.stockTotal.length;i++){
692
             if(id == this.stockTotal[i].good_id){
696
             if(id == this.stockTotal[i].good_id){
758
         this.tableList[i].index = i+1
762
         this.tableList[i].index = i+1
759
         this.tableList[i].min_unit = this.getUnit(this.tableList[i].good_unit)
763
         this.tableList[i].min_unit = this.getUnit(this.tableList[i].good_unit)
760
         this.tableList[i].count = this.getStockCount(this.tableList[i].id)
764
         this.tableList[i].count = this.getStockCount(this.tableList[i].id)
761
-        // this.tableList[i].price = this.tableList[i].query_warehouseout_info[0].buy_price
762
         this.tableList[i].total = (this.getStockCount(this.tableList[i].id) * this.tableList[i].buy_price).toFixed(2)
765
         this.tableList[i].total = (this.getStockCount(this.tableList[i].id) * this.tableList[i].buy_price).toFixed(2)
763
         this.tableList[i].remark = this.tableList[i].query_warehouseout_info[0].remark
766
         this.tableList[i].remark = this.tableList[i].query_warehouseout_info[0].remark
764
        }
767
        }
800
        }
803
        }
801
        return total_price
804
        return total_price
802
      },
805
      },
803
-
806
+   
804
      
807
      
805
   }
808
   }
806
 };
809
 };

+ 7 - 10
src/xt_pages/stock/drugs/drugStockInOrder.vue View File

422
           this.total = response.data.data.total;
422
           this.total = response.data.data.total;
423
           for (let i = 0; i < response.data.data.list.length; i++) {
423
           for (let i = 0; i < response.data.data.list.length; i++) {
424
             this.Warehouse.warehouseDate.push(response.data.data.list[i]);
424
             this.Warehouse.warehouseDate.push(response.data.data.list[i]);
425
-          }
426
-          console.log("列表",this.warehouse.warehouseDate)
425
+          }      
427
         }
426
         }
428
       });
427
       });
429
     },
428
     },
432
       row.index = rowIndex;
431
       row.index = rowIndex;
433
     },
432
     },
434
     onRowClick(row, event, column) {
433
     onRowClick(row, event, column) {
435
-      this.WarehouseInfo.warehouseInfoDate = [];
434
+     this.WarehouseInfo.warehouseInfoDate = [];
436
       this.Warehouse.tableCurrentIndex = row.index;
435
       this.Warehouse.tableCurrentIndex = row.index;
437
       const params = {
436
       const params = {
438
         id: row.id
437
         id: row.id
446
         } else {
445
         } else {
447
           this.WarehouseInfo.loading = false;
446
           this.WarehouseInfo.loading = false;
448
           for (let i = 0; i < response.data.data.info.length; i++) {
447
           for (let i = 0; i < response.data.data.info.length; i++) {
449
-            this.WarehouseInfo.warehouseInfoDate.push(
450
-              response.data.data.info[i]
451
-            );
448
+            this.WarehouseInfo.warehouseInfoDate.push(response.data.data.info[i]);
452
           }
449
           }
453
         }
450
         }
454
       });
451
       });
566
           this.$message.error(response.data.msg);
563
           this.$message.error(response.data.msg);
567
           return false;
564
           return false;
568
         } else {
565
         } else {
566
+          //  this.WarehouseInfo.warehouseInfoDate = []
567
+           
569
           for (let i = 0; i < response.data.data.info.length; i++) {
568
           for (let i = 0; i < response.data.data.info.length; i++) {
570
-            this.WarehouseInfo.warehouseInfoDate = []
571
-            this.WarehouseInfo.warehouseInfoDate.push(
572
-              response.data.data.info[i]
573
-            );
569
+            this.WarehouseInfo.warehouseInfoDate.push(response.data.data.info[i]);
574
           }
570
           }
571
+          console.log("列表222222222", this.WarehouseInfo.warehouseInfoDate)
575
           this.WarehouseInfo.warehouse = response.data.data.warehousing;
572
           this.WarehouseInfo.warehouse = response.data.data.warehousing;
576
         }
573
         }
577
       });
574
       });

+ 0 - 2
src/xt_pages/stock/drugs/drugStockOutOrderDetailPrint.vue View File

8
     <div class="app-container ">
8
     <div class="app-container ">
9
       <div id="dialysis-print-box">
9
       <div id="dialysis-print-box">
10
         <div class="dialysis-print-order">
10
         <div class="dialysis-print-order">
11
-         <div class="order-yy-name" style="font-weight:bold;">{{orgName}}</div>
12
-          <div class="order-title" style="font-weight:normal;">药品出库登记表</div>
13
          <div class="order-yy-name" style="font-size:22px;font-weight:bold;letter-spacing:0px;">{{orgName}}</div>
11
          <div class="order-yy-name" style="font-size:22px;font-weight:bold;letter-spacing:0px;">{{orgName}}</div>
14
           <div class="order-title" style="font-weight:500;font-size:18px;">药品出库登记表</div>
12
           <div class="order-title" style="font-weight:500;font-size:18px;">药品出库登记表</div>
15
 
13
 

+ 2 - 1
src/xt_pages/stock/stockOutOrderDetailPrint.vue View File

164
             console.log("数据源头9999999999",this.warehousingOutInfo.warehousingOutData);
164
             console.log("数据源头9999999999",this.warehousingOutInfo.warehousingOutData);
165
             var total_price = 0;
165
             var total_price = 0;
166
             for(let i=0;i<this.warehousingOutInfo.warehousingOutData.length;i++){
166
             for(let i=0;i<this.warehousingOutInfo.warehousingOutData.length;i++){
167
-              total_price += this.getOutStockCount(this.warehousingOutInfo.warehousingOutData[i].good_id)*this.warehousingOutInfo.warehousingOutData[i].price
167
+              total_price += this.warehousingOutInfo.warehousingOutData[i].total_price   
168
             }
168
             }
169
+            console.log('this.allPrice',this.allPrice)
169
            this.allPrice = total_price;
170
            this.allPrice = total_price;
170
 
171
 
171
            var wareoutList =  response.data.data.wareoutList;
172
            var wareoutList =  response.data.data.wareoutList;

+ 1 - 4
src/xt_pages/stock/stockQuery.vue View File

151
         <el-table-column label="剩余库存" align="center">
151
         <el-table-column label="剩余库存" align="center">
152
           <template slot-scope="scope">
152
           <template slot-scope="scope">
153
             <span>{{
153
             <span>{{
154
-              stockInCount(scope.row) -
155
-                salesReturnCount(scope.row) -
156
-                stockOutCount(scope.row) +
157
-                cancelStockCount(scope.row)
154
+              stockInCount(scope.row)- stockOutCount(scope.row) + cancelStockCount(scope.row)
158
             }}</span>
155
             }}</span>
159
           </template>
156
           </template>
160
         </el-table-column>
157
         </el-table-column>

+ 54 - 6
src/xt_pages/user/dialysisSolution.vue View File

512
             </el-form-item>
512
             </el-form-item>
513
           </el-col>
513
           </el-col>
514
 
514
 
515
+         <el-col :span="8" v-if="isShows('血浆分离器')">
516
+             <el-form-item label="血浆分离器:">
517
+               <el-input v-model="addPlan.plasma_separator" @focus="showInnerDialog('8')"></el-input>
518
+             </el-form-item>
519
+         </el-col>
520
+
521
+
522
+        <el-col :span="8" v-if="isShows('血浆分离器')">
523
+             <el-form-item label="血浆分离器:">
524
+               <el-input v-model="addPlan.bilirubin_adsorption_column" @focus="showInnerDialog('9')"></el-input>
525
+             </el-form-item>
526
+         </el-col>
527
+
515
           <el-col :span="8" v-if="isShows('目标KT/V')">
528
           <el-col :span="8" v-if="isShows('目标KT/V')">
516
             <el-form-item label="目标KT/V">
529
             <el-form-item label="目标KT/V">
517
               <el-input v-model="addPlan.target_ktv"></el-input>
530
               <el-input v-model="addPlan.target_ktv"></el-input>
519
           </el-col>
532
           </el-col>
520
         </el-row>
533
         </el-row>
521
 
534
 
535
+
536
+    
537
+
538
+
522
         <el-row :gutter="24">
539
         <el-row :gutter="24">
523
           <el-col :span="24">
540
           <el-col :span="24">
524
             <el-form-item label="备注: " prop="remark">
541
             <el-form-item label="备注: " prop="remark">
707
         blood_access: '',
724
         blood_access: '',
708
         dialysis_dialyszers:'',
725
         dialysis_dialyszers:'',
709
         dialysis_irrigation:'',
726
         dialysis_irrigation:'',
727
+        plasma_separator:"",
728
+        bilirubin_adsorption_column:"",
710
       },
729
       },
711
       childPlan: {
730
       childPlan: {
712
         mode: '',
731
         mode: '',
835
      dialyzers:[],
854
      dialyzers:[],
836
      dialysis_dialyszers:'',
855
      dialysis_dialyszers:'',
837
      dialysis_irrigation:"",
856
      dialysis_irrigation:"",
857
+     plasmaSeparatorList:[],
858
+     bilirubinAdsorptionColumn:[],
838
     }
859
     }
839
   },
860
   },
840
   watch: {
861
   watch: {
913
           this.InnerDialogProps.selected = this.dialysis_irrigation
934
           this.InnerDialogProps.selected = this.dialysis_irrigation
914
           this.InnerDialogProps.isShowTextArea = false
935
           this.InnerDialogProps.isShowTextArea = false
915
 
936
 
937
+          break
938
+        case '8':
939
+         
940
+          this.InnerDialogProps.values = this.plasmaSeparatorList
941
+          this.InnerDialogProps.titles = '血浆分离器'
942
+          this.InnerDialogProps.type = 'plasma_separator'
943
+          this.InnerDialogProps.selected = this.addPlan.plasma_separator
944
+          this.InnerDialogProps.isShowTextArea = false
945
+
946
+          break
947
+         case '9':
948
+         
949
+          this.InnerDialogProps.values = this.bilirubinAdsorptionColumn
950
+          this.InnerDialogProps.titles = '胆红素吸附柱'
951
+          this.InnerDialogProps.type = 'bilirubin_adsorption_column'
952
+          this.InnerDialogProps.selected = this.addPlan.bilirubin_adsorption_column
953
+          this.InnerDialogProps.isShowTextArea = false
954
+
916
           break
955
           break
917
       }
956
       }
918
     },
957
     },
919
     innerDialogComfirm: function(val) {
958
     innerDialogComfirm: function(val) {
920
-
959
+      console.log("value",val)
921
       this.InnerDialogProps.visibility = false
960
       this.InnerDialogProps.visibility = false
922
       switch (val.type) {
961
       switch (val.type) {
923
         case 'dialyzer_perfusion_apparatus':
962
         case 'dialyzer_perfusion_apparatus':
925
           break
964
           break
926
         case 'dialyzers':
965
         case 'dialyzers':
927
           this.dialysis_dialyszers = val.value.join(',')
966
           this.dialysis_dialyszers = val.value.join(',')
928
-          console.log("3333333",this.addPlan.dialysis_dialyszers)
929
-
930
           break
967
           break
931
         case 'irrigations':
968
         case 'irrigations':
932
           this.dialysis_irrigation = val.value.join(',')
969
           this.dialysis_irrigation = val.value.join(',')
933
           break
970
           break
934
-
971
+        case 'plasma_separator':
972
+          this.addPlan.plasma_separator = val.value.join(',')
973
+          break
974
+        case 'bilirubin_adsorption_column':
975
+          this.addPlan.bilirubin_adsorption_column = val.value.join(',')
976
+          break
935
       }
977
       }
936
     },
978
     },
937
     innerDialogCancle: function() {
979
     innerDialogCancle: function() {
1376
       this.addPlan.remark = row.remark
1418
       this.addPlan.remark = row.remark
1377
 
1419
 
1378
       this.addPlan.dialyzer_perfusion_apparatus = row.dialyzer_perfusion_apparatus.toString()
1420
       this.addPlan.dialyzer_perfusion_apparatus = row.dialyzer_perfusion_apparatus.toString()
1421
+      this.addPlan.plasma_separator = row.plasma_separator.toString()
1422
+      this.addPlan.bilirubin_adsorption_column = row.bilirubin_adsorption_column.toString()
1379
       this.addPlan.dialysis_irrigation = row.dialysis_irrigation
1423
       this.addPlan.dialysis_irrigation = row.dialysis_irrigation
1380
       this.addPlan.dialysis_dialyszers = row.dialysis_dialyszers
1424
       this.addPlan.dialysis_dialyszers = row.dialysis_dialyszers
1381
       this.dialysis_irrigation = row.dialysis_irrigation
1425
       this.dialysis_irrigation = row.dialysis_irrigation
1474
         dialysis_duration_hour: '3',
1518
         dialysis_duration_hour: '3',
1475
         dialysis_duration_minute: '30',
1519
         dialysis_duration_minute: '30',
1476
         created_time:"",
1520
         created_time:"",
1521
+        plasma_separator:"",
1522
+        bilirubin_adsorption_column:"",
1477
       }
1523
       }
1478
       this.addPlanTypeChange()
1524
       this.addPlanTypeChange()
1479
 
1525
 
1713
               displace_liqui_part: '',
1759
               displace_liqui_part: '',
1714
               displace_liqui_value: '',
1760
               displace_liqui_value: '',
1715
               ultrafiltration: '',
1761
               ultrafiltration: '',
1716
-              blood_access: ''
1762
+              blood_access: '',
1763
+              plasma_separator:"",
1717
             }
1764
             }
1718
 
1765
 
1719
             for (const key in tempAddPlan) {
1766
             for (const key in tempAddPlan) {
1811
       'hemodialysis',
1858
       'hemodialysis',
1812
       'dialyzer_perfusion_apparatus'
1859
       'dialyzer_perfusion_apparatus'
1813
     )
1860
     )
1814
-
1861
+    this.plasmaSeparatorList = getDataConfig('hemodialysis','plasma_separator')
1862
+    this.bilirubinAdsorptionColumn = getDataConfig('hemodialysis','bilirubin_adsorption_column')
1815
     this.queryParams.id = this.patientID
1863
     this.queryParams.id = this.patientID
1816
     // this.fetchAllDoctorAndNurse();
1864
     // this.fetchAllDoctorAndNurse();
1817
 
1865
 

+ 28 - 13
src/xt_pages/workforce/appointment.vue View File

69
       <bread-crumb :crumbs="crumbs"></bread-crumb>
69
       <bread-crumb :crumbs="crumbs"></bread-crumb>
70
         <div style="display:flex;align-items:center">
70
         <div style="display:flex;align-items:center">
71
           <schedule-upload-excel style="margin-right:10px;" :on-success='handleSuccess' ></schedule-upload-excel>
71
           <schedule-upload-excel style="margin-right:10px;" :on-success='handleSuccess' ></schedule-upload-excel>
72
-           <el-button @click="printTable" type="primary" size="small">打印排班</el-button>
72
+           <!-- <el-button @click="printTable" type="primary" size="small">打印排班</el-button> -->
73
           <el-button v-if="isShow()" type="primary" size="small" @click="export_file()" :loading="downloadLoading">
73
           <el-button v-if="isShow()" type="primary" size="small" @click="export_file()" :loading="downloadLoading">
74
             导出模版
74
             导出模版
75
           </el-button>
75
           </el-button>
85
           >下载日志
85
           >下载日志
86
           </el-button>
86
           </el-button>
87
 
87
 
88
-          <el-button type="primary" size="small" icon="el-icon-printer" @click="printScheduleAction">打印</el-button>
88
+          <el-button type="primary" size="small" icon="el-icon-printer" @click="printScheduleAction">打印排班</el-button>
89
           <el-button type="primary" size="small" icon="el-icon-setting" @click="setScheduleTemplateAction">排班模板</el-button>
89
           <el-button type="primary" size="small" icon="el-icon-setting" @click="setScheduleTemplateAction">排班模板</el-button>
90
           <el-button type="primary" size="small" @click="copySchedule">复制排班</el-button>
90
           <el-button type="primary" size="small" @click="copySchedule">复制排班</el-button>
91
         </div>
91
         </div>
157
   import moment from 'moment'
157
   import moment from 'moment'
158
   import { parseTime } from '@/utils'
158
   import { parseTime } from '@/utils'
159
   import tableData from './components/tableData'
159
   import tableData from './components/tableData'
160
-  import { exportSchedule, getWeekPanels, initDate,getThreeWeekList,copyPatientSchedule } from '@/api/schedule'
160
+  import { exportSchedule, getWeekPanels, initDate,getThreeWeekList,copyPatientSchedule,getScheduleTemplate } from '@/api/schedule'
161
   import BreadCrumb from '@/xt_pages/components/bread-crumb'
161
   import BreadCrumb from '@/xt_pages/components/bread-crumb'
162
   import UploadExcel from '@/xt_pages/components/UploadExcel'
162
   import UploadExcel from '@/xt_pages/components/UploadExcel'
163
   import ScheduleUploadExcel from './components/scheduleUploadExcel/index'
163
   import ScheduleUploadExcel from './components/scheduleUploadExcel/index'
216
         clen:7,
216
         clen:7,
217
         nowYear: new Date().getFullYear(),
217
         nowYear: new Date().getFullYear(),
218
         schedule_week:0,
218
         schedule_week:0,
219
-        newDay:[]
220
-
219
+        newDay:[],
220
+       templateObj:{}
221
       }
221
       }
222
     },
222
     },
223
     components: {
223
     components: {
227
       UploadExcel
227
       UploadExcel
228
     },
228
     },
229
     methods: {
229
     methods: {
230
-      printTable(){
231
-        this.$router.push({path: '/scheduleTablePrint?partition_id='+this.partition_id+"&weekTime="+this.activeName})
232
-      },
230
+      // printTable(){
231
+      //   this.$router.push({path: '/scheduleTablePrint?partition_id='+this.partition_id+"&weekTime="+this.activeName})
232
+      // },
233
       generateTxt: function(log) {
233
       generateTxt: function(log) {
234
         var content = ''
234
         var content = ''
235
         var errlog = log.err_logs
235
         var errlog = log.err_logs
638
         } else if (this.activeName == 'nextTwoWeek') {
638
         } else if (this.activeName == 'nextTwoWeek') {
639
           date = date + 14 * 24 * 60 * 60 * 1000
639
           date = date + 14 * 24 * 60 * 60 * 1000
640
         }
640
         }
641
-        this.$router.push({
642
-          path: '/workforce/schedule/print',
643
-          query: { date: date }
644
-        })
645
-      }, isShow() {
641
+        
642
+        if(this.templateObj.template_id == 0 || this.templateObj.template_id == 1){
643
+           this.$router.push({path: '/workforce/schedule/print',query: { date: date }})
644
+        }
645
+        if(this.templateObj.template_id == 2){
646
+          this.$router.push({path: '/scheduleTablePrint?partition_id='+this.partition_id+"&weekTime="+this.activeName})
647
+        }
648
+       
649
+      }, 
650
+      isShow() {
646
         let isShow = false
651
         let isShow = false
647
         if (Object.keys(this.partitions).length != 0) {
652
         if (Object.keys(this.partitions).length != 0) {
648
           isShow = true
653
           isShow = true
2811
               }
2816
               }
2812
            })
2817
            })
2813
         },
2818
         },
2819
+        getlist(){
2820
+          getScheduleTemplate().then(response=>{
2821
+             if(response.data.state == 1){
2822
+                var template = response.data.data.template
2823
+                console.log("模版",template)
2824
+                this.templateObj = template
2825
+             }
2826
+          })
2827
+        }
2814
     },
2828
     },
2815
     created() {
2829
     created() {
2830
+     this.getlist()
2816
      var start_time = moment().weekday(1).format('YYYY-MM-DD');
2831
      var start_time = moment().weekday(1).format('YYYY-MM-DD');
2817
    
2832
    
2818
      this.start_time = start_time
2833
      this.start_time = start_time

+ 4 - 1
src/xt_pages/workforce/components/nextTableWeeks.vue View File

129
       </el-table-column>
129
       </el-table-column>
130
       <el-table-column label="透析器/灌流器" min-width="100" align="center">
130
       <el-table-column label="透析器/灌流器" min-width="100" align="center">
131
         <template slot-scope="scope">
131
         <template slot-scope="scope">
132
-          <span v-if="org_id!=9987" > {{ scope.row.prescription.dialyzer_perfusion_apparatus }}</span>
132
+          <span v-if="org_id!=9987" >
133
+             <span v-if="scope.row.prescription.dialyzer_perfusion_apparatus!=''">{{ scope.row.prescription.dialyzer_perfusion_apparatus }}</span> 
134
+             <span v-if="scope.row.prescription.dialyzer_perfusion_apparatus =='' && scope.row.dialysissolution.length>0 ">{{ scope.row.dialysissolution[0].dialyzer_perfusion_apparatus }}</span> 
135
+          </span>
133
           {{scope.row.prescription.dialysis_dialyszers}}
136
           {{scope.row.prescription.dialysis_dialyszers}}
134
          <span v-if="scope.row.prescription.dialysis_dialyszers!='' && scope.row.prescription.dialysis_irrigation!=''">/</span>
137
          <span v-if="scope.row.prescription.dialysis_dialyszers!='' && scope.row.prescription.dialysis_irrigation!=''">/</span>
135
           <span v-if="scope.row.prescription.dialysis_irrigation!=''">{{scope.row.prescription.dialysis_irrigation}}</span>
138
           <span v-if="scope.row.prescription.dialysis_irrigation!=''">{{scope.row.prescription.dialysis_irrigation}}</span>

+ 3 - 0
src/xt_pages/workforce/components/tableData.vue View File

1066
         }, 0);
1066
         }, 0);
1067
         sums[index];
1067
         sums[index];
1068
       });
1068
       });
1069
+      this.$nextTick(() => {
1070
+        this.$refs.table.doLayout();
1071
+      });
1069
 
1072
 
1070
       return sums;
1073
       return sums;
1071
     },
1074
     },

+ 5 - 2
src/xt_pages/workforce/components/tableWeeks.vue View File

146
       </el-table-column>
146
       </el-table-column>
147
       <el-table-column label="透析器/灌流器" min-width="100" align="center">
147
       <el-table-column label="透析器/灌流器" min-width="100" align="center">
148
         <template slot-scope="scope">
148
         <template slot-scope="scope">
149
-          <span v-if="org_id!=9987">{{ scope.row.prescription.dialyzer_perfusion_apparatus }}</span>
150
-          {{scope.row.prescription.dialysis_dialyszers}}
149
+          <span v-if="org_id!=9987">
150
+             <span v-if="scope.row.prescription.dialyzer_perfusion_apparatus!=''">{{ scope.row.prescription.dialyzer_perfusion_apparatus }}</span> 
151
+             <span v-if="scope.row.prescription.dialyzer_perfusion_apparatus==''&& scope.row.dialysissolution.length>0 ">{{scope.row.dialysissolution[0].dialyzer_perfusion_apparatus}}</span>
152
+          </span>
153
+           {{scope.row.prescription.dialysis_dialyszers}}
151
           <span v-if="scope.row.prescription.dialysis_dialyszers!='' && scope.row.prescription.dialysis_irrigation!=''">/</span>
154
           <span v-if="scope.row.prescription.dialysis_dialyszers!='' && scope.row.prescription.dialysis_irrigation!=''">/</span>
152
           <span v-if="scope.row.prescription.dialysis_irrigation!=''">{{scope.row.prescription.dialysis_irrigation}}</span>
155
           <span v-if="scope.row.prescription.dialysis_irrigation!=''">{{scope.row.prescription.dialysis_irrigation}}</span>
153
         </template>
156
         </template>

+ 4 - 1
src/xt_pages/workforce/next_remind_print.vue View File

61
                   {{modeOptions[main_collection.mode_id].name}}
61
                   {{modeOptions[main_collection.mode_id].name}}
62
                 </td>
62
                 </td>
63
                 <td :width="td_1_width" v-if="printObj.dialyzers == 1 && printObj.perfusion_apparatus == 1">
63
                 <td :width="td_1_width" v-if="printObj.dialyzers == 1 && printObj.perfusion_apparatus == 1">
64
-                  <span v-if="org_id!=9987">{{main_collection.prescription.dialyzer_perfusion_apparatus}}</span> 
64
+                 <span v-if="org_id!=9987">
65
+                     <span v-if="main_collection.prescription.dialyzer_perfusion_apparatus!=''"> {{main_collection.prescription.dialyzer_perfusion_apparatus}}</span>
66
+                     <span v-if="main_collection.prescription.dialyzer_perfusion_apparatus ==''&& main_collection.dialysissolution.length>0">{{main_collection.dialysissolution[0].dialyzer_perfusion_apparatus}}</span> 
67
+                  </span>
65
                   {{main_collection.prescription.dialysis_dialyszers}} 
68
                   {{main_collection.prescription.dialysis_dialyszers}} 
66
                   <span v-if="main_collection.prescription.dialysis_dialyszers!='' && main_collection.prescription.dialysis_irrigation!=''">/</span>
69
                   <span v-if="main_collection.prescription.dialysis_dialyszers!='' && main_collection.prescription.dialysis_irrigation!=''">/</span>
67
                   <span v-if="main_collection.prescription.dialysis_irrigation!=''"> {{main_collection.prescription.dialysis_irrigation}}</span>
70
                   <span v-if="main_collection.prescription.dialysis_irrigation!=''"> {{main_collection.prescription.dialysis_irrigation}}</span>

+ 5 - 2
src/xt_pages/workforce/remind_print.vue View File

60
                   {{modeOptions[main_collection.mode_id].name}}
60
                   {{modeOptions[main_collection.mode_id].name}}
61
                 </td>
61
                 </td>
62
                 <td :width="td_1_width" v-if="printObj.dialyzers == 1 && printObj.perfusion_apparatus ==1">
62
                 <td :width="td_1_width" v-if="printObj.dialyzers == 1 && printObj.perfusion_apparatus ==1">
63
-                  <span v-if="org_id!=9987">{{main_collection.prescription.dialyzer_perfusion_apparatus}}</span>
64
-                  {{main_collection.prescription.dialysis_dialyszers}}
63
+                  <span v-if="org_id!=9987">
64
+                     <span v-if="main_collection.prescription.dialyzer_perfusion_apparatus!=''"> {{main_collection.prescription.dialyzer_perfusion_apparatus}}</span>
65
+                     <span v-if="main_collection.prescription.dialyzer_perfusion_apparatus ==''&& main_collection.dialysissolution.length>0">{{main_collection.dialysissolution[0].dialyzer_perfusion_apparatus}}</span> 
66
+                  </span>
67
+                    {{main_collection.prescription.dialysis_dialyszers}}
65
                   <span v-if="main_collection.prescription.dialysis_dialyszers!=''&& main_collection.prescription.dialysis_irrigation!='' ">/</span>
68
                   <span v-if="main_collection.prescription.dialysis_dialyszers!=''&& main_collection.prescription.dialysis_irrigation!='' ">/</span>
66
                   <span v-if="main_collection.prescription.dialysis_irrigation!=''">{{main_collection.prescription.dialysis_irrigation}}</span>
69
                   <span v-if="main_collection.prescription.dialysis_irrigation!=''">{{main_collection.prescription.dialysis_irrigation}}</span>
67
 
70
 

+ 24 - 23
src/xt_pages/workforce/scheduleTablePrint.vue View File

678
                           }
678
                           }
679
 
679
 
680
                          //礼拜三晚上
680
                          //礼拜三晚上
681
-                         if(this.scheduleCountList[j].schedule_week == 3 && this.scheduleCountList[j].schedule_type == 2){
681
+                         if(this.scheduleCountList[j].schedule_week == 3 && this.scheduleCountList[j].schedule_type == 3){
682
                             
682
                             
683
                               newArr[i].Wed_N.patient = this.scheduleCountList[j].Count
683
                               newArr[i].Wed_N.patient = this.scheduleCountList[j].Count
684
                           }
684
                           }
686
 
686
 
687
 
687
 
688
                         //礼拜四上午
688
                         //礼拜四上午
689
-                         if(this.scheduleCountList[j].schedule_week == 3 && this.scheduleCountList[j].schedule_type == 1){
689
+                         if(this.scheduleCountList[j].schedule_week == 4 && this.scheduleCountList[j].schedule_type == 1){
690
                             
690
                             
691
-                              newArr[i].Thurs_A.patient = this.scheduleCountList[j].Count
691
+                              newArr[i].Thurs_M.patient = this.scheduleCountList[j].Count
692
                           } 
692
                           } 
693
 
693
 
694
                          //礼拜四下午
694
                          //礼拜四下午
695
-                         if(this.scheduleCountList[j].schedule_week == 3 && this.scheduleCountList[j].schedule_type == 2){
695
+                         if(this.scheduleCountList[j].schedule_week == 4 && this.scheduleCountList[j].schedule_type == 2){
696
                             
696
                             
697
-                              newArr[i].Thurs_M.patient = this.scheduleCountList[j].Count
697
+                              newArr[i].Thurs_A.patient = this.scheduleCountList[j].Count
698
                           }
698
                           }
699
 
699
 
700
                          //礼拜四晚上
700
                          //礼拜四晚上
701
-                         if(this.scheduleCountList[j].schedule_week == 3 && this.scheduleCountList[j].schedule_type == 2){
701
+                         if(this.scheduleCountList[j].schedule_week == 4 && this.scheduleCountList[j].schedule_type == 3){
702
                             
702
                             
703
                               newArr[i].Thurs_N.patient = this.scheduleCountList[j].Count
703
                               newArr[i].Thurs_N.patient = this.scheduleCountList[j].Count
704
                           }
704
                           }
705
 
705
 
706
 
706
 
707
                         //礼拜五上午
707
                         //礼拜五上午
708
-                         if(this.scheduleCountList[j].schedule_week == 3 && this.scheduleCountList[j].schedule_type == 1){
708
+                         if(this.scheduleCountList[j].schedule_week == 5 && this.scheduleCountList[j].schedule_type == 1){
709
                             
709
                             
710
-                              newArr[i].Fri_A.patient = this.scheduleCountList[j].Count
710
+                              newArr[i].Fri_M.patient = this.scheduleCountList[j].Count
711
                           } 
711
                           } 
712
 
712
 
713
                          //礼拜五下午
713
                          //礼拜五下午
714
-                         if(this.scheduleCountList[j].schedule_week == 3 && this.scheduleCountList[j].schedule_type == 2){
714
+                         if(this.scheduleCountList[j].schedule_week == 5 && this.scheduleCountList[j].schedule_type == 2){
715
                             
715
                             
716
-                              newArr[i].Fri_M.patient = this.scheduleCountList[j].Count
716
+                              newArr[i].Fri_A.patient = this.scheduleCountList[j].Count
717
                           }
717
                           }
718
 
718
 
719
                          //礼拜五晚上
719
                          //礼拜五晚上
720
-                         if(this.scheduleCountList[j].schedule_week == 3 && this.scheduleCountList[j].schedule_type == 2){
720
+                         if(this.scheduleCountList[j].schedule_week == 5 && this.scheduleCountList[j].schedule_type == 3){
721
                             
721
                             
722
                               newArr[i].Fri_N.patient = this.scheduleCountList[j].Count
722
                               newArr[i].Fri_N.patient = this.scheduleCountList[j].Count
723
                           }
723
                           }
724
 
724
 
725
 
725
 
726
                         //礼拜六上午
726
                         //礼拜六上午
727
-                         if(this.scheduleCountList[j].schedule_week == 3 && this.scheduleCountList[j].schedule_type == 1){
727
+                         if(this.scheduleCountList[j].schedule_week == 6 && this.scheduleCountList[j].schedule_type == 1){
728
                             
728
                             
729
-                              newArr[i].Sat_A.patient = this.scheduleCountList[j].Count
729
+                              newArr[i].Sat_M.patient = this.scheduleCountList[j].Count
730
                           } 
730
                           } 
731
 
731
 
732
                          //礼拜六下午
732
                          //礼拜六下午
733
-                         if(this.scheduleCountList[j].schedule_week == 3 && this.scheduleCountList[j].schedule_type == 2){
733
+                         if(this.scheduleCountList[j].schedule_week == 6 && this.scheduleCountList[j].schedule_type == 2){
734
                             
734
                             
735
-                              newArr[i].Sat_M.patient = this.scheduleCountList[j].Count
735
+                              newArr[i].Sat_A.patient = this.scheduleCountList[j].Count
736
                           }
736
                           }
737
 
737
 
738
                          //礼拜六晚上
738
                          //礼拜六晚上
739
-                         if(this.scheduleCountList[j].schedule_week == 3 && this.scheduleCountList[j].schedule_type == 2){
739
+                         if(this.scheduleCountList[j].schedule_week == 6 && this.scheduleCountList[j].schedule_type == 3){
740
                             
740
                             
741
                               newArr[i].Sat_N.patient = this.scheduleCountList[j].Count
741
                               newArr[i].Sat_N.patient = this.scheduleCountList[j].Count
742
                           }
742
                           }
743
                          
743
                          
744
 
744
 
745
                           //礼拜日上午
745
                           //礼拜日上午
746
-                         if(this.scheduleCountList[j].schedule_week == 3 && this.scheduleCountList[j].schedule_type == 1){
746
+                         if(this.scheduleCountList[j].schedule_week == 7 && this.scheduleCountList[j].schedule_type == 1){
747
                             
747
                             
748
-                              newArr[i].Sun_A.patient = this.scheduleCountList[j].Count
748
+                              newArr[i].Sun_M.patient = this.scheduleCountList[j].Count
749
                           } 
749
                           } 
750
 
750
 
751
                          //礼拜日下午
751
                          //礼拜日下午
752
-                         if(this.scheduleCountList[j].schedule_week == 3 && this.scheduleCountList[j].schedule_type == 2){
752
+                         if(this.scheduleCountList[j].schedule_week == 7 && this.scheduleCountList[j].schedule_type == 2){
753
                             
753
                             
754
-                              newArr[i].Sun_M.patient = this.scheduleCountList[j].Count
754
+                              newArr[i].Sun_A.patient = this.scheduleCountList[j].Count
755
                           }
755
                           }
756
 
756
 
757
                          //礼拜日晚上
757
                          //礼拜日晚上
758
-                         if(this.scheduleCountList[j].schedule_week == 3 && this.scheduleCountList[j].schedule_type == 2){
758
+                         if(this.scheduleCountList[j].schedule_week == 7 && this.scheduleCountList[j].schedule_type == 3){
759
                             
759
                             
760
                               newArr[i].Sun_N.patient = this.scheduleCountList[j].Count
760
                               newArr[i].Sun_N.patient = this.scheduleCountList[j].Count
761
                           }
761
                           }
793
             return [weekArr[week], typeArr[schedule_type]];
793
             return [weekArr[week], typeArr[schedule_type]];
794
         },
794
         },
795
         printAction: function() {
795
         printAction: function() {
796
-            const style = '@media print {#scheduleTable{font-size:14px;} .scheduleTable tr td{text-align: center;padding: 5px;}}'
796
+            const style = '@media print {#scheduleTable{font-size:16px;} .scheduleTable tr td{text-align: center;padding: 5px;}}'
797
 
797
 
798
             printJS({
798
             printJS({
799
             printable: 'scheduleTable',
799
             printable: 'scheduleTable',
818
                theType = 4
818
                theType = 4
819
             }
819
             }
820
            var partionStr = this.partition_id
820
            var partionStr = this.partition_id
821
+           console.log("partionStr",partionStr)
821
             var arr = this.zoneIdList.join(',')
822
             var arr = this.zoneIdList.join(',')
822
             var str = ""
823
             var str = ""
823
             if(partionStr == 0){
824
             if(partionStr == 0){
824
                 str = arr
825
                 str = arr
825
             }
826
             }
826
             if(partionStr != 0){
827
             if(partionStr != 0){
827
-                str = partionStr.join(',')
828
+                str = partionStr
828
             }
829
             }
829
             var params = {
830
             var params = {
830
              weekTime:theType,
831
              weekTime:theType,