Просмотр исходного кода

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

csx 3 лет назад
Родитель
Сommit
042445a249

+ 1 - 1
src/api/project/project.js Просмотреть файл

@@ -539,6 +539,6 @@ export function getInvoice(params){
539 539
   return request({
540 540
     url:"/api/fapiao/get",
541 541
     method:"get",
542
-    data:params
542
+    params:params
543 543
   })
544 544
 }

+ 13 - 0
src/xt_pages/outpatientCharges/invoiceTemplate/printOne.vue Просмотреть файл

@@ -167,6 +167,19 @@ export default {
167 167
     
168 168
         },
169 169
 
170
+    },
171
+    watch:{
172
+        paramsObj:{//深度监听,可监听到对象、数组的变化
173
+            handler(val, oldVal){
174
+                let params = {
175
+                    order_id: val.order_id,
176
+                    patient_id: val.patient_id,
177
+                }
178
+                this.getInvoice(params)
179
+
180
+            },
181
+            deep:true
182
+        }
170 183
     }
171 184
 }
172 185
 </script>

+ 162 - 0
src/xt_pages/outpatientCharges/settlementPrint.vue Просмотреть файл

@@ -0,0 +1,162 @@
1
+<template>
2
+  <div>
3
+    <template>
4
+      <el-button
5
+        style="position:fixed;right:25px;z-index:999"
6
+        :loading="loading"
7
+        size="small"
8
+        icon="el-icon-printer"
9
+        @click="printThisPage"
10
+        type="primary"
11
+        >打印</el-button
12
+      >
13
+    </template>
14
+    <div class="app-container" style="padding-top:40px;">
15
+        <div class='dialysisPage'>
16
+            <printOne v-bind:childResponse="childResponse" :paramsObj="paramsObj"></printOne>
17
+        </div>
18
+    </div>
19
+  </div>
20
+</template>
21
+
22
+<script>
23
+
24
+import { jsGetAge, uParseTime } from "@/utils/tools";
25
+// import LabelBox from "./printItem/LabelBox";
26
+import print from "print-js";
27
+import printOne from "./settlementTemplate/printOne"
28
+export default {
29
+  name: "dialysisPrintOrder",
30
+  components: {
31
+    printOne
32
+  },
33
+  props:{
34
+    paramsObj:Object
35
+  },
36
+  data() {
37
+    return {
38
+      crumbs: [
39
+        { path: false, name: "透析管理" },
40
+        { path: false, name: "打印单" }
41
+      ],
42
+      childResponse: {},
43
+      paramsObj:{}
44
+      
45
+
46
+    };
47
+  },
48
+  methods: {
49
+    getAdminUser(id) {
50
+      if (id == 0) {
51
+        return "";
52
+      }
53
+      if (id == undefined) {
54
+        return "";
55
+      }
56
+      for (let i = 0; i < this.adminUser.length; i++) {
57
+        if (this.adminUser[i].id == id) {
58
+          return this.adminUser[i].name;
59
+        }
60
+      }
61
+    },
62
+    getTime(value, temp) {
63
+      if (value == 0) {
64
+        return "";
65
+      }
66
+      if (value != undefined) {
67
+        return uParseTime(value, temp);
68
+      }
69
+      return "";
70
+    },
71
+    printThisPage() {
72
+      var ptime = Math.round(new Date().getTime() / 1000);
73
+      this.print_time = uParseTime(ptime, "{y}-{m}-{d} {h}:{i}");
74
+
75
+      const style =
76
+        '@media print {.printTitle{font-size: 22px;text-align: center;font-weight: bold;}.infoMain{display: flex;flex-wrap: wrap;padding:0 10px;margin-top:10px;}.infoMain .infoP{width: 33%;}.chargeBox{border: 1px solid #000;}.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}.actionBar{display: flex;justify-content: space-between; line-height: 24px;padding:0 10px;}.actionBar div{width:150px;}}';
77
+        const style1 = "@media print{#prescription-print{font-size:14px;}.title{text-align: center;font-size: 22px;font-weight: bold;}.row{display: flex;justify-content: space-between;}.under_line{border-bottom: 1px solid #999;width: 95%;text-align: center;margin-left: 2px;display: inline-block;}.inline_block{display: inline-block;}.print_page_main_content .proj_table {width: 100%;border: 1px solid;border-collapse: collapse;padding: 2px;}.print_page_main_content .proj_table tbody tr td {border: 1px solid;font-size: 14px;padding: 5px 8px;line-height: 30px;}.print_page_main_content .proj_table .inside_table {width: 100%;border: hidden; /* 解决边框冲突 */border-collapse: collapse;}.print_page_main_content .proj_table .inside_table tr td {border: 1px solid;text-align: center;font-size: 14px;padding: 6px 5px;line-height: 16px;}}"
78
+        printJS({
79
+            printable: "prescription-print",
80
+            type: "html",
81
+            style: style1,
82
+            scanStyles: false
83
+        });
84
+
85
+      // if (this.org_template_info.template_id == 1) {
86
+      //   printJS({
87
+      //     printable: "dialysis-print-box",
88
+      //     type: "html",
89
+      //     style: style,
90
+      //     scanStyles: false
91
+      //   });
92
+      // }
93
+    },
94
+  },
95
+  created() {
96
+  },
97
+  watch:{
98
+    paramsObj:{//深度监听,可监听到对象、数组的变化
99
+      handler(val, oldVal){
100
+        this.paramsObj = val
101
+        
102
+      },
103
+      deep:true
104
+    }
105
+  }
106
+};
107
+</script>
108
+
109
+<style lang="scss" scoped>
110
+.printTitle{
111
+    font-size: 22px;
112
+    text-align: center;
113
+    font-weight: bold;
114
+}
115
+.infoMain{
116
+    display: flex;
117
+    flex-wrap: wrap;
118
+    border-bottom: 2px solid #000;
119
+    padding:0 10px;
120
+}
121
+.infoMain .infoP{
122
+    width: 33%;
123
+    line-height: 24px;
124
+}
125
+.prescriptionBox{
126
+    padding:0 10px;
127
+    height:600px;
128
+}
129
+.Rp{
130
+    font-size: 22px;
131
+    font-weight: bold;
132
+}
133
+.drugsBox{
134
+    padding-left: 40px;
135
+    margin-bottom: 10px;
136
+}
137
+.drugsBox p{
138
+    line-height: 30px;
139
+}
140
+.drugsOne{
141
+    line-height: 24px;
142
+}
143
+.drugsOne span{
144
+    margin-right: 20px;
145
+}
146
+.doctorBox{
147
+    display: flex;
148
+    justify-content: space-between;
149
+    padding:0 10px;
150
+    line-height: 24px;
151
+    border-bottom: 2px solid #000;
152
+}
153
+.actionBar{
154
+    display: flex;
155
+    justify-content: space-between; 
156
+    line-height: 24px;
157
+    padding:0 10px;
158
+}
159
+.actionBar p{
160
+    width:150px;
161
+}
162
+</style>

