Browse Source

提交代码

陈少旭 1 year ago
parent
commit
8a61373fa1

+ 9 - 9
src/router/modules/Dialysisanalysis.js View File

@@ -11,15 +11,7 @@ export default {
11 11
     icon: 'statistics'
12 12
   },
13 13
   children: [
14
-    {
15
-      path: '/Dialysisanalysis/qualitycontrol/summary',
16
-      component: () => import('@/xt_pages/Dialysisanalysis/summary/index'),
17
-      name: 'summary',
18
-      meta: {
19
-        title: '指标汇总',
20
-        noCache: true
21
-      }
22
-    },
14
+
23 15
     {
24 16
       path: '/Dialysisanalysis/qualitycontrol/thyroidGland',
25 17
       component: () => import('@/xt_pages/Dialysisanalysis/qualitycontrol/thyroidGland'),
@@ -79,6 +71,14 @@ export default {
79 71
         title: 'KTV/URR',
80 72
         noCache: true
81 73
       }
74
+    },{
75
+      path: '/Dialysisanalysis/qualitycontrol/summary',
76
+      component: () => import('@/xt_pages/Dialysisanalysis/summary/index'),
77
+      name: 'index_summary',
78
+      meta: {
79
+        title: '指标汇总',
80
+        noCache: true
81
+      }
82 82
     },{
83 83
       path: '/Dialysisanalysis/qualitycontrol/print',
84 84
       component: () => import('@/xt_pages/Dialysisanalysis/print/print'),

+ 81 - 1
src/xt_pages/outpatientCharges/outpatientChargesManagement.vue View File

@@ -206,7 +206,7 @@
206 206
                               <div>
207 207
 
208 208
                                 <el-button
209
-                                    v-if="(hisPatientInfo.id_card_type == 4 && hisPatientInfo.balance_accounts_type != 2 && hisPatientInfo.id > 0  && org_id != 10340)"
209
+                                    v-if="(hisPatientInfo.balance_accounts_type != 2 && hisPatientInfo.id > 0  && org_id != 10340)"
210 210
                                     size="small"
211 211
                                     @click="open(50,items.med_type,items.prescriptions[0].order,items.prescriptions)"
212 212
                                     type="primary"
@@ -220,6 +220,15 @@
220 220
                                     type="primary"
221 221
                                 >预结算
222 222
                                 </el-button>
223
+
224
+                                <el-button
225
+                                  v-if="hisPatientInfo.balance_accounts_type != 2 && org_id != 10340"
226
+                                  size="small"
227
+                                  @click="open(60,items.med_type,items.prescriptions[0].order,items.prescriptions)"
228
+                                  type="primary"
229
+                                >撤销就诊信息
230
+                                </el-button>
231
+
223 232
                                 <el-button
224 233
                                     v-if="items.curPrescriptions.order.order_status == 1 && hisPatientInfo.balance_accounts_type != 2 && org_id != 10340"
225 234
                                     size="small"
@@ -227,6 +236,9 @@
227 236
                                     type="primary"
228 237
                                 >撤销明细
229 238
                                 </el-button>
239
+
240
+
241
+
230 242
                                 <!--<div>{{ items.curPrescriptions.order.order_status}}</div>-->
231 243
                                 <!--<div>{{ items.prescriptions[0].order.order_status}}</div>-->
232 244
                                 <el-button v-loading="loadingtwo"
@@ -3763,6 +3775,74 @@ export default {
3763 3775
             .catch(function(error) {
3764 3776
             })
3765 3777
         }
3778
+      }else if(index == 60){
3779
+        var that = this
3780
+        var ids = []
3781
+        for (let i = 0; i < prescriptions.length; i++) {
3782
+          ids.push(prescriptions[i].id)
3783
+        }
3784
+        var ids_str = ids.join(',')
3785
+        this.temp_ids = ids_str
3786
+        this.newLoading = true
3787
+        var that = this
3788
+        let form = {}
3789
+        form['id'] = this.patientInfo.id
3790
+        form['his_patient_id'] = this.hisPatientInfo.id
3791
+        form['record_time'] = this.record_date
3792
+        form['ids'] = this.temp_ids
3793
+        form['begin_time'] = this.form.diagnosis_time
3794
+        form['p_type'] = med_type
3795
+        form['diagnosis'] = this.form.diagnosis.join(',')
3796
+        form['sick_type'] = this.form.sick_type
3797
+        form['admin_user_id'] = this.$store.getters.xt_user.user.id
3798
+        form['org_id'] = this.$store.getters.xt_user.org_id
3799
+        if (this.activeName == 'first') {
3800
+          form['settle_accounts_type'] = 1
3801
+        } else if (this.activeName == 'second') {
3802
+          form['start_time'] = this.other_start_time
3803
+          form['end_time'] = this.other_end_time
3804
+          form['settle_accounts_type'] = 2
3805
+        } else {
3806
+          form['start_time'] = this.other_start_time_two
3807
+          form['end_time'] = this.other_end_time_two
3808
+          form['settle_accounts_type'] = 2
3809
+        }
3810
+        axios.get('http://127.0.0.1:9532/api/cancledia/get', {
3811
+          params: form,
3812
+          headers: {
3813
+            'Permission': 5
3814
+          }
3815
+        })
3816
+          .then(function(response) {
3817
+            if (response.data.state == 0) {
3818
+              that.$message.error(response.data.msg)
3819
+              return false
3820
+            } else {
3821
+              if (response.data.data.failed_code == -10) {
3822
+                that.$confirm(response.data.data.msg, '医保错误信息', {
3823
+                  confirmButtonText: '确 定',
3824
+                  type: 'warning'
3825
+                }).then(() => {
3826
+                  that.changeRadioAndPatient(1)
3827
+                  that.newLoading = false
3828
+                }).catch(() => {
3829
+                  that.changeRadioAndPatient(1)
3830
+                  that.newLoading = false
3831
+                })
3832
+              } else {
3833
+                that.changeRadioAndPatient(1)
3834
+                that.$message({ message: '取消成功', type: 'success', duration: 5000 })
3835
+                that.newLoading = false
3836
+              }
3837
+            }
3838
+          })
3839
+          .catch(function(error) {
3840
+            that.newLoading = false
3841
+          })
3842
+
3843
+
3844
+
3845
+
3766 3846
       }
3767 3847
     },
