소스 검색

Merge remote-tracking branch 'origin/20230223_pc_vue_new_branch' into 20230223_pc_vue_new_branch

yq1 7 달 전
부모
커밋
ceefade8ac

+ 7 - 0
src/lang/zh.js 파일 보기

306
     queryData:"结算数据查询",
306
     queryData:"结算数据查询",
307
     chargeDetailManagementTwo:"门诊明细上传",
307
     chargeDetailManagementTwo:"门诊明细上传",
308
     orgExportData:"数据导出",
308
     orgExportData:"数据导出",
309
+
310
+
311
+
312
+    settleDetail:"结算明细列表",
313
+    patientSettleDetail:"患者结算列表",
314
+    elefapiao:"电子发票列表",
315
+
309
   },
316
   },
310
   navbar: {
317
   navbar: {
311
     logOut: '退出登录',
318
     logOut: '退出登录',

+ 2 - 2
src/router/modules/faPiao.js 파일 보기

26
     {
26
     {
27
       path: '/fapiao/elefapiao',
27
       path: '/fapiao/elefapiao',
28
       component: () => import('@/xt_pages/fapiao/fapiao'),
28
       component: () => import('@/xt_pages/fapiao/fapiao'),
29
-      name: 'fapiao',
30
-      meta: { title: 'fapiao', noCache: true },
29
+      name: 'elefapiao',
30
+      meta: { title: 'elefapiao', noCache: true },
31
     },
31
     },
32
   ]
32
   ]
33
 }
33
 }

+ 20 - 20
src/router/modules/hisTool.js 파일 보기

196
             noCache: true
196
             noCache: true
197
           },
197
           },
198
         },
198
         },
199
-    // {
200
-    //   path: '/fapiao/settle',
201
-    //   component: () => import('@/xt_pages/fapiao/settleDetail'),
202
-    //   name: 'settleDetail',
203
-    //   meta: { title: 'settleDetail', noCache: true }
204
-    // },
205
-    // {
206
-    //   path: '/fapiao/patientsettle',
207
-    //   component: () => import('@/xt_pages/fapiao/patientSettleDetail'),
208
-    //   name: 'patientSettleDetail',
209
-    //   meta: { title: 'patientSettleDetail', noCache: true },
210
-    //
211
-    // },
212
-    // {
213
-    //   path: '/fapiao/elefapiao',
214
-    //   component: () => import('@/xt_pages/fapiao/fapiao'),
215
-    //   name: 'fapiao',
216
-    //   meta: { title: 'fapiao', noCache: true },
217
-    //
218
-    // },
199
+    {
200
+      path: '/fapiao/settle',
201
+      component: () => import('@/xt_pages/fapiao/settleDetail'),
202
+      name: 'settleDetail',
203
+      meta: { title: 'settleDetail', noCache: true }
204
+    },
205
+    {
206
+      path: '/fapiao/patientsettle',
207
+      component: () => import('@/xt_pages/fapiao/patientSettleDetail'),
208
+      name: 'patientSettleDetail',
209
+      meta: { title: 'patientSettleDetail', noCache: true },
210
+
211
+    },
212
+    {
213
+      path: '/fapiao/elefapiao',
214
+      component: () => import('@/xt_pages/fapiao/fapiao'),
215
+      name: 'fapiao',
216
+      meta: { title: 'fapiao', noCache: true },
217
+
218
+    },
219
   ]
219
   ]
220
 }
220
 }

+ 524 - 4
src/xt_pages/fapiao/fapiao.vue 파일 보기

1
 <template>
1
 <template>
2
+  <div class="main-contain outpatientChargesManagement">
3
+    <div class="position">
4
+      <bread-crumb :crumbs="crumbs"></bread-crumb>
5
+    </div>
6
+    <div class="app-container">
7
+      <div
8
+        style="
9
+          display: flex;
10
+          justify-content: space-between;
11
+          margin-bottom: 10px;
12
+        ">
13
+        <div>
14
+          <el-button size="small" type="primary"
15
+                     @click="query">查询
16
+          </el-button>
17
+        </div>
18
+      </div>
19
+      <div style="margin-bottom: 10px;">
20
+        <el-date-picker
21
+          size="small"
22
+          v-model="start_time"
23
+          prefix-icon="el-icon-date"
24
+          @change="handleStartTimeChange"
25
+          :editable="false"
26
+          :clearable="false"
27
+          style="width: 196px; "
28
+          type="date"
29
+          placeholder="选择开始日期"
30
+          format="yyyy-MM-dd"
31
+          value-format="yyyy-MM-dd"
32
+          align="right"
33
+        ></el-date-picker>
34
+        <span style="text-align: center;">-</span>
35
+        <el-date-picker
36
+          size="small"
37
+          v-model="end_time"
38
+          prefix-icon="el-icon-date"
39
+          @change="handleEndTimeChange"
40
+          :editable="false"
41
+          :clearable="false"
42
+          style="width: 196px; "
43
+          type="date"
44
+          placeholder="选择结束日期"
45
+          format="yyyy-MM-dd"
46
+          value-format="yyyy-MM-dd"
47
+          align="right"
48
+        ></el-date-picker>
49
+      </div>
2
 
50
 
51
+      <el-table
52
+        :data="tableData"
53
+        border
54
+        style="width: 100%"
55
+        :row-style="{ color: '#303133' }"
56
+        @selection-change="handleSelectionChange"
57
+        :header-cell-style="{
58
+          backgroundColor: 'rgb(245, 247, 250)',
59
+          color: '#606266',
60
+        }"
61
+        highlight-current-row
62
+      >
63
+        <el-table-column align="center" type="selection" width="55"></el-table-column>
64
+        <el-table-column
65
+          prop="date"
66
+          label="序号"
67
+          width="60"
68
+          align="center"
69
+          type="index"
70
+        >
71
+        </el-table-column>
72
+
73
+        <el-table-column align="center" width="90" prop="name" label="患者名字">
74
+          <template slot-scope="scope">{{ scope.row.patient.name }}</template>
75
+        </el-table-column>
76
+
77
+        <el-table-column align="center" width="90" prop="name" label="患者性别">
78
+          <template slot-scope="scope">{{ scope.row.patient.gender == 1 ? '男':'女' }}</template>
79
+        </el-table-column>
80
+
81
+
82
+        <el-table-column
83
+          align="center"
84
+          width="100"
85
+          prop="name"
86
+          label="开票日期"
87
+        >
88
+          <template slot-scope="scope">
89
+            {{getTimes(scope.row.ctime) }}
90
+          </template>
91
+        </el-table-column>
92
+
93
+
94
+        <el-table-column align="center" width="90" prop="name" label="开票员">
95
+          <template slot-scope="scope">
96
+            {{scope.row.creator}}
97
+          </template>
98
+        </el-table-column>
99
+
100
+        <el-table-column align="center" width="90" prop="name" label="医疗费总额">
101
+          <template slot-scope="scope">
102
+            {{scope.row.medfee_sumamt}}
103
+          </template>
104
+        </el-table-column>
105
+
106
+        <el-table-column align="center" width="90" prop="name" label="基金支付">
107
+          <template slot-scope="scope">
108
+            {{scope.row.fund_pay_sumamt}}
109
+          </template>
110
+        </el-table-column>
111
+
112
+        <el-table-column align="center" width="90" prop="name" label="个人支付">
113
+          <template slot-scope="scope">
114
+            {{scope.row.psn_cash_pay}}
115
+          </template>
116
+        </el-table-column>
117
+
118
+        <el-table-column align="center" prop="name" label="操作">
119
+          <template slot-scope="scope">
120
+
121
+            <el-button v-if="scope.row.id > 0 && scope.row.is_red_washed == 1" size="mini" type="primary"
122
+                       @click="hongchong(scope.row)">
123
+              红冲
124
+            </el-button>
125
+            <el-button size="mini" type="primary" v-if="scope.row.id > 0 && scope.row.is_red_washed == 0"
126
+                       @click="yulan(scope.row)">
127
+              预览
128
+            </el-button>
129
+            <el-button size="mini" type="primary" @click="download(scope.row)"  v-if="scope.row.id > 0 && scope.row.is_red_washed == 0">
130
+              下载
131
+            </el-button>
132
+          </template>
133
+        </el-table-column>
134
+      </el-table>
135
+      <el-pagination
136
+        @size-change="handleSizeChange"
137
+        @current-change="handleCurrentChange"
138
+        :page-sizes="[10, 50, 100]"
139
+        :page-size="10"
140
+        :current-page.sync="page"
141
+        background
142
+        style="margin-top: 20px; float: right"
143
+        layout="total, sizes, prev, pager, next, jumper"
144
+        :total="total"
145
+      >
146
+      </el-pagination>
147
+    </div>
148
+
149
+
150
+  </div>
3
 </template>