+ 461 - 0
src/xt_pages/outpatientCharges/settlementTemplate/printOne.vue Просмотреть файл

@@ -0,0 +1,461 @@
1
+<template>
2
+    <div id="prescription-print" class="print_page_main_content">
3
+        <div class="title">医疗保障基金结算清单</div>
4
+        <div style="text-align:right;">清单流水号 <div style="width:120px;" class="under_line"></div></div>
5
+        <div class="row">
6
+            <div>定点医疗机构名称<div style="width:120px;" class="under_line"></div></div>
7
+            <div>定点医疗机构代码<div style="width:120px;" class="under_line"></div></div>
8
+            <div>医保结算等级<div style="width:120px;" class="under_line"></div></div>
9
+        </div>
10
+        <div class="row">
11
+            <div>医保编号<div style="width:120px;" class="under_line"></div></div>
12
+            <div>病案号<div style="width:120px;" class="under_line"></div></div>
13
+            <div>申报时间
14
+                <div style="width:40px;" class="under_line"></div>年
15
+                <div style="width:40px;" class="under_line"></div>月
16
+                <div style="width:40px;" class="under_line"></div>日
17
+            </div>
18
+        </div>
19
+        <div>
20
+            <table class="proj_table">
21
+                <tbody>
22
+                    <tr>
23
+                        <td style="letter-spacing:5px;text-align:center;font-weight:520;font-size:16px;padding: 6px 8px;line-height: 30px;">
24
+                            一、基本信息
25
+                        </td>
26
+                    </tr>
27
+                    <tr>
28
+                        <td>
29
+                            <div class="row">
30
+                                <div class="inline_block">姓名
31
+                                    <div style="width:80px;" class="under_line"></div>
32
+                                </div>
33
+                                <div class="inline_block">性别
34
+                                    <label-box :isChecked="false" showValue="男"></label-box>
35
+                                    <label-box :isChecked="false" showValue="女"></label-box>
36
+                                </div>
37
+                                <div class="inline_block">出生日期
38
+                                    <div style="width:40px;" class="under_line"></div>年
39
+                                    <div style="width:40px;" class="under_line"></div>月
40
+                                    <div style="width:40px;" class="under_line"></div>日
41
+                                </div>
42
+                                <div class="inline_block">年龄
43
+                                    <div style="width:80px;" class="under_line"></div>岁
44
+                                </div>
45
+                                <div class="inline_block">国籍
46
+                                    <div style="width:80px;" class="under_line"></div>
47
+                                </div>
48
+                            </div>
49
+                            <div class="row">
50
+                                <div class="inline_block">(年龄不足1周岁)年龄
51
+                                    <div style="width:80px;" class="under_line"></div>天
52
+                                </div>
53
+                                <div class="inline_block">民族
54
+                                    <div style="width:80px;" class="under_line"></div>
55
+                                </div>
56
+                                <div class="inline_block">患者证件类别
57
+                                    <div style="width:80px;" class="under_line"></div>
58
+                                </div>
59
+                                <div class="inline_block">患者证件号码
60
+                                    <div style="width:140px;" class="under_line"></div>
61
+                                </div>
62
+                            </div>
63
+                            <div>
64
+                                <div class="inline_block">职业
65
+                                    <div style="width:80px;" class="under_line"></div>
66
+                                </div>
67
+                                <div class="inline_block" style="width:80px;"></div>
68
+                                <div class="inline_block">现住址
69
+                                    <div style="width:80px;" class="under_line"></div>省(区、市)
70
+                                    <div style="width:80px;" class="under_line"></div>市
71
+                                    <div style="width:80px;" class="under_line"></div>县
72
+                                    <div style="width:140px;" class="under_line"></div>
73
+                                </div>
74
+                            </div>
75
+                            <div class="row">
76
+                                <div class="inline_block">工作单位名称
77
+                                    <div style="width:80px;" class="under_line"></div>
78
+                                </div>
79
+                                <div class="inline_block">工作单位地址
80
+                                    <div style="width:160px;" class="under_line"></div>
81
+                                </div>
82
+                                <div class="inline_block">单位电话
83
+                                    <div style="width:120px;" class="under_line"></div>
84
+                                </div>
85
+                                <div class="inline_block">邮编
86
+                                    <div style="width:120px;" class="under_line"></div>
87
+                                </div>
88
+                            </div>
89
+                            <div class="row">
90
+                                <div class="inline_block">联系人姓名
91
+                                    <div style="width:80px;" class="under_line"></div>
92
+                                </div>
93
+                                <div class="inline_block">关系
94
+                                    <div style="width:80px;" class="under_line"></div>
95
+                                </div>
96
+                                <div class="inline_block">地址
97
+                                    <div style="width:80px;" class="under_line"></div>省(区、市)
98
+                                    <div style="width:80px;" class="under_line"></div>市
99
+                                    <div style="width:80px;" class="under_line"></div>县
100
+                                    <div style="width:140px;" class="under_line"></div>
101
+                                </div>
102
+                                <div class="inline_block">电话
103
+                                    <div style="width:80px;" class="under_line"></div>
104
+                                </div>
105
+                            </div>
106
+                            <div class="row">
107
+                                <div style="width:33%;">医保类型<div style="width:120px;" class="under_line"></div></div>
108
+                                <div style="width:33%;">特殊人员类型<div style="width:120px;" class="under_line"></div></div>
109
+                                <div style="width:33%;">参保地<div style="width:120px;" class="under_line"></div></div>
110
+                            </div>
111
+                            <div class="row">
112
+                                <div style="width:33%;">新生儿入院类型<div style="width:120px;" class="under_line"></div></div>
113
+                                <div style="width:33%;">新生儿出生体重<div style="width:120px;" class="under_line"></div>克</div>
114
+                                <div style="width:33%;">新生儿入院体重<div style="width:120px;" class="under_line"></div>克</div>
115
+                            </div>
116
+                        </td>
117
+                    </tr>
118
+                    <tr>
119
+                        <td style="letter-spacing:5px;text-align:center;font-weight:520;font-size:16px;padding: 6px 8px;line-height: 30px;">
120
+                            二、门诊慢特病诊疗信息
121
+                        </td>
122
+                    </tr>
123
+                    <tr>
124
+                        <td>
125
+                            <div class="row">
126
+                                <div class="inline_block">诊断科别
127
+                                    <div style="width:100px;" class="under_line"></div>
128
+                                </div>
129
+                                <div class="inline_block">就诊日期
130
+                                    <div style="width:100px;" class="under_line"></div>
131
+                                </div>
132
+                            </div>
133
+                        </td>
134
+                    </tr>
135
+                    <tr>
136
+                        <td style="padding:0;line-height:30px;height:30px;">
137
+                            <table class="inside_table">
138
+                                <tbody>
139
+                                    <tr>
140
+                                        <td style="width:25%;">诊断名称</td>
141
+                                        <td style="width:25%;">诊断代码</td>
142
+                                        <td style="width:25%;">手术及操作名称</td>
143
+                                        <td style="width:25%;">手术及操作代码</td>
144
+                                    </tr>
145
+                                    <tr v-for="item in 6">
146
+                                        <td>&nbsp;</td>
147
+                                        <td>&nbsp;</td>
148
+                                        <td>&nbsp;</td>
149
+                                        <td>&nbsp;</td>
150
+                                    </tr>
151
+                                </tbody>
152
+                            </table>
153
+                        </td>
154
+                    </tr>
155
+                    <tr>
156
+                        <td style="letter-spacing:5px;text-align:center;font-weight:520;font-size:16px;padding: 6px 8px;line-height: 30px;">
157
+                            三、住院诊疗信息
158
+                        </td>
159
+                    </tr>
160
+                    <tr>
161
+                        <td>
162
+                            <div class="inline_block">住院医疗类型
163
+                                <label-box :isChecked="false" showValue="1.住院"></label-box>
164
+                                <label-box :isChecked="false" showValue="2.日间手术"></label-box>
165
+                            </div>
166
+                        </td>
167
+                    </tr>
168
+                    <tr>
169
+                        <td>
170
+                            <div>
171
+                                <div class="inline_block">入院途径
172
+                                    <label-box :isChecked="false" showValue="1.急诊"></label-box>
173
+                                    <label-box :isChecked="false" showValue="2.门诊"></label-box>
174
+                                    <label-box :isChecked="false" showValue="3.其他医疗机构转入"></label-box>
175
+                                    <label-box :isChecked="false" showValue="9.其他"></label-box>
176
+                                </div>
177
+                            </div>
178
+                        </td>
179
+                    </tr>
180
+                    <tr>
181
+                        <td>
182
+                            <div>
183
+                                <div class="inline_block">治疗类别
184
+                                    <label-box :isChecked="false" showValue="1.西医"></label-box>
185
+                                    <label-box :isChecked="false" showValue="2.中医"></label-box>
186
+                                    (
187
+                                    <label-box :isChecked="false" showValue="2.1 中医"></label-box>
188
+                                    <label-box :isChecked="false" showValue="2.2 民族医"></label-box>
189
+                                    )
190
+                                    <label-box :isChecked="false" showValue="3.中西医"></label-box>
191
+                                </div>
192
+                            </div>
193
+                        </td>
194
+                    </tr>
195
+                    <tr>
196
+                        <td>
197
+                            <div class="row">
198
+                                <div style="width:40%" class="inline_block">入院时间
199
+                                    <div style="width:40px;" class="under_line"></div>年
200
+                                    <div style="width:40px;" class="under_line"></div>月
201
+                                    <div style="width:40px;" class="under_line"></div>日
202
+                                    <div style="width:40px;" class="under_line"></div>时
203
+                                </div>
204
+                                <div style="width:30%" class="inline_block">入院科别
205
+                                    <div style="width:80px;" class="under_line"></div>
206
+                                </div>
207
+                                <div style="width:30%" class="inline_block">转科科别
208
+                                    <div style="width:80px;" class="under_line"></div>
209
+                                </div>
210
+                            </div>
211
+                        </td>
212
+                    </tr>
213
+                    <tr>
214
+                        <td>
215
+                            <div class="row">
216
+                                <div style="width:40%" class="inline_block">出院时间
217
+                                    <div style="width:40px;" class="under_line"></div>年
218
+                                    <div style="width:40px;" class="under_line"></div>月
219
+                                    <div style="width:40px;" class="under_line"></div>日
220
+                                    <div style="width:40px;" class="under_line"></div>时
221
+                                </div>
222
+                                <div style="width:30%" class="inline_block">出院科别
223
+                                    <div style="width:80px;" class="under_line"></div>
224
+                                </div>
225
+                                <div style="width:30%" class="inline_block">实际住院
226
+                                    <div style="width:80px;" class="under_line"></div>天
227
+                                </div>
228
+                            </div>
229
+                        </td>
230
+                    </tr>
231
+                    <tr>
232
+                        <td>
233
+                            <div class="row">
234
+                                <div style="width:40%" class="inline_block">门(急)诊诊断(西医诊断)
235
+                                    <div style="width:80px;" class="under_line"></div>
236
+                                </div>
237
+                                <div style="width:30%" class="inline_block">疾病代码
238
+                                    <div style="width:80px;" class="under_line"></div>
239
+                                </div>
240
+                                <div style="width:30%" class="inline_block">
241
+                                </div>
242
+                            </div>
243
+                            <div class="row">
244
+                                <div style="width:40%" class="inline_block">门(急)诊诊断(中医诊断)
245
+                                    <div style="width:80px;" class="under_line"></div>
246
+                                </div>
247
+                                <div style="width:30%" class="inline_block">疾病代码
248
+                                    <div style="width:80px;" class="under_line"></div>
249
+                                </div>
250
+                                <div style="width:30%" class="inline_block">
251
+                                </div>
252
+                            </div>
253
+                        </td>
254
+                    </tr>
255
+                    <tr>
256
+                        <td style="padding:0;line-height:30px;height:30px;">
257
+                            <table class="inside_table">
258
+                                <tbody>
259
+                                    <tr>
260
+                                        <td style="width:20%;">出院西医诊断</td>
261
+                                        <td style="width:15%;">疾病代码</td>
262
+                                        <td style="width:15%;">入院病情</td>
263
+                                        <td style="width:20%;">出院中医诊断</td>
264
+                                        <td style="width:15%;">疾病代码</td>
265
+                                        <td style="width:15%;">入院病情</td>
266
+                                    </tr>
267
+                                    <tr>
268
+                                        <td style="text-align:left;">&nbsp;主要诊断:</td>
269
+                                        <td>&nbsp;</td>
270
+                                        <td>&nbsp;</td>
271
+                                        <td style="text-align:left;">&nbsp;主病:</td>
272
+                                        <td>&nbsp;</td>
273
+                                        <td>&nbsp;</td>
274
+                                    </tr>
275
+                                    <tr>
276
+                                        <td style="text-align:left;">&nbsp;其他诊断:</td>
277
+                                        <td>&nbsp;</td>
278
+                                        <td>&nbsp;</td>
279
+                                        <td style="text-align:left;">&nbsp;主证:</td>
280
+                                        <td>&nbsp;</td>
281
+                                        <td>&nbsp;</td>
282
+                                    </tr>
283
+                                    <tr v-for="item in 7">
284
+                                        <td>&nbsp;</td>
285
+                                        <td>&nbsp;</td>
286
+                                        <td>&nbsp;</td>
287
+                                        <td>&nbsp;</td>
288
+                                        <td>&nbsp;</td>
289
+                                        <td>&nbsp;</td>
290
+                                    </tr>
291
+                                </tbody>
292
+                            </table>
293
+                        </td>
294
+                    </tr>
295
+                    <tr>
296
+                        <td>
297
+                            <div class="inline_block">诊断代码计数
298
+                                <div style="width:80px;" class="under_line"></div>
299
+                            </div>
300
+                        </td>
301
+                    </tr>
302
+                    <tr>
303
+                        <td style="padding:0;line-height:30px;height:30px;">
304
+                            <table class="inside_table">
305
+                                <tbody>
306
+                                    <tr>
307
+                                        <td style="width:20%;">手术及操作名称</td>
308
+                                        <td style="width:20%;">手术及操作代码</td>
309
+                                        <td style="width:10%;">手术及操作日期</td>
310
+                                        <td style="width:10%;">麻醉方式*</td>
311
+                                        <td style="width:10%;">术者医师姓名</td>
312
+                                        <td style="width:10%;">术者医师代码</td>
313
+                                        <td style="width:10%;">麻醉医师姓名</td>
314
+                                        <td style="width:10%;">麻醉医师代码</td>
315
+                                    </tr>
316
+                                    <tr>
317
+                                        <td style="text-align:left;">&nbsp;主要:</td>
318
+                                        <td>&nbsp;</td>
319
+                                        <td>&nbsp;</td>
320
+                                        <td>&nbsp;</td>
321
+                                        <td>&nbsp;</td>
322
+                                        <td>&nbsp;</td>
323
+                                        <td>&nbsp;</td>
324
+                                        <td>&nbsp;</td>
325
+                                    </tr>
326
+                                    <tr>
327
+                                        <td style="text-align:left;">&nbsp;其他:</td>
328
+                                        <td>&nbsp;</td>
329
+                                        <td>&nbsp;</td>
330
+                                        <td>&nbsp;</td>
331
+                                        <td>&nbsp;</td>
332
+                                        <td>&nbsp;</td>
333
+                                        <td>&nbsp;</td>
334
+                                        <td>&nbsp;</td>
335
+                                    </tr>
336
+                                    <tr v-for="item in 8">
337
+                                        <td>&nbsp;</td>
338
+                                        <td>&nbsp;</td>
339
+                                        <td>&nbsp;</td>
340
+                                        <td>&nbsp;</td>
341
+                                        <td>&nbsp;</td>
342
+                                        <td>&nbsp;</td>
343
+                                        <td>&nbsp;</td>
344
+                                        <td>&nbsp;</td>
345
+                                    </tr>
346
+                                </tbody>
347
+                            </table>
348
+                        </td>
349
+                    </tr>
350
+                    <tr>
351
+                        <td>
352
+                            <div class="inline_block">手术及操作代码计数
353
+                                <div style="width:80px;" class="under_line"></div>
354
+                            </div>
355
+                        </td>
356
+                    </tr>
357
+                    <tr>
358
+                        <td>
359
+                            <div class="inline_block">呼吸机使用时间
360
+                                <div style="width:40px;" class="under_line"></div>天
361
+                                <div style="width:40px;" class="under_line"></div>小时
362
+                                <div style="width:40px;" class="under_line"></div>分钟
363
+                            </div>
364
+                        </td>
365
+                    </tr>
366
+                    <tr>
367
+                        <td>
368
+                            <div>
369
+                                <div class="inline_block">颅脑损伤患者昏迷时间:
370
+                                    入院前<div style="width:40px;" class="under_line"></div>
371
+
372
+                                    天<div style="width:40px;" class="under_line"></div>
373
+                                    
374
+                                    小时<div style="width:40px;" class="under_line"></div>分钟
375
+                                </div>
376
+                            </div>
377
+                            <div>
378
+                                <div class="inline_block"><span style="visibility: hidden;">颅脑损伤患者昏迷时间:</span>
379
+                                    入院前<div style="width:40px;" class="under_line"></div>
380
+
381
+                                    天<div style="width:40px;" class="under_line"></div>
382
+                                    
383
+                                    小时<div style="width:40px;" class="under_line"></div>分钟
384
+                                </div>
385
+                            </div>
386
+                        </td>
387
+                    </tr>
388
+                </tbody>
389
+            </table>
390
+        </div>
391
+    </div>
392
+</template>
393
+
394
+<script>
395
+import LabelBox from '../../dialysis/printItem/LabelBox'
396
+export default {
397
+    components:{
398
+        LabelBox
399
+    },
400
+    data(){
401
+        return{
402
+
403
+        }
404
+    }
405
+}
406
+</script>
407
+
408
+
409
+
410
+<style lang="scss" scoped>
411
+.title{
412
+    text-align: center;
413
+    font-size: 22px;
414
+    font-weight: bold;
415
+}
416
+.row{
417
+    display: flex;
418
+    justify-content: space-between;
419
+}
420
+.under_line{
421
+    border-bottom: 1px solid #999;
422
+    width: 95%;
423
+    text-align: center;
424
+    margin-left: 2px;
425
+    display: inline-block;
426
+}
427
+.inline_block{
428
+    display: inline-block;
429
+}
430
+// #prescription-print{
431
+//     width: 960px;
432
+// }
433
+.print_page_main_content .proj_table {
434
+  width: 100%;
435
+  border: 1px solid;
436
+  border-collapse: collapse;
437
+  padding: 2px;
438
+}
439
+
440
+.print_page_main_content .proj_table tbody tr td {
441
+  border: 1px solid;
442
+  /* text-align: center; */
443
+  font-size: 16px;
444
+  padding: 5px 8px;
445
+  line-height: 30px;
446
+}
447
+
448
+.print_page_main_content .proj_table .inside_table {
449
+  width: 100%;
450
+  border: hidden; /* 解决边框冲突 */
451
+  border-collapse: collapse;
452
+}
453
+
454
+.print_page_main_content .proj_table .inside_table tr td {
455
+  border: 1px solid;
456
+  text-align: center;
457
+  font-size: 14px;
458
+  padding: 6px 5px;
459
+  line-height: 16px;
460
+}
461
+</style>

