see999 пре 3 година
родитељ
комит
1be2e280ea

+ 1 - 1
src/xt_pages/outpatientCharges/invoicePrint.vue Прегледај датотеку

@@ -63,7 +63,7 @@ export default {
63 63
     printThisPage() {
64 64
 
65 65
       const style =
66
-        '@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;}}';
66
+        '@media print {#invoice-print{font-size:12px;}.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;}}';
67 67
         printJS({
68 68
             printable: "invoice-print",
69 69
             type: "html",

+ 112 - 74
src/xt_pages/outpatientCharges/invoiceTemplate/printOne.vue Прегледај датотеку

@@ -1,105 +1,119 @@
1 1
 <template>
2 2
     <div id='invoice-print'>
3 3
         <div style="display:flex;">
4
-            <div>业务流水号:{{ list.order_number }}</div>
5
-            <div>社会保障号:{{ list.id_card_no }}</div>
4
+            <div style="position: absolute;top:50px;left:70px;">{{ list.order_number }}</div>
5
+            <!-- <div>{{ list.id_card_no }}</div> -->
6 6
         </div>
7 7
         <div style="display:flex;justify-content: space-between;">
8
-            <div>科室:{{ list.department_name }}</div>
9
-            <div>门诊号:{{ list.number }}</div>
10
-            <div>医院类型:</div>
11
-            <div>
12
-                <span>{{ printDate.slice(0,4) }}</span>
13
-                <span>{{ printDate.slice(5,7) }}</span>
14
-                <span>{{ printDate.slice(8,11) }}</span>
8
+            <!-- <div>{{ list.department_name }}</div> -->
9
+            <div  style="position: absolute;top:50px;left:300px">{{ list.number }}</div>
10
+            <div></div>
11
+            <div  style="position: absolute;left:560px;top:50px;">
12
+                <span>{{ printDate.slice(0,4) }}</span>
13
+                <span>{{ printDate.slice(5,7) }}</span>
14
+                <span>{{ printDate.slice(8,11) }}</span>
15 15
             </div>
16 16
         </div>
17 17
         <div style="display:flex;justify-content: space-between;">
18
-            <div>姓名: {{ paramsObj.name }}</div>
19
-            <div>{{ list.pay_way }}</div>
20
-            <div>住院日期: {{ paramsObj.setl_time.split(' ')[0] }}</div>
21
-            <div>出院日期: {{ paramsObj.setl_time.split(' ')[0] }}</div>
18
+            <div style="position: absolute;top:70px;left:120px;"> {{ paramsObj.name }}</div>
19
+            <div style="position: absolute;top:70px;left:240px;">√</div>
20
+            <!-- <div>{{ list.pay_way }}</div> -->
21
+            <!-- <div style="position: absolute;top:70px;left:460px;">{{ paramsObj.setl_time.split(' ')[0] }}</div>
22
+            <div style="position: absolute;top:70px;left:560px;">{{ paramsObj.setl_time.split(' ')[0] }}</div> -->
22 23
         </div>
23 24
         <div style="display:flex;justify-content: space-between;">
24
-            <div>性别: {{ paramsObj.gend == 1 ? '男' : '女' }}</div>
25
-            <div>医保/公医记账:{{ totalPrice - list.psn_cash_money }}</div>
26
-            <div>个人缴费: {{ list.psn_cash_money }}</div>
27
-            <div>结算方式: {{ list.pay_way }}</div>
25
+            <!-- <div>{{ paramsObj.gend == 1 ? '男' : '女' }}</div> -->
26
+            <div style="position: absolute;top:90px;left:260px;">{{ totalPrice - list.psn_cash_money }}</div>
27
+            <div style="position: absolute;top:90px;left:440px;">{{ list.psn_cash_money }}</div>
28
+            <div style="position: absolute;top:90px;left:580px;">门慢结算</div>
28 29
         </div>
29 30
         <div style="display:flex;justify-content: space-between;">
30
-            <div style="width:12.5%">西药</div>
31
-            <div style="width:12.5%">{{ list.westernMedicineCostTotal }}</div>
32
-            <div style="width:12.5%">检查费</div>
33
-            <div style="width:12.5%">{{ list.checkCostTotal }}</div>
34
-            <div style="width:12.5%">治疗费</div>
35
-            <div style="width:12.5%">{{ list.treatCostTotal }}</div>
36
-            <div style="width:12.5%">床位费</div>
37
-            <div style="width:12.5%">{{ list.bedCostTotal }}</div>
31
+            <div style="position: absolute;top:140px;left:40px">西药</div>
32
+            <div style="position: absolute;top:140px;left:110px">{{ list.westernMedicineCostTotal }}</div>
33
+            <div style="position: absolute;top:140px;left:180px">检查费</div>
34
+            <div style="position: absolute;top:140px;left:260px">{{ list.checkCostTotal }}</div>
35
+            <div style="position: absolute;top:140px;left:340px">治疗费</div>
36
+            <div style="position: absolute;top:140px;left:420px">{{ list.treatCostTotal }}</div>
37
+            <div style="position: absolute;top:140px;left:500px">床位费</div>
38
+            <div style="position: absolute;top:140px;left:580px">{{ list.bedCostTotal }}</div>
38 39
         </div>
39 40
         <div style="display:flex;justify-content: space-between;">
40
-            <div style="width:12.5%">中成药</div>
41
-            <div style="width:12.5%">{{ list.chineseTraditionalMedicineCostTotal }}</div>
42
-            <div style="width:12.5%">化验费</div>
43
-            <div style="width:12.5%">{{ list.laboratoryCostTotal }}</div>
44
-            <div style="width:12.5%">手术费</div>
45
-            <div style="width:12.5%">{{ list.operationCostTotal }}</div>
46
-            <div style="width:12.5%">其他费</div>
47
-            <div style="width:12.5%">{{ list.otherCostTotal }}</div>
41
+            <div style="position: absolute;top:170px;left:40px">中成药</div>
42
+            <div style="position: absolute;top:170px;left:110px">{{ list.chineseTraditionalMedicineCostTotal }}</div>
43
+            <div style="position: absolute;top:170px;left:180px">化验费</div>
44
+            <div style="position: absolute;top:170px;left:260px">{{ list.laboratoryCostTotal }}</div>
45
+            <div style="position: absolute;top:170px;left:340px">手术费</div>
46
+            <div style="position: absolute;top:170px;left:420px">{{ list.operationCostTotal }}</div>
47
+            <div style="position: absolute;top:170px;left:500px">其他费</div>
48
+            <div style="position: absolute;top:170px;left:580px">{{ list.otherCostTotal }}</div>
48 49
         </div>
49 50
         <div style="display:flex;justify-content: space-between;">
50
-            <div style="width:12.5%"></div>
51
-            <div style="width:12.5%"></div>
52
-            <div style="width:12.5%"></div>
53
-            <div style="width:12.5%"></div>
54
-            <div style="width:12.5%">材料费</div>
55
-            <div style="width:12.5%">{{ list.materialCostTotal }}</div>
56
-            <div style="width:12.5%"></div>
57
-            <div style="width:12.5%"></div>
51
+            <div style="position: absolute;top:190px;left:40px"></div>
52
+            <div style="position: absolute;top:190px;left:110px"></div>
53
+            <div style="position: absolute;top:190px;left:180px"></div>
54
+            <div style="position: absolute;top:190px;left:260px"></div>
55
+            <div style="position: absolute;top:190px;left:340px">材料费</div>
56
+            <div style="position: absolute;top:190px;left:420px">{{ list.materialCostTotal }}</div>
57
+            <div style="position: absolute;top:190px;left:500px"></div>
58
+            <div style="position: absolute;top:190px;left:580px"></div>
58 59
         </div>
59 60
         <div>
60 61
             <span>
62
+            <span  style="position: absolute;top:240px;left:180px">
63
+                <span v-if="zhongwen.indexOf('万') > -1 && zhongwen.indexOf('拾') > -1 && zhongwen.indexOf('拾') == 1">
64
+                    {{ zhongwen.substring(0,1) }}
65
+                </span>
66
+                <span v-else>零</span>
67
+            </span>
68
+            <span  style="position: absolute;top:240px;left:220px">
61 69
                 <span v-if="zhongwen.indexOf('万') > -1">
62
-                    {{ zhongwen.substring(zhongwen.indexOf('万'),-1) }}
70
+                    {{ zhongwen.substring(zhongwen.indexOf('万') - 1,zhongwen.indexOf('万')) }}
63 71
                 </span>
64 72
                 <span v-else>零</span>
65 73
             </span>
66
-            <span>
74
+            <span  style="position: absolute;top:240px;left:260px">
67 75
                 <span v-if="zhongwen.indexOf('仟') > -1">
68
-                    {{ zhongwen.substring(zhongwen.indexOf('仟'),-1) }}
76
+                    {{ zhongwen.substring(zhongwen.indexOf('仟') - 1,zhongwen.indexOf('仟')) }}
69 77
                 </span>
70 78
                 <span v-else>零</span>
71 79
             </span>
72
-            <span>
80
+            <span  style="position: absolute;top:240px;left:300px">
73 81
                 <span v-if="zhongwen.indexOf('佰') > -1">
74 82
                     {{ zhongwen.substring(zhongwen.indexOf('佰') - 1,zhongwen.indexOf('佰')) }}
75 83
                 </span>
76 84
                 <span v-else>零</span>
77 85
             </span>
78
-            <span>
86
+            <span style="position: absolute;top:240px;left:340px">
79 87
                 <span v-if="zhongwen.indexOf('拾') > -1">
80 88
                     {{ zhongwen.substring(zhongwen.indexOf('拾') - 1,zhongwen.indexOf('拾')) }}
81 89
                 </span>
82 90
                 <span v-else>零</span>
83 91
             </span>
84
-            <span>
85
-                <span v-if="zhongwen.indexOf('元') > -1">
92
+            <span  style="position: absolute;top:240px;left:380px">
93
+                <span v-if="zhongwen.indexOf('元') > -1 && zhongwen.substring(zhongwen.indexOf('元') - 1,zhongwen.indexOf('元')) != '拾'">
86 94
                     {{ zhongwen.substring(zhongwen.indexOf('元') - 1,zhongwen.indexOf('元')) }}
87 95
                 </span>
88 96
                 <span v-else>零</span>
89 97
             </span>
90
-            <span>
98
+            <span  style="position: absolute;top:240px;left:420px">
91 99
                 <span v-if="zhongwen.indexOf('角') > -1">
92 100
                     {{ zhongwen.substring(zhongwen.indexOf('角') - 1,zhongwen.indexOf('角')) }}
93 101
                 </span>
94 102
                 <span v-else>零</span>
95 103
             </span>
96
-            <span>
104
+            <span  style="position: absolute;top:240px;left:460px">
97 105
                 <span v-if="zhongwen.indexOf('分') > -1">
98 106
                     {{ zhongwen.substring(zhongwen.indexOf('分') - 1,zhongwen.indexOf('分')) }}
99 107
                 </span>
100 108
                 <span v-else>零</span>
101 109
             </span>
102
-            <span>{{ totalPrice }}</span>
110
+            </span>
111
+            <span style="position: absolute;top:240px;left:540px">{{ totalPrice }}</span>
112
+        </div>
113
+        <div>
114
+            <div style="position: absolute;top:320px;left:70px">{{ org_name }}</div>
115
+            <div v-if="org_id == 9990" style="position: absolute;top:320px;left:300px">钱玉玲</div>
116
+            <div v-if="org_id == 9990" style="position: absolute;top:320px;left:420px">陈国杰</div>
103 117
         </div>
104 118
     </div>
105 119
 </template>
@@ -116,7 +130,9 @@ export default {
116 130
             list:{},
117 131
             printDate:'',
118 132
             zhongwen:'',
119
-            totalPrice:0.0
133
+            totalPrice:0.0,
134
+            org_id:'',
135
+            org_name:''
120 136
         }
121 137
     },
122 138
     created(){
@@ -130,7 +146,9 @@ export default {
130 146
         var month =data.getMonth() < 9 ? "0" + (data.getMonth() + 1) : data.getMonth() + 1;
131 147
         var date = data.getDate() <= 9 ? "0" + data.getDate() : data.getDate();
132 148
         this.printDate = data.getFullYear() + "-" + month + "-" + date;
133
-        
149
+        // this.smalltoBIG(982732.21)
150
+        this.org_id = this.$store.getters.xt_user.org_id
151
+        this.org_name = this.$store.getters.xt_user.org.org_name
134 152
     },
135 153
     methods:{
136 154
         getInvoice(params){
@@ -142,29 +160,49 @@ export default {
142 160
                 this.smalltoBIG(this.totalPrice)
143 161
             })
144 162
         },
145
-        smalltoBIG(price) {
146
-            let fraction = ['角', '分'];
147
-            let digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];
148
-            let unit = [['元.', '万,', '亿,'], ['元', '拾', '佰', '仟']];
149
-            let head = price < 0 ? '欠' : '';
150
-            price = Math.abs(price);
151
-            let upper = '';
152
-            for (let i = 0; i < fraction.length; i++) {
153
-            upper += (digit[Math.floor(price * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/零./, '');
163
+        smalltoBIG(n) {
164
+            // let fraction = ['角', '分'];
165
+            // let digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];
166
+            // let unit = [['元.', '万,', '亿,'], ["元",'拾', '佰', '仟']];
167
+            // let head = price < 0 ? '欠' : '';
168
+            // price = Math.abs(price);
169
+            // let upper = '';
170
+            // for (let i = 0; i < fraction.length; i++) {
171
+            // upper += (digit[Math.floor(price * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/零./, '');
172
+            // }
173
+            // upper = upper || '整';
174
+            // price = Math.floor(price);
175
+            // for (let i = 0; i < unit[0].length && price > 0; i++) {
176
+            // let p = '';
177
+            // for (let j = 0; j < unit[1].length && price > 0; j++) {
178
+            //     p = digit[price % 10] + unit[1][j] + p;
179
+            //     price = Math.floor(price / 10);
180
+            // }
181
+            // upper = p.replace(/(零.)*零$/, '').replace(/^$/, '零') + unit[0][i] + upper;
182
+            // }
183
+            // this.zhongwen = head + upper.replace(/(零.)*零圆/, '圆').replace(/(零.)+/g, '零').replace(/^整$/, '零圆整')
184
+            // console.log('6666',head + upper.replace(/(零.)*零圆/, '圆').replace(/(零.)+/g, '零').replace(/^整$/, '零圆整'))
185
+            if (!/^(0|[1-9]\d*)(\.\d+)?$/.test(n)){
186
+                return "数据非法";  //判断数据是否大于0
154 187
             }
155
-            upper = upper || '整';
156
-            price = Math.floor(price);
157
-            for (let i = 0; i < unit[0].length && price > 0; i++) {
158
-            let p = '';
159
-            for (let j = 0; j < unit[1].length && price > 0; j++) {
160
-                p = digit[price % 10] + unit[1][j] + p;
161
-                price = Math.floor(price / 10);
188
+
189
+            var unit = "仟佰拾亿仟佰拾万仟佰拾元角分", str = "";
190
+            n += "00";  
191
+
192
+            var indexpoint = n.indexOf('.');  // 如果是小数,截取小数点前面的位数
193
+
194
+            if (indexpoint >= 0){
195
+
196
+                n = n.substring(0, indexpoint) + n.substr(indexpoint+1, 2);   // 若为小数,截取需要使用的unit单位
162 197
             }
163
-            upper = p.replace(/(零.)*零$/, '').replace(/^$/, '零') + unit[0][i] + upper;
198
+
199
+            unit = unit.substr(unit.length - n.length);  // 若为整数,截取需要使用的unit单位
200
+            for (var i=0; i < n.length; i++){
201
+                str += "零壹贰叁肆伍陆柒捌玖".charAt(n.charAt(i)) + unit.charAt(i);  //遍历转化为大写的数字
164 202
             }
165
-            this.zhongwen = head + upper.replace(/(零.)*零圆/, '圆').replace(/(零.)+/g, '零').replace(/^整$/, '零圆整')
166
-            console.log('6666',head + upper.replace(/(零.)*零圆/, '圆').replace(/(零.)+/g, '零').replace(/^整$/, '零圆整'))
167
-    
203
+
204
+            this.zhongwen =  str.replace(/零(仟|佰|拾|角)/g, "零").replace(/(零)+/g, "零").replace(/零(万|亿|元)/g, "$1").replace(/(亿)万|壹(拾)/g, "$1$2").replace(/^元零?|零分/g, "").replace(/元$/g, "元整");
205
+            console.log(this.zhongwen)
168 206
         },
169 207
 
170 208
     },
@@ -182,4 +220,4 @@ export default {
182 220
         }
183 221
     }
184 222
 }
185
-</script>
223
+</script>

+ 4 - 4
src/xt_pages/outpatientDoctorStation/components/prescriptionTable.vue Прегледај датотеку

@@ -378,16 +378,16 @@
378 378
 
379 379
       },
380 380
       getSingleDose(scope){
381
-        // this.prescription.advices[scope.$index].prescribing_number = scope.row.single_dose * scope.row.day
381
+        this.prescription.advices[scope.$index].prescribing_number = scope.row.single_dose * scope.row.day
382 382
       },
383 383
       getDay(scope){
384
-        // this.prescription.advices[scope.$index].prescribing_number = scope.row.single_dose * scope.row.day
384
+        this.prescription.advices[scope.$index].prescribing_number = scope.row.single_dose * scope.row.day
385 385
       },
386 386
       getProjectSingleDose(scope){
387
-        // this.prescription.project[scope.$index].total = scope.row.single_dose * scope.row.number_days
387
+        this.prescription.project[scope.$index].total = scope.row.single_dose * scope.row.number_days
388 388
       },
389 389
       getProjectDay(scope){
390
-        // this.prescription.project[scope.$index].total = scope.row.single_dose * scope.row.number_days
390
+        this.prescription.project[scope.$index].total = scope.row.single_dose * scope.row.number_days
391 391
       }
392 392
     },mounted(){
393 393
       this.getInitData()