151
 </template>
4
 
152
 
153
+
5
 <script>
154
 <script>
155
+import BreadCrumb from '@/xt_pages/components/bread-crumb'
156
+import { getDoctorList } from '@/api/his/his'
157
+
158
+
159
+// import NewStatementPrint from './newStatementPrint'
160
+import { adminMainView} from "@/api/role/admin";
161
+import { fetchAllAdminUsers } from '@/api/doctor'
162
+import axios from 'axios'
163
+import { jsGetAge, uParseTime } from '@/utils/tools'
164
+import {
165
+  getFapiaoList,
166
+} from '../../api/fapiao'
167
+
168
+import { getDialysisRecordInitData } from '@/api/dialysis_record'
169
+import { number } from 'echarts/lib/export'
170
+
171
+const moment = require('moment')
6
 export default {
172
 export default {
7
-  name: 'fapiao'
8
-}
9
-</script>
173
+  name: 'newSettleDetail',
174
+  components: {
175
+    BreadCrumb,
176
+  },
177
+  props: {
178
+    patient_id: number
179
+  },
180
+  data() {
181
+    return {
182
+      staff:"",
183
+      admins:[],
184
+      orderObj: {},
185
+      batchOrderObj: {},
186
+      fapiao_number:"",
187
+      med_options: [
188
+        { id: 0, text: '全部' },
189
+        { id: 11, text: '普通门诊' },
190
+        { id: 14, text: '门诊特殊病' }
191
+      ],
192
+      zone_options: [
193
+        { id: 0, text: '全部分区' }
194
+      ],
195
+      statementListVisible: false,
196
+      statementVisible: false,
197
+      batchStatementVisible: false,
198
+      statementVisible9504: false,
199
+      orderObj9504: {},
200
+      crumbs: [
201
+        { path: false, name: '门诊收费' },
202
+        { path: false, name: '项目消费明细汇总' }
203
+      ],
204
+      tableData: [],
205
+      tableData2:[],
206
+      selecting_schs: [],
207
+      dialogfapiaoVisible:false,
208
+      targeOrderId:0,
209
+      targeObj:{},
210
+      limit: 10,
211
+      page: 1,
212
+      keywords: '',
213
+      sch_type: '0',//班次
214
+      zoneVal: 0,//分区
215
+      medTypeVal: 0,
216
+      start_time: moment(new Date()).add('year', 0).format('YYYY-MM-DD'),
217
+      end_time: moment(new Date()).add('year', 0).format('YYYY-MM-DD'),
218
+      pay_time:"",
219
+      total: '',
220
+      doctors: [],
221
+      sort_type: 1,
222
+      sort_types: [
223
+        { value: 1, label: '处方时间' },
224
+        { value: 2, label: '结算时间' }
225
+      ],
226
+      admin_user_id: '',
227
+      listVisible: false,
228
+      allListVisible: false,
229
+      adminUserOptions: [],
230
+      invoiceVisible: false,
231
+      paramsObj: {},
232
+      invoiceParams: {},
233
+      settlementVisible: false,
234
+      settlementObj: {},
235
+      accounts_click_vi:false,
236
+    }
237
+  },
238
+
239
+  created() {
240
+    this.getInitData()
241
+    this.fetchAllAdminUsers()
242
+    // this.getDoctorList()
243
+    this.getHisOrderList()
244
+    // this.getAllstaff()
245
+  },
246
+
247
+  methods: {
248
+    getData(patient_id){
249
+      this.patient_id = patient_id
250
+      this.getHisOrderList()
251
+
252
+    },
253
+    auth(){
254
+
255
+    },
256
+    query(){
257
+
258
+    },download(){
259
+
260
+
261
+    },
262
+    blue(row){
10
 
263
 
11
-<style scoped>
264
+    }, yulan(row){
12
 
265
 
266
+    },hongchong(row){
267
+
268
+    },
269
+    getAllstaff(){
270
+      adminMainView()
271
+        .then(rs => {
272
+
273
+          var resp = rs.data;
274
+          if (resp.state === 1) {
275
+            var adminData = resp.data.admins
276
+            this.admins.push(...adminData);
277
+          } else {
278
+            this.$message.error(resp.msg);
279
+          }
280
+        })
281
+        .catch(err => {
282
+          this.$message.error(err);
283
+        });
284
+
285
+
286
+    },
287
+
288
+    handleSelectionChange(val) {
289
+      this.selecting_schs = val
290
+    },
291
+    handleSchType(val) {
292
+      this.sch_type = val
293
+      this.getHisOrderList()
294
+    }, handleMedChange() {
295
+      this.getHisOrderList()
296
+    },
297
+    handleZoneChange(val) {
298
+      this.zoneVal = val
299
+      this.getHisOrderList()
300
+
301
+    },
302
+    getInitData: function() {
303
+      getDialysisRecordInitData().then((rs) => {
304
+        var resp = rs.data
305
+        if (resp.state == 1) {
306
+          var zones = resp.data.zones
307
+          var zone_options = [{ id: 0, text: '全部' }]
308
+          for (let z_i = 0; z_i < zones.length; z_i++) {
309
+            const zone = zones[z_i]
310
+            zone_options.push({ id: zone.id, text: zone.name })
311
+          }
312
+          this.zone_options = zone_options
313
+
314
+        } else {
315
+          this.$message.error(resp.msg)
316
+        }
317
+      })
318
+    },
319
+
320
+
321
+
322
+    getMedType(med_type) {
323
+      var med_type = parseInt(med_type)
324
+      switch (med_type) {
325
+        case 11:
326
+          return '普通门诊'
327
+          break
328
+        case 12:
329
+          return '门诊挂号'
330
+          break
331
+        case 13:
332
+          return '急诊'
333
+          break
334
+        case 14:
335
+          return '门诊特殊病'
336
+          break
337
+        case 15:
338
+          return '门诊统筹'
339
+          break
340
+        case 16:
341
+          return '门诊慢性病'
342
+          break
343
+        case 21:
344
+          return '普通住院'
345
+          break
346
+        case 140104:
347
+          return '城乡门诊特殊病(140104)'
348
+          break
349
+        case 992102:
350
+          return '单病种(992102)'
351
+          break
352
+      }
353
+    },
354
+
355
+
356
+    fetchAllAdminUsers() {
357
+      fetchAllAdminUsers().then((response) => {
358
+        if (response.data.state == 1) {
359
+          this.adminUserOptions = response.data.data.users
360
+        }
361
+      })
362
+    },
363
+    getName(admin_user_id) {
364
+      for (let i = 0; i < this.adminUserOptions.length; i++) {
365
+        if (this.adminUserOptions[i].id == admin_user_id) {
366
+          return this.adminUserOptions[i].name
367
+        }
368
+      }
369
+    },
370
+
371
+
372
+
373
+    handleSizeChange(limit) {
374
+      this.limit = limit
375
+      this.getHisOrderList()
376
+    },
377
+    handleCurrentChange(page) {
378
+      this.page = page
379
+      this.getHisOrderList()
380
+    },
381
+    handleStartTimeChange() {
382
+      this.page = 1
383
+      this.keywords = ''
384
+      this.getHisOrderList()
385
+    },
386
+    handleEndTimeChange() {
387
+      this.page = 1
388
+      this.keywords = ''
389
+      this.getHisOrderList()
390
+    },
391
+
392
+    getTimes(time) {
393
+      return uParseTime(time, '{y}-{m}-{d}')
394
+    },
395
+
396
+    getTime(value, temp) {
397
+      if (value != undefined) {
398
+        return uParseTime(value, temp)
399
+      }
400
+      return ''
401
+    },
402
+    getHisOrderList() {
403
+      let params = {
404
+        page: this.page,
405
+        limit: this.limit,
406
+        keywords: this.keywords,
407
+        start_time: this.start_time,
408
+        end_time: this.end_time,
409
+      }
410
+      getFapiaoList(params).then((response) => {
411
+        if (response.data.state == 0) {
412
+          this.$message.error(response.data.msg)
413
+          return false
414
+        } else {
415
+          this.tableData = response.data.data.fapiao_record
416
+          this.total = response.data.data.total
417
+        }
418
+      })
419
+    },
420
+    getDoctorList() {
421
+      getDoctorList().then((response) => {
422
+        if (response.data.state == 0) {
423
+          this.$message.error(response.data.msg)
424
+          return false
425
+        } else {
426
+          this.doctors = response.data.data.doctors
427
+        }
428
+      })
429
+    },
430
+    open(index) {
431
+      if (index == 1) {
432
+        this.listVisible = true
433
+      } else if (index == 2) {
434
+        this.allListVisible = true
435
+      }
436
+    }, unique(array) {
437
+      // res用来存储结果
438
+      var res = []
439
+      for (var i = 0, arrayLen = array.length; i < arrayLen; i++) {
440
+        for (var j = 0, resLen = res.length; j < resLen; j++) {
441
+          if (array[i].id === res[j].id && array[i].price === res[j].price) {
442
+            break
443
+          }
444
+        }
445
+        // 如果array[i]是唯一的,那么执行完循环,j等于resLen
446
+        if (j === resLen) {
447
+          res.push(array[i])
448
+        }
449
+      }
450
+      return res
451
+    },camcleModifyFaPiaoCode(){
452
+      this.dialogfapiaoVisible = false
453
+      this.invoiceVisible = true
454
+      var obj = this.targeObj
455
+      let paramsObj = {
456
+        order_id: obj.id,
457
+        patient_id: obj.patient_id,
458
+        number: obj.mdtrt_id,
459
+        name: obj.patient.name,
460
+        age: obj.age,
461
+        gend: obj.patient.gender,
462
+        setl_time: obj.setl_time,
463
+        chargeName: this.getName(obj.creator)
464
+      }
465
+      this.dialogfapiaoVisible = false
466
+      this.invoiceParams = paramsObj
467
+      this.invoiceVisible = true
468
+    },modifyFaPiaoCode(){
469
+      let params = {
470
+        id:this.targeOrderId,
471
+        fapiao_number: this.fapiao_number
472
+      }
473
+      modifyFapiaoCodetwo(params).then((response) => {
474
+        if (response.data.state == 0) {
475
+          this.$message.error(response.data.msg)
476
+          return false
477
+        } else {
478
+          var obj = this.targeObj
479
+          let paramsObj = {
480
+            order_id: obj.id,
481
+            patient_id: obj.patient_id,
482
+            number: obj.mdtrt_id,
483
+            name: obj.patient.name,
484
+            age: obj.age,
485
+            gend: obj.patient.gender,
486
+            setl_time: obj.setl_time,
487
+            chargeName: this.getName(obj.creator)
488
+          }
489
+          this.dialogfapiaoVisible = false
490
+          this.invoiceParams = paramsObj
491
+          this.invoiceVisible = true
492
+          this.getHisOrderList()
493
+        }
494
+      })
495
+
496
+    },
497
+
498
+    invoicePrint(obj) {
499
+      if(this.$store.getters.xt_user.org_id == 10480 || this.$store.getters.xt_user.org_id == 0){
500
+        this.fapiao_number  = obj.fa_piao_number
501
+        this.dialogfapiaoVisible = true
502
+        this.targeOrderId = obj.id
503
+        this.targeObj = obj
504
+      }else{
505
+        let paramsObj = {
506
+          order_id: obj.id,
507
+          patient_id: obj.patient_id,
508
+          number: obj.mdtrt_id,
509
+          name: obj.patient.name,
510
+          age: obj.age,
511
+          gend: obj.patient.gender,
512
+          setl_time: obj.setl_time,
513
+          chargeName: this.getName(obj.creator)
514
+        }
515
+        this.dialogfapiaoVisible = false
516
+        this.invoiceParams = paramsObj
517
+        this.invoiceVisible = true
518
+
519
+
520
+      }
521
+
522
+
523
+    }
524
+  }
525
+}
526
+</script>
527
+<style lang="scss">
528
+.table{
529
+tr td{
530
+  padding:5px 0;
531
+}
532
+}
13
 </style>
