Browse Source

4月11日打印单样式问题

杨青 2 years ago
parent
commit
50f4d7bf0a

+ 63 - 143
src/xt_pages/outpatientCharges/batchStatementPrint.vue View File

@@ -3,7 +3,7 @@
3 3
   <div>
4 4
     <template>
5 5
       <el-button
6
-        style="position: fixed; right: 25px; z-index: 999"
6
+        style="position: fixed; right:26px; z-index: 999"
7 7
         :loading="loading"
8 8
         size="small"
9 9
         icon="el-icon-printer"
@@ -14,17 +14,15 @@
14 14
       >
15 15
     </template>
16 16
 
17
-
18
-
19 17
     <div class="dialysisPage" style="padding-top: 40px">
20 18
 
21 19
 <!--      <batch-print-three-->
22 20
 <!--        :info="info"-->
23 21
 <!--        v-if="org_id == 10138 || org_id == 0 || org_id == 10278"-->
24 22
 <!--      ></batch-print-three>-->
25
-      <batch-print
23
+      <batch-print 
26 24
         :info="info"
27
-        v-if="org_id == 10138 || org_id == 0 || org_id == 10278"
25
+        v-if="org_id == 10138 || org_id == 0 || org_id == 10278 || org_id == 10342 || org_id == 10341 " 
28 26
       >
29 27
 
30 28
       </batch-print>
@@ -99,17 +97,21 @@ export default {
99 97
   },