+ 39 - 29
src/xt_pages/outpatientCharges/summary.vue Просмотреть файл

@@ -111,6 +111,8 @@
111 111
                        v-if="scope.row.order_status == 2 && scope.row.result.id == 0">
112 112
               上传结算清单
113 113
             </el-button>
114
+            <el-button size="mini" type="primary" @click="invoicePrint(scope.row)">打印发票</el-button>
115
+
114 116
           </template>
115 117
         </el-table-column>
116 118
       </el-table>
@@ -161,13 +163,20 @@
161 163
       <new-statement-print-two ref="print" :paramsObj='orderObj9504'></new-statement-print-two>
162 164
     </el-dialog>
163 165
 
164
-    <!-- <el-dialog
165
-            class="centerDialog"
166
-            width="1200px"
167
-            title="打印"
168
-            :visible.sync="invoiceVisible">
169
-        <invoice-print ref="print" :invoiceParams='invoiceParams'></invoice-print>
170
-    </el-dialog> -->
166
+        <el-dialog
167
+                class="centerDialog"
168
+                width="1200px"
169
+                title="打印"
170
+                :visible.sync="invoiceVisible">
171
+            <invoice-print ref="print" :invoiceParams='invoiceParams'></invoice-print>
172
+        </el-dialog>
173
+        <!-- <el-dialog
174
+                class="centerDialog"
175
+                width="1200px"
176
+                title="打印"
177
+                :visible.sync="settlementVisible">
178
+            <settlement-print ref="print" :paramsObj='orderObj'></settlement-print>
179
+        </el-dialog> -->
171 180
 
