陈少旭 7 months ago
parent
commit
b0bf3553f5

+ 7 - 0
src/lang/zh.js View File

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

+ 2 - 2
src/router/modules/faPiao.js View File

@@ -26,8 +26,8 @@ export default {
26 26
     {
27 27
       path: '/fapiao/elefapiao',
28 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 View File

@@ -196,25 +196,25 @@ export default {
196 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 View File

@@ -1,13 +1,533 @@
1 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 151
 </template>
4 152
 
153
+
5 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 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 533
 </style>

+ 426 - 3
src/xt_pages/fapiao/patientSettleDetail.vue View File

@@ -1,13 +1,436 @@
1 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 63
 </template>
4 64
 
5 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 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 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 436
 </style>

+ 14 - 8
src/xt_pages/fapiao/settleDetail.vue View File

@@ -56,14 +56,12 @@
56 56
         border
57 57
         style="width: 100%"
58 58
         :row-style="{ color: '#303133' }"
59
-        @selection-change="handleSelectionChange"
60 59
         :header-cell-style="{
61 60
           backgroundColor: 'rgb(245, 247, 250)',
62 61
           color: '#606266',
63 62
         }"
64 63
         highlight-current-row
65 64
       >
66
-        <el-table-column align="center" type="selection" width="55"></el-table-column>
67 65
         <el-table-column
68 66
           prop="date"
69 67
           label="序号"
@@ -148,18 +146,23 @@
148 146
 
149 147
         <el-table-column align="center" prop="name" label="操作">
150 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 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 158
                        @click="yulan(scope.row)">
156 159
               预览
157 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 163
             </el-button>
164
+
165
+
163 166
           </template>
164 167
         </el-table-column>
165 168
       </el-table>
@@ -278,6 +281,9 @@ export default {
278 281
     },
279 282
     query(){
280 283
 
284
+    },download(){
285
+
286
+
281 287
     },
282 288
     blue(row){
283 289
 

+ 1 - 1
src/xt_pages/hospitalStation/settlementTemplate/hospitalSettlePrint.vue View File

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