Browse Source

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

csx 3 years ago
parent
commit
6de3973b43

+ 1 - 1
src/lang/zh.js View File

229
     outpatientRecord: '住院工作站',
229
     outpatientRecord: '住院工作站',
230
     advancePayment: '预交金',
230
     advancePayment: '预交金',
231
     labelPrinting: '标签打印',
231
     labelPrinting: '标签打印',
232
-    summary: '项目消费明细汇总',
232
+    summary: '收费列表',
233
     outpatientPharmacy: '门诊药房',
233
     outpatientPharmacy: '门诊药房',
234
     pharmacyFormula: '药房配发药',
234
     pharmacyFormula: '药房配发药',
235
     prescriptionDrugReturn: '处方退药',
235
     prescriptionDrugReturn: '处方退药',

+ 7 - 0
src/xt_pages/outpatientTool/components/detail.vue View File

54
             <el-table :data="tableData" border :row-style="{ color: '#303133' }"
54
             <el-table :data="tableData" border :row-style="{ color: '#303133' }"
55
                       :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
55
                       :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
56
                       :span-method="merge"
56
                       :span-method="merge"
57
+                      v-loading="detail_loading"
57
                       highlight-current-row>
58
                       highlight-current-row>
58
 
59
 
59
                 <el-table-column align="center" prop="name" label="患者名字">
60
                 <el-table-column align="center" prop="name" label="患者名字">
104
     },
105
     },
