Browse Source

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

陈少旭 1 year ago
parent
commit
f0052fb9cb

+ 46 - 8
src/xt_pages/Pharmacy/PatientDispensing.vue View File

@@ -280,14 +280,21 @@
280 280
       ref="patientprint"
281 281
       :visibility="isVisibility"
282 282
       :propsTable="propsTable"
283
+      
283 284
     >
284 285
     </patient-print>
286
+    <patientPrintTwo ref="patientprintTwo"
287
+      :visibility="isVisibilityTwo"
288
+      :propsTable="propsTable"
289
+    >
290
+    </patientPrintTwo>
285 291
   </div>
286 292
 </template>
287 293
 
288 294
 <script>
289 295
 import BreadCrumb from "@/xt_pages/components/bread-crumb";
290 296
 import patientPrint from "./print/patientPrint.vue";
297
+import patientPrintTwo from './print/patientPrintTwo'
291 298
 import { getPharmacyConfig, SaveSetting } from "@/api/his/advice";
292 299
 import {
293 300
   waitingdrug,
@@ -303,6 +310,7 @@ export default {
303 310
   components: {
304 311
     BreadCrumb,
305 312
     patientPrint,
313
+    patientPrintTwo
306 314
   },
307 315
   data() {
308 316
     return {
@@ -313,6 +321,7 @@ export default {
313 321
       ],
314 322
       tableHeight: 400,
315 323
       start_time: moment(new Date()).add("year", 0).format("YYYY-MM-DD"),
324
+      start_time2: moment(new Date()).add("year", 0).format("YYYY-MM-DD hh:mm"),
316 325
       state: 1, //1待发药,2已发药
317 326
       waitmount: 0, //待发药人数
318 327
       waitmount_data: [],
@@ -323,6 +332,7 @@ export default {
323 332
       propsTable: [],
324 333
       tableData_list: [],
325 334
       isVisibility: false,
335
+      isVisibilityTwo:false,
326 336
       currentRow: null,
327 337
       dialogVisible: false,
328 338
       is_open: "2",
@@ -337,6 +347,9 @@ export default {
337 347
       partition: 0, //分区
338 348
       drugList:[],
339 349
       baseList:[],
350
+      org_id:'',
351
+      patients:{},
352
+      doctors:[]
340 353
     };
341 354
   },
342 355
   watch: {},
@@ -345,6 +358,7 @@ export default {
345 358
     this.gettodaynumber();
346 359
     this.fun3();
347 360
     this.getgetpartitionlist();
361
+    this.org_id = this.$store.getters.xt_user.org.id
348 362
     // this.getwaitmount();//fun3
349 363
     // this.selectedbydefault();
350 364
   },
@@ -462,12 +476,12 @@ export default {
462 476
     },
463 477
     //获取当天发药的人数
464 478
     gettodaynumber() {
465
-      console.log("aaa");
466 479
       var params = {
467 480
         time: this.start_time,
468 481
       };
469 482
       todaynumber(params).then((res) => {
470 483
         if (res.data.state == 1) {
484
+          console.log('3333333',res.data.data);
471 485
           this.waitmount = res.data.data.itotal;
472 486
           this.alreadmount = res.data.data.wtotal;
473 487
           this.drugList = res.data.data.drug
@@ -547,9 +561,17 @@ export default {
547 561
       getpharmacycontent(params).then((res) => {
548 562
         if (res.data.state == 1) {
549 563
            var list = res.data.data.list;
550
-           console.log("hhhhawoowowow",list)
564
+           console.log("hhhhawoowowow",res.data.data)
551 565
            this.baseList =[]
552 566
           this.baseList = res.data.data.baseList
567
+          this.doctors = res.data.data.doctors
568
+          const obj={
569
+            age:res.data.data.patients.age,
570
+            gender: res.data.data.patients.gender,
571
+            diagnose:res.data.data.patients.diagnose,
572
+            zhixing:res.data.data.patients.created_time      
573
+          }
574
+          this.patients =obj
553 575
           if(this.$store.getters.xt_user.org.id == 10188 || this.$store.getters.xt_user.org.id == 10217 || this.$store.getters.xt_user.org.id == 10387 ||  this.$store.getters.xt_user.org.id == 0  ||  this.$store.getters.xt_user.org.id == 10480  ){
554 576
             this.tableData = []
555 577
             if(list!=null && list.length >0){
@@ -576,13 +598,29 @@ export default {
576 598
       if (this.tableData == null) {
577 599
         this.$message.error("未选择任何数据");
578 600
         return;
601
+      }else{
602
+        if(this.org_id != 10653 && this.org_id !=0){
603
+          this.$refs.patientprint.show(
604
+            this.tableData,
605
+            this.currentRow,
606
+            this.state,
607
+            this.start_time
608
+          );
609
+        }else{
610
+          this.$refs.patientprintTwo.show(
611
+            this.tableData,
612
+            this.currentRow,
613
+            this.state,
614
+            this.start_time2,
615
+            this.baseList,
616
+            this.patients,
617
+            this.doctors
618
+          )
619
+        }
579 620
       }
580
-      this.$refs.patientprint.show(
581
-        this.tableData,
582
-        this.currentRow,
583
-        this.state,
584
-        this.start_time
585
-      );
621
+
622
+      
623
+      
586 624
     },
587 625
     toExport() {
588 626
       import("@/vendor/Export2Excel").then((excel) => {

+ 332 - 0
src/xt_pages/Pharmacy/print/patientPrintTwo.vue View File

@@ -0,0 +1,332 @@
1
+<template>
2
+  <el-dialog
3
+    title="打印"
4
+    :visible.sync="visibility"
5
+    :close-on-click-modal="isClose"
6
+    :close-on-press-escape="isClose"
7
+  >
8
+    <el-button type="primary" @click="print" class="print_style"
9
+      >打印23</el-button
10
+    >
11
+    <div id="dialysis-print-box-1" class="dialysis-print-box-1">
12
+      <div class="list_title" style="border-bottom:none;">
13
+        <div style="width:100%;text-align:center;font-size:16px;font-weight:bold;">
14
+          {{org_name}} <span v-if="state=='待发药'">发药单</span> <span v-if="state=='已发药'">领药单</span>
15
+        </div>
16
+      </div>
17
+      <div style="display: flex;">
18
+        <div style="margin-right: 20px;">日期:{{times}}</div>
19
+        <div>单据号:00013756</div>
20
+      </div>
21
+      <div style="margin: 10px 0;">
22
+        <!-- <span>床号:{{  }}</span>&nbsp;&nbsp;
23
+        <span>住院号:{{DialysisNo}}</span>&nbsp;&nbsp; -->
24
+        <span>姓名:{{name}}</span>&nbsp;&nbsp;
25
+        <span>性别:{{ patients.gender==1 ?'男':'女'}}</span>&nbsp;&nbsp;
26
+        <span>年龄:{{patients.age}}</span>&nbsp;&nbsp;
27
+        <span>住院科室:肾内科</span>&nbsp;&nbsp;
28
+        <span>入院诊断:{{patients.diagnose}}</span>
29
+      </div>
30
+      <div>
31
+        <table class="table" border="1" 
32
+          style="border-collapse: collapse;border-left: none;border-right: none;width: 100%;text-align: center;">
33
+          <tr>
34
+            <td>药品名称</td>
35
+            <td>规格</td>
36
+            <td>用量</td>
37
+            <td>用法</td>
38
+            <td>总量</td>
39
+            <td>金额</td>
40
+            <td>执行时间</td>
41
+          </tr>
42
+          <tr v-for="item in tableData" >
43
+            <td>{{item.Name}}</td>
44
+            <td>{{getSpecaiName(item.DrugId)}}</td>
45
+            <td>{{item.SingleDosage}}</td>
46
+            <td>{{item.Frequency}}</td>
47
+            <td>{{ item.Usage }}<span>{{item.Total}}</span></td>
48
+            <!-- <td>{{item.Usage}}</td>
49
+            <td>{{item.Total}}</td> -->
50
+            <td>{{item.Price}}</td>
51
+            <td>{{getTime(item.ExecutionTime) }}</td>
52
+          </tr>
53
+        </table>
54
+      </div>
55
+      <div style="display: flex;margin: 10px 0;">
56
+        <div style="flex: 1;">发药药房:药房</div>
57
+        <div style="flex: 1;">开单医生:{{Doctor}}</div>
58
+        <div style="flex: 1;">金额合计:{{ Price_zong }}</div>
59
+      </div>
60
+      <div style="display: flex;">
61
+        <div style="flex: 1;">调配人:{{getdoctors(tableData[0].ExecutionStaff) }}</div>
62
+        <div style="flex: 1;">取药人:{{getdoctors(tableData[0].ExecutionStaff) }}</div>
63
+      </div>
64
+      <!-- <div>
65
+        <div style="display: flex;">
66
+          <div style="width: 30%;"></div>
67
+          <div style="width: 30%;"></div>
68
+          <div style="width: 30%;"></div>
69
+          <div style="width: 30%;"></div>
70
+          <div style="width: 30%;"></div>
71
+          <div style="width: 30%;"></div>
72
+        </div>
73
+      </div> -->
74
+      <!-- <div class="list_title">
75
+        <div>患者名称:{{name}}</div>
76
+        <div>发药状态:{{state}}</div>
77
+        <div>日期:{{times}}</div>
78
+      </div> -->
79
+    </div>
80
+  </el-dialog>
81
+</template>
82
+<script>
83
+import Vue from "vue";
84
+import print from "print-js";
85
+import printutils from "./print.js";
86
+import{todaynumber} from '@/api/pharmacy'
87
+const moment = require("moment");
88
+import { uParseTime } from "@/utils/tools";
89
+export default {
90
+  data() {
91
+    return {
92
+      visibility: false,
93
+      tableData: [],
94
+      isClose:false,
95
+      name:"",
96
+      DialysisNo:'',
97
+      state:null,
98
+      times:"",
99
+      start_time:moment(new Date()).add("year", 0).format("YYYY-MM-DD"),
100
+      org_name: this.$store.getters.xt_user.org.org_name,
101
+      baseList:[],
102
+      Doctor:'',
103
+      patients:{},
104
+      doctors:[],
105
+      Price_zong:0
106
+    };
107
+  },
108
+  props: {
109
+    propForm: {
110
+      type: Object,
111
+    },
112
+  },
113
+  created(){
114
+    this.init();
115
+  },
116
+  methods: {
117
+    // isClose() {
118
+    //   this.visibility = false;
119
+    // },
120
+    init(){
121
+      // let year = new Date().getFullYear();
122
+      // let month = new Date().getMonth() +1;
123
+      // let day = new Date().getDate();
124
+      // let hour = new Date().getHours();
125
+      // let minute = new Date().getMinutes();
126
+      // this.times = year + "年" + month + "月" + day + "日" + hour + "时" + minute + "分"
127
+      // console.log("times:",this.times)
128
+    },
129
+
130
+    hide: function () {
131
+      this.visibility = false;
132
+      for (let i = 0; i < this.propForm.goods.length; i++) {
133
+        for (let key in this.propForm.goods[i]) {
134
+          if (key != "index") {
135
+            this.propForm.goods[i][key].isSelected = false;
136
+          }
137
+        }
138
+      }
139
+    },
140
+    show: function (val,data,state,times,base,patients,doctors) {
141
+      this.times = times
142
+      this.visibility = true;
143
+      console.log("val",val)
144
+      this.tableData = val
145
+      this.Doctor = val[0].Doctor
146
+      this.name = data.Name
147
+      this.DialysisNo = data.DialysisNo
148
+      this.baseList = base
149
+      this.patients = patients
150
+      this.doctors = doctors
151
+      if (state == 1){
152
+        this.state = "待发药"
153
+      }
154
+      if (state == 2){
155
+        this.state = "已发药"
156
+      }
157
+      for(let i in this.tableData){
158
+        if(this.tableData[i].Price !=''){
159
+         this.Price_zong = this.Price_zong + this.tableData[i].Price
160
+        }
161
+      }
162
+    },
163
+
164
+    comfirm: function (formName) {
165
+      this.goodInfo = [];
166
+      this.goodInfoTableData = [];
167
+      this.$emit("dialog-comfirm", this.getValue());
168
+      this.$refs.multipleTable.clearSelection();
169
+      this.$refs.table.setCurrentRow(null);
170
+    },
171
+    getValue() {},
172
+
173
+    // 打印
174
+    print() {
175
+      console.log(this.org_name,'this.org_name')
176
+      Vue.prototype.printJson = printutils.printJson;
177
+        const style =
178
+          '@media print {.list_title{width:940px;border-bottom:1px solid;display:flex;margin:20px auto} .table tr td{border:1px solid black;padding: 5px 0;border-left: none;border-right: none;}}';
179
+        printJS({
180
+          printable: "dialysis-print-box-1",
181
+          type: "html",
182
+          style: style,
183
+          scanStyles: false,
184
+        });
185
+      // this.printJson({
186
+      //   title: `
187
+      //   <div>
188
+      //   <div style="width: 940px;text-align:center;font-size:16px;font-weight:bold;">${this.org_name} 发药单</div>
189
+      //   <div style="width: 940px;border-bottom: 1px solid;display: flex;margin: 30px auto;font-size:14px;">
190
+      //   <div style="width: 310px;padding: 10px 0;">患者名称:${this.name}</div>
191
+      //   <div style="width: 320px;padding: 10px 0;">发药状态:${this.state}</div>
192
+      //   <div style="width: 310px;padding: 10px 0;">日期:${this.times}</div>
193
+      //   </div></div>`, // 打印出来的标题
194
+      //   data: this.tableData, // 需要打印的数据
195
+      //   serial: true, // 是否需要打印序列号
196
+      //   fields: [
197
+      //     // 需要打印的字段
198
+
199
+      //     "Name",
200
+      //     "SingleDosage",
201
+      //     "Usage",
202
+      //     "Frequency",
203
+      //     "Days",
204
+      //     "Total",
205
+      //     "DataSources",
206
+      //     "Remarks",
207
+      //   ],
208
+      //   properties: [
209
+      //     // 需要打印的字段对应的表头名
210
+
211
+      //     {
212
+      //       field: "Name",
213
+      //       displayName: "名称",
214
+      //     },
215
+      //     {
216
+      //       field: "SingleDosage",
217
+      //       displayName: "单次用量",
218
+      //     },
219
+      //     {
220
+      //       field: "Usage",
221
+      //       displayName: "用法",
222
+      //     },
223
+      //     {
224
+      //       field: "Frequency",
225
+      //       displayName: "频率",
226
+      //     },
227
+      //     {
228
+      //       field: "Days",
229
+      //       displayName: "天数",
230
+      //     },
231
+      //     {
232
+      //       field: "Total",
233
+      //       displayName: "总量",
234
+      //     },
235
+      //     {
236
+      //       field: "DataSources",
237
+      //       displayName: "数据来源",
238
+      //     },
239
+      //     {
240
+      //       field: "Remarks",
241
+      //       displayName: "备注",
242
+      //     },
243
+      //   ],
244
+      // });
245
+    },
246
+    getSpecaiName(drug_id){
247
+       var spc =""
248
+       for(let i=0;i<this.baseList.length;i++){
249
+         if(drug_id == this.baseList[i].id){
250
+           spc = this.baseList[i].dose + this.baseList[i].dose_unit +"*"+this.baseList[i].min_number+this.baseList[i].min_unit+"/"+this.baseList[i].max_unit
251
+         }
252
+       }
253
+       return spc
254
+    },
255
+    getTime(val) {
256
+        if(val < 0){
257
+          return ""
258
+        }
259
+        if(val == ""){
260
+        return ""
261
+        }else {
262
+        return uParseTime(val, '{y}-{m}-{d} {h}:{i}')
263
+        }
264
+    }, 
265
+    getdoctors(id){
266
+      for(let i in this.doctors){
267
+        if(this.doctors[i].id == id){
268
+          return this.doctors[i].user_name
269
+        }
270
+      }
271
+    }
272
+  },
273
+};
274
+</script>
275
+
276
+<style lang="scss" scoped>
277
+/deep/ .el-dialog{
278
+  width: 60%;
279
+}
280
+/deep/ .el-table__body-wrapper::-webkit-scrollbar {
281
+  width: 10px;
282
+  height: 10px;
283
+}
284
+.print_style {
285
+  position: absolute;
286
+  right: 65px;
287
+  top: 50px;
288
+}
289
+
290
+.list_title {
291
+  width: 940px;
292
+  border-bottom: 1px solid;
293
+  display: flex;
294
+  // margin: 30px auto;
295
+
296
+  // div {
297
+  //   width: 320px;
298
+  //   padding: 10px 0;
299
+  // }
300
+}
301
+.table tr td{
302
+ border:1px solid black;
303
+ padding: 5px 0;
304
+//  border-left: none;
305
+//  border-right: none;
306
+}
307
+</style>
308
+
309
+<style>
310
+.sign-and-weigh-box .sign-and-weigh-box-patients .cell {
311
+  font-size: 12px;
312
+}
313
+
314
+.sign-and-weigh-box .sign-and-weigh-box-patients .current-row > td {
315
+  background: #6fb5fa;
316
+}
317
+
318
+.count {
319
+  color: #bd2c00;
320
+}
321
+.el-table td,
322
+.el-table th.is-leaf,
323
+.el-table--border,
324
+.el-table--group {
325
+  border-color: #d0d3da;
326
+}
327
+.el-table--border::after,
328
+.el-table--group::after,
329
+.el-table::before {
330
+  background-color: #d0d3da;
331
+}
332
+</style>

+ 25 - 25
src/xt_pages/dialysis/template/DialysisPrintOrderFiftyNine.vue View File

@@ -145,7 +145,7 @@
145 145
                     text-align: center;
146 146
                     font-weight: 520;
147 147
                     font-size: 16px;
148
-                    padding: 6px 8px;
148
+                    padding: 0px 8px;
149 149
                     line-height: 30px;
150 150
                   "
151 151
                 >
@@ -1133,7 +1133,7 @@
1133 1133
                             text-align: center;
1134 1134
                             font-weight: 520;
1135 1135
                             font-size: 16px;
1136
-                            padding: 6px 8px;
1136
+                            padding: 0px 8px;
1137 1137
                             line-height: 30px;
1138 1138
                           "
1139 1139
                         >
@@ -1405,7 +1405,7 @@
1405 1405
                             text-align: center;
1406 1406
                             font-weight: 520;
1407 1407
                             font-size: 16px;
1408
-                            padding: 6px 8px;
1408
+                            padding: 0px 8px;
1409 1409
                             line-height: 30px;
1410 1410
                           "
1411 1411
                         >
@@ -1439,14 +1439,14 @@
1439 1439
                         v-for="(advice, advice_index) in doctor_advices"
1440 1440
                         :key="advice_index"
1441 1441
                       >
1442
-                        <td height="32px">
1442
+                        <td height="25px">
1443 1443
                           <span v-if="advice.start_time">
1444 1444
                             {{ getTime(advice.start_time, "{h}:{i}") }}
1445 1445
                           </span>
1446 1446
                           <!-- <span v-else>&nbsp;<br/>&nbsp;</span> -->
1447 1447
                         </td>
1448 1448
                         <td
1449
-                          height="32px"
1449
+                          height="25px"
1450 1450
                           colspan="2"
1451 1451
                           class="advice-name"
1452 1452
                           style="padding-left: 7px"
@@ -1484,7 +1484,7 @@
1484 1484
                       <span v-if="advice.remark.length > 0">({{advice.remark}})</span>
1485 1485
                     </td> -->
1486 1486
                         <!-- <td width="10%" v-if="(advice.children && advice.children.length > 0 || advice.parent_id > 0) && advice.isShow == 2" ></td> -->
1487
-                        <td height="32px">
1487
+                        <td height="25px">
1488 1488
                           <span
1489 1489
                             v-if="setAdminUserES(advice.advice_doctor) == ''"
1490 1490
                             >{{ getAdminUser(advice.advice_doctor) }}</span
@@ -1497,7 +1497,7 @@
1497 1497
                             v-else
1498 1498
                           />
1499 1499
                         </td>
1500
-                        <td height="35px">
1500
+                        <td height="25px">
1501 1501
                           <span v-if="setAdminUserES(advice.checker) == ''">{{
1502 1502
                             getAdminUser(advice.checker)
1503 1503
                           }}</span>
@@ -1509,30 +1509,30 @@
1509 1509
                             v-else
1510 1510
                           />
1511 1511
                         </td>
1512
-                        <td height="32px">
1512
+                        <td height="25px">
1513 1513
                           <span
1514 1514
                             v-if="setAdminUserES(advice.execution_staff) == ''"
1515 1515
                             >{{ getAdminUser(advice.execution_staff) }}</span
1516 1516
                           >
1517 1517
                           <img
1518
-                            style="height: 30px"
1518
+                            style="height: 25px"
1519 1519
                             :src="setAdminUserES(advice.execution_staff)"
1520 1520
                             alt=""
1521 1521
                             srcset=""
1522 1522
                             v-else
1523 1523
                           />
1524 1524
                         </td>
1525
-                        <td height="32px">
1525
+                        <td height="25px">
1526 1526
                           <span v-if="advice.execution_time">{{
1527 1527
                             getTime(advice.execution_time, "{h}:{i}")
1528 1528
                           }}</span>
1529 1529
                         </td>
1530
-                        <td height="32px" v-if="org_id == 10223">
1530
+                        <td height="25px" v-if="org_id == 10223">
1531 1531
                           <span v-if="setAdminUserES(advice.checker) == ''">{{
1532 1532
                             getAdminUser(advice.checker)
1533 1533
                           }}</span>
1534 1534
                           <img
1535
-                            style="height: 30px"
1535
+                            style="height: 25px"
1536 1536
                             :src="setAdminUserES(advice.checker)"
1537 1537
                             alt=""
1538 1538
                             srcset=""
@@ -1711,7 +1711,7 @@
1711 1711
                       text-align: center;
1712 1712
                       font-weight: 520;
1713 1713
                       font-size: 16px;
1714
-                      padding: 6px 8px;
1714
+                      padding: 0px 8px;
1715 1715
                       line-height: 30px;
1716 1716
                     "
1717 1717
                   >
@@ -1744,14 +1744,14 @@
1744 1744
                   v-for="(advice, advice_index) in doctor_advices_2"
1745 1745
                   :key="advice_index"
1746 1746
                 >
1747
-                  <td height="32px">
1747
+                  <td height="25px">
1748 1748
                     <span v-if="advice.start_time">
1749 1749
                       {{ getTime(advice.start_time, "{h}:{i}") }}
1750 1750
                     </span>
1751 1751
                     <!-- <span v-else>&nbsp;<br/>&nbsp;</span> -->
1752 1752
                   </td>
1753 1753
                   <td
1754
-                    height="32px"
1754
+                    height="25px"
1755 1755
                     colspan="2"
1756 1756
                     class="advice-name"
1757 1757
                     style="padding-left: 7px"
@@ -1792,53 +1792,53 @@
1792 1792
                   <span v-if="advice.remark.length > 0">({{advice.remark}})</span>
1793 1793
                 </td> -->
1794 1794
                   <!-- <td width="10%" v-if="(advice.children && advice.children.length > 0 || advice.parent_id > 0) && advice.isShow == 2" ></td> -->
1795
-                  <td height="32px">
1795
+                  <td height="25px">
1796 1796
                     <span v-if="setAdminUserES(advice.advice_doctor) == ''">{{
1797 1797
                       getAdminUser(advice.advice_doctor)
1798 1798
                     }}</span>
1799 1799
                     <img
1800
-                      style="height: 30px"
1800
+                      style="height: 25px"
1801 1801
                       :src="setAdminUserES(advice.advice_doctor)"
1802 1802
                       alt=""
1803 1803
                       srcset=""
1804 1804
                       v-else
1805 1805
                     />
1806 1806
                   </td>
1807
-                  <td height="35px">
1807
+                  <td height="25px">
1808 1808
                     <span v-if="setAdminUserES(advice.checker) == ''">{{
1809 1809
                       getAdminUser(advice.checker)
1810 1810
                     }}</span>
1811 1811
                     <img
1812
-                      style="height: 20px"
1812
+                      style="height: 25px"
1813 1813
                       :src="setAdminUserES(advice.checker)"
1814 1814
                       alt=""
1815 1815
                       srcset=""
1816 1816
                       v-else
1817 1817
                     />
1818 1818
                   </td>
1819
-                  <td height="32px">
1819
+                  <td height="25px">
1820 1820
                     <span v-if="setAdminUserES(advice.execution_staff) == ''">{{
1821 1821
                       getAdminUser(advice.execution_staff)
1822 1822
                     }}</span>
1823 1823
                     <img
1824
-                      style="height: 30px"
1824
+                      style="height: 25px"
1825 1825
                       :src="setAdminUserES(advice.execution_staff)"
1826 1826
                       alt=""
1827 1827
                       srcset=""
1828 1828
                       v-else
1829 1829
                     />
1830 1830
                   </td>
1831
-                  <td height="32px">
1831
+                  <td height="25px">
1832 1832
                     <span v-if="advice.execution_time">{{
1833 1833
                       getTime(advice.execution_time, "{h}:{i}")
1834 1834
                     }}</span>
1835 1835
                   </td>
1836
-                  <td height="32px" v-if="org_id == 10223">
1836
+                  <td height="25px" v-if="org_id == 10223">
1837 1837
                     <span v-if="setAdminUserES(advice.checker) == ''">{{
1838 1838
                       getAdminUser(advice.checker)
1839 1839
                     }}</span>
1840 1840
                     <img
1841
-                      style="height: 30px"
1841
+                      style="height: 25px"
1842 1842
                       :src="setAdminUserES(advice.checker)"
1843 1843
                       alt=""
1844 1844
                       srcset=""
@@ -3424,7 +3424,7 @@ export default {
3424 3424
   border: 1px solid;
3425 3425
   text-align: center;
3426 3426
   font-size: 14px;
3427
-  padding: 6px 5px;
3427
+  padding: 0px 5px;
3428 3428
   line-height: 16px;
3429 3429
 }
3430 3430
 

+ 9 - 0
src/xt_pages/dialysis/template/DialysisPrintOrderTwentySeven.vue View File

@@ -1227,6 +1227,7 @@
1227 1227
             <td>医嘱</td>
1228 1228
             <td width='80'>执行时间</td>
1229 1229
             <td width='80'>执行者签名</td>
1230
+            <td width='80'>核对人签名</td>
1230 1231
           </tr>
1231 1232
           <tr v-for="(advice, advice_index) in tableAdvice" :key="advice_index" >
1232 1233
             <td>{{ getTime(advice.start_time, "{y}-{m}-{d}") }}</td>
@@ -1259,6 +1260,14 @@
1259 1260
                 <img style="height:30px;" :src="setAdminUserES(advice.execution_staff)" alt srcset />
1260 1261
               </span>
1261 1262
             </td>
1263
+            <td>
1264
+              <span v-if="setAdminUserES(advice.checker) == ''">
1265
+                {{ getAdminUser(advice.checker) }}
1266
+              </span>
1267
+              <span v-else style="display:flex;align-items:center;justify-content:space-around;height:36px;">
1268
+                <img style="height:30px;" :src="setAdminUserES(advice.checker)" alt srcset />
1269
+              </span>
1270
+            </td>
1262 1271
           </tr>
1263 1272
         </table>
1264 1273
       </div>

+ 3 - 3
src/xt_pages/hospitalStation/invoiceTemplate/printfour.vue View File

@@ -24,7 +24,7 @@
24 24
           <div style="width: 300px;"></div>
25 25
       </div>
26 26
       <div style="display:flex;margin-top: 30px;">
27
-        <div style="width: 150px;">床位费 {{ list.bedCostTotal ? list.bedCostTotal :'0' }}</div>
27
+        <div style="width: 150px;">床位费 {{ list.bedCostTotal}}</div>
28 28
         <div style="width: 150px;margin:0 30px;">治疗费 {{ list.treatCostTotal ? list.treatCostTotal :'0'}}</div>
29 29
         <div style="width: 150px;margin:0 30px;">西药费 {{ list.westernMedicineCostTotal }}</div>
30 30
         <div style="width: 150px;margin:0 30px;">
@@ -55,7 +55,7 @@
55 55
           </div>
56 56
           <div style="width: 230px;margin-left: 20px;">
57 57
             自费费用:
58
-            {{ list.order.psn_cash_pay?list.order.psn_cash_pay:'0' }}
58
+            {{ list.order.fulamt_ownpay_amt?list.order.fulamt_ownpay_amt:'0' }}
59 59
           </div>
60 60
           <div style="width: 230px;margin-left: 20px;">医院优惠: 0</div>
61 61
         </div>
@@ -180,7 +180,7 @@ export default {
180 180
         }
181 181
         return "";
182 182
       },
183
-      
183
+
184 184
       getDay(dateString1,dateString2){
185 185
         var  startDate = Date.parse(dateString1);
186 186
         var  endDate = Date.parse(dateString2);

+ 103 - 11
src/xt_pages/outpatientCharges/allListPrint.vue View File

@@ -13,7 +13,7 @@
13 13
     </template>
14 14
 
15 15
     <div class='dialysisPage' style="padding-top:40px;">
16
-      <printOne  v-if="org_id != 10215 && org_id !=0 && org_id !=9671&&org_id !=9675&& org_id !=10515" :list="list" :patient="patient" :order="order" :admin="admin" :hospital="his_hospital"></printOne>
16
+      <printOne  v-if="org_id != 10215  && org_id !=9671&&org_id !=9675&& org_id !=10515" :list="list" :patient="patient" :order="order" :admin="admin" :hospital="his_hospital"></printOne>
17 17
       <summary-print v-if="org_id == 10215|| org_id ==9671 ||org_id ==9675" :list="list" :patient="patient" :order="order" :admin="admin" :hospital="his_hospital"></summary-print>
18 18
       <printTwo v-if="org_id==10515 || org_id==0" :list="list" :patient="patient" :order="order" :admin="admin" :hospital="his_hospital"></printTwo>
19 19
 <!--      <list-print-two :list="list" :patient="patient" :order="order" :admin="admin" :hospital="his_hospital"></list-print-two>-->
@@ -58,7 +58,8 @@
58 58
     methods: {
59 59
       getTimes(time) {
60 60
         return uParseTime(time, '{y}-{m}-{d} {h}:{i}')
61
-      }, getInfo(order_id) {
61
+      }, 
62
+      getInfo(order_id) {
62 63
         let params = {
63 64
           id: order_id
64 65
         }
@@ -79,13 +80,13 @@
79 80
             this.order['laboratoryCostTotal'] = response.data.data.laboratoryCostTotal
80 81
             this.order['treatCostTotal'] = response.data.data.treatCostTotal
81 82
 
82
-            console.log("~~~~~")
83
+            console.log("~~~~~",response.data.data)
83 84
             this.patient = response.data.data.patient
84 85
             this.admin = response.data.data.admin_info
85 86
             this.his_hospital = response.data.data.his_hospital
86 87
             var order_info = response.data.data.order_info
87 88
 
88
-            if(this.$store.getters.xt_user.org_id == 10215 || this.$store.getters.xt_user.org_id == 0){
89
+            if(this.$store.getters.xt_user.org_id == 10215){
89 90
               //获取所有项目类型进行去重
90 91
               let med_chrgitm_types = []
91 92
               for (let i = 0; i < order_info.length; i++) {
@@ -111,14 +112,14 @@
111 112
                     tempDetails.push(order_info[b])
112 113
                   }
113 114
                 }
114
-                console.log("~~~~~~~~")
115
-                console.log(tempDetails)
115
+                // console.log("~~~~~~~~")
116
+                // console.log(tempDetails)
116 117
 
117
-                console.log("1111="+tempDetails)
118
+                // console.log("1111="+tempDetails)
118 119
                 obj.details = this.setNewData(tempDetails)
119
-                console.log("22222="+obj.details)
120
+                // console.log("22222="+obj.details)
120 121
                 this.list =  this.list.concat(obj.details)
121
-                console.log("222233332="+ this.list)
122
+                console.log("222233332=",this.list)
122 123
               }
123 124
               let newobj = {}
124 125
               newobj['total'] = this.order.medfee_sumamt
@@ -127,7 +128,43 @@
127 128
             }else{
128 129
               //获取所有项目类型进行去重
129 130
               let med_chrgitm_types = []
131
+              let chrgitm_lvs = []
132
+              let advice = []
133
+              let good = []
134
+              let project = []
130 135
               for (let i = 0; i < order_info.length; i++) {
136
+                if(order_info[i].advice.advice_name !=''){
137
+                  const adv={
138
+                    advice_name:order_info[i].advice.advice_name,
139
+                    // good_name:order_info[i].project.good_info.good_name,
140
+                    // project_name:order_info[i].project.project.project_name,
141
+                    chrgitm_lv:order_info[i].chrgitm_lv,
142
+                  }
143
+                  advice.push(adv)
144
+                }
145
+               
146
+                if(order_info[i].project.good_info.good_name !=''){
147
+                  const god={
148
+                    // advice_name:order_info[i].advice.advice_name,
149
+                    good_name:order_info[i].project.good_info.good_name,
150
+                    // project_name:order_info[i].project.project.project_name,
151
+                    chrgitm_lv:order_info[i].chrgitm_lv,
152
+                  }
153
+                  good.push(god)
154
+                }
155
+
156
+                if(order_info[i].project.project.project_name !=''){
157
+                  const pro={
158
+                    // advice_name:order_info[i].advice.advice_name,
159
+                    // good_name:order_info[i].project.good_info.good_name,
160
+                    project_name:order_info[i].project.project.project_name,
161
+                    chrgitm_lv:order_info[i].chrgitm_lv,
162
+                  }
163
+                  project.push(pro)
164
+                }
165
+
166
+                // chrgitm_lvs.push(arr)
167
+                // chrgitm_lvs.push(order_info[i].chrgitm_lv)
131 168
                 med_chrgitm_types.push(order_info[i].med_chrgitm_type)
132 169
               }
133 170
               const obj = {}
@@ -153,13 +190,68 @@
153 190
                   total: obj.total,
154 191
                   is_total: 1,
155 192
                 })
156
-                console.log("23323223323232332323322332",obj.details)
193
+                // console.log("23323223323232332323322332",obj.details)
157 194
                 this.list =  this.list.concat(obj.details)
195
+                // console.log("23323223323232332323322332",this.list)
196
+              }
197
+              for(let i=0;i<advice.length;i++){
198
+                for(let j=i+1;j<advice.length;j++){
199
+                  if(advice[i].advice_name == advice[j].advice_name){
200
+                    advice.splice(j,1)
201
+                    j--
202
+                  }
203
+                }
158 204
               }
205
+              for(let i=0;i<good.length;i++){
206
+                for(let j=i+1;j<good.length;j++){
207
+                  if(good[i].good_name == good[j].good_name){
208
+                    good.splice(j,1)
209
+                    j--
210
+                  }
211
+                }
212
+              }
213
+              for(let i=0;i<project.length;i++){
214
+                for(let j=i+1;j<project.length;j++){
215
+                  if(project[i].project_name == project[j].project_name){
216
+                    project.splice(j,1)
217
+                    j--
218
+                  }
219
+                }
220
+              }
221
+
222
+              chrgitm_lvs = [...advice,...good,...project]
223
+              
224
+              console.log('yyyyyyyyyyyy',chrgitm_lvs);
225
+              for(let i in this.list){
226
+                for(let j in chrgitm_lvs){
227
+                  if(this.list[i].is_total ==2){
228
+                    if(this.list[i].name == chrgitm_lvs[j].advice_name ||
229
+                        this.list[i].name == chrgitm_lvs[j].good_name ||
230
+                        this.list[i].name == chrgitm_lvs[j].project_name
231
+                    ){
232
+                      this.list[i]['chrgitm_lv'] = chrgitm_lvs[j].chrgitm_lv
233
+                    }
234
+                  }
235
+                }
236
+              }
237
+              console.log('tttttttttttt',this.list);
159 238
             }
160 239
           }
161 240
         })
162
-      }, getTotal:function(items){
241
+        
242
+      }, 
243
+      getquchong(arr){
244
+        for(let i=0;i<arr.length;i++){
245
+          for(let j=i+1;j<arr.length;j++){
246
+            if(arr[i] == arr[j]){
247
+              arr.splice(j,1)
248
+              j--
249
+            }
250
+          }
251
+        }
252
+        return arr
253
+      },
254
+      getTotal:function(items){
163 255
         let total = 0
164 256
         for(let i = 0; i < items.length; i++){
165 257
           total = Number(total) + Number((parseFloat(items[i].count) * parseFloat(items[i].price)).toFixed(2))

+ 27 - 4
src/xt_pages/outpatientCharges/allListTemplate/printOne.vue View File

@@ -16,8 +16,9 @@
16 16
       <table class="allListTable" border="1">
17 17
         <tr>
18 18
           <td style="width:10%">类别</td>
19
-          <td style="width:50%">项目名称</td>
19
+          <td style="width:40%">项目名称</td>
20 20
           <td style="width:10%">规格</td>
21
+          <td style="width:10%" v-if="org_id==10489">报销等级</td>
21 22
           <td style="width:10%">单价(元)</td>
22 23
           <td style="width:10%">数量</td>
23 24
           <td style="width:10%">金额(元)</td>
@@ -25,8 +26,9 @@
25 26
         <template v-for='item in list.slice(index * 13,(index * 13) + pageArr[index])'>
26 27
           <tr v-if="item.is_total == 2">
27 28
             <td style="width:10%">{{ item.med_chrgitm_type }}</td>
28
-            <td style="width:50%">{{ item.name }}</td>
29
+            <td style="width:40%">{{ item.name }}</td>
29 30
             <td style="width:10%">{{ item.spec }}</td>
31
+            <td style="width:10%" v-if="org_id==10489">{{ getMedicineInsuranceType(item.chrgitm_lv) }}</td>
30 32
             <td style="width:10%">{{ (item.price).toFixed(2) }}</td>
31 33
             <td style="width:10%">{{ item.count }}{{ item.unit }}</td>
32 34
             <td style="width:10%">{{ (item.price * item.count).toFixed(2) }}</td>
@@ -81,7 +83,8 @@ export default {
81 83
   data() {
82 84
     return {
83 85
       page: 1,
84
-      pageArr: []
86
+      pageArr: [],
87
+      org_id:'',
85 88
     }
86 89
   },
87 90
   methods: {
@@ -111,6 +114,7 @@ export default {
111 114
 
112 115
     },
113 116
     getPage() {
117
+      console.log('kkkkkk',this.list);
114 118
       if (this.list.length <= 13) {
115 119
         this.page = 1
116 120
         this.pageArr.push(this.list.length)
@@ -124,9 +128,28 @@ export default {
124 128
           this.pageArr.push(num)
125 129
         }
126 130
       }
127
-    }
131
+    },
132
+    getMedicineInsuranceType(type) {
133
+      switch (type) {
134
+        case "01":
135
+          return '甲类'
136
+          break
137
+        case "02":
138
+          return '乙类'
139
+
140
+          break
141
+        case "03":
142
+          return '自费'
143
+          break
144
+
145
+      }
146
+
147
+    },
128 148
 
129 149
   },
150
+  created(){
151
+    this.org_id = this.$store.getters.xt_user.org_id
152
+  },
130 153
   watch: {
131 154
     list: {
132 155
       handler(newVal) {

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

@@ -577,7 +577,7 @@
577 577
 
578 578
       printThisPage() {
579 579
         if(this.org_id != 10106){
580
-          if(this.org_id == 10215 || this.org_id == 9675 || this.org_id == 0 || this.org_id == 10485){
580
+          if(this.org_id == 10215 || this.org_id == 9675  || this.org_id == 10485){
581 581
             const style =
582 582
               '@media print {.allListTitle{font-size: 24px;text-align: center;font-weight: bold;margin-bottom: 10px;}.allListInfo{display: flex;font-size: 16px;justify-content: space-between;margin: 10px 0;} .listTable{width: 100%;text-align: center;border-collapse: collapse;line-height: 20px;font-size: 14px;border-color: #000;text-align:left;}  .listTable tr td {padding: 0 5px;}.tableBottom{font-size: 16px;display: flex;margin-top: 10px;}.tableBottomOne{margin-right: 40px;} .allListTable{border: none;width: 100%;text-align: center;border-collapse: collapse;line-height: 20px;font-size: 14px;border-color: #000;text-align:left;} .allListTable tr{page-break-inside:avoid;} .allListTable tr td {padding: 0 5px;border: 1px solid #000;}.tableBottom{font-size: 16px;display: flex;margin-top: 20px;}.tableBottomOne{margin-right: 40px;}}'
583 583
             printJS({

+ 5 - 3
src/xt_pages/outpatientCharges/listTemplate/printOne.vue View File

@@ -1,6 +1,6 @@
1 1
 <template>
2 2
     <div id="list-print" class="list-print">
3
-        <div v-for='(i,index) in pageArr.length' :key="index">
3
+        <div v-for='(i,index) in pageArr.length' :key="index" style="page-break-after: always;">
4 4
         <div class="listTitle">{{$store.getters.xt_user.org.org_name}}费用清单</div>
5 5
         <div class="listInfo">
6 6
 
@@ -29,7 +29,7 @@
29 29
 
30 30
 
31 31
             </tr>
32
-            <tr v-for="item in list.slice(index * 15,(index * 15) + pageArr[index])">
32
+            <tr v-for="item in list.slice(index * 16,(index * 16) + pageArr[index])">
33 33
                 <td style="width:15%">{{item.p_time}}</td>
34 34
                 <td style="width:10%">{{item.med_chrgitm_type}}</td>
35 35
                 <td style="width:10%">{{item.code}}</td>
@@ -39,7 +39,6 @@
39 39
                 <td style="width:6%">{{item.count}}{{item.unit}}</td>
40 40
                 <td style="width:10%">{{(item.price * item.count).toFixed(2)}}</td>
41 41
               <td v-if="$store.getters.xt_user.org_id == 10318 || $store.getters.xt_user.org_id == 0 " style="width:10%">{{getMedicineInsuranceKind(item.type)}}</td>
42
-
43 42
             </tr>
44 43
         </table>
45 44
         <div class="tableBottom">
@@ -125,6 +124,7 @@
125 124
         return uParseTime(time, '{y}-{m}-{d}')
126 125
       },
127 126
       getPage(){
127
+
128 128
         if(this.list.length <= 16){
129 129
             this.page = 1
130 130
             this.pageArr.push(this.list.length)
@@ -138,6 +138,8 @@
138 138
                 this.pageArr.push(num)
139 139
             }
140 140
         }
141
+        console.log('this.list',this.list);
142
+        console.log('this.pageArr',this.pageArr);
141 143
       }
142 144
 
143 145
     },

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

@@ -124,7 +124,7 @@
124 124
               
125 125
           </div>
126 126
           <div class="doctorBox">
127
-            <p v-if="org_id!=10598 && org_id!=0 ">
127
+            <p v-if="org_id!=10598">
128 128
             医师:
129 129
             <span
130 130
                 style="width: 100px; display: inline-block"
@@ -146,14 +146,14 @@
146 146
                 v-else
147 147
               />
148 148
             </p>
149
-            <p v-if="org_id==10598 || org_id==0">
149
+            <p v-if="org_id==10598">
150 150
             医师:
151
-            <!-- <span
151
+              <span
152 152
                 style="width: 100px; display: inline-block"
153 153
                 v-if="item.creator == ''"
154 154
               >
155 155
                 {{ item.doctor ? item.doctor : "" }}
156
-              </span> -->
156
+              </span>
157 157
               <!-- <span
158 158
                 style="width: 100px; display: inline-block"
159 159
                 v-else-if="doc_name != ''"
@@ -165,7 +165,7 @@
165 165
                 :src="setAdminUserES(item.creator,item.doctor)"
166 166
                 alt=""
167 167
                 srcset=""
168
-                
168
+                v-else
169 169
               />
170 170
             </p>
171 171
               <p>日期:{{getTime(item.ctime)?getTime(item.ctime):""}}</p>