533
 </style>

+ 570 - 0
src/xt_pages/fapiao/newSettleDetail.vue 파일 보기

1
+<template>
2
+  <div class="main-contain outpatientChargesManagement">
3
+    <div class="position">
4
+      <bread-crumb :crumbs="crumbs"></bread-crumb>
5
+    </div>
6
+    <div class="app-container">
7
+      <div
8
+        style="
9
+          display: flex;
10
+          justify-content: space-between;
11
+          margin-bottom: 10px;
12
+        ">
13
+        <div>
14
+          <el-button size="small" type="primary"
15
+                     @click="query">查询
16
+          </el-button>
17
+          <el-button size="small" type="primary"
18
+                     @click="auth">认证
19
+          </el-button>
20
+        </div>
21
+      </div>
22
+      <div style="margin-bottom: 10px;">
23
+        <el-date-picker
24
+          size="small"
25
+          v-model="start_time"
26
+          prefix-icon="el-icon-date"
27
+          @change="handleStartTimeChange"
28
+          :editable="false"
29
+          :clearable="false"
30
+          style="width: 196px; "
31
+          type="date"
32
+          placeholder="选择开始日期"
33
+          format="yyyy-MM-dd"
34
+          value-format="yyyy-MM-dd"
35
+          align="right"
36
+        ></el-date-picker>
37
+        <span style="text-align: center;">-</span>
38
+        <el-date-picker
39
+          size="small"
40
+          v-model="end_time"
41
+          prefix-icon="el-icon-date"
42
+          @change="handleEndTimeChange"
43
+          :editable="false"
44
+          :clearable="false"
45
+          style="width: 196px; "
46
+          type="date"
47
+          placeholder="选择结束日期"
48
+          format="yyyy-MM-dd"
49
+          value-format="yyyy-MM-dd"
50
+          align="right"
51
+        ></el-date-picker>
52
+      </div>
53
+
54
+      <el-table
55
+        :data="tableData"
56
+        border
57
+        style="width: 100%"
58
+        :row-style="{ color: '#303133' }"
59
+        @selection-change="handleSelectionChange"
60
+        :header-cell-style="{
61
+          backgroundColor: 'rgb(245, 247, 250)',
62
+          color: '#606266',
63
+        }"
64
+        highlight-current-row
65
+      >
66
+        <el-table-column align="center" type="selection" width="55"></el-table-column>
67
+        <el-table-column
68
+          prop="date"
69
+          label="序号"
70
+          width="60"
71
+          align="center"
72
+          type="index"
73
+        >
74
+        </el-table-column>
75
+
76
+        <el-table-column align="center" width="90" prop="name" label="患者名字">
77
+          <template slot-scope="scope">{{ scope.row.patient.name }}</template>
78
+        </el-table-column>
79
+
80
+        <el-table-column align="center" width="90" prop="name" label="患者性别">
81
+          <template slot-scope="scope">{{ scope.row.patient.gender == 1 ? '男':'女' }}</template>
82
+        </el-table-column>
83
+
84
+
85
+        <el-table-column align="center" width="90" prop="name" label="处方类型">
86
+          <template slot-scope="scope">
87
+            <div>{{ getMedType(scope.row.med_type) }}</div>
88
+          </template>
89
+        </el-table-column>
90
+
91
+        <el-table-column align="center" width="90" prop="name" label="结算类型">
92
+          <template slot-scope="scope">
93
+            <div v-if="scope.row.his_patient.balance_accounts_type != 2">
94
+              医保
95
+            </div>
96
+            <div v-if="scope.row.his_patient.balance_accounts_type == 2">
97
+              自费
98
+            </div>
99
+          </template>
100
+        </el-table-column>
101
+
102
+        <el-table-column align="center" width="90" prop="name" label="就诊凭证类型">
103
+          <template slot-scope="scope">
104
+            <div v-if="scope.row.mdtrt_cert_type =='01'">
105
+              医保电子凭证
106
+            </div>
107
+            <div v-if="scope.row.mdtrt_cert_type =='02'">
108
+              居民身份证
109
+            </div>
110
+
111
+            <div v-if="scope.row.mdtrt_cert_type =='03'">
112
+              社会保障卡
113
+            </div>
114
+          </template>
115
+        </el-table-column>
116
+
117
+        <el-table-column
118
+          align="center"
119
+          width="100"
120
+          prop="name"
121
+          label="处方日期"
122
+        >
123
+          <template slot-scope="scope">
124
+            {{getTimes(scope.row.settle_accounts_date) }}
125
+          </template>
126
+        </el-table-column>
127
+
128
+        <el-table-column
129
+          align="center"
130
+          width="100"
131
+          prop="name"
132
+          label="收费时间"
133
+        >
134
+          <template slot-scope="scope">
135
+            {{
136
+              scope.row.setl_time
137
+                ? scope.row.setl_time
138
+                : getTimes(scope.row.settle_accounts_date)
139
+            }}
140
+          </template>
141
+        </el-table-column>
142
+
143
+        <el-table-column align="center" width="90" prop="name" label="收费员">
144
+          <template slot-scope="scope">
145
+            {{getName(scope.row.creator)}}
146
+          </template>
147
+        </el-table-column>
148
+
149
+        <el-table-column align="center" prop="name" label="操作">
150
+          <template slot-scope="scope">
151
+            <el-button v-if="scope.row.result.id == 0" size="mini" type="primary"
152
+                       @click="blue(scope.row)">
153
+              开票
154
+            </el-button>
155
+            <el-button v-if="scope.row.result.id > 0 && scope.row.result.is_red_washed == 1" size="mini" type="primary"
156
+                       @click="hongchong(scope.row)">
157
+              红冲
158
+            </el-button>
159
+            <el-button size="mini" type="primary" v-if="scope.row.result.id > 0 && scope.row.result.is_red_washed == 0"
160
+                       @click="yulan(scope.row)">
161
+              预览
162
+            </el-button>
163
+            <el-button size="mini" type="primary" @click="download(scope.row)"  v-if="scope.row.result.id > 0 && scope.row.result.is_red_washed == 0">
164
+              下载
165
+            </el-button>
166
+          </template>
167
+        </el-table-column>
168
+      </el-table>
169
+      <el-pagination
170
+        @size-change="handleSizeChange"
171
+        @current-change="handleCurrentChange"
172
+        :page-sizes="[10, 50, 100]"
173
+        :page-size="10"
174
+        :current-page.sync="page"
175
+        background
176
+        style="margin-top: 20px; float: right"
177
+        layout="total, sizes, prev, pager, next, jumper"
178
+        :total="total"
179
+      >
180
+      </el-pagination>
181
+    </div>
182
+
183
+
184
+  </div>
185
+</template>
186
+
187
+
188
+<script>
189
+import BreadCrumb from '@/xt_pages/components/bread-crumb'
190
+import { getDoctorList, getExportConsumeDetailList, getHisOrderList, Refund } from '@/api/his/his'
191
+import { ModifyFapiaoCode } from '@/api/his/his_tools'
192
+
193
+
194
+// import NewStatementPrint from './newStatementPrint'
195
+import { adminMainView} from "@/api/role/admin";
196
+import { fetchAllAdminUsers } from '@/api/doctor'
197
+import axios from 'axios'
198
+import { jsGetAge, uParseTime } from '@/utils/tools'
199
+import {
200
+  getOrderFapiaoList
201
+} from '../../api/fapiao'
202
+
203
+import { getDialysisRecordInitData } from '@/api/dialysis_record'
204
+import { number } from 'echarts/lib/export'
205
+
206
+const moment = require('moment')
207
+export default {
208
+  name: 'newSettleDetail',
209
+  components: {
210
+    BreadCrumb,
211
+  },
212
+  props: {
213
+    patient_id: number
214
+  },
215
+  data() {
216
+    return {
217
+      staff:"",
218
+      admins:[],
219
+      orderObj: {},
220
+      batchOrderObj: {},
221
+      fapiao_number:"",
222
+      med_options: [
223
+        { id: 0, text: '全部' },
224
+        { id: 11, text: '普通门诊' },
225
+        { id: 14, text: '门诊特殊病' }
226
+      ],
227
+      zone_options: [
228
+        { id: 0, text: '全部分区' }
229
+      ],
230
+      statementListVisible: false,
231
+      statementVisible: false,
232
+      batchStatementVisible: false,
233
+      statementVisible9504: false,
234
+      orderObj9504: {},
235
+      crumbs: [
236
+        { path: false, name: '门诊收费' },
237
+        { path: false, name: '项目消费明细汇总' }
238
+      ],
239
+      tableData: [],
240
+      tableData2:[],
241
+      selecting_schs: [],
242
+      dialogfapiaoVisible:false,
243
+      targeOrderId:0,
244
+      targeObj:{},
245
+      limit: 10,
246
+      page: 1,
247
+      keywords: '',
248
+      sch_type: '0',//班次
249
+      zoneVal: 0,//分区
250
+      medTypeVal: 0,
251
+      start_time: moment(new Date()).add('year', 0).format('YYYY-MM-DD'),
252
+      end_time: moment(new Date()).add('year', 0).format('YYYY-MM-DD'),
253
+      pay_time:"",
254
+      total: '',
255
+      doctors: [],
256
+      sort_type: 1,
257
+      sort_types: [
258
+        { value: 1, label: '处方时间' },
259
+        { value: 2, label: '结算时间' }
260
+      ],
261
+      admin_user_id: '',
262
+      listVisible: false,
263
+      allListVisible: false,
264
+      adminUserOptions: [],
265
+      invoiceVisible: false,
266
+      paramsObj: {},
267
+      invoiceParams: {},
268
+      settlementVisible: false,
269
+      settlementObj: {},
270
+      accounts_click_vi:false,
271
+    }
272
+  },
273
+
274
+  created() {
275
+    this.getInitData()
276
+    this.fetchAllAdminUsers()
277
+    // this.getDoctorList()
278
+    this.getHisOrderList()
279
+    // this.getAllstaff()
280
+  },
281
+
282
+  methods: {
283
+    getData(patient_id){
284
+      this.patient_id = patient_id
285
+      this.getHisOrderList()
286
+
287
+    },
288
+    auth(){
289
+
290
+    },
291
+    query(){
292
+
293
+    },download(){
294
+
295
+
296
+    },
297
+    blue(row){
298
+
299
+    }, yulan(row){
300
+
301
+    },hongchong(row){
302
+
303
+    },
304
+    getAllstaff(){
305
+      adminMainView()
306
+        .then(rs => {
307
+
308
+          var resp = rs.data;
309
+          if (resp.state === 1) {
310
+            var adminData = resp.data.admins
311
+            this.admins.push(...adminData);
312
+          } else {
313
+            this.$message.error(resp.msg);
314
+          }
315
+        })
316
+        .catch(err => {
317
+          this.$message.error(err);
318
+        });
319
+
320
+
321
+    },
322
+
323
+    handleSelectionChange(val) {
324
+      this.selecting_schs = val
325
+    },
326
+    handleSchType(val) {
327
+      this.sch_type = val
328
+      this.getHisOrderList()
329
+    }, handleMedChange() {
330
+      this.getHisOrderList()
331
+    },
332
+    handleZoneChange(val) {
333
+      this.zoneVal = val
334
+      this.getHisOrderList()
335
+
336
+    },
337
+    getInitData: function() {
338
+      getDialysisRecordInitData().then((rs) => {
339
+        var resp = rs.data
340
+        if (resp.state == 1) {
341
+          var zones = resp.data.zones
342
+          var zone_options = [{ id: 0, text: '全部' }]
343
+          for (let z_i = 0; z_i < zones.length; z_i++) {
344
+            const zone = zones[z_i]
345
+            zone_options.push({ id: zone.id, text: zone.name })
346
+          }
347
+          this.zone_options = zone_options
348
+
349
+        } else {
350
+          this.$message.error(resp.msg)
351
+        }
352
+      })
353
+    },
354
+
355
+
356
+
357
+    getMedType(med_type) {
358
+      var med_type = parseInt(med_type)
359
+      switch (med_type) {
360
+        case 11:
361
+          return '普通门诊'
362
+          break
363
+        case 12:
364
+          return '门诊挂号'
365
+          break
366
+        case 13:
367
+          return '急诊'
368
+          break
369
+        case 14:
370
+          return '门诊特殊病'
371
+          break
372
+        case 15:
373
+          return '门诊统筹'
374
+          break
375
+        case 16:
376
+          return '门诊慢性病'
377
+          break
378
+        case 21:
379
+          return '普通住院'
380
+          break
381
+        case 140104:
382
+          return '城乡门诊特殊病(140104)'
383
+          break
384
+        case 992102:
385
+          return '单病种(992102)'
386
+          break
387
+      }
388
+    },
389
+
390
+
391
+    fetchAllAdminUsers() {
392
+      fetchAllAdminUsers().then((response) => {
393
+        if (response.data.state == 1) {
394
+          this.adminUserOptions = response.data.data.users
395
+        }
396
+      })
397
+    },
398
+    getName(admin_user_id) {
399
+      for (let i = 0; i < this.adminUserOptions.length; i++) {
400
+        if (this.adminUserOptions[i].id == admin_user_id) {
401
+          return this.adminUserOptions[i].name
402
+        }
403
+      }
404
+    },
405
+
406
+
407
+
408
+    handleSizeChange(limit) {
409
+      this.limit = limit
410
+      this.getHisOrderList()
411
+    },
412
+    handleCurrentChange(page) {
413
+      this.page = page
414
+      this.getHisOrderList()
415
+    },
416
+    handleStartTimeChange() {
417
+      this.page = 1
418
+      this.keywords = ''
419
+      this.getHisOrderList()
420
+    },
421
+    handleEndTimeChange() {
422
+      this.page = 1
423
+      this.keywords = ''
424
+      this.getHisOrderList()
425
+    },
426
+
427
+    getTimes(time) {
428
+      return uParseTime(time, '{y}-{m}-{d}')
429
+    },
430
+
431
+    getTime(value, temp) {
432
+      if (value != undefined) {
433
+        return uParseTime(value, temp)
434
+      }
435
+      return ''
436
+    },
437
+    getHisOrderList() {
438
+      let params = {
439
+        page: this.page,
440
+        limit: this.limit,
441
+        keywords: this.keywords,
442
+        start_time: this.start_time,
443
+        end_time: this.end_time,
444
+        sort_type: this.sort_type,
445
+        patient_id: this.patient_id,
446
+      }
447
+      getOrderFapiaoList(params).then((response) => {
448
+        if (response.data.state == 0) {
449
+          this.$message.error(response.data.msg)
450
+          return false
451
+        } else {
452
+          this.tableData = response.data.data.order
453
+          this.total = response.data.data.total
454
+        }
455
+      })
456
+    },
457
+    getDoctorList() {
458
+      getDoctorList().then((response) => {
459
+        if (response.data.state == 0) {
460
+          this.$message.error(response.data.msg)
461
+          return false
462
+        } else {
463
+          this.doctors = response.data.data.doctors
464
+        }
465
+      })
466
+    },
467
+    open(index) {
468
+      if (index == 1) {
469
+        this.listVisible = true
470
+      } else if (index == 2) {
471
+        this.allListVisible = true
472
+      }
473
+    }, unique(array) {
474
+      // res用来存储结果
475
+      var res = []
476
+      for (var i = 0, arrayLen = array.length; i < arrayLen; i++) {
477
+        for (var j = 0, resLen = res.length; j < resLen; j++) {
478
+          if (array[i].id === res[j].id && array[i].price === res[j].price) {
479
+            break
480
+          }
481
+        }
482
+        // 如果array[i]是唯一的,那么执行完循环,j等于resLen
483
+        if (j === resLen) {
484
+          res.push(array[i])
485
+        }
486
+      }
487
+      return res
488
+    },camcleModifyFaPiaoCode(){
489
+      this.dialogfapiaoVisible = false
490
+      this.invoiceVisible = true
491
+      var obj = this.targeObj
492
+      let paramsObj = {
493
+        order_id: obj.id,
494
+        patient_id: obj.patient_id,
495
+        number: obj.mdtrt_id,
496
+        name: obj.patient.name,
497
+        age: obj.age,
498
+        gend: obj.patient.gender,
499
+        setl_time: obj.setl_time,
500
+        chargeName: this.getName(obj.creator)
501
+      }
502
+      this.dialogfapiaoVisible = false
503
+      this.invoiceParams = paramsObj
504
+      this.invoiceVisible = true
505
+    },modifyFaPiaoCode(){
506
+      let params = {
507
+        id:this.targeOrderId,
508
+        fapiao_number: this.fapiao_number
509
+      }
510
+      modifyFapiaoCodetwo(params).then((response) => {
511
+        if (response.data.state == 0) {
512
+          this.$message.error(response.data.msg)
513
+          return false
514
+        } else {
515
+          var obj = this.targeObj
516
+          let paramsObj = {
517
+            order_id: obj.id,
518
+            patient_id: obj.patient_id,
519
+            number: obj.mdtrt_id,
520
+            name: obj.patient.name,
521
+            age: obj.age,
522
+            gend: obj.patient.gender,
523
+            setl_time: obj.setl_time,
524
+            chargeName: this.getName(obj.creator)
525
+          }
526
+          this.dialogfapiaoVisible = false
527
+          this.invoiceParams = paramsObj
528
+          this.invoiceVisible = true
529
+          this.getHisOrderList()
530
+        }
531
+      })
532
+
533
+    },
534
+
535
+    invoicePrint(obj) {
536
+      if(this.$store.getters.xt_user.org_id == 10480 || this.$store.getters.xt_user.org_id == 0){
537
+        this.fapiao_number  = obj.fa_piao_number
538
+        this.dialogfapiaoVisible = true
539
+        this.targeOrderId = obj.id
540
+        this.targeObj = obj
541
+      }else{
542
+        let paramsObj = {
543
+          order_id: obj.id,
544
+          patient_id: obj.patient_id,
545
+          number: obj.mdtrt_id,
546
+          name: obj.patient.name,
547
+          age: obj.age,
548
+          gend: obj.patient.gender,
549
+          setl_time: obj.setl_time,
550
+          chargeName: this.getName(obj.creator)
551
+        }
552
+        this.dialogfapiaoVisible = false
553
+        this.invoiceParams = paramsObj
554
+        this.invoiceVisible = true
555
+
556
+
557
+      }
558
+
559
+
560
+    }
561
+  }
562
+}
563
+</script>
564
+<style lang="scss">
565
+.table{
566
+tr td{
567
+  padding:5px 0;
568
+}
569
+}
570
+</style>