105
     data() {
106
     data() {
106
       return {
107
       return {
108
+        detail_loading:false,
107
         tempArr: [],
109
         tempArr: [],
108
         sameRowArr: [],
110
         sameRowArr: [],
109
         keywords: '',
111
         keywords: '',
151
 
153
 
152
       },
154
       },
153
       getSummaryDetailList() {
155
       getSummaryDetailList() {
156
+        this.detail_loading = true
154
         let start_time = this.chargeDate[0]
157
         let start_time = this.chargeDate[0]
155
         let end_time = this.chargeDate[1]
158
         let end_time = this.chargeDate[1]
156
         let params = {
159
         let params = {
161
         }
164
         }
162
         GetSummaryDetail(params).then(response => {
165
         GetSummaryDetail(params).then(response => {
163
           if (response.data.state == 0) {
166
           if (response.data.state == 0) {
167
+            this.detail_loading = false
168
+
164
             this.$message.error(response.data.msg)
169
             this.$message.error(response.data.msg)
165
             return false
170
             return false
166
           } else {
171
           } else {
172
+            this.detail_loading = false
173
+
167
             this.tableData = []
174
             this.tableData = []
168
             let tempPatients = []
175
             let tempPatients = []
169
             let tempPatientsTwo = []
176
             let tempPatientsTwo = []

+ 7 - 0
src/xt_pages/outpatientTool/components/gather.vue View File

53
             </div>
53
             </div>
54
             <el-table :data="tableData" border :row-style="{ color: '#303133' }"
54
             <el-table :data="tableData" border :row-style="{ color: '#303133' }"
55
                       :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
55
                       :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
56
+                      v-loading="gather_loading"
56
                       show-summary
57
                       show-summary
57
                       max-height="600"
58
                       max-height="600"
58
                       :span-method="merge"
59
                       :span-method="merge"
98
     },
99
     },
99
     data() {
100
     data() {
100
       return {
101
       return {
102
+        gather_loading:false,
101
         crumbs: [],
103
         crumbs: [],
102
         tempArr: [],
104
         tempArr: [],
103
         sameRowArr: [],
105
         sameRowArr: [],
148
         this.getSummaryDetailList()
150
         this.getSummaryDetailList()
149
       },
151
       },
150
       getSummaryDetailList() {
152
       getSummaryDetailList() {
153
+        this.gather_loading = true
151
         let start_time = this.chargeDate[0]
154
         let start_time = this.chargeDate[0]
152
         let end_time = this.chargeDate[1]
155
         let end_time = this.chargeDate[1]
153
         let params = {
156
         let params = {
158
         }
161
         }
159
         GetSummaryDetail(params).then(response => {
162
         GetSummaryDetail(params).then(response => {
160
           if (response.data.state == 0) {
163
           if (response.data.state == 0) {
164
+            this.gather_loading = false
165
+
161
             this.$message.error(response.data.msg)
166
             this.$message.error(response.data.msg)
162
             return false
167
             return false
163
           } else {
168
           } else {
169
+            this.gather_loading = false
170
+
164
             let tempPatients = []
171
             let tempPatients = []
165
             let tempPatientsTwo = []
172
             let tempPatientsTwo = []
166
             this.tableData = []
173
             this.tableData = []

+ 38 - 120
src/xt_pages/outpatientTool/components/settle.vue View File

54
             <el-table :data="tableData" border :row-style="{ color: '#303133' }"
54
             <el-table :data="tableData" border :row-style="{ color: '#303133' }"
55
                       :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
55
                       :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
56
                       show-summary
56
                       show-summary
57
+                      v-loading="settle_loading"
57
                       max-height="600"
58
                       max-height="600"
58
                       :span-method="merge"
59
                       :span-method="merge"
59
                       :summary-method="getTotal"
60
                       :summary-method="getTotal"
64
                 </el-table-column>
65
                 </el-table-column>
65
                 <el-table-column align="center" prop="item_name" label="结算日期">
66
                 <el-table-column align="center" prop="item_name" label="结算日期">
66
                     <template slot-scope="scope">
67
                     <template slot-scope="scope">
67
-                        {{scope.row.setl_time?scope.row.setl_time:getTimes(scope.row.settle_accounts_date)}}
68
+                        {{scope.row.setl_time?scope.row.setl_time.split(" ")[0]:getTimes(scope.row.settle_accounts_date)}}
68
                     </template>
69
                     </template>
69
                 </el-table-column>
70
                 </el-table-column>
70
 
71
 
118
     },
119
     },
119
     data() {
120
     data() {
120
       return {
121
       return {
122
+        settle_loading:false,
121
         crumbs: [],
123
         crumbs: [],
122
         tempArr: [],
124
         tempArr: [],
123
         sameRowArr: [],
125
         sameRowArr: [],
179
           type: this.item_type,
181
           type: this.item_type,
180
           keyword: this.keywords
182
           keyword: this.keywords
181
         }
183
         }
184
+        this.settle_loading = true
182
         GetSummarySettle(params).then(response => {
185
         GetSummarySettle(params).then(response => {
183
           if (response.data.state == 0) {
186
           if (response.data.state == 0) {
187
+            this.settle_loading = false
188
+
184
             this.$message.error(response.data.msg)
189
             this.$message.error(response.data.msg)
185
             return false
190
             return false
186
           } else {
191
           } else {
192
+            this.settle_loading = false
187
             this.tableData = []
193
             this.tableData = []
188
             let data = response.data.data.patients
194
             let data = response.data.data.patients
189
 
195
 
312
         let list = []
318
         let list = []
313
         for (let i = 0; i < this.tableData.length; i++) {
319
         for (let i = 0; i < this.tableData.length; i++) {
314
           let order = this.tableData[i]
320
           let order = this.tableData[i]
315
-          let name = ''
321
+          let name = order.other_name
316
           let time = ''
322
           let time = ''
317
           let balance_accounts = ""
323
           let balance_accounts = ""
318
           let med_type = ""
324
           let med_type = ""
325
+          let medfee_sumamt = ""
326
+          let fund_pay_sumamt = ""
327
+          let acct_pay = ""
328
+          let psn_cash_pay = ""
329
+          let total = ""
330
+          if(order.setl_time.length == 0){
331
+
332
+            time = this.getTimes(order.settle_accounts_date)
333
+
334
+          }else {
335
+
336
+            time = order.setl_time.split(" ")[0]
337
+
338
+          }
319
 
339
 
320
           if (order.is_medicine_insurance == 0) {
340
           if (order.is_medicine_insurance == 0) {
321
             balance_accounts = '自费'
341
             balance_accounts = '自费'
333
             med_type = '普通门诊'
353
             med_type = '普通门诊'
334
           }
354
           }
335
 
355
 
336
-          let number = ''
337
-
338
-          let department = ''
339
-          let doctor_name = ''
340
-          let order_status = ''
341
-          let charge_name = ''
342
-          let insutypeName = ''
343
-
344
-
345
-
346
-
356
+          medfee_sumamt = order.medfee_sumamt
357
+          fund_pay_sumamt = order.fund_pay_sumamt
358
+          acct_pay = order.acct_pay
359
+          psn_cash_pay = order.psn_cash_pay
360
+          total = order.total
347
 
361
 
348
-          if (order.patient != null && order.patient.name.length > 0) {
349
-            name = order.patient.name
350
-
351
-          }
352
-
353
-          if (order.p_info != null && order.p_info.department != null && order.p_info.department.name.length > 0) {
354
-            department = order.p_info.department.name
355
-
356
-          }
357
-
358
-          if (order.p_info != null && order.p_info.doctor.length > 0) {
359
-            doctor_name = order.p_info.doctor
360
-          }
361
-
362
-          if (order.creator != null) {
363
-            charge_name = this.getName(order.creator)
364
-          }
365
-          if (order.insutype == '390') {
366
-
367
-            insutypeName = '城乡居民基本医疗保险'
368
-          } else if (order.insutype == '310') {
369
-            insutypeName = '职工基本医疗保险'
370
-
371
-          }
372
-
373
-          if (order.order_status == 1) {
374
-            order_status = '待结算'
375
-          }
376
-
377
-          if (order.order_status == 2) {
378
-            order_status = '已结算'
379
-          }
380
-
381
-          if (order.order_status == 3) {
382
-            order_status = '已退费'
383
-          }
384
-
385
-          if (order.settle_type == 2) {
386
-            time = this.getTimes(order.settle_start_time)
387
-          } else {
388
-            time = this.getTimes(order.settle_accounts_date)
389
-          }
390
-
391
-          var hifmi_pay = 0.00
392
-
393
-          if (order.setl_detail.length > 0) {
394
-            var jsonObj = JSON.parse(order.setl_detail)
395
-            for (let i = 0; i < jsonObj.length; i++) {
396
-              if (order.insutype == '310') {
397
-                if (jsonObj[i].fund_pay_type == '310300') {
398
-                  hifmi_pay = jsonObj[i].fund_payamt
399
-                }
400
-
401
-              } else if (order.insutype == '390') {
402
-                if (order.fund_pay_type == '390200') {
403
-                  hifmi_pay = jsonObj[i].fund_payamt
404
-                }
405
-              }
406
-            }
407
-          }
408
-          var hifmi_pay = 0.00
409
-
410
-          if (order.setl_detail.length > 0) {
411
-            var jsonObj = JSON.parse(order.setl_detail)
412
-            for (let i = 0; i < jsonObj.length; i++) {
413
-              if (order.insutype == '310') {
414
-                if (jsonObj[i].fund_pay_type == '310300') {
415
-                  hifmi_pay = jsonObj[i].fund_payamt
416
-                }
417
-              }
418
-              if (order.insutype == '390') {
419
-                if (jsonObj[i].fund_pay_type == '390200') {
420
-                  hifmi_pay = jsonObj[i].fund_payamt
421
-                }
422
-              }
423
-            }
424
-          }
425
 
362
 
426
           let obj = {
363
           let obj = {
427
-            '就诊号': order.mdtrt_id,
428
             '患者姓名': name,
364
             '患者姓名': name,
429
-            '开处时间': time,
430
-            '险种类型': insutypeName,
431
-            '应收金额': order.medfee_sumamt,
432
-            '实收金额': order.medfee_sumamt,
433
-            '医保统筹金额': order.hifp_pay,
434
-            '大额基金金额': order.hifob_pay,
435
-            '大病基金金额': hifmi_pay,
436
-            '补充保险基金金额': order.hifes_pay,
437
-            '医疗救助基金金额': order.maf_pay,
438
-            '公务员基金': order.cvlserv_pay,
439
-            '个人支付基金': order.psn_cash_pay,
440
-            '个人账户支付金额': order.acct_pay,
441
-            '科室': department,
442
-            '医生姓名': doctor_name,
443
-            '收费类别': balance_accounts,
444
-            '收费者姓名': charge_name,
445
-            '总金额': order.medfee_sumamt,
446
-            '现金支付': '',
447
-            '账户支付': '',
448
-            '支付宝支付': '',
449
-            '微信支付': '',
450
-            '其他支付': '',
451
-            '收费时间': order.setl_time,
452
-            '收费状态': order_status,
453
-            '退费日期': ''
365
+            '结算日期': time,
366
+            '结算类型': balance_accounts,
367
+            '处方类型': med_type,
368
+            '医疗费总额': medfee_sumamt,
369
+            '基金支付金额': fund_pay_sumamt,
370
+            '个人账户支付金额': acct_pay,
371
+            '个人支付基金': psn_cash_pay,
372
+            '费用总额':total,
454
           }
373
           }
455
-
456
           list.push(obj)
374
           list.push(obj)
457
         }
375
         }
458
         import('@/vendor/Export2Excel').then(excel => {
376
         import('@/vendor/Export2Excel').then(excel => {
459
-          const tHeader = ['就诊号', '患者姓名', '开处时间', '险种类型', '应收金额', '实收金额', '医保统筹金额', '大额基金金额', '大病基金金额', '补充保险基金金额', '医疗救助基金金额', '公务员基金', '个人支付基金', '个人账户支付金额', '科室', '医生姓名', '收费类别', '收费者姓名', '总金额', '现金支付', '账户支付', '支付宝支付', '微信支付', '其他支付', '收费时间', '收费状态', '退费日期']
460
-          const filterVal = ['就诊号', '患者姓名', '开处时间', '险种类型', '应收金额', '实收金额', '医保统筹金额', '大额基金金额', '大病基金金额', '补充保险基金金额', '医疗救助基金金额', '公务员基金', '个人支付基金', '个人账户支付金额', '科室', '医生姓名', '收费类别', '收费者姓名', '总金额', '现金支付', '账户支付', '支付宝支付', '微信支付', '其他支付', '收费时间', '收费状态', '退费日期']
377
+          const tHeader = [ '患者姓名', '结算日期', '结算类型', '处方类型', '医疗费总额', '基金支付金额', '个人账户支付金额', '个人支付基金', '费用总额']
378
+          const filterVal = [ '患者姓名', '结算日期', '结算类型', '处方类型', '医疗费总额', '基金支付金额', '个人账户支付金额', '个人支付基金', '费用总额']
461
           const data = this.formatJson(filterVal, list)
379
           const data = this.formatJson(filterVal, list)
462
           excel.export_json_to_excel({
380
           excel.export_json_to_excel({
463
             header: tHeader,
381
             header: tHeader,
464
             data,
382
             data,
465
-            filename: '消费明细'
383
+            filename: '结算明细'
466
           })
384
           })
467
         })
385
         })
468
 
386