100 98
   methods: {
101 99
     printThisPage() {
100
+      console.log('打印12323435456456');
102 101
       var ptime = Math.round(new Date().getTime() / 1000);
103 102
       this.print_time = uParseTime(ptime, "{y}-{m}-{d} {h}:{i}");
104 103
 
105 104
       if (
106 105
         this.$store.getters.xt_user.org_id == 10138 ||
107 106
         this.$store.getters.xt_user.org_id == 4 ||
108
-        this.$store.getters.xt_user.org_id == 10278
107
+        this.$store.getters.xt_user.org_id == 10278 ||
108
+        this.$store.getters.xt_user.org_id == 0  ||
109
+        this.$store.getters.xt_user.org_id == 10342 ||
110
+        this.$store.getters.xt_user.org_id == 10341
109 111
       ) {
110 112
         setTimeout(() => {
111 113
           const style =
112
-            "@media print {#statement-print{font-size:14px;border:1px solid white}.printTitle{font-size: 22px;text-align: center;font-weight: bold;}table td {padding: 10px 5px;font-size:16px;}@media print {html {zoom: 47%;}}}";
114
+            "@media print {#prescription-print{font-size:14px;border:1px solid white}.printTitle{font-size: 22px;text-align: center;font-weight: bold;}table td {padding: 10px 5px;font-size:16px;}@media print {html {zoom: 47%;}}}";
113 115
           const style2 =
114 116
             "@media print {#prescription-print{font-size:14px;border:1px solid white}.printTitle{font-size: 22px;text-align: center;font-weight: bold;}table td {padding: 10px 5px;font-size:16px;}@media print {html {zoom: 50%;}}}";
115 117
           const style3 =
@@ -132,149 +134,67 @@ export default {
132 134
             "@media print {#prescription-print{font-size:14px;border:1px solid white}.printTitle{font-size: 22px;text-align: center;font-weight: bold;}table td {padding: 10px 5px;font-size:16px;}@media print {html {zoom: 87%;}}}";
133 135
           const style12 =
134 136
             "@media print {#prescription-print{font-size:14px;border:1px solid white}.printTitle{font-size: 22px;text-align: center;font-weight: bold;}table td {padding: 10px 5px;font-size:16px;}@media print {html {zoom: 89%;}}}";
135
-          if (this.num >= 13) {
137
+        
136 138
             printJS({
137 139
               printable: "prescription-print",
138 140
               type: "html",
139 141
               style: style,
140 142
               scanStyles: false,
141 143
             });
142
-          } else if (this.num == 12) {
143
-            printJS({
144
-              printable: "prescription-print",
145
-              type: "html",
146
-              style: style2,
147
-              scanStyles: false,
148
-            });
149
-          } else if (this.num == 11) {
150
-            printJS({
151
-              printable: "prescription-print",
152
-              type: "html",
153
-              style: style3,
154
-              scanStyles: false,
155
-            });
156
-          } else if (this.num == 10) {
157
-            printJS({
158
-              printable: "prescription-print",
159
-              type: "html",
160
-              style: style4,
161
-              scanStyles: false,
162
-            });
163
-          } else if (this.num == 9) {
164
-            printJS({
165
-              printable: "prescription-print",
166
-              type: "html",
167
-              style: style5,
168
-              scanStyles: false,
169
-            });
170
-          } else if (this.num == 8) {
171
-            printJS({
172
-              printable: "prescription-print",
173
-              type: "html",
174
-              style: style6,
175
-              scanStyles: false,
176
-            });
177
-          } else if (this.num == 7) {
178
-            printJS({
179
-              printable: "prescription-print",
180
-              type: "html",
181
-              style: style7,
182
-              scanStyles: false,
183
-            });
184
-          } else if (this.num == 6) {
185
-            printJS({
186
-              printable: "prescription-print",
187
-              type: "html",
188
-              style: style8,
189
-              scanStyles: false,
190
-            });
191
-          } else if (this.num == 5) {
192
-            printJS({
193
-              printable: "prescription-print",
194
-              type: "html",
195
-              style: style9,
196
-              scanStyles: false,
197
-            });
198
-          } else if (this.num == 4) {
199
-            printJS({
200
-              printable: "prescription-print",
201
-              type: "html",
202
-              style: style10,
203
-              scanStyles: false,
204
-            });
205
-          } else if (this.num == 3) {
206
-            printJS({
207
-              printable: "prescription-print",
208
-              type: "html",
209
-              style: style11,
210
-              scanStyles: false,
211
-            });
212
-          } else if (this.num <= 2) {
213
-            printJS({
214
-              printable: "prescription-print",
215
-              type: "html",
216
-              style: style12,
217
-              scanStyles: false,
218
-            });
219
-          }
144
+      
145
+      
220 146
         }, 500);
221
-      } else if (
222
-        this.$store.getters.xt_user.org_id == 9504 ||
223
-        this.$store.getters.xt_user.org_id == 10028
224
-      ) {
225
-        const style =
226
-          "@media print {.printTitle{font-size: 20px;text-align: center;font-weight: bold;}.infoMain{display: flex;flex-wrap: wrap;padding:0 10px;margin-top:10px;font-size:12px;}.infoMain .infoP{width: 33%;}.chargeBox{border: 1px solid #000;font-size:12px;}.chargeUl{display:flex;justify-content: space-between;text-align: center;}.chargeUl p{line-height: 1px;}.chargeP{line-height: 1px;padding-bottom:16px;}.moneyBox{display: flex;justify-content: space-between;padding: 0 10px;background: #eeeeee;-webkit-print-color-adjust:exact;-moz-print-color-adjust:exact;-ms-print-color-adjust:exact;print-color-adjust:exact;height: 40px;align-items: center;border:1px solid #000; border-top:none;font-size:12px;}.actionBar{display: flex;justify-content: space-between; line-height: 24px;padding:0 10px;font-size:12px;}.actionBar div{width:150px;}}";
227
-        printJS({
228
-          printable: "prescription-print",
229
-          type: "html",
230
-          style: style,
231
-          scanStyles: false,
232
-        });
233
-      } else {
234
-        // 医保环境打印格式
235
-        if (
236
-          this.$store.getters.xt_user.org_id == 9919 ||
237
-          this.$store.getters.xt_user.org_id == 10106
238
-        ) {
239
-          const style =
240
-            "@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;}}";
241
-          printJS({
242
-            printable: "statement-print",
243
-            type: "html",
244
-            style: style,
245
-            scanStyles: false,
246
-          });
247
-        } else if (
248
-          this.$store.getters.xt_user.org_id == 0 ||
249
-          this.$store.getters.xt_user.org_id == 10191
250
-        ) {
251
-          const style =
252
-            "@media print {#statement-print{font-size:14px;border:1px solid white}.statementTitle{font-size: 22px;text-align: center;font-weight: bold;}table{border-collapse: collapse;text-align: center;}table td {padding: 10px 5px;font-size:16px;}@media print {html {zoom: 57%;}}}";
253
-          printJS({
254
-            printable: "statement-print",
255
-            type: "html",
256
-            style: style,
257
-            scanStyles: false,
258
-          });
259
-          // const style =
260
-          //     "@media print {.statementTable{width: 100%;text-align: center;border-collapse: collapse;line-height: 40px;font-size: 14px;border-color: #000;} .statementTable thead{font-size: 28px;text-align: center;font-weight: bold;margin-bottom: 10px;} .statementTable tbody{text-align:left;} .statementTable tbody .view_tr{text-align:center;border: 1px solid;} tbody .dashed_tr{border: 1px dashed;text-align:center} .list_table{width: 100%;margin-bottom: 100px;} tbody tr td div{height:25px;}}";
261
-          // printJS({
262
-          //   printable: "statement-print",
263
-          //   type: "html",
264
-          //   style: style,
265
-          //   scanStyles: false,
266
-          // });
267
-        } else {
268
-          const style =
269
-            "@media print {#statement-print{font-size:14px;border:1px solid white}.statementTitle{font-size: 22px;text-align: center;font-weight: bold;}table{border-collapse: collapse;text-align: center;}table td {padding: 10px 5px;font-size:16px;}@media print {html {zoom: 57%;}}}";
270
-          printJS({
271
-            printable: "statement-print",
272
-            type: "html",
273
-            style: style,
274
-            scanStyles: false,
275
-          });
276
-        }
277
-      }
147
+      } 
148
+      // else if (
149
+      //   this.$store.getters.xt_user.org_id == 9504 ||
150
+      //   this.$store.getters.xt_user.org_id == 10028
151
+      // ) {
152
+      //   const style =
153
+      //     "@media print {.printTitle{font-size: 20px;text-align: center;font-weight: bold;}.infoMain{display: flex;flex-wrap: wrap;padding:0 10px;margin-top:10px;font-size:12px;}.infoMain .infoP{width: 33%;}.chargeBox{border: 1px solid #000;font-size:12px;}.chargeUl{display:flex;justify-content: space-between;text-align: center;}.chargeUl p{line-height: 1px;}.chargeP{line-height: 1px;padding-bottom:16px;}.moneyBox{display: flex;justify-content: space-between;padding: 0 10px;background: #eeeeee;-webkit-print-color-adjust:exact;-moz-print-color-adjust:exact;-ms-print-color-adjust:exact;print-color-adjust:exact;height: 40px;align-items: center;border:1px solid #000; border-top:none;font-size:12px;}.actionBar{display: flex;justify-content: space-between; line-height: 24px;padding:0 10px;font-size:12px;}.actionBar div{width:150px;}}";
154
+      //   printJS({
155
+      //     printable: "prescription-print",
156
+      //     type: "html",
157
+      //     style: style,
158
+      //     scanStyles: false,
159
+      //   });
160
+      // } 
161
+      // else {
162
+      //   // 医保环境打印格式
163
+      //   if (
164
+      //     this.$store.getters.xt_user.org_id == 9919 ||
165
+      //     this.$store.getters.xt_user.org_id == 10106
166
+      //   ) {
167
+      //     const style =
168
+      //       "@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;}}";
169
+      //     printJS({
170
+      //       printable: "prescription-print",
171
+      //       type: "html",
172
+      //       style: style,
173
+      //       scanStyles: false,
174
+      //     });
175
+      //   } else if (
176
+         
177
+      //     this.$store.getters.xt_user.org_id == 10191
178
+      //   ) {
179
+      //     const style =
180
+      //       "@media print {#prescription-print{font-size:14px;border:1px solid white}.statementTitle{font-size: 22px;text-align: center;font-weight: bold;}table{border-collapse: collapse;text-align: center;}table td {padding: 10px 5px;font-size:16px;}@media print {html {zoom: 57%;}}}";
181
+      //     printJS({
182
+      //       printable: "prescription-print",
183
+      //       type: "html",
184
+      //       style: style,
185
+      //       scanStyles: false,
186
+      //     });
187
+      //   } else {
188
+      //     const style =
189
+      //       "@media print {#prescription-print{font-size:14px;border:1px solid white}.statementTitle{font-size: 22px;text-align: center;font-weight: bold;}table{border-collapse: collapse;text-align: center;}table td {padding: 10px 5px;font-size:16px;}@media print {html {zoom: 57%;}}}";
190
+      //     printJS({
191
+      //       printable: "prescription-print",
192
+      //       type: "html",
193
+      //       style: style,
194
+      //       scanStyles: false,
195
+      //     });
196
+      //   }
197
+      // }
278 198
 
279 199
       // if (this.org_template_info.template_id == 1) {
280 200
       //   printJS({

+ 152 - 153
src/xt_pages/outpatientCharges/statementTemplate/batchPrint.vue View File

@@ -1,154 +1,159 @@
1 1
 <template>
2 2
   <div>
3
-    <div  id='prescription-print' class="prescription-print"
4
-         style="position: relative;">
5
-      <img style="width:100%;height:80px" v-if="$store.getters.xt_user.org_id == 10138 || $store.getters.xt_user.org_id == 0 " src="https://kuyi.shengws.com/bailin/bltotle.jpg" alt="">
6
-      <img style="width:100%;height:80px" v-if="$store.getters.xt_user.org_id==10278" src="https://kuyi.shengws.com/beierlog.png" alt="">
7
-      <div class="printTitle" style="position: absolute;left: 40%;top: 50px;">门诊收费清单</div>
8
-      <div style="display:flex;">
9
-        <div>单据号:<span
10
-          style="display:inline-block;width:200px;">{{info[0].order.number ? info[0].order.number : ''}}</span>
11
-        </div>
12
-        <div>透析号:<span style="display:inline-block;width:200px;">{{info[0].patient.dialysis_no ? info[0].patient.dialysis_no : ''}}</span>
13
-        </div>
14
-        <div style="margin-left:2px;">电脑号:<span
15
-          style="display:inline-block;">{{info[0].his.psn_no ? info[0].his.psn_no : ''}}</span></div>
16
-      </div>
17
-      <div style="display:flex;justify-content: space-between;">
18
-        <div style="display:flex;">
19
-          <div>姓名:<span style="display:inline-block;width:50px;">{{info[0].patient.name ? info[0].patient.name.indexOf('(') > -1 ? info[0].patient.name.substring(0,info[0].patient.name.indexOf('(')) : info[0].patient.name : ''}}</span>
20
-          </div>
21
-          <div>性别:<span
22
-            style="display:inline-block;width:30px;">{{info[0].patient.gender == '1' ? '男' : '女'}}</span>
23
-          </div>
24
-          <div>年龄:<span
25
-            style="display:inline-block;width:50px;">{{getAge(info[0].patient)}}岁</span>
26
-          </div>
27
-          <div>费别:<span style="display:inline-block;min-width:80px;">医保</span>
3
+    <div id='prescription-print'>    
4
+        <div  class="prescription-print"
5
+            style="position: relative;  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset; page-break-after:always" 
6
+            v-for="(infos,index) in info" :key="index">
7
+          <img style="width:100%;height:80px" 
8
+            v-if="$store.getters.xt_user.org_id == 10138 || $store.getters.xt_user.org_id == 0 || $store.getters.xt_user.org_id == 10342 || $store.getters.xt_user.org_id == 10341" 
9
+             src="https://kuyi.shengws.com/bailin/bltotle.jpg" alt="">
10
+          <img style="width:100%;height:80px" v-if="$store.getters.xt_user.org_id==10278" src="https://kuyi.shengws.com/beierlog.png" alt="">
11
+          <div class="printTitle" style="position: absolute;left: 40%;top: 50px;">门诊收费清单</div>
12
+          <div style="display:flex;">
13
+            <div>单据号:<span
14
+              style="display:inline-block;width:200px;">{{infos.order.number ? infos.order.number : ''}}</span>
15
+            </div>
16
+            <div>透析号:<span style="display:inline-block;width:200px;">{{infos.patient.dialysis_no ? infos.patient.dialysis_no : ''}}</span>
17
+            </div>
18
+            <div style="margin-left:2px;">电脑号:<span
19
+              style="display:inline-block;">{{infos.his.psn_no ? infos.his.psn_no : ''}}</span></div>
28 20
           </div>
29
-          <div>收费日期:<span style="display:inline-block;width:100px;">{{info[0].order.setl_time ? info[0].order.setl_time.split(' ')[0] : ''}}</span>
30
-          </div>
31
-        </div>
32
-        <div style="float:right">金额单位:元</div>
33
-      </div>
34
-      <div style="min-height: 300px;">
35
-        <table border='1' style="width:100%;" cellspacing="0">
36
-          <tr>
37
-            <td width="70">类别</td>
38
-            <td>项目</td>
39
-            <td min-width="180" style="min-width:60px;">规格</td>
40
-            <td width="40">单位</td>
41
-            <td width="40">数量</td>
42
-            <td width="60">单价</td>
43
-            <td width="70">总额</td>
44
-            <td width="130">小计</td>
45
-          </tr>
46
-          <div v-for="(item,i) in info[0].new_detail_list" :key="i" style="width:100%;display: table-row-group;">
47
-            <tr v-for="(subItem,index) in item.details" :key="index">
48
-              <td>
49
-                <span v-if="item.type == 1">药品费</span>
50
-                <span v-if="item.type == 2">诊疗费</span>
51
-                <span v-if="item.type == 3">耗材费</span>
52
-                <span v-if="item.type == 4">诊疗费</span>
53
-
54
-              </td>
55
-              <td>
56
-                <span v-if="item.type == 1">{{ subItem.advice.advice_name }}</span>
57
-                <span v-if="item.type == 2">{{ subItem.project.project.project_name }}</span>
58
-                <span v-if="item.type == 3">{{ subItem.project.good_info.good_name }}</span>
59
-                <span v-if="item.type == 4">{{ subItem.project.project.team_name }}</span>
60
-
61
-              </td>
62
-              <td>
63
-                                <span v-if="item.type == 1"><span
64
-                                  v-if="subItem.advice.drug.min_unit != subItem.advice.drug.dose_unit">{{subItem.advice.drug.dose}}{{subItem.advice.drug.dose_unit}}&nbsp;* &nbsp;</span>{{subItem.advice.drug.min_number}}{{subItem.advice.drug.min_unit}}/{{subItem.advice.drug.max_unit}}</span>
65
-                <span v-if="item.type == 2"></span>
66
-                <span v-if="item.type == 3">{{ subItem.project.good_info.specification_name }}</span>
67
-                <span v-if="item.type == 4"></span>
68
-
69
-              </td>
70
-              <td>
71
-                <span v-if="item.type == 1">{{ subItem.advice.drug.prescribing_number_unit }}</span>
72
-                <span v-if="item.type == 2">{{ subItem.project.unit }}</span>
73
-                <span v-if="item.type == 3">{{ subItem.project.unit }}</span>
74
-                <span v-if="item.type == 4"></span>
75
-
76
-              </td>
77
-              <td>
78
-                <span v-if="item.type == 1">{{ subItem.advice.prescribing_number }}</span>
79
-                <span v-if="item.type == 2">{{ subItem.project.count }}</span>
80
-                <span v-if="item.type == 3">{{ subItem.project.count }}</span>
81
-                <span v-if="item.type == 4"></span>
82
-
83
-              </td>
84
-              <td>
85
-                <span v-if="item.type == 1">{{ subItem.pric.toFixed(2) }}</span>
86
-                <span v-if="item.type == 2">{{ subItem.pric.toFixed(2) }}</span>
87
-                <span v-if="item.type == 3">{{ subItem.pric.toFixed(2) }}</span>
88
-                <span v-if="item.type == 4">{{subItem.Total}}</span>
89
-
90
-
91
-              </td>
92
-              <td>
93
-                <span v-if="item.type == 1">{{ (subItem.advice.prescribing_number * subItem.pric).toFixed(2) }}</span>
94
-                <span v-if="item.type == 2">{{ (subItem.project.count * subItem.pric).toFixed(2) }}</span>
95
-                <span v-if="item.type == 3">{{ (subItem.project.count * subItem.pric).toFixed(2) }}</span>
96
-                <span v-if="item.type == 4">{{subItem.Total}}</span>
97
-
98
-                <!--<span v-if="item.type == 4"></span>-->
99
-
100
-              </td>
101
-              <td :rowspan="item.details.length" v-if="index == 0"
102
-                  style="vertical-align: middle;text-align: center;">{{ item.total.toFixed(2) }}
103
-              </td>
104
-            </tr>
21
+          <div style="display:flex;justify-content: space-between;">
22
+            <div style="display:flex;" >
23
+              <div>姓名:<span style="display:inline-block;width:50px;">
24
+                {{infos.patient.name ? infos.patient.name.indexOf('(') > -1 ? infos.patient.name.substring(0,infos.patient.name.indexOf('(')) : infos.patient.name : ''}}
25
+              </span>
26
+              </div>
27
+              <div>性别:<span
28
+                style="display:inline-block;width:30px;">{{infos.patient.gender == '1' ? '男' : '女'}}</span>
29
+              </div>
30
+              <div>年龄:<span
31
+                style="display:inline-block;width:50px;">{{getAge(infos.patient)}}岁</span>
32
+              </div>
33
+              <div>费别:<span style="display:inline-block;min-width:80px;">医保</span>
34
+              </div>
35
+              <div>收费日期:<span style="display:inline-block;">{{infos.order.setl_time ? infos.order.setl_time.split(' ') : ''}}</span>
36
+              </div>
37
+            </div>
38
+            <div style="float:right">金额单位:元</div>
105 39
           </div>
106
-          <tr>
107
-            <td colspan="7">
108
-              <div style="display:flex;flez-wrap:wrap;">
109
-                <div style="width:33%;" v-for="(item,index) in info[0].new_detail_list" :key="index">
110
-                  <span v-if="item.type == 1">药品费: {{ item.total.toFixed(2) }}</span>
111
-                  <span v-if="item.type == 2">诊疗费: {{ item.total.toFixed(2) }}</span>
112
-                  <span v-if="item.type == 3">耗材费: {{ item.total.toFixed(2) }}</span>
113
-                  <span v-if="item.type == 4">诊疗费: {{ item.total.toFixed(2) }}</span>
114
-
115
-                  <!--<span v-if="item.type == 4">检验费: {{ item.total.toFixed(4) }}</span>-->
116
-
117
-                </div>
40
+          <div style="min-height: 300px;">
41
+            <table border='1' style="width:100%;" cellspacing="0">
42
+              <tr>
43
+                <td width="70">类别</td>
44
+                <td>项目</td>
45
+                <td min-width="180" style="min-width:60px;">规格</td>
46
+                <td width="40">单位</td>
47
+                <td width="40">数量</td>
48
+                <td width="60">单价</td>
49
+                <td width="70">总额</td>
50
+                <td width="130">小计</td>
51
+              </tr>
52
+              <div v-for="(item,i) in infos.new_detail_list" :key="i" style="width:100%;display: table-row-group;">
53
+                <tr v-for="(subItem,index) in item.details" :key="index">
54
+                  <td>
55
+                    <span v-if="item.type == 1">药品费</span>
56
+                    <span v-if="item.type == 2">诊疗费</span>
57
+                    <span v-if="item.type == 3">耗材费</span>
58
+                    <span v-if="item.type == 4">诊疗费</span>
59
+
60
+                  </td>
61
+                  <td>
62
+                    <span v-if="item.type == 1">{{ subItem.advice.advice_name }}</span>
63
+                    <span v-if="item.type == 2">{{ subItem.project.project.project_name }}</span>
64
+                    <span v-if="item.type == 3">{{ subItem.project.good_info.good_name }}</span>
65
+                    <span v-if="item.type == 4">{{ subItem.project.project.team_name }}</span>
66
+
67
+                  </td>
68
+                  <td>
69
+                    <span v-if="item.type == 1">
70
+                      <span v-if="subItem.advice.drug.min_unit != subItem.advice.drug.dose_unit">
71
+                        {{subItem.advice.drug.dose}}{{subItem.advice.drug.dose_unit}}&nbsp;* &nbsp;</span>{{subItem.advice.drug.min_number}}{{subItem.advice.drug.min_unit}}/{{subItem.advice.drug.max_unit}}
72
+                      </span>
73
+                    <span v-if="item.type == 2"></span>
74
+                    <span v-if="item.type == 3">{{ subItem.project.good_info.specification_name }}</span>
75
+                    <span v-if="item.type == 4"></span>
76
+
77
+                  </td>
78
+                  <td>
79
+                    <span v-if="item.type == 1">{{ subItem.advice.drug.prescribing_number_unit }}</span>
80
+                    <span v-if="item.type == 2">{{ subItem.project.unit }}</span>
81
+                    <span v-if="item.type == 3">{{ subItem.project.unit }}</span>
82
+                    <span v-if="item.type == 4"></span>
83
+
84
+                  </td>
85
+                  <td>
86
+                    <span v-if="item.type == 1">{{ subItem.advice.prescribing_number }}</span>
87
+                    <span v-if="item.type == 2">{{ subItem.project.count }}</span>
88
+                    <span v-if="item.type == 3">{{ subItem.project.count }}</span>
89
+                    <span v-if="item.type == 4"></span>
90
+
91
+                  </td>
92
+                  <td>
93
+                    <span v-if="item.type == 1">{{ subItem.pric.toFixed(2) }}</span>
94
+                    <span v-if="item.type == 2">{{ subItem.pric.toFixed(2) }}</span>
95
+                    <span v-if="item.type == 3">{{ subItem.pric.toFixed(2) }}</span>
96
+                    <span v-if="item.type == 4">{{subItem.Total}}</span>
97
+
98
+
99
+                  </td>
100
+                  <td>
101
+                    <span v-if="item.type == 1">{{ (subItem.advice.prescribing_number * subItem.pric).toFixed(2) }}</span>
102
+                    <span v-if="item.type == 2">{{ (subItem.project.count * subItem.pric).toFixed(2) }}</span>
103
+                    <span v-if="item.type == 3">{{ (subItem.project.count * subItem.pric).toFixed(2) }}</span>
104
+                    <span v-if="item.type == 4">{{subItem.Total}}</span>
105
+
106
+                  </td>
107
+                  <td :rowspan="item.details.length" v-if="index == 0"
108
+                      style="vertical-align: middle;text-align: center;">{{ item.total.toFixed(2) }}
109
+                  </td>
110
+                </tr>
118 111
               </div>
119
-            </td>
120
-            <td>合计: {{info[0].order.medfee_sumamt}}元</td>
121
-          </tr>
122
-          <tr>
123
-            <td colspan="7">
124
-              <div style="display:flex;flez-wrap:wrap;margin-bottom:10px;font-size:16px;">
125
-                <div style="width:33%;">医疗费总额:{{info[0].order.medfee_sumamt}}元</div>
126
-                <div style="width:33%;">基金支付金额:{{info[0].order.hifp_pay}}元</div>
127
-                <div style="width:33%;">个人账户支付金额:{{info[0].order.acct_pay}}元</div>
128
-
112
+              <tr>
113
+                <td colspan="7">
114
+                  <div style="display:flex;flez-wrap:wrap;">
115
+                    <div style="width:33%;" v-for="(item,index) in infos.new_detail_list" :key="index">
116
+                      <span v-if="item.type == 1">药品费: {{ item.total.toFixed(2) }}</span>
117
+                      <span v-if="item.type == 2">诊疗费: {{ item.total.toFixed(2) }}</span>
118
+                      <span v-if="item.type == 3">耗材费: {{ item.total.toFixed(2) }}</span>
119
+                      <span v-if="item.type == 4">诊疗费: {{ item.total.toFixed(2) }}</span>
120
+
121
+                    </div>
122
+                  </div>
123
+                </td>
124
+                <td>合计: {{infos.order.medfee_sumamt}}元</td>
125
+              </tr>
126
+              <tr>
127
+                <td colspan="7">
128
+                  <div style="display:flex;flez-wrap:wrap;margin-bottom:10px;font-size:16px;">
129
+                    <div style="width:33%;">医疗费总额:{{infos.order.medfee_sumamt}}元</div>
130
+                    <div style="width:33%;">基金支付金额:{{infos.order.hifp_pay}}元</div>
131
+                    <div style="width:33%;">个人账户支付金额:{{infos.order.acct_pay}}元</div>
132
+
133
+                  </div>
134
+                  <div style="display:flex;flez-wrap:wrap;font-size:16px;">
135
+                    <div style="width:33%;">医疗救助基金金额:{{infos.order.maf_pay}}元</div>
136
+
137
+                    <div style="width:33%;">个人支付金额:{{ infos.order.psn_pay }}元</div>
138
+                    <div style="width:33%;">个人账户金额:{{infos.order.balc}}元</div>
139
+                  </div>
140
+                </td>
141
+                <td style="font-size:16px;">合计:{{infos.order.medfee_sumamt}}元</td>
142
+              </tr>
143
+
144
+            </table>
145
+            <div style="float:right;margin:5px 0;display:flex;">
146
+              <div>操作人:<span style="width:100px;display:inline-block;">{{infos.printor_admin.user_name}}</span></div>
147
+              <div>操作日期:<span style="width:100px;display:inline-block;">{{infos.order.setl_time ? infos.order.setl_time.split(' ')[0] : ''}}</span>
129 148
               </div>
130
-              <div style="display:flex;flez-wrap:wrap;font-size:16px;">
131
-                <div style="width:33%;">医疗救助基金金额:{{info[0].order.maf_pay}}元</div>
149
+            </div>
150
+          </div>
151
+          
152
+          <img style="width:100%;" v-if="$store.getters.xt_user.org_id == 10138" src="https://kuyi.shengws.com/bailin/blend.jpg" alt="">
153
+          <img style="width:100%;" v-if="$store.getters.xt_user.org_id == 10278" src="https://kuyi.shengws.com/bailinbeier.png" alt="">
132 154
 
133
-                <div style="width:33%;">个人支付金额:{{ info[0].order.psn_pay }}元</div>
134
-                <div style="width:33%;">个人账户金额:{{info[0].order.balc}}元</div>
135
-              </div>
136
-            </td>
137
-            <td style="font-size:16px;">合计:{{info[0].order.medfee_sumamt}}元</td>
138
-          </tr>
139
-
140
-        </table>
141
-      </div>
142
-      <div style="float:right;margin:10px 0;display:flex;">
143
-        <div>操作人:<span style="width:100px;display:inline-block;">{{info[0].printor_admin.user_name}}</span></div>
144
-        <div>操作日期:<span style="width:100px;display:inline-block;">{{info[0].order.setl_time ? info[0].order.setl_time.split(' ')[0] : ''}}</span>
145 155
         </div>
146
-      </div>
147
-      <img style="width:100%;" v-if="$store.getters.xt_user.org_id == 10138" src="https://kuyi.shengws.com/bailin/blend.jpg" alt="">
148
-      <img style="width:100%;" v-if="$store.getters.xt_user.org_id == 10278" src="https://kuyi.shengws.com/bailinbeier.png" alt="">
149
-
150 156
     </div>
151
-
152 157
   </div>
153 158
 
154 159
 </template>
@@ -181,7 +186,7 @@ export default {
181 186
   },
182 187
   props: {
183 188
     paramsObj: Object,
184
-    info: Object,
189
+    info: Array,
185 190
     balanceAccounts: Object
186 191
   },
187 192
   methods: {
@@ -422,16 +427,9 @@ export default {
422 427
   },
423 428
   mounted() {
424 429
     this.org_id = this.$store.getters.xt_user.org_id
430
+    
425 431
 
426
-    var record_date = this.paramsObj.record_date
427
-    console.log('record_date', record_date)
428
-    var patient_id = this.paramsObj.patient_id
429
-    console.log('patient_id', patient_id)
430
-    var prescription_id = this.paramsObj.prescription_id
431
-    this.getChargePrint(record_date, patient_id, prescription_id)
432
-    var xtuser = this.$store.getters.xt_user
433
-    this.orgname = xtuser.org.org_name
434
-
432
+    
435 433
   },
436 434
   watch: {
437 435
     paramsObj: {//深度监听,可监听到对象、数组的变化
@@ -452,11 +450,12 @@ export default {
452 450
 
453 451
 
454 452
 <style lang="scss" scoped>
453
+
455 454
 .prescription-print {
456 455
   -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 60px rgba(0, 0, 0, 0.06) inset;
457 456
   -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset;
458 457
   box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset;
459
-  margin-bottom: 20px;
458
+  margin-bottom: 10px;
460 459
   padding: 20px 10px;
461 460
 }
462 461
 

+ 42 - 24
src/xt_pages/outpatientCharges/summary.vue View File

@@ -23,6 +23,7 @@
23 23
               @input="searchAction"
24 24
               @keyup.enter.native="searchAction"
25 25
               class="filter-item"
26
+              placeholder="请输入患者姓名"
26 27
           />
27 28
           <el-button
28 29
               size="small"
@@ -33,20 +34,6 @@
33 34
           >
34 35
             搜索
35 36
           </el-button>
36
-          <!--                    <el-select size="small" v-model="admin_user_id" placeholder="请选择"-->
37
-          <!--                               style="width:150px;margin-left:10px;" @change="changeDoctor">-->
38
-          <!--                        <el-option-->
39
-          <!--                                label="全部"-->
40
-          <!--                                value="0">-->
41
-          <!--                        </el-option>-->
42
-          <!--                        <el-option-->
43
-          <!--                                v-for="(item,index) in doctors"-->
44
-          <!--                                :key="index"-->
45
-          <!--                                :label="item.user_name"-->
46
-          <!--                                :value="item.admin_user_id">-->
47
-          <!--                        </el-option>-->
48
-          <!--                    </el-select>-->
49
-
50 37
           <el-select
51 38
               size="small"
52 39
               v-model="sort_type"
@@ -70,7 +57,7 @@
70 57
             <el-option label="晚上" value="3"></el-option>
71 58
           </el-select>
72 59
 
73
-          <el-select v-model="zoneVal" placeholder="分区" style="margin-right:20px;" @change="handleZoneChange">
60
+          <el-select v-model="zoneVal" placeholder="请选择分区" style="margin-right:20px;" @change="handleZoneChange">
74 61
             <el-option
75 62
               v-for="item in zone_options"
76 63
               :key="item.id"
@@ -79,7 +66,7 @@
79 66
             </el-option>
80 67
           </el-select>
81 68
 
82
-          <el-date-picker
69
+          <!-- <el-date-picker
83 70
               size="small"
84 71
               v-model="start_time"
85 72
               prefix-icon="el-icon-date"
@@ -107,10 +94,9 @@
107 94
               format="yyyy-MM-dd"
108 95
               value-format="yyyy-MM-dd"
109 96
               align="right"
110
-          ></el-date-picker>
111
-          <!--<el-radio v-model="radio" label="1">明细</el-radio>-->
112
-          <!--<el-radio v-model="radio" label="2">汇总</el-radio>-->
97
+          ></el-date-picker> -->
113 98
         </div>
99
+        <!-- 按钮 -->
114 100
         <div>
115 101
           <!-- <el-popover
116 102
                       placement="bottom"
@@ -121,7 +107,7 @@
121 107
                       <el-button slot="reference" style="margin:0 10px;" type="primary" size="small">打印</el-button>
122 108
 
123 109
                     </el-popover> -->
124
-          <el-button v-if="$store.getters.xt_user.org_id == 0" size="small" type="primary" @click="batch_print_settlte">批量打印结算单
110
+          <el-button  size="small" type="primary" @click="batch_print_settlte">批量打印结算单
125 111
           </el-button>
126 112
           <el-button size="small" type="primary" @click="export_detail"
127 113
           >报表下载
@@ -149,6 +135,37 @@
149 135
 
150 136
         </div>
151 137
       </div>
138
+      <div style="margin-bottom: 10px;">
139
+        <el-date-picker
140
+              size="small"
141
+              v-model="start_time"
142
+              prefix-icon="el-icon-date"
143
+              @change="handleStartTimeChange"
144
+              :editable="false"
145
+              :clearable="false"
146
+              style="width: 196px; "
147
+              type="date"
148
+              placeholder="选择开始日期"
149
+              format="yyyy-MM-dd"
150
+              value-format="yyyy-MM-dd"
151
+              align="right"
152
+          ></el-date-picker>
153
+          <span style="text-align: center;">-</span>
154
+          <el-date-picker
155
+              size="small"
156
+              v-model="end_time"
157
+              prefix-icon="el-icon-date"
158
+              @change="handleEndTimeChange"
159
+              :editable="false"
160
+              :clearable="false"
161
+              style="width: 196px; "
162
+              type="date"
163
+              placeholder="选择结束日期"
164
+              format="yyyy-MM-dd"
165
+              value-format="yyyy-MM-dd"
166
+              align="right"
167
+          ></el-date-picker>
168
+      </div>
152 169
       <el-table
153 170
           :data="tableData"
154 171
           border
@@ -347,7 +364,7 @@
347 364
       ></new-statement-print>
348 365
     </el-dialog>
349 366
 
350
-
367
+    <!-- 批量打印 -->
351 368
     <el-dialog
352 369
       class="centerDialog"
353 370
       width="1200px"
@@ -483,8 +500,8 @@ export default {
483 500
       limit: 10,
484 501
       page: 1,
485 502
       keywords: "",
486
-      sch_type:"0",
487
-      zoneVal:0,
503
+      sch_type:"0",//班次
504
+      zoneVal:0,//分区
488 505
       start_time: moment(new Date()).add('year',0).format("YYYY-MM-DD"),
489 506
       end_time: moment(new Date()).add('year',0).format("YYYY-MM-DD"),
490 507
       total: "",
@@ -2782,7 +2799,8 @@ export default {
2782 2799
         }
2783 2800
       }
2784 2801
       return res
2785
-    },batch_print_settlte(){
2802
+    },
2803
+    batch_print_settlte(){
2786 2804
       if (this.selecting_schs.length === 0) {
2787 2805
         this.$message.error('请至少选择一条需要打印的内容')
2788 2806
         return false

+ 6 - 4
src/xt_pages/outpatientTool/labelPrint.vue View File

@@ -6,12 +6,12 @@
6 6
         <div>
7 7
             <div style="display: flex;justify-content: space-between;margin-bottom:10px;">
8 8
                 <div>
9
-                    <el-input size="small" style="width:150px;" v-model="keywords" @input="searchAction"
9
+                    <el-input  style="width:150px;" v-model="keywords" @input="searchAction"
10 10
                               @keyup.enter.native='searchAction'
11 11
                               placeholder="请输入患者姓名"
12 12
                               class="filter-item"/>
13
-                    <el-select size="small" v-model="item_type" placeholder="请选择"
14
-                               style="width:150px;margin-left:10px;" @change="changeItem">
13
+                    <el-select  v-model="item_type" placeholder="请选择"
14
+                               style="width:150px;" @change="changeItem">
15 15
                         <el-option
16 16
                                 label="全部"
17 17
                                 value="0">
@@ -80,9 +80,11 @@
80 80
                             <el-button
81 81
                                     type="primary"
82 82
                                     size="small"
83
-                                    icon="el-icon-edit-outline"
83
+                                    icon="el-icon-printer"
84 84
                                     @click="Print(scope.row, scope.$index)"
85 85
                             >
86
+
87
+                            <!-- icon="el-icon-edit-outline" -->
86 88
                             </el-button>
87 89
                         </el-tooltip>
88 90
                     </template>

+ 3 - 2
src/xt_pages/user/components/PatientDetail.vue View File

@@ -11,7 +11,7 @@
11 11
           <el-col :span="1">&nbsp;</el-col>
12 12
 
13 13
           <template v-for="(item, index) in form.formItem">
14
-            <el-col :span="7" :key="index">
14
+            <el-col :span="7" >
15 15
               <el-form-item
16 16
                 :label="item.item_name"
17 17
                 v-if="item.range_type == 1"
@@ -34,6 +34,7 @@
34 34
                 :key="item.item_id"
35 35
                 :prop="'formItem.' + index + '.value'"
36 36
               >
37
+              <!-- :key="item.item_id" -->
37 38
                 <el-select
38 39
                   v-model="item.value"
39 40
                   placeholder="请选择"
@@ -817,7 +818,7 @@
817 818
         </el-form-item>
818 819
       </el-col>
819 820
     </el-form>
820
-
821
+    <!-- 打印预览 -->
821 822
     <div style="display: none">
822 823
       <div id="print-info-box">
823 824
         <div class="print_main_content">

+ 9 - 4
src/xt_pages/workforce/remind_print_setting_one.vue View File

@@ -17,14 +17,12 @@
17 17
     <div class="app-container" style="background-color: white;">
18 18
       <div id="print_content">
19 19
         <div class="print_main_content">
20
-          <div class="table_panel" v-loding="loading"  element-loading-text="拼命加载中">
20
+          <div class="table_panel" v-loding="loading"  element-loading-text="拼命加载中"> 
21 21
             <div v-for="(main_collection,index) in scheduleData" :key="index" :class="(org_id == 9671 || org_id == 10340) && parseInt((index+1)%8) == 0  ? 'page-break-after':''"
22 22
             style="display: inline-block; width: 42%; margin: 0px 35px 20px; 
23 23
             box-sizing: border-box;
24 24
             border: 1px solid black;
25 25
             ">
26
-              <!-- <div style="display: flex;justify-content: space-between;flex-wrap: wrap;">
27
-                box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 20px rgba(0, 0, 0, 0.06) inset; -->
28 26
                 <div class="signPrint" style="font-size:16px;width: 100%;padding:5px; word-wrap:break-word;">
29 27
                   <div style="font-size:24px;font-weight: 400;">姓名:
30 28
                     <span v-if="type ==1 && printObj.name == 1">{{main_collection.patient.name}} </span>
@@ -205,9 +203,9 @@
205 203
                 </div>
206 204
               
207 205
                 </div> 
208
-              <!-- </div> -->
209 206
            </div>
210 207
           </div>
208
+         
211 209
         </div>
212 210
       </div>
213 211
     </div>
@@ -384,6 +382,13 @@
384 382
         const style1 = '@media print { .print_main_content { background-color: white; width:960px;  margin:0 auto; padding: 0 0 20px 0; } .order_title_panl { text-align: center; } .main_title { font-size: 18px; line-height: 40px; font-weight: 500; } .table_panel { } .table { width: 100%; border: 1px solid; border-collapse: collapse; padding: 2px; } thead tr td { border: 1px solid; text-align: center; font-size: 20px; padding: 15px 5px; } tbody tr td { border: 1px solid; text-align: center; font-size: 18px; padding: 10px 5px; } .proj { padding: 5px 0; text-align: left; } .proj_title { font-size: 16px; font-weight: 500; line-height: 25px; } .proj_item { font-size: 15px; line-height: 20px; } .zone_name { font-weight: 500; } .printCell span{display: inline-block;width: 220px;} @page {margin-top:10px;}}'
385 383
         const style2 = '@media print { .print_main_content { background-color: white; width:960px;  margin:0 auto; padding: 0 0 20px 0; } .page-break-after{page-break-after:always;}.signPrint{width:40%;float: left;margin-left: 5%; -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 60px rgba(0, 0, 0, 0.06) inset;-moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset;box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset; margin-bottom: 20px;padding: 20px 10px;} .order_title_panl { text-align: center; } .main_title { font-size: 18px; line-height: 40px; font-weight: 500; } .table_panel { } .table { width: 100%; border: 1px solid; border-collapse: collapse; padding: 2px; } thead tr td { border: 1px solid; text-align: center; font-size: 20px; padding: 15px 5px; } tbody tr td { border: 1px solid; text-align: center; font-size: 18px; padding: 10px 5px; } .proj { padding: 5px 0; text-align: left; } .proj_title { font-size: 16px; font-weight: 500; line-height: 25px; } .proj_item { font-size: 15px; line-height: 20px; } .zone_name { font-weight: 500; } .printCell span{display: inline-block;width: 220px;} @page {margin-top:10px;}}'
386 384
         if (this.org_id == 9671 || this.org_id == 10340) {
385
+          // printJS({
386
+          //   printable: 'print_content',
387
+          //   type: 'html',
388
+          //   documentTitle: '  ',
389
+          //   style: style2,
390
+          //   scanStyles: false
391
+          // })
387 392
           printJS({
388 393
             printable: 'print_content',
389 394
             type: 'html',