+ 426 - 3
src/xt_pages/fapiao/patientSettleDetail.vue 파일 보기

1
 <template>
1
 <template>
2
+  <div class="main-contain new-main-contain">
3
+    <div class="position">
4
+      <!--      <bread-crumb :crumbs='crumbs'></bread-crumb>-->
5
+      <bread-crumb :crumbs="crumbs"></bread-crumb>
6
+    </div>
7
+    <div
8
+      class="app-container"
9
+      style="display: flex; flex: 1; padding: 10px 20px 0px 20px"
10
+    >
11
+      <div class="mainLeft">
12
+        <div>
13
+          <div
14
+            style="
15
+              margin: 10px 0;
16
+              display: flex;
17
+              justify-content: space-between;
18
+            "
19
+          >
20
+            <el-input
21
+              size="small"
22
+              style="width: 130px"
23
+              v-model="keywords"
24
+              class="filter-item"
25
+              placeholder="请输入患者名称"
26
+            />
27
+            <el-button
28
+              size="small"
29
+              class="filter-item"
30
+              type="primary"
31
+              @click="searchAction"
32
+            >搜索
33
+            </el-button>
34
+          </div>
2
 
35
 
36
+          <el-table
37
+            :row-class-name="tableRowClassName"
38
+            @row-click="onRowClick"
39
+            :data="patientTableData"
40
+            :height="tableHeight"
41
+            border
42
+            style="width: 100%"
43
+            :row-style="{ color: '#303133' }"
44
+            :header-cell-style="{
45
+              backgroundColor: 'rgb(245, 247, 250)',
46
+              color: '#606266',
47
+            }"
48
+            highlight-current-row
49
+            ref="singleTable"
50
+            @current-change="handleCurrentChange"
51
+          >
52
+            <el-table-column align="center" prop="name" label="姓名" wdith="89">
53
+              <template slot-scope="scope">{{ scope.row.name }}</template>
54
+            </el-table-column>
55
+          </el-table>
56
+        </div>
57
+      </div>
58
+      <div class="mainRight">
59
+       <new-settle-detail ref="nsd"></new-settle-detail>
60
+      </div>
61
+    </div>
62
+  </div>
3
 </template>