3768 3848
      getName(admin_user_id) {

+ 1 - 1
src/xt_pages/outpatientCharges/summary.vue View File

@@ -1280,7 +1280,7 @@ export default {
1280 1280
                 name: order.patient.name,
1281 1281
                 id_card_no: order.patient.id_card_no,
1282 1282
                 year: "2023",
1283
-                month: "04",
1283
+                month: "07",
1284 1284
                 code: data[b].code,
1285 1285
                 pric: data[b].total ,
1286 1286
                 item_name: data[b].name,

+ 5 - 1
src/xt_pages/outpatientDoctorStation/checkPrint.vue View File

@@ -13,7 +13,9 @@
13 13
       </template> -->
14 14
 
15 15
       <div class='dialysisPage' style="padding-top:40px;">
16
-        <printOne :advicePrint="advicePrint" :ids="ids" :patient="patient" :hisPatient="hisPatient" :patient_id="patient_id" :record_date="record_date" :prescription_id="prescription_id" :newHisPatient="newHisPatient"></printOne>
16
+        <printOne v-if="this.$store.getters.xt_user.org_id != 10402 && this.$store.getters.xt_user.org_id != 0" :advicePrint="advicePrint" :ids="ids" :patient="patient" :hisPatient="hisPatient" :patient_id="patient_id" :record_date="record_date" :prescription_id="prescription_id" :newHisPatient="newHisPatient"></printOne>
17
+        <printTwo v-if="this.$store.getters.xt_user.org_id == 10402 || this.$store.getters.xt_user.org_id == 0" :advicePrint="advicePrint" :ids="ids" :patient="patient" :hisPatient="hisPatient" :patient_id="patient_id" :record_date="record_date" :prescription_id="prescription_id" :newHisPatient="newHisPatient"></printTwo>
18
+<!--      <print-two></print-two>-->
17 19
       </div>
18 20
 
19 21
   </div>
@@ -26,9 +28,11 @@ import BreadCrumb from "@/xt_pages/components/bread-crumb";
26 28
 import print from "print-js";
27 29
 import printOne from "./checkTemplate/printOne"
28 30
 import { getAllDoctorList,getAllHisPatientList } from "@/api/project/project"
31
+import printTwo from './checkTemplate/printTwo.vue'
29 32
 export default {
30 33
   name: "dialysisPrintOrder",
31 34
   components: {
35
+    printTwo,
32 36
     BreadCrumb,
33 37
     printOne,
34 38
   },

+ 656 - 0
src/xt_pages/outpatientDoctorStation/checkTemplate/printTwo.vue View File

@@ -0,0 +1,656 @@
1
+<template>
2
+  <div>
3
+    <div id="prescription-print3" class="prescription-print">
4
+      <img
5
+        style="width: 100%; height: 80px"
6
+        v-if="org_id == 10138"
7
+        src="https://kuyi.shengws.com/bailin/bltotle.jpg"
8
+        alt=""
9
+      />
10
+      <img
11
+        style="width: 100%; height: 80px"
12
+        v-if="org_id == 10278 || org_id == 0"
13
+        src="https://kuyi.shengws.com/beierlog.png"
14
+        alt=""
15
+      />
16
+      <div class="printTitle">检验申请单</div>
17
+
18
+      <div style="border: 1px solid #000;margin-bottom: 10px;">
19
+        <div
20
+          style="
21
+            display: flex;
22
+            justify-content: space-between;
23
+            border-bottom: 1px solid #000;
24
+            line-height: 40px;
25
+            padding: 0 10px;
26
+          "
27
+        >
28
+          <div>是否急诊:否</div>
29
+          <div>
30
+            结算方式:{{
31
+              faber && faber.transBody
32
+                ? getName(faber.transBody.outputlist1)
33
+                : ""
34
+            }}
35
+          </div>
36
+          <div>金额:{{ total }}</div>
37
+        </div>
38
+        <div
39
+          style="
40
+            display: flex;
41
+            justify-content: space-between;
42
+            border-bottom: 1px solid #000;
43
+            line-height: 40px;
44
+            padding: 0 10px;
45
+          "
46
+        >
47
+          <div>
48
+            姓名:{{
49
+              advicePrint[0].patient.name
50
+                ? advicePrint[0].patient.name.indexOf("(") > -1
51
+                  ? advicePrint[0].patient.name.substring(
52
+                    0,
53
+                    advicePrint[0].patient.name.indexOf("(")
54
+                  )
55
+                  : advicePrint[0].patient.name
56
+                : ""
57
+            }}
58
+          </div>
59
+          <div>
60
+            性别:
61
+            <span v-if="advicePrint[0].patient.gender == 1">男</span>
62
+            <span v-if="advicePrint[0].patient.gender == 2">女</span>
63
+          </div>
64
+          <!--          <div>-->
65
+          <!--            年龄:{{-->
66
+          <!--              advicePrint[0].patient.age ? advicePrint[0].patient.age : ""-->
67
+          <!--            }}岁-->
68
+          <!--          </div>-->
69
+          <div>年龄:{{getAge(advicePrint[0].patient)?getAge(advicePrint[0].patient):""}}岁</div>
70
+
71
+        </div>
72
+        <div style="margin-bottom: 20px; padding: 10px 10px 0" v-if="org_id!=10278 && org_id!=10138 && org_id!=0">
73
+          病史摘要:{{
74
+            history.history_of_present_illness
75
+              ? history.history_of_present_illness
76
+              : ""
77
+          }}
78
+        </div>
79
+        <!-- <div style="margin-bottom:20px;padding:0 10px;">体格检查:
80
+                    <span>体温:{{ history.temperature ? history.temperature + '℃' : '/' }}</span>
81
+                    <span>脉搏:{{ history.pulse ? history.pulse + '次/分' : '/' }}</span>
82
+                    <span>呼吸:{{ history.breathing ? history.breathing + '次/分' : '/' }}</span>
83
+                    <span>血压:{{ history.sbp }}/{{ history.dbp }}mmHg</span>
84
+                </div> -->
85
+        <div style="margin-bottom: 20px; padding: 0 10px">
86
+          临床诊断:{{ getDiagnosis(advicePrint[0].info.diagnosis) }}
87
+        </div>
88
+        <div style="display: flex; margin-bottom: 20px; padding: 0 10px">
89
+          <div>检验项目:</div>
90
+          <div>
91
+<!--            <div v-for="item in projectPrint" style="margin-bottom: 10px">-->
92
+<!--              {{ item.team.project_team }}-->
93
+<!--            </div>-->
94
+            <div v-for="item in singleProjectPrint" style="margin-bottom: 10px">
95
+              {{ item.project.project_name }}
96
+            </div>
97
+          </div>
98
+        </div>
99
+        <div
100
+          style="
101
+            display: flex;
102
+            justify-content: space-between;
103
+            border-top: 1px solid #000;
104
+            line-height: 40px;
105
+            padding: 0 10px;
106
+          "
107
+        >
108
+          <div>开单医生:{{ doctor ? doctor : "" }}</div>
109
+          <div>
110
+            开单日期:
111
+            {{ getTime(pre_time) ? getTime(pre_time).split(" ")[0] : "" }}
112
+          </div>
113
+          <div>
114
+            医生签字:
115
+
116
+            <img
117
+              v-if="setAdminUserES(advicePrint[0].creator)"
118
+              style="height: 30px"
119
+              :src="setAdminUserES(advicePrint[0].creator)"
120
+              alt=""
121
+              srcset=""
122
+            />
123
+            <span
124
+              style="width: 100px; display: inline-block"
125
+              v-else-if="advicePrint[0].doctor != ''"
126
+            >
127
+              {{ advicePrint[0].doctor ? advicePrint[0].doctor : "" }}
128
+            </span>
129
+            <span v-else>
130
+
131
+            </span>
132
+          </div>
133
+        </div>
134
+      </div>
135
+      <img
136
+        style="width: 100%"
137
+        v-if="org_id == 10138 "
138
+        src="https://kuyi.shengws.com/bailin/blend.jpg"
139
+        alt=""
140
+      />
141
+      <img
142
+        style="width: 100%"
143
+        v-if="org_id == 10278 || org_id == 0"
144
+        src="https://kuyi.shengws.com/bailinbeier.png"
145
+        alt=""
146
+      />
147
+    </div>
148
+  </div>
149
+</template>
150
+<script>
151
+import { jsGetAge, uParseTime } from "@/utils/tools";
152
+import {
153
+  getAllDoctorList,
154
+  getPrescriptionPrint,
155
+  getHisPatientDetail,
156
+  getPatientCaseHistory,
157
+} from "@/api/project/project";
158
+import { getInitData } from "@/api/his/his";
159
+export default {
160
+  props: {
161
+    patient_id: Number,
162
+    record_date: String,
163
+    prescription_id: Number,
164
+    ids: String,
165
+  },
166
+  data() {
167
+    return {
168
+      doctorList_1: [],
169
+      doctorList: [],
170
+      advicePrint: {},
171
+      patient: {},
172
+      tableData: [],
173
+      prescriptionInfo: [],
174
+      hisPatient: {},
175
+      department: [],
176
+      prescriptions: [],
177
+      projectList: [],
178
+      doc_name: "",
179
+      orgname: "",
180
+      diagnoses: [],
181
+      pageArr: [],
182
+      faber: {},
183
+      total: 0,
184
+      projectPrint: [],
185
+      time: "",
186
+      doctor: "",
187
+      org_id: "",
188
+      singleProjectPrint: [],
189
+      operatorMaps: {},
190
+    };
191
+  },
192
+  methods: {
193
+    getAge(patient){
194
+      // 将时间戳转换为 Date 对象
195
+      const birthday = new Date(patient.birthday* 1000);
196
+
197
+      // 获取当前日期
198
+      const now = new Date();
199
+      // 计算年龄差
200
+      const ageDiffMs = now - birthday;
201
+      const ageDate = new Date(ageDiffMs); // 不需要减掉 1970 年的时间戳
202
+      // 提取年份
203
+      const age = ageDate.getUTCFullYear() - 1970;
204
+      return age
205
+    },
206
+    getPatientCaseHistory() {
207
+      const params = {
208
+        patient_id: this.patient_id,
209
+      };
210
+      getPatientCaseHistory(params).then((response) => {
211
+        if (response.data.state == 1) {
212
+          var history = response.data.data.history;
213
+          // console.log("中国history222222", history);
214
+          this.history = history;
215
+        }
216
+      });
217
+    },
218
+    getAllDoctorList() {
219
+      getAllDoctorList().then((response) => {
220
+        if (response.data.state == 1) {
221
+          var doctor = response.data.data.doctor;
222
+
223
+          this.doctorList = doctor;
224
+        }
225
+      });
226
+    },
227
+
228
+    getDoctor(id) {
229
+      var name = "";
230
+      for (let i = 0; i < this.doctorList.length; i++) {
231
+        if (id == this.doctorList[i].admin_user_id) {
232
+          name = this.doctorList[i].user_name;
233
+        }
234
+      }
235
+      return name;
236
+    },
237
+    getTime(value, temp) {
238
+      if (value != undefined) {
239
+        return uParseTime(value, temp);
240
+      }
241
+      return "";
242
+    },
243
+
244
+    getPrescriptionPrint() {
245
+      var params = {
246
+        // patient_id:this.patient_id,
247
+        // record_date:this.record_date,
248
+        // prescription_id:this.prescription_id,
249
+        patient_id: this.patient_id,
250
+        record_date: this.record_date,
251
+        prescription_id: this.prescription_id,
252
+        ids: this.ids,
253
+        p_type: 2,
254
+      };
255
+      // console.log("params", params);
256
+      getPrescriptionPrint(params).then((response) => {
257
+        if (response.data.state == 1) {
258
+          var advicePrint = response.data.data.advicePrint;
259
+          // console.log("adviceprint9999", advicePrint);
260
+          this.advicePrint = advicePrint;
261
+          this.prescriptions = advicePrint;
262
+          // console.log("处方222222", this.prescriptions);
263
+          var hisPatient = response.data.data.hisPatient;
264
+          // console.log("hisPatient", hisPatient);
265
+          this.hisPatient = hisPatient;
266
+          let projectPrint = [];
267
+          let total = 0;
268
+          this.advicePrint.map((item) => {
269
+            // console.log("imte233232323232323223", item.project);
270
+            if (item.project.length > 0) {
271
+              item.project.map((it) => {
272
+                if (it.type == 2) {
273
+                  if (it.project.cost_classify == 3) {
274
+                    projectPrint.push(it);
275
+                    total += it.project.price * parseInt(it.count);
276
+                  }
277
+                }
278
+              });
279
+            }
280
+          });
281
+          this.doctorList_1 = response.data.data.eles;
282
+          // console.log(this.doctorList_1, "医生列表");
283
+          if (this.doctorList_1.length > 0) {
284
+            var operatorsLen = this.doctorList_1.length;
285
+            for (var index = 0; index < operatorsLen; index++) {
286
+              this.$set(
287
+                this.operatorMaps,
288
+                this.doctorList_1[index].creator,
289
+                this.doctorList_1[index]
290
+              );
291
+            }
292
+          }
293
+          let data = [];
294
+          let data2 = [];
295
+          projectPrint.map((item) => {
296
+              data2.push(item);
297
+          });
298
+          this.projectPrint = data;
299
+          console.log("列表", this.projectPrint);
300
+          this.total = total.toFixed(2);
301
+          this.pre_time = this.advicePrint[0].pre_time;
302
+          this.doctor = this.advicePrint[0].doctor;
303
+
304
+          this.singleProjectPrint = data2;
305
+
306
+          var projectlist = response.data.data.projectlist;
307
+
308
+          var projectlist = response.data.data.projectlist;
309
+          // console.log("所有项目列表", projectlist);
310
+          this.projectList = projectlist;
311
+          this.getPage();
312
+          let outputlist1Name = response.data.data.his.patient_info
313
+            ? JSON.parse(response.data.data.his.patient_info)
314
+            : {};
315
+          this.faber = outputlist1Name;
316
+        }
317
+      });
318
+    },
319
+    // 电子签名
320
+    setAdminUserES(id) {
321
+      // console.log(id, "id");
322
+      if (id == 0) {
323
+        return "";
324
+      }
325
+      if (id in this.operatorMaps) {
326
+        // console.log(this.operatorMaps, "this.operatorMaps");
327
+        return this.operatorMaps[id].url;
328
+      } else {
329
+        // console.log("po");
330
+        return "";
331
+      }
332
+    },
333
+    getHisPatientDetail() {
334
+      const params = {
335
+        patient_id: this.patient_id,
336
+      };
337
+      getHisPatientDetail(params).then((response) => {
338
+        if (response.data.state == 1) {
339
+          var hisPatient = response.data.data.hisPatient;
340
+          // console.log("挂号病人", hisPatient);
341
+          this.hisPatient = hisPatient;
342
+        }
343
+      });
344
+    },
345
+    getInitData() {
346
+      getInitData().then((response) => {
347
+        if (response.data.state == 1) {
348
+          this.department = response.data.data.department;
349
+          this.diagnoses = response.data.data.diagnose.sort(this.compare("id"));
350
+          // console.log("争端", this.diagnoses);
351
+        }
352
+      });
353
+    },
354
+    getDepart(id) {
355
+      var name = "";
356
+      for (let i = 0; i < this.department.length; i++) {
357
+        if (id == this.department[i].id) {
358
+          name = this.department[i].name;
359
+        }
360
+      }
361
+      return name;
362
+    },
363
+    getTotalOne(id) {
364
+      var total = 0;
365
+      var addtotal = 0;
366
+      for (let i = 0; i < this.prescriptions.length; i++) {
367
+        if (id == this.prescriptions[i].id) {
368
+          if (this.prescriptions[i].project != null) {
369
+            for (let a = 0; a < this.prescriptions[i].project.length; a++) {
370
+              total =
371
+                total +
372
+                this.prescriptions[i].project[a].price *
373
+                this.prescriptions[i].project[a].count;
374
+            }
375
+          }
376
+
377
+          if (this.prescriptions[i].additionalcharge != null) {
378
+            for (
379
+              let a = 0;
380
+              a < this.prescriptions[i].additionalcharge.length;
381
+              a++
382
+            ) {
383
+              addtotal =
384
+                addtotal +
385
+                this.prescriptions[i].additionalcharge[a].price *
386
+                this.prescriptions[i].additionalcharge[a].count;
387
+            }
388
+          }
389
+          addtotal = Math.floor(addtotal * 100) / 100;
390
+        }
391
+      }
392
+
393
+      for (let i = 0; i < this.prescriptions.length; i++) {
394
+        if (id == this.prescriptions[i].id) {
395
+          if (this.prescriptions[i].advices != null) {
396
+            for (let a = 0; a < this.prescriptions[i].advices.length; a++) {
397
+              total =
398
+                total +
399
+                this.prescriptions[i].advices[a].price *
400
+                this.prescriptions[i].advices[a].prescribing_number;
401
+            }
402
+          }
403
+
404
+          if (this.prescriptions[i].additionalcharge != null) {
405
+            for (
406
+              let a = 0;
407
+              a < this.prescriptions[i].additionalcharge.length;
408
+              a++
409
+            ) {
410
+              addtotal =
411
+                addtotal +
412
+                this.prescriptions[i].additionalcharge[a].price *
413
+                this.prescriptions[i].additionalcharge[a].count;
414
+            }
415
+          }
416
+          addtotal = Math.floor(addtotal * 100) / 100;
417
+        }
418
+      }
419
+
420
+      return total + addtotal;
421
+    },
422
+
423
+    getProjectName(id) {
424
+      var project_name = "";
425
+      for (let i = 0; i < this.projectList.length; i++) {
426
+        if (id == this.projectList[i].id) {
427
+          project_name = this.projectList[i].project_name;
428
+        }
429
+      }
430
+      return project_name;
431
+    },
432
+
433
+    getDiagnosis(ids) {
434
+      let newIds = ids.split(",").sort(function (a, b) {
435
+        return a - b;
436
+      });
437
+
438
+      var name = "";
439
+      let nameArr = [];
440
+      for (let i = 0; i < this.diagnoses.length; i++) {
441
+        // if(id == this.diagnoses[i].id){
442
+        //    name = this.diagnoses[i].class_name
443
+        // }
444
+
445
+        if (newIds.indexOf(this.diagnoses[i].id.toString()) > -1) {
446
+          // name += diagnoses[i].class_name + ' '
447
+          nameArr.push(this.diagnoses[i].class_name);
448
+        }
449
+      }
450
+      let newNameArr = [];
451
+      nameArr.map((item, index) => {
452
+        if (item == "尿毒症") {
453
+          newNameArr.push(item);
454
+          nameArr.splice(index, 1, "");
455
+        }
456
+      });
457
+      newNameArr.push(...nameArr);
458
+      return newNameArr.join(" ");
459
+    },
460
+    compare(property) {
461
+      return function (a, b) {
462
+        var value1 = a[property];
463
+        var value2 = b[property];
464
+        return value1 - value2; //升序排序
465
+      };
466
+    },
467
+    getPage() {
468
+      this.page = 1;
469
+      this.pageArr = [];
470
+
471
+      this.advicePrint.map((item) => {
472
+        let arr = [];
473
+        item.pageArr = [];
474
+        if (item.advices.length <= 5) {
475
+          this.page = 1;
476
+          arr.push(item.advices.length);
477
+          item.pageArr.push(arr);
478
+        } else if (item.advices.length > 5) {
479
+          this.page = parseInt(item.advices.length / 5);
480
+          let num = item.advices.length % 5;
481
+          for (var i = 0; i < this.page; i++) {
482
+            item.pageArr.push([5]);
483
+          }
484
+          if (num != 0) {
485
+            item.pageArr.push([num]);
486
+          }
487
+        }
488
+      });
489
+      // console.log('this.pageArr',this.pageArr)
490
+    },
491
+    getName(list) {
492
+      console.log("list", list);
493
+      let new_list = [];
494
+      for (let i = 0; i < list.length; i++) {
495
+        if (list[i].aac031 == "1") {
496
+          new_list.push(list[i]);
497
+        }
498
+      }
499
+
500
+      switch (new_list[0].bcc334) {
501
+        case "A31001":
502
+          return "深圳医保1档";
503
+          break;
504
+        case "A31002":
505
+          return "深圳医保2档";
506
+
507
+          break;
508
+        case "A31003":
509
+          return "深圳医保3档";
510
+
511
+          break;
512
+        case "A31004":
513
+          return "二档(少儿)";
514
+
515
+          break;
516
+        case "A31005":
517
+          return "学生二档";
518
+
519
+          break;
520
+        case "A31006":
521
+          return "大学生二档";
522
+
523
+          break;
524
+        case "A32001":
525
+          return "在职公务员";
526
+          break;
527
+        case "A32002":
528
+          return "在职驻深公务员";
529
+
530
+          break;
531
+        case "A39301":
532
+          return "家属统筹医疗";
533
+
534
+          break;
535
+        case "A41001":
536
+          return "工伤在职";
537
+
538
+          break;
539
+        case "A51001":
540
+          return "生育在职";
541
+
542
+          break;
543
+        case "A52001":
544
+          return "生育医疗一档";
545
+
546
+          break;
547
+        case "A52002":
548
+          return "生育医疗一档";
549
+
550
+          break;
551
+        case "C31001":
552
+          return "一档医疗退休";
553
+
554
+          break;
555
+        case "C31002":
556
+          return "二档医疗退休";
557
+          break;
558
+      }
559
+    },
560
+  },
561
+  created() {
562
+    this.getAllDoctorList();
563
+    this.getInitData();
564
+    this.getPrescriptionPrint();
565
+    this.getHisPatientDetail();
566
+    this.getPatientCaseHistory();
567
+    var xtuser = this.$store.getters.xt_user;
568
+    this.orgname = xtuser.org.org_name;
569
+    this.org_id = this.$store.getters.xt_user.org_id;
570
+  },
571
+  watch: {
572
+    ids: function (val) {
573
+      this.ids = val;
574
+      this.getPrescriptionPrint();
575
+    },
576
+  },
577
+};
578
+</script>
579
+
580
+
581
+<style lang="scss" scoped>
582
+.prescription-print {
583
+  -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27),
584
+  0 0 60px rgba(0, 0, 0, 0.06) inset;
585
+  -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27),
586
+  0 0 40px rgba(0, 0, 0, 0.06) inset;
587
+  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset;
588
+  margin-bottom: 20px;
589
+  padding: 20px 10px;
590
+}
591
+.printTitle {
592
+  font-size: 22px;
593
+  text-align: center;
594
+  font-weight: bold;
595
+  margin-bottom: 10px;
596
+}
597
+.infoTitle {
598
+  display: flex;
599
+  margin-top: 10px;
600
+  line-height: 24px;
601
+}
602
+.infoTitle div {
603
+  width: 200px;
604
+}
605
+.infoMain {
606
+  display: flex;
607
+  flex-wrap: wrap;
608
+  margin-top: 10px;
609
+}
610
+.infoMain div {
611
+  width: 50%;
612
+  line-height: 24px;
613
+}
614
+.prescriptionBox {
615
+  padding: 0 10px;
616
+  min-height: 400px;
617
+}
618
+.Rp {
619
+  font-size: 22px;
620
+  font-weight: bold;
621
+}
622
+.drugsBox {
623
+  padding-left: 40px;
624
+  margin-bottom: 10px;
625
+}
626
+.drugsBox div {
627
+  line-height: 20px;
628
+}
629
+.drugsOne {
630
+  line-height: 24px;
631
+}
632
+.drugsOne span {
633
+  margin-right: 20px;
634
+}
635
+.doctorBox {
636
+  display: flex;
637
+  justify-content: space-between;
638
+  padding: 0 10px;
639
+  line-height: 24px;
640
+  border-bottom: 2px solid #000;
641
+}
642
+.actionBar {
643
+  display: flex;
644
+  justify-content: space-between;
645
+  line-height: 24px;
646
+  padding: 0 10px;
647
+}
648
+.actionBar p {
649
+  width: 150px;
650
+}
651
+.under_line {
652
+  display: inline-block;
653
+  border-bottom: 1px solid #000;
654
+  flex: 1;
655
+}
656
+</style>

+ 15 - 7
src/xt_pages/outpatientDoctorStation/doctorDesk.vue View File

@@ -535,7 +535,7 @@ export default {
535 535
 
536 536
       tableHeight: '',
537 537
       saveloading: false,
538
-      
538
+
539 539
       fullHeight: document.documentElement.clientHeight,
540 540
       month_prescriptions: [],
541 541
       isloading: false,
@@ -668,20 +668,28 @@ export default {
668 668
           style: style,
669 669
           scanStyles: false
670 670
         })
671
-      }
672
-      else {
671
+      } else if(this.org_id == 10188 || this.org_id == 0){
673 672
         const style =
674
-            '@media print {#prescription-print{font-size:14px;border:1px solid white}.prescription-print:last-child {page-break-after: auto;}.printTitle{font-size: 22px;text-align: center;font-weight: bold;margin-bottom: 10px;}.infoTitle{display: flex;border-bottom: 2px solid #000;margin-top:10px;line-height: 1px; padding:0 10px;}.infoTitle p{width: 200px;font-size:14px;}.infoMain{display: flex;flex-wrap: wrap;border-bottom: 2px solid #000;padding:0 10px;}.infoMain div{width: 50%;line-height: 24px;}.prescriptionBox{min-height:450px;}.Rp{font-size: 18px;font-weight: bold;}.drugsBox{padding-left: 40px;margin-bottom: 10px;}.drugsBox div{line-height: 20px;}.drugsOne{line-height: 24px;}.drugsOne span{margin-right: 20px;}.doctorBox{display: flex;justify-content: space-between;padding:0 10px;line-height: 24px;border-bottom: 2px solid #000;}.actionBar{display: flex;justify-content: space-between; line-height: 24px;padding:0 10px;}.actionBar p{width:150px;}.under_line{display: inline-block;border-bottom: 1px solid #000;flex: 1;}@media print {html {zoom: 88%;}}#prescription-print{font-size:14px;border:1px solid white}.prescription-print:last-child {page-break-after: auto;}.printTitle{font-size: 22px;text-align: center;font-weight: bold;margin-bottom: 10px;}.infoTitle{display: flex;margin-top:10px;}.infoTitle div{width: 200px;}.infoMain{display: flex;flex-wrap: wrap;margin-top:10px;}.infoMain div{width: 50%;line-height: 24px;}.prescriptionBox{min-height:450px;}.Rp{font-size: 18px;font-weight: bold;}.drugsBox{padding-left: 40px;margin-bottom: 10px;}.drugsBox div{line-height: 20px;}.drugsOne{line-height: 24px;}.drugsOne span{margin-right: 20px;}.doctorBox{display: flex;justify-content: space-between;padding:0 10px;line-height: 24px;border-bottom: 2px solid #000;}.doctorBoxtwo{display: flex;justify-content: space-between;padding:0 10px;line-height: 24px;}.actionBar{display: flex;justify-content: space-between; line-height: 24px;padding:0 10px;}.actionBar p{width:150px;}.under_line{display: inline-block;border-bottom: 1px solid #000;flex: 1;}.NoCell{display: flex;justify-content: space-between;margin-bottom: 10px;}.underLine{display: inline-block;border-bottom: 1px solid #000;text-align: center;line-height: 24px;}.basicCell{display: flex;} .basicCell span{line-height: 24px;margin-bottom: 10px;}}'
673
+          '@media print {#prescription-print{font-size:14px;border:1px solid white}.prescription-print:last-child {page-break-after: auto;}.printTitle{font-size: 22px;text-align: center;font-weight: bold;margin-bottom: 10px;}.infoTitle{display: flex;border-bottom: 2px solid #000;margin-top:10px;line-height: 1px; padding:0 10px;}.infoTitle p{width: 200px;font-size:14px;}.infoMain{display: flex;flex-wrap: wrap;border-bottom: 2px solid #000;padding:0 10px;}.infoMain div{width: 50%;line-height: 24px;}.prescriptionBox{min-height:450px;}.Rp{font-size: 18px;font-weight: bold;}.drugsBox{padding-left: 40px;margin-bottom: 10px;}.drugsBox div{line-height: 20px;}.drugsOne{line-height: 24px;}.drugsOne span{margin-right: 20px;}.doctorBoxxxx{display: flex;justify-content: space-between;padding:0 10px;line-height: 24px;border-bottom: 2px solid #000;} .doctorBoxxxx p {margin-left: auto} .actionBar{display: flex;justify-content: space-between; line-height: 24px;padding:0 10px;}.actionBar p{width:150px;}.under_line{display: inline-block;border-bottom: 1px solid #000;flex: 1;}@media print {html {zoom: 88%;}}#prescription-print{font-size:14px;border:1px solid white}.prescription-print:last-child {page-break-after: auto;}.printTitle{font-size: 22px;text-align: center;font-weight: bold;margin-bottom: 10px;}.infoTitle{display: flex;margin-top:10px;}.infoTitle div{width: 200px;}.infoMain{display: flex;flex-wrap: wrap;margin-top:10px;}.infoMain div{width: 50%;line-height: 24px;}.prescriptionBox{min-height:450px;}.Rp{font-size: 18px;font-weight: bold;}.drugsBox{padding-left: 40px;margin-bottom: 10px;}.drugsBox div{line-height: 20px;}.drugsOne{line-height: 24px;}.drugsOne span{margin-right: 20px;}.doctorBox{display: flex;justify-content: space-between;padding:0 10px;line-height: 24px;border-bottom: 2px solid #000;}.doctorBoxtwo{display: flex;justify-content: space-between;padding:0 10px;line-height: 24px;}.actionBar{display: flex;justify-content: space-between; line-height: 24px;padding:0 10px;}.actionBar p{width:150px;}.under_line{display: inline-block;border-bottom: 1px solid #000;flex: 1;}.NoCell{display: flex;justify-content: space-between;margin-bottom: 10px;}.underLine{display: inline-block;border-bottom: 1px solid #000;text-align: center;line-height: 24px;}.basicCell{display: flex;} .basicCell span{line-height: 24px;margin-bottom: 10px;}}'
675 674
         printJS({
676 675
           printable: 'printMain',
677 676
           type: 'html',
678 677
           style: style,
679 678
           scanStyles: false
680 679
         })
681
-        
680
+      } else {
681
+        const style =
682
+            '@media print {#prescription-print{font-size:14px;border:1px solid white}.prescription-print:last-child {page-break-after: auto;}.printTitle{font-size: 22px;text-align: center;font-weight: bold;margin-bottom: 10px;}.infoTitle{display: flex;border-bottom: 2px solid #000;margin-top:10px;line-height: 1px; padding:0 10px;}.infoTitle p{width: 200px;font-size:14px;}.infoMain{display: flex;flex-wrap: wrap;border-bottom: 2px solid #000;padding:0 10px;}.infoMain div{width: 50%;line-height: 24px;}.prescriptionBox{min-height:450px;}.Rp{font-size: 18px;font-weight: bold;}.drugsBox{padding-left: 40px;margin-bottom: 10px;}.drugsBox div{line-height: 20px;}.drugsOne{line-height: 24px;}.drugsOne span{margin-right: 20px;}.doctorBox{display: flex;justify-content: space-between;padding:0 10px;line-height: 24px;border-bottom: 2px solid #000;} .actionBar{display: flex;justify-content: space-between; line-height: 24px;padding:0 10px;}.actionBar p{width:150px;}.under_line{display: inline-block;border-bottom: 1px solid #000;flex: 1;}@media print {html {zoom: 88%;}}#prescription-print{font-size:14px;border:1px solid white}.prescription-print:last-child {page-break-after: auto;}.printTitle{font-size: 22px;text-align: center;font-weight: bold;margin-bottom: 10px;}.infoTitle{display: flex;margin-top:10px;}.infoTitle div{width: 200px;}.infoMain{display: flex;flex-wrap: wrap;margin-top:10px;}.infoMain div{width: 50%;line-height: 24px;}.prescriptionBox{min-height:450px;}.Rp{font-size: 18px;font-weight: bold;}.drugsBox{padding-left: 40px;margin-bottom: 10px;}.drugsBox div{line-height: 20px;}.drugsOne{line-height: 24px;}.drugsOne span{margin-right: 20px;}.doctorBox{display: flex;justify-content: space-between;padding:0 10px;line-height: 24px;border-bottom: 2px solid #000;}.doctorBoxtwo{display: flex;justify-content: space-between;padding:0 10px;line-height: 24px;}.actionBar{display: flex;justify-content: space-between; line-height: 24px;padding:0 10px;}.actionBar p{width:150px;}.under_line{display: inline-block;border-bottom: 1px solid #000;flex: 1;}.NoCell{display: flex;justify-content: space-between;margin-bottom: 10px;}.underLine{display: inline-block;border-bottom: 1px solid #000;text-align: center;line-height: 24px;}.basicCell{display: flex;} .basicCell span{line-height: 24px;margin-bottom: 10px;}}'
683
+        printJS({
684
+          printable: 'printMain',
685
+          type: 'html',
686
+          style: style,
687
+          scanStyles: false
688
+        })
689
+
682 690
       }
