Sfoglia il codice sorgente

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

28169 8 mesi fa
parent
commit
3fec1becf0

+ 2 - 2
src/xt_pages/dialysis/template/DialysisPrintOrderSeventynine.vue Vedi File

@@ -1189,8 +1189,8 @@ export default {
1189 1189
           }
1190 1190
           for(let i in projects){
1191 1191
             if(projects[i].type ==2){
1192
-              if(projects[i].project.project_name == '血监测'){
1193
-                console.log('血监测',projects[i].advice_name);
1192
+              if(projects[i].project.project_name == '血监测'){
1193
+                console.log('血监测',projects[i].advice_name);
1194 1194
                 projectarr.push(projects[i])
1195 1195
               }
1196 1196
             }

+ 15 - 6
src/xt_pages/outpatientCharges/invoicePrint.vue Vedi File

@@ -19,14 +19,14 @@
19 19
         <div class='dialysisPage'>
20 20
           <div v-if="org_id != 10106 && org_id != 10215 && org_id != 4 && org_id != 10188 && org_id != 10217 && org_id != 10387&& org_id != 10210 && org_id != 10387 && org_id != 10480 " >
21 21
             <printOne v-if="org_id != 10088 && org_id != 10510 && org_id != 0" :paramsObj="invoiceParams"></printOne>
22
-            <printThree v-if="org_id == 10088 " :paramsObj="invoiceParams" :show="showclick"></printThree>
22
+            <printThree v-if="org_id == 10088 || org_id == 0" :paramsObj="invoiceParams" :show="showclick"></printThree>
23 23
             <printfifteen v-if="org_id == 10510  " :paramsObj="invoiceParams"></printfifteen>
24 24
           </div>
25 25
           <printTwo v-if="org_id == 10106" :paramsObj="invoiceParams"></printTwo>
26
-          <printFour v-if="org_id == 10215 || org_id == 0 " :paramsObj="invoiceParams"></printFour>
26
+          <printFour v-if="org_id == 10215 " :paramsObj="invoiceParams"></printFour>
27 27
           <!-- <printFive v-if="org_id == 10188 " :paramsObj="invoiceParams"></printFive> -->
28 28
           <!-- <printthirteen v-if="org_id == 10188 || org_id == 0 " :paramsObj="invoiceParams"></printthirteen> -->
29
-<!--         <printEight v-if="org_id == 10387 || org_id == 0" :paramsObj="invoiceParams"></printEight>-->
29
+          <!-- <printEight v-if="org_id == 10387 || org_id == 0" :paramsObj="invoiceParams"></printEight>-->
30 30
           <print-eight v-if="org_id == 10387" :paramsObj="invoiceParams"></print-eight>
31 31
           <PrintNight v-if="org_id == 10210" :paramsObj="invoiceParams"></PrintNight>
32 32
           <!-- <PrintTen v-if="org_id == 10375 ||org_id == 0 " :paramsObj="invoiceParams"></PrintTen> -->
@@ -34,7 +34,7 @@
34 34
         </div>
35 35
     </div>
36 36
 
37
-    <div class="app-container" style="padding-top:40px;" v-if="org_id == 10485">
37
+    <div class="app-container" style="padding-top:40px;" v-if="org_id == 10485 ">
38 38
       <div class='dialysisPage'>
39 39
         <print-eleven :paramsObj="invoiceParams"></print-eleven>
40 40
       </div>
@@ -45,7 +45,7 @@
45 45
         <printSix :paramsObj="invoiceParams"></printSix>
46 46
       </div>
47 47
     </div>
48
-    <div class="app-container" style="padding-top:40px;" v-if="org_id == 10375 || org_id == 0">
48
+    <div class="app-container" style="padding-top:40px;" v-if="org_id == 10375 ">
49 49
       <div class='dialysisPage'>
50 50
         <print-ten :paramsObj="invoiceParams"></print-ten>
51 51
       </div>
@@ -62,6 +62,13 @@
62 62
         <printthirteen  :paramsObj="invoiceParams"></printthirteen>
63 63
       </div>
64 64
     </div>
65
+    <!-- 新发票 -->
66
+    <div class="app-container" style="padding-top:20px;" v-if="org_id == 10188 || org_id ==0 ">
67
+      <div class='dialysisPage'>
68
+        <printseventeen :paramsObj="invoiceParams"></printseventeen>
69
+      </div>
70
+    </div>
71
+      
65 72
     <!-- <div class="app-container" style="" v-if="org_id == 0">
66 73
       <div class='dialysisPage'>
67 74
         <printSixteen :paramsObj="invoiceParams"></printSixteen>
@@ -87,6 +94,7 @@
87 94
   import printfourteen from './invoiceTemplate/printfourteen'
88 95
   import printfifteen from './invoiceTemplate/printfifteen'
89 96
   import printSixteen from './invoiceTemplate/printSixteen'
97
+  import printseventeen from './invoiceTemplate/printseventeen'
90 98
   export default {
91 99
     name: "invoicePrint",
92 100
     components: {
@@ -105,7 +113,8 @@
105 113
       printthirteen,
106 114
       printfourteen,
107 115
       printfifteen,
108
-      printSixteen
116
+      printSixteen,
117
+      printseventeen
109 118
     },
110 119
     props:{
111 120
       invoiceParams:Object

+ 209 - 0
src/xt_pages/outpatientCharges/invoiceTemplate/printseventeen.vue Vedi File

@@ -0,0 +1,209 @@
1
+<template>
2
+  <div id='invoice-print' style="position: relative;">
3
+    <div style="display: flex;text-align: center;">
4
+      <div style="width: 25%;">交款人:刘德华</div>
5
+      <div style="width: 50%;">交款人统一社会信用代码:429001199908109898</div>
6
+      <div style="width: 25%;">开票日期:2024-08-12</div>
7
+    </div>
8
+    <div style="border: 1px solid black;border-bottom: 0px;padding: 5px 0;">
9
+      <div style="display: flex; text-align: center;border-bottom: 1px solid balck;">
10
+        <div style="flex: 1;">项目名称</div>
11
+        <div style="flex: 1;">金额(元)</div>
12
+        <div style="flex: 1;">备注</div>
13
+        <div style="flex: 1;">项目名称</div>
14
+        <div style="flex: 1;">金额(元)</div>
15
+        <div style="flex: 1;">备注</div>
16
+        <div style="flex: 1;">项目名称</div>
17
+        <div style="flex: 1;">金额(元)</div>
18
+        <div style="flex: 1;">备注</div>
19
+      </div>
20
+      
21
+    </div>
22
+    <div style="border: 1px solid black;border-bottom: 0;height: 150px;">
23
+      <div style="display: flex; text-align: center;padding: 5px 0;">
24
+        <div style="flex: 1;">西药费</div>
25
+        <div style="flex: 1;">299.53</div>
26
+        <div style="flex: 1;">备注</div>
27
+        <div style="flex: 1;">中成药</div>
28
+        <div style="flex: 1;">165.00</div>
29
+        <div style="flex: 1;">备注</div>
30
+        <div style="flex: 1;">治疗费</div>
31
+        <div style="flex: 1;">154.30</div>
32
+        <div style="flex: 1;">备注</div>
33
+      </div>
34
+      <div style="display: flex; text-align: center;padding: 5px 0;">
35
+        <div style="flex: 1;">检查费</div>
36
+        <div style="flex: 1;">2036.00</div>
37
+        <div style="flex: 1;">备注</div>
38
+        <div style="flex: 1;">化验费</div>
39
+        <div style="flex: 1;">894.00</div>
40
+        <div style="flex: 1;">备注</div>
41
+        <div style="flex: 1;">床位费</div>
42
+        <div style="flex: 1;">240.00</div>
43
+        <div style="flex: 1;">备注</div>
44
+      </div>
45
+      <div style="display: flex; text-align: center;padding: 5px 0;">
46
+        <div style="flex: 1;">护理费</div>
47
+        <div style="flex: 1;">116.00</div>
48
+        <div style="flex: 1;">备注</div>
49
+        <div style="flex: 1;">诊察费</div>
50
+        <div style="flex: 1;">894.00</div>
51
+        <div style="flex: 1;">备注</div>
52
+        <div style="flex: 1;"></div>
53
+        <div style="flex: 1;"></div>
54
+        <div style="flex: 1;"></div>
55
+      </div>
56
+    </div>
57
+    <div style="border: 1px solid black;border-bottom: 0;padding: 5px;">
58
+      <div style="display: inline-block;width: 49%;">
59
+        金额合计(大写) 肆仟壹佰肆拾肆元捌角叁分
60
+      </div>
61
+      <div style="display: inline-block;width: 49%;">
62
+        (小写) 4144.83
63
+      </div>
64
+    </div>
65
+    <div style="border: 1px solid black;">
66
+      <div style="display: flex;">
67
+        <div style="width: 3%;border-right: 1px solid black;padding: 5px;">其他信息</div>
68
+        <div style="width: 96%;padding-left: 5px;">
69
+          <div style="display: flex;padding: 5px 0;">
70
+            <div style="width: 30%;">医疗费总额:505.05元</div>
71
+            <div style="width: 30%;">基金支付总额:500.11元</div>
72
+            <div style="width: 40%;">基本医疗保险统筹基金支出:448.55元</div>
73
+          </div>
74
+          <div style="display: flex;">
75
+            <div style="width: 30%;">医疗救助基金支出:14.83元</div>
76
+            <div style="width: 30%;">个人账户支付金额:0</div>
77
+            <div style="width: 40%;">个人支付金额:4.94元</div>
78
+          </div>
79
+        </div>
80
+      </div>
81
+    </div>
82
+
83
+  </div>
84
+</template>
85
+<script>
86
+import { getInvoice } from '@/api/project/project'
87
+import { uParseTime } from '@/utils/tools'
88
+export default {
89
+  props:{
90
+    paramsObj:Object
91
+  },
92
+  data(){
93
+    return{
94
+      gender:'',
95
+      list:{},
96
+      printDate:'',
97
+      zhongwen:'',
98
+      totalPrice:0.0,
99
+      org_id:'',
100
+      org_name:''
101
+    }
102
+  },
103
+  created(){
104
+    console.log('paramsObj',this.paramsObj)
105
+    let params = {
106
+      order_id: this.paramsObj.order_id,
107
+      patient_id: this.paramsObj.patient_id,
108
+      number: this.paramsObj.number,
109
+    }
110
+    this.getInvoice(params)
111
+    // var data = new Date();
112
+    // var month =data.getMonth() < 9 ? "0" + (data.getMonth() + 1) : data.getMonth() + 1;
113
+    // var date = data.getDate() <= 9 ? "0" + data.getDate() : data.getDate();
114
+    // this.printDate = data.getFullYear() + "-" + month + "-" + date;
115
+    // this.smalltoBIG(982732.21)
116
+    this.org_id = this.$store.getters.xt_user.org_id
117
+    this.org_name = this.$store.getters.xt_user.org.org_name
118
+  },
119
+  methods:{
120
+    getInvoice(params){
121
+      getInvoice(params).then((res) => {
122
+        console.log('res',res)
123
+        this.list = res.data.data
124
+        this.totalPrice = this.list.westernMedicineCostTotal + this.list.checkCostTotal + this.list.treatCostTotal + this.list.bedCostTotal + this.list.chineseTraditionalMedicineCostTotal +
125
+          this.list.laboratoryCostTotal + this.list.operationCostTotal + this.list.otherCostTotal + this.list.materialCostTotal + this.list.zhenChaCostTotal + this.list.hiliCostTotal
126
+        if(this.totalPrice == 0){
127
+
128
+          this.totalPrice = this.list.medfee_sumamt
129
+        }
130
+        console.log( "this.totalPrice")
131
+
132
+        this.smalltoBIG(this.totalPrice.toFixed(2))
133
+        var data = new Date(res.data.data.date * 1000);
134
+        var month =data.getMonth() < 9 ? "0" + (data.getMonth() + 1) : data.getMonth() + 1;
135
+        var date = data.getDate() <= 9 ? "0" + data.getDate() : data.getDate();
136
+        this.printDate = data.getFullYear() + "-" + month + "-" + date;
137
+        this.gender = this.list.gender
138
+      })
139
+    },
140
+    smalltoBIG(n) {
141
+      // let fraction = ['角', '分'];
142
+      // let digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];
143
+      // let unit = [['元.', '万,', '亿,'], ["元",'拾', '佰', '仟']];
144
+      // let head = price < 0 ? '欠' : '';
145
+      // price = Math.abs(price);
146
+      // let upper = '';
147
+      // for (let i = 0; i < fraction.length; i++) {
148
+      // upper += (digit[Math.floor(price * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/零./, '');
149
+      // }
150
+      // upper = upper || '整';
151
+      // price = Math.floor(price);
152
+      // for (let i = 0; i < unit[0].length && price > 0; i++) {
153
+      // let p = '';
154
+      // for (let j = 0; j < unit[1].length && price > 0; j++) {
155
+      //     p = digit[price % 10] + unit[1][j] + p;
156
+      //     price = Math.floor(price / 10);
157
+      // }
158
+      // upper = p.replace(/(零.)*零$/, '').replace(/^$/, '零') + unit[0][i] + upper;
159
+      // }
160
+      // this.zhongwen = head + upper.replace(/(零.)*零圆/, '圆').replace(/(零.)+/g, '零').replace(/^整$/, '零圆整')
161
+      // console.log('6666',head + upper.replace(/(零.)*零圆/, '圆').replace(/(零.)+/g, '零').replace(/^整$/, '零圆整'))
162
+      if (!/^(0|[1-9]\d*)(\.\d+)?$/.test(n)){
163
+        return "数据非法";  //判断数据是否大于0
164
+      }
165
+
166
+      var unit = "仟佰拾亿仟佰拾万仟佰拾元角分", str = "";
167
+      n += "00";
168
+
169
+      var indexpoint = n.indexOf('.');  // 如果是小数,截取小数点前面的位数
170
+
171
+      if (indexpoint >= 0){
172
+
173
+        n = n.substring(0, indexpoint) + n.substr(indexpoint+1, 2);   // 若为小数,截取需要使用的unit单位
174
+      }
175
+
176
+      unit = unit.substr(unit.length - n.length);  // 若为整数,截取需要使用的unit单位
177
+      for (var i=0; i < n.length; i++){
178
+        str += "零壹贰叁肆伍陆柒捌玖".charAt(n.charAt(i)) + unit.charAt(i);  //遍历转化为大写的数字
179
+      }
180
+
181
+      this.zhongwen =  str.replace(/零(仟|佰|拾|角)/g, "零").replace(/(零)+/g, "零").replace(/零(万|亿|元)/g, "$1").replace(/(亿)万|壹(拾)/g, "$1$2").replace(/^元零?|零分/g, "").replace(/元$/g, "元整");
182
+      console.log(this.zhongwen)
183
+    },
184
+    getTime(value, temp) {
185
+      if (value == 0) {
186
+        return ''
187
+      }
188
+      if (value != undefined) {
189
+        return uParseTime(value, temp)
190
+      }
191
+      return ''
192
+    },
193
+  },
194
+  watch:{
195
+    paramsObj:{//深度监听,可监听到对象、数组的变化
196
+      handler(val, oldVal){
197
+        let params = {
198
+          order_id: val.order_id,
199
+          patient_id: val.patient_id,
200
+          number: val.number,
201
+        }
202
+        this.getInvoice(params)
203
+
204
+      },
205
+      deep:true
206
+    }
207
+  }
208
+}
209
+</script>

+ 6 - 6
src/xt_pages/outpatientDoctorStation/template/prineight.vue Vedi File

@@ -40,14 +40,14 @@
40 40
                 透析号:{{ item.patient.dialysis_no }}
41 41
               </div>
42 42
               <div style="flex: 1;">
43
-                费别:自费
44
-                <!-- <span v-if="hisPatient.balance_accounts_type==1">
43
+                费别:
44
+                <span v-if="hisPatient.balance_accounts_type==1">
45 45
                   <span v-if="hisPatient.insutype==390">城乡医保</span>
46 46
                   <span v-if="hisPatient.insutype==310">职工医保</span>
47 47
                 </span>
48 48
                 <span v-else>
49 49
                   {{ getsettlement(hisPatient.balance_accounts_type) }}
50
-                </span> -->
50
+                </span>
51 51
               </div>
52 52
             </div>
53 53
             <div  style="display: flex;line-height: 24px;padding: 0 10px;">
@@ -91,14 +91,14 @@
91 91
             </div>
92 92
             <div style="display: flex;margin: 10px 0;">
93 93
               <div style="flex: 1;">门诊号:{{ hisPatient.number ? hisPatient.number : "" }}</div>
94
-              <div style="flex: 1;">费别:自费
95
-                <!-- <span v-if="hisPatient.balance_accounts_type==1">
94
+              <div style="flex: 1;">费别:
95
+                <span v-if="hisPatient.balance_accounts_type==1">
96 96
                   <span v-if="hisPatient.insutype==390">城乡医保</span>
97 97
                   <span v-if="hisPatient.insutype==310">职工医保</span>
98 98
                 </span>
99 99
                 <span v-else>
100 100
                   {{ getsettlement(hisPatient.balance_accounts_type) }}
101
-                </span> -->
101
+                </span>
102 102
               </div>
103 103
             </div>
104 104
             <div style="display: flex;">