172 181
 
173 182
   </div>
@@ -176,15 +185,16 @@
176 185
 
177 186
 <script>
178 187
   import BreadCrumb from '@/xt_pages/components/bread-crumb'
179
-  import {getDoctorList, getExportConsumeDetailList, getHisOrderList, Refund} from '@/api/his/his'
180
-  import {uParseTime} from '@/utils/tools'
188
+  import { getDoctorList, getExportConsumeDetailList, getHisOrderList, Refund} from '@/api/his/his'
189
+  import { uParseTime } from '@/utils/tools'
181 190
   import NewStatementPrint from './newStatementPrint'
182 191
   import listPrint from './listPrint'
183 192
   import allListPrint from './allListPrint'
184 193
   import NewStatementPrintTwo from './newStatementPrintTwo'
185
-  import {fetchAllAdminUsers} from '@/api/doctor'
194
+  import { fetchAllAdminUsers } from '@/api/doctor'
186 195
   import axios from 'axios'
187 196
   import invoicePrint from './invoicePrint'
197
+  // import settlementPrint from './settlementPrint'
188 198
 
189 199
   export default {
190 200
     components: {
@@ -193,18 +203,18 @@
193 203
       BreadCrumb,
194 204
       listPrint,
195 205
       allListPrint,
196
-      invoicePrint
206
+      invoicePrint,
207
+      // settlementPrint
197 208
     },
198 209
     data() {
199 210
       return {
200
-        loading: false,
201 211
         orderObj: {},
202 212
         statementVisible: false,
203 213
         statementVisible9504: false,
204 214
         orderObj9504: {},
205 215
         crumbs: [
206
-          {path: false, name: '门诊收费'},
207
-          {path: false, name: '项目消费明细汇总'}
216
+          { path: false, name: '门诊收费' },
217
+          { path: false, name: '项目消费明细汇总' }
208 218
         ],
209 219
         tableData: [],
210 220
         limit: 10,
@@ -217,10 +227,11 @@
217 227
         admin_user_id: '',
218 228
         listVisible: false,
219 229
         allListVisible: false,
220
-        adminUserOptions: [],
221
-        invoiceVisible: false,
222
-        paramsObj: {},
223
-        invoiceParams: {}
230
+        adminUserOptions:[],
231
+        invoiceVisible:false,
232
+        paramsObj:{},
233
+        invoiceParams:{},
234
+        settlementVisible:false
224 235
 
225 236
       }
226 237
     },
@@ -260,7 +271,6 @@
260 271
         })