63
 </template>
4
 
64
 
5
 <script>
65
 <script>
66
+import { GetDetailPatients } from "@/api/his/his_tools";
67
+import BreadCrumb from "@/xt_pages/components/bread-crumb";
68
+import NewSettleDetail from './newSettleDetail.vue'
6
 export default {
69
 export default {
7
-  name: 'patientSettleDetail'
8
-}
70
+  components: {
71
+    NewSettleDetail,
72
+    BreadCrumb,
73
+  },
74
+  data() {
75
+    return {
76
+      currentRowIndex: 0,
77
+      patientTableData: [],
78
+      tableHeight: 400,
79
+      crumbs: [
80
+        // { path: false, name: "His工具" },
81
+        // { path: false, name: "明细汇总统计" },
82
+      ],
83
+      patient_id: 0,
84
+      keywords: "",
85
+    };
86
+  },
87
+
88
+  // beforeRouteEnter(to, from, next){
89
+  //     if(from.path == '/hisTool/detailPrint'){
90
+  //       next((vm) => {
91
+  //         vm.titleType = "明细"
92
+  //       })
93
+  //     }else if(from.path == '/hisTool/gatherPrint'){
94
+  //       vm.titleType = "汇总"
95
+  //       next((vm) => {
96
+  //         vm.titleType = "汇总"
97
+  //       })
98
+  //     }else{
99
+  //       next()
100
+  //     }
101
+  // },
102
+
103
+  //判断列表页是否刷新
104
+  beforeRouteLeave(to, from, next) {
105
+    console.log(to, "beforeRouteEnter");
106
+    if (to.path != "/hisTool/detailPrint"&&to.path != "/hisTool/gatherPrint") {
107
+      this.$store.getters.pagedata.list.table_id = 0
108
+      next()
109
+    } else {
110
+      next()
111
+    }
112
+  },
113
+
114
+  watch:{
115
+    'titleType':{
116
+      handler(val){
117
+        this.$store.commit('SET_PAGENAME',val)
118
+      }
119
+    }
120
+  },
121
+
122
+  methods: {
123
+    getPatientList() {
124
+      var params = {
125
+        keyword: this.keywords,
126
+      };
127
+      GetDetailPatients(params).then((response) => {
128
+        if (response.data.state == 0) {
129
+          this.$message.error(response.data.msg);
130
+          return false;
131
+        } else {
132
+          this.patientTableData = response.data.data.patient;
133
+          if (this.$store.getters.pagedata.list.table_id == 0) {
134
+            this.$refs.singleTable.setCurrentRow(this.patientTableData[0]);
135
+          } else {
136
+            this.$refs.singleTable.setCurrentRow(
137
+              this.patientTableData[
138
+                this.$store.getters.pagedata.list.table_id
139
+                ]
140
+            );
141
+          }
142
+          this.$refs.nsd.getData(this.patientTableData[0].id)
143
+        }
144
+      });
145
+    },
146
+
147
+    tableRowClassName({ row, rowIndex }) {
148
+      row.row_index = rowIndex;
149
+    },
150
+
151
+    onRowClick(row, event, column) {
152
+      this.currentRowIndex = row.row_index;
153
+      this.$store.commit("SET_PAGEDATA", {
154
+        table_id: this.currentRowIndex,
155
+      });
156
+      this.$refs.nsd.getData(row.id)
157
+    },
158
+    searchAction() {
159
+      this.getPatientList();
160
+    },
161
+    handleCurrentChange(row) {
162
+      this.patient_id = row.id;
163
+      // console.log(this.patientTableData[this.currentRowIndex],'this.tableData[this.currentRowIndex]')
164
+      //  this.$refs.singleTable.setCurrentRow(this.tableData[this.currentRowIndex])
165
+      // this.$refs.child.getHisSummaryDetailList()
166
+      // this.$refs.childOne.getGatherDetailList()
167
+    },
168
+  },
169
+  created() {
170
+    // const tableHeight = document.body.clientHeight - 290;
171
+    // this.tableHeight = tableHeight;
172
+    this.getPatientList();
173
+
174
+  },
175
+
176
+  mounted() {}
177
+};
9
 </script>