683 691
       this.innerVisible = false
684
-      
692
+
685 693
       // this.$nextTick(() => {
686 694
       //   this.$refs.print.printThisPage()
687 695
       //   this.$refs.treatPrint.printThisPage()
@@ -1472,7 +1480,7 @@ export default {
1472 1480
         'type': this.radio,
1473 1481
         'sch_type': this.schedule_type
1474 1482
       }
1475
-      
1483
+
1476 1484
       this.un_cure_data = []
1477 1485
       this.cure_data = []
1478 1486
       this.all_data = []

+ 6 - 6
src/xt_pages/outpatientDoctorStation/print.vue View File

@@ -3,11 +3,11 @@
3 3
     <div class="dialysisPage" style="padding-top: 40px">
4 4
       <div v-if="org_id != 10138 && org_id != 10278 && org_id != 10243">
5 5
 
6
-        <printOne v-if="org_id != 10088 && org_id != 10215 && org_id != 10375 && org_id !=0 " v-bind:childResponse="childResponse" 
7
-        :advicePrint="advicePrint" :ids="ids" :patient="patient" :hisPatient="hisPatient" 
8
-        :doctorPorject="doctorPorject" :patient_id="patient_id" :record_date="record_date" 
6
+        <printOne v-if="org_id != 10088 && org_id != 10215 && org_id != 10375" v-bind:childResponse="childResponse"
7
+        :advicePrint="advicePrint" :ids="ids" :patient="patient" :hisPatient="hisPatient"
8
+        :doctorPorject="doctorPorject" :patient_id="patient_id" :record_date="record_date"
9 9
         :prescription_id="prescription_id"></printOne>