261 272
       },
262 273
       getName(admin_user_id) {
263
-
264 274
         for (let i = 0; i < this.adminUserOptions.length; i++) {
265 275
           if (this.adminUserOptions[i].id == admin_user_id) {
266 276
             return this.adminUserOptions[i].name
@@ -347,19 +357,20 @@
347 357
         }
348 358
 
349 359
       },
360
+      settlementPrint(){
361
+        this.settlementVisible = true
362
+      },
350 363
       export_detail() {
351 364
         let params = {
352 365
           start_time: this.start_time,
353 366
           end_time: this.end_time
354 367
         }
355
-        this.loading = true
356 368
         getExportConsumeDetailList(params).then(response => {
357 369
           if (response.data.state == 0) {
358
-            this.loading = false
359 370
             this.$message.error(response.data.msg)
360 371
             return false
361 372
           } else {
362
-            this.loading = false
373
+
363 374
             let list = []
364 375
             for (let i = 0; i < response.data.data.order.length; i++) {
365 376
               let order = response.data.data.order[i]
@@ -367,8 +378,6 @@
367 378
               let name = ''
368 379
               let department = ''
369 380
               let doctor_name = ''
370
-              let charge_name = ''
371
-              let time = ''
372 381
               let balance_accounts = ''
373 382
 
374 383
               let order_status = ''
@@ -540,15 +549,15 @@
540 549
           this.allListVisible = true
541 550
         }
542 551
       },
543
-      invoicePrint(obj) {
552
+      invoicePrint(obj){
544 553
         console.log(obj)
545 554
         let paramsObj = {
546 555
           order_id: obj.order_info.order_id,
547 556
           patient_id: obj.patient_id,
548
-          name: obj.patient.name,
549
-          age: obj.age,
550
-          gend: obj.gend,
551
-          setl_time: obj.setl_time
557
+          name:obj.patient.name,
558
+          age:obj.age,
559
+          gend:obj.gend,
560
+          setl_time:obj.setl_time
552 561
         }
553 562
         this.invoiceParams = paramsObj
554 563
         this.invoiceVisible = true
@@ -561,6 +570,7 @@
561 570
       this.getHisOrderList()
562 571
 
563 572
 
573
+
564 574
     }
565 575
   }
566 576
 </script>

+ 18 - 5
src/xt_pages/outpatientDoctorStation/components/prescriptionTable.vue Просмотреть файл

@@ -10,7 +10,7 @@
10 10
       <el-table-column align="center" prop="single_dose" width="90" label="单次用量">
11 11
         <template slot-scope="scope">
12 12
           <div style="display:flex;align-items:center;">
13
-            <el-input v-model="scope.row.single_dose" style="width:65%;"></el-input>
13
+            <el-input v-model="scope.row.single_dose" @input="getSingleDose(scope)" style="width:65%;"></el-input>
14 14
             <div>{{scope.row.single_dose_unit}}</div>
15 15
           </div>
16 16
         </template>
@@ -43,7 +43,7 @@
43 43
 
44 44
       <el-table-column align="center" prop="day" width="50" label="天数">
45 45
         <template slot-scope="scope">
46
-          <el-input v-model="scope.row.day" placeholder=""></el-input>
46
+          <el-input v-model="scope.row.day" @input="getDay(scope)" placeholder=""></el-input>
47 47
           <div>{{'天'}}</div>
48 48
 
49 49
         </template>
@@ -87,7 +87,7 @@
87 87
       </el-table-column>
88 88
       <el-table-column align="center" prop="single_dose" width="80" label="单次用量">
89 89
         <template slot-scope="scope">
90
-          <el-input v-model="scope.row.single_dose" placeholder=""></el-input>
90
+          <el-input v-model="scope.row.single_dose" @input="getProjectSingleDose(scope)" placeholder=""></el-input>
91 91
           <div>{{scope.row.unit}}</div>
92 92
 
93 93
         </template>
@@ -110,7 +110,7 @@
110 110
       </el-table-column>
111 111
       <el-table-column align="center" prop="number_days" width="50" label="天数">
112 112
         <template slot-scope="scope">
113
-          <el-input v-model="scope.row.number_days" placeholder=""></el-input>
113
+          <el-input v-model="scope.row.number_days" @input="getProjectDay(scope)" placeholder=""></el-input>
114 114
           <div>{{'天'}}</div>
115 115
         </template>
116 116
       </el-table-column>
@@ -377,6 +377,18 @@
377 377
           .catch(() => {});
378 378
 
379 379
       },
380
+      getSingleDose(scope){
381
+        // this.prescription.advices[scope.$index].prescribing_number = scope.row.single_dose * scope.row.day
382
+      },
383
+      getDay(scope){
384
+        // this.prescription.advices[scope.$index].prescribing_number = scope.row.single_dose * scope.row.day
385
+      },
386
+      getProjectSingleDose(scope){
387
+        // this.prescription.project[scope.$index].total = scope.row.single_dose * scope.row.number_days
388
+      },
389
+      getProjectDay(scope){
390
+        // this.prescription.project[scope.$index].total = scope.row.single_dose * scope.row.number_days
391
+      }
380 392
     },mounted(){
381 393
       this.getInitData()
382 394
      
@@ -385,11 +397,12 @@
385 397
       // "prescription.advices":{
386 398
       //   handler(newVal,oldVal){
387 399
       //     newVal.map(item => {
388
-      //       // item.prescribing_number = item.single_dose * item.day
400
+      //       item.prescribing_number = item.single_dose * item.day
389 401
       //       if(item.single_dose != oldVal[index].single_dose || item.number_days != oldVal[index].number_days){
390 402
       //         item.total = item.single_dose * item.number_days
391 403
       //       }
392 404
             
405
+            
393 406
       //     })
394 407
       //   },
395 408
       //   deep:true