178
 </script>
10
 
179
 
11
-<style scoped>
180
+<style lang="scss" scoped>
181
+.new-main-contain {
182
+  height: 100%;
183
+  display: flex;
184
+  flex-direction: column;
185
+}
12
 
186
 
187
+.app-container {
188
+  height: 100%;
189
+}
190
+
191
+.mainCell {
192
+  height: 36px;
193
+  display: flex;
194
+  align-items: center;
195
+}
196
+
197
+.mainLeft {
198
+  width: 200px;
199
+  height: 100%;
200
+  display: flex;
201
+  flex-direction: column;
202
+
203
+.el-radio {
204
+  margin-right: 5px;
205
+}
206
+}
207
+.mainRight {
208
+  margin-left: 10px;
209
+  flex: 1;
210
+  height: 100%;
211
+  display: flex;
212
+  flex-direction: column;
213
+  overflow-y: auto;
214
+
215
+.cellSpan {
216
+  min-width: 80px;
217
+  display: inline-block;
218
+  margin-right: 10px;
219
+}
220
+}
221
+.mainCenter {
222
+  display: flex;
223
+  flex: 1;
224
+}
225
+
226
+.centerLeft {
227
+  flex: 1;
228
+  display: flex;
229
+  flex-direction: column;
230
+  position: relative;
231
+
232
+.el-form-item {
233
+  width: 32%;
234
+  margin-right: 1%;
235
+  float: left;
236
+}
237
+
238
+.el-form-item__label {
239
+  text-align: left;
240
+}
241
+}
242
+.backColor {
243
+  background: #f6f8f9;
244
+  height: 5px;
245
+  margin-bottom: 5px;
246
+}
247
+
248
+.tabsBox {
249
+  position: relative;
250
+  height: 76%;
251
+  overflow-y: auto;
252
+  margin-bottom: 60px;
253
+
254
+.el-tabs__item {
255
+  padding: 0 10px;
256
+}
257
+}
258
+.preTabs {
259
+  height: 100%;
260
+  display: flex;
261
+  flex-direction: column;
262
+
263
+.el-tabs__content {
264
+  flex: 1;
265
+  overflow-y: auto;
266
+}
267
+}
268
+
269
+.costBox {
270
+  width: 100%;
271
+  height: 60px;
272
+  background: #fff;
273
+  position: absolute;
274
+  bottom: 0;
275
+  display: flex;
276
+  align-items: center;
277
+}
278
+
279
+.addTab {
280
+  position: absolute;
281
+  right: 0;
282
+  top: 14px;
283
+  z-index: 20;
284
+}
285
+
286
+.centerRight {
287
+  width: 300px;
288
+  margin-left: 10px;
289
+  display: flex;
290
+  flex-direction: column;
291
+  position: relative;
292
+}
293
+
294
+.rightTab {
295
+  height: 40px;
296
+  width: 100%;
297
+  border: 1px solid #d2d2d2;
298
+  box-sizing: border-box;
299
+
300
+p {
301
+  width: 50%;
302
+  height: 40px;
303
+  line-height: 40px;
304
+  text-align: center;
305
+  background: #eee;
306
+  float: left;
307
+}
308
+
309
+> p:last-child {
310
+  border-left: 1px solid #d2d2d2;
311
+  float: right;
312
+}
313
+
314
+.activeP {
315
+  background: #409eff;
316
+  color: #fff;
317
+}
318
+}
319
+.comfirmBox {
320
+  width: 100%;
321
+  height: 60px;
322
+  background: #fff;
323
+  position: absolute;
324
+  bottom: 0;
325
+  display: flex;
326
+  align-items: center;
327
+  justify-content: space-between;
328
+}
329
+
330
+.mainHeader {
331
+  width: 100%;
332
+  background: #fff;
333
+  position: fixed;
334
+  z-index: 100;
335
+  height: 36px;
336
+}
337
+
338
+.titleBox {
339
+  position: fixed;
340
+  z-index: 99;
341
+  background: #fff;
342
+}
343
+
344
+.fixedCell {
345
+  position: fixed;
346
+  z-index: 99;
347
+  right: 30px;
348
+  background: #fff;
349
+  width: 300px;
350
+  display: flex;
351
+  justify-content: space-between;
352
+}
353
+</style>
354
+
355
+<style lang="scss">
356
+.centerLeft {
357
+.el-form-item__label {
358
+  text-align: left;
359
+}
360
+}
361
+.tabsBox {
362
+.el-tabs__item {
363
+  padding: 0 10px;
364
+}
365
+
366
+.el-tabs--bottom
367
+.el-tabs--left
368
+> .el-tabs__header
369
+.el-tabs__item:nth-child(2),
370
+.el-tabs--bottom
371
+.el-tabs--right
372
+> .el-tabs__header
373
+.el-tabs__item:nth-child(2),
374
+.el-tabs--bottom.el-tabs--border-card
375
+> .el-tabs__header
376
+.el-tabs__item:nth-child(2),
377
+.el-tabs--bottom.el-tabs--card > .el-tabs__header .el-tabs__item:nth-child(2),
378
+.el-tabs--top .el-tabs--left > .el-tabs__header .el-tabs__item:nth-child(2),
379
+.el-tabs--top .el-tabs--right > .el-tabs__header .el-tabs__item:nth-child(2),
380
+.el-tabs--top.el-tabs--border-card
381
+> .el-tabs__header
382
+.el-tabs__item:nth-child(2),
383
+.el-tabs--top.el-tabs--card > .el-tabs__header .el-tabs__item:nth-child(2) {
384
+  padding: 0 10px;
385
+}
386
+
387
+.el-tabs--bottom .el-tabs--left > .el-tabs__header .el-tabs__item:last-child,
388
+.el-tabs--bottom .el-tabs--right > .el-tabs__header .el-tabs__item:last-child,
389
+.el-tabs--bottom.el-tabs--border-card
390
+> .el-tabs__header
391
+.el-tabs__item:last-child,
392
+.el-tabs--bottom.el-tabs--card > .el-tabs__header .el-tabs__item:last-child,
393
+.el-tabs--top .el-tabs--left > .el-tabs__header .el-tabs__item:last-child,
394
+.el-tabs--top .el-tabs--right > .el-tabs__header .el-tabs__item:last-child,
395
+.el-tabs--top.el-tabs--border-card
396
+> .el-tabs__header
397
+.el-tabs__item:last-child,
398
+.el-tabs--top.el-tabs--card > .el-tabs__header .el-tabs__item:last-child {
399
+  padding: 0 10px;
400
+}
401
+
402
+.el-tabs--card > .el-tabs__header .el-tabs__item.is-active.is-closable {
403
+  padding: 0 10px;
404
+}
405
+}
406
+.centerRight {
407
+.el-tabs__nav-scroll {
408
+  display: flex;
409
+}
410
+
411
+.el-tabs__nav {
412
+  margin: 0 auto;
413
+}
414
+
415
+.el-table th .cell,
416
+.el-table td .cell {
417
+  padding: 0 2px;
418
+}
419
+}
420
+.preTabs {
421
+.el-tabs__content {
422
+}
423
+}
424
+.rightTabs {
425
+  height: 100%;
426
+
427
+.el-tabs__content {
428
+}
429
+}
430
+.centerDialog {
431
+.el-dialog__body {
432
+  max-height: calc(100vh - 100px) !important;
433
+  padding: 0 20px;
434
+}
435
+}
13
 </style>