10
-        <prinSeven v-if="org_id == 10375 ||org_id ==0" 
10
+        <prinSeven v-if="org_id == 10375"
11 11
           v-bind:childResponse="childResponse"
12 12
           :advicePrint="advicePrint"
13 13
           :ids="ids"
@@ -144,10 +144,10 @@ export default {
144 144
             scanStyles: false,
145 145
           });
146 146
         }, 500);
147
-      } 
147
+      }
148 148
        else {
149 149
         const style =
150
-          "@media print {#prescription-print{font-size:14px;}.prescription-print:last-child {page-break-after: auto;}.printTitle{font-size: 22px;text-align: center;font-weight: bold;}.infoTitle{display: flex;border-bottom: 2px solid #000;margin-top:10px;line-height: 1px; padding:0 10px;}.infoTitle p{width: 200px;font-size:14px;}.infoMain{display: flex;flex-wrap: wrap;border-bottom: 2px solid #000;padding:0 10px;}.infoMain div{width: 50%;line-height: 24px;}.prescriptionBox{padding:0 10px;min-height:450px;}.Rp{font-size: 22px;font-weight: bold;}.drugsBox{padding-left: 40px;margin-bottom: 10px;position: relative;}.drugsBox div{line-height: 20px;width:80%} .drugsOne{line-height: 1px;} .drugsOne span{margin-right: 20px;} .doctorBox{display: flex; justify-content: space-between; padding:0 10px; line-height: 1px; border-bottom: 2px solid #000;} .actionBar{display: flex; justify-content: space-between; line-height: 1px; padding:0 10px;} .actionBar p{width:150px;}}";
150
+          "@media print {#prescription-print{font-size:14px;}.prescription-print:last-child {page-break-after: auto;}.printTitle{font-size: 22px;text-align: center;font-weight: bold;}.infoTitle{display: flex;border-bottom: 2px solid #000;margin-top:10px;line-height: 1px; padding:0 10px;}.infoTitle p{width: 200px;font-size:14px;}.infoMain{display: flex;flex-wrap: wrap;border-bottom: 2px solid #000;padding:0 10px;}.infoMain div{width: 50%;line-height: 24px;}.prescriptionBox{padding:0 10px;min-height:450px;}.Rp{font-size: 22px;font-weight: bold;}.drugsBox{padding-left: 40px;margin-bottom: 10px;position: relative;}.drugsBox div{line-height: 20px;width:80%} .drugsOne{line-height: 1px;} .drugsOne span{margin-right: 20px;} .doctorBoxxxx{display: flex; justify-content: space-between; padding:0 10px; line-height: 1px; border-bottom: 2px solid #000;} .actionBar{display: flex; justify-content: space-between; line-height: 1px; padding:0 10px;} .doctorBoxxxx p {margin-left: auto} .actionBar p{width:150px;}}";
151 151
         printJS({
152 152
           printable: "prescriptionPrint",
153 153
           type: "html",

+ 57 - 9
src/xt_pages/outpatientDoctorStation/template/printOne.vue View File

@@ -116,7 +116,7 @@
116 116
               >&nbsp;&nbsp;<span>{{ it.advice_desc }}</span>
117 117
             </div>
118 118
           </div>
119
-          
119
+
120 120
           <div
121 121
             class="drugsBox"
122 122
             v-for="(it, i) in item.additionalcharge"
@@ -130,7 +130,7 @@
130 130
           </div>
131 131
           <div style="text-align: center">(以下空白)</div>
132 132
         </div>
133
-        <div class="doctorBox" v-if="org_id != 10188 && org_id != 0">
133
+        <div class="doctorBox" v-if="org_id == 10217 || org_id == 0">
134 134
           <p v-if="org_id == 10217 || org_id == 0">
135 135
             医师:
136 136
             <span
@@ -153,22 +153,46 @@
153 153
 
154 154
             />
155 155
           </p>
156
-          <p v-else>
157
-            医师: {{ item.doctor ? item.doctor : "" }}
158
-          </p>
159
-          <p>日期:{{ getTime(item.ctime) ? getTime(item.ctime) : "" }}</p>
156
+
157
+          <p >日期:{{ getTime(item.ctime) ? getTime(item.ctime) : "" }}</p>
160 158
         </div>
161 159
 
162
-        <div class="doctorBoxs" style="border-bottom: 2px solid #000;" v-if="org_id == 10188 || org_id == 0">
163
-          <p>医师:{{ item.doctor ? item.doctor : "" }}</p>
160
+        <div class="doctorBoxxxx" v-if="org_id == 10188">
161
+          <p >
162
+            医师:
163
+            <span
164
+              style="width: 100px; display: inline-block"
165
+              v-if="item.creator == ''"
166
+            >
167
+              {{ item.doctor }}
168
+            </span>
169
+            <span
170
+              style="width: 100px; display: inline-block"
171
+              v-else-if="doc_name != ''"
172
+            >
173
+              {{ doc_name }}
174
+            </span>
175
+            <img
176
+              style="height: 50px;"
177
+              :src="setAdminUserES(item.creator,item.doctor)"
178
+              alt=""
179
+              srcset=""
180
+
181
+            />
182
+          </p>
164 183
         </div>
184
+
185
+
186
+<!--        <div class="doctorBoxs" style="border-bottom: 2px solid #000;" v-if="org_id == 10188 || org_id == 0">-->
187
+<!--          <p>医师:{{ item.doctor ? item.doctor : "" }}</p>-->
188
+<!--        </div>-->
165 189
         <!-- <div class="doctorBoxtwo" v-if="org_id == 10188 || org_id == 0">
166 190
           <p >审核、调配:</p>
167 191
           <p >核对、发药:</p>
168 192
           <p style="margin-right: 43px">药师:</p>
169 193
         </div> -->
170 194
 
171
-        <div class="actionBar" v-if="org_id != 10188 && org_id != 0">
195
+        <div class="actionBar" v-if="org_id != 10188">
172 196
           <!-- <p>审核:{{getDoctor(item.advices[0].checker)?getDoctor(item.advices[0].checker):""}}</p>
173 197
                  <p>配对:</p>
174 198
                  <p>核对:{{getDoctor(item.advices[0].checker)?getDoctor(item.advices[0].checker):""}}</p>
@@ -543,6 +567,30 @@ export default{
543 567
   line-height: 24px;
544 568
   border-bottom: 2px solid #000;
545 569
 }
570
+
571
+.doctorBoxxxx {
572
+  display: flex;
573
+  justify-content: space-between;
574
+  padding: 0 10px;
575
+  line-height: 24px;
576
+  border-bottom: 2px solid #000;
577
+}
578
+
579
+
580
+.doctorBoxxxx  p{
581
+  margin-left: auto
582
+}
583
+
584
+.doctorBoxsss {
585
+  display: flex;
586
+  float: right;
587
+  margin-bottom: 60px;
588
+  justify-content: space-between;
589
+  padding: 0 10px;
590
+  line-height: 24px;
591
+  border-bottom: 2px solid #000;
592
+}
593
+
546 594
 .doctorBoxs{
547 595
   width: 100%;
548 596
   margin-right: 30px;