436
 </style>

+ 14 - 8
src/xt_pages/fapiao/settleDetail.vue 파일 보기

56
         border
56
         border
57
         style="width: 100%"
57
         style="width: 100%"
58
         :row-style="{ color: '#303133' }"
58
         :row-style="{ color: '#303133' }"
59
-        @selection-change="handleSelectionChange"
60
         :header-cell-style="{
59
         :header-cell-style="{
61
           backgroundColor: 'rgb(245, 247, 250)',
60
           backgroundColor: 'rgb(245, 247, 250)',
62
           color: '#606266',
61
           color: '#606266',
63
         }"
62
         }"
64
         highlight-current-row
63
         highlight-current-row
65
       >
64
       >
66
-        <el-table-column align="center" type="selection" width="55"></el-table-column>
67
         <el-table-column
65
         <el-table-column
68
           prop="date"
66
           prop="date"
69
           label="序号"
67
           label="序号"
148
 
146
 
149
         <el-table-column align="center" prop="name" label="操作">
147
         <el-table-column align="center" prop="name" label="操作">
150
           <template slot-scope="scope">
148
           <template slot-scope="scope">
151
-            <el-button size="mini" type="primary" @click="blue(scope.row)">
149
+            <el-button v-if="scope.row.result.id == 0" size="mini" type="primary"
150
+                        @click="blue(scope.row)">
152
               开票
151
               开票
153
             </el-button>
152
             </el-button>
154
-            <el-button size="mini" type="primary"
153
+            <el-button v-if="scope.row.result.id > 0 && scope.row.result.is_red_washed == 1" size="mini" type="primary"
154
+                        @click="hongchong(scope.row)">
155
+              红冲
156
+            </el-button>
157
+            <el-button size="mini" type="primary" v-if="scope.row.result.id > 0 && scope.row.result.is_red_washed == 0"
155
                        @click="yulan(scope.row)">
158
                        @click="yulan(scope.row)">
156
               预览
159
               预览
157
             </el-button>
160
             </el-button>
158
-
159
-            <el-button  size="mini" type="primary"
160
-                       @click="hongchong(scope.row)">
161
-              红冲
161
+            <el-button size="mini" type="primary" @click="download(scope.row)"  v-if="scope.row.result.id > 0 && scope.row.result.is_red_washed == 0">
162
+              下载
162
             </el-button>
163
             </el-button>
164
+
165
+
163
           </template>
166
           </template>
164
         </el-table-column>
167
         </el-table-column>
165
       </el-table>
168
       </el-table>
278
     },
281
     },
279
     query(){
282
     query(){
280
 
283
 
284
+    },download(){
285
+
286
+
281
     },
287
     },
282
     blue(row){
288
     blue(row){
283
 
289
 

+ 1 - 1
src/xt_pages/hospitalStation/settlementTemplate/hospitalSettlePrint.vue 파일 보기

1
 <template>
1
 <template>
2
   <div id="prescription-print" class="print_page_main_content">
2
   <div id="prescription-print" class="print_page_main_content">
3
-    <div class="title">赤峰社会医疗保障基金结算清单</div>
3
+    <div class="title">社会医疗保障基金结算清单</div>
4
     <div style="text-align:right;">清单流水号 <div style="width:200px;" class="under_line">{{ info.mdtrt_id }}</div></div>
4
     <div style="text-align:right;">清单流水号 <div style="width:200px;" class="under_line">{{ info.mdtrt_id }}</div></div>
5
     <div class="row">
5
     <div class="row">
6
       <div>定点医疗机构名称<div style="width:200px;" class="under_line">{{info.fixmedins_name}}</div></div>
6
       <div>定点医疗机构名称<div style="width:200px;" class="under_line">{{info.fixmedins_name}}</div></div>

+ 1 - 1
src/xt_pages/outpatientCharges/outpatientChargesManagement.vue 파일 보기

5559
       }
5559
       }
5560
 
5560
 
5561
 
5561
 
5562
-      console.log('kkkkk',big_prescriptions[0].curMonthPrescriptions);
5562
+      // console.log('kkkkk',big_prescriptions[0].curMonthPrescriptions);
5563
       if (this.big_month_prescriptions.length > 0) {
5563
       if (this.big_month_prescriptions.length > 0) {
5564
         this.editableTabsValue = this.big_month_prescriptions[0].curMonthPrescriptions.name
5564
         this.editableTabsValue = this.big_month_prescriptions[0].curMonthPrescriptions.name
5565
       }
5565
       }