瀏覽代碼

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

csx 3 年之前
父節點
當前提交
0b53044dfa
共有 2 個文件被更改,包括 453 次插入317 次删除
  1. 21 19
      src/xt_pages/dialysis/components/consumables.vue
  2. 432 298
      src/xt_pages/outpatientCharges/costComparison.vue

+ 21 - 19
src/xt_pages/dialysis/components/consumables.vue 查看文件

@@ -160,7 +160,9 @@
160 160
       this.query.page = 1
161 161
       this.GetDialysisgoods()
162 162
     },
163
-    methods: { handleSizeChange(val) {
163
+    methods: {
164
+
165
+      handleSizeChange(val) {
164 166
         this.query.limit = val;
165 167
         this.GetDialysisgoods();
166 168
       },
@@ -180,7 +182,7 @@
180 182
 
181 183
       },
182 184
       getGoodUserInfo(good_type_id,good_user,last_good_user) {
183
-        var arrlist =[] 
185
+        var arrlist =[]
184 186
         if (good_user != null && good_user.length > 0) {
185 187
           let desc = ""
186 188
           for (let b = 0; b < good_user.length; b++){
@@ -191,7 +193,7 @@
191 193
           return desc
192 194
         }
193 195
         return ""
194
-       
196
+
195 197
         // else if (good_user != null && good_user.length <= 0) {
196 198
         //   if (last_good_user != null && last_good_user.length > 0) {
197 199
         //     let desc = ""
@@ -213,7 +215,7 @@
213 215
             this.$message.error(response.data.msg)
214 216
             return false
215 217
           } else {
216
-           
218
+
217 219
             this.list = []
218 220
             this.good_types = []
219 221
             this.allGoodInfo = []
@@ -233,9 +235,9 @@
233 235
             }
234 236
 
235 237
             this.arrKey.push(...arr)
236
-          
238
+
237 239
             this.allGoodInfo = res.data.dialysis_goods
238
-           
240
+
239 241
             for(let i = 0; i < res.data.dialysis_goods.length; i++){
240 242
               let arr =[]
241 243
               let obj = {
@@ -276,15 +278,15 @@
276 278
 
277 279
               }
278 280
             }
279
-           
281
+
280 282
           //  console.log("99999999",this.list)
281
-           let a = [] 
283
+           let a = []
282 284
           this.list.map(item => {
283 285
             a.push(item.good_type)
284 286
           })
285 287
           // console.log('aaaaaaaaa',a)
286 288
           let b = []
287
-       
289
+
288 290
           a.map(item => {
289 291
             let obj = []
290 292
             item.map((it,index) => {
@@ -293,9 +295,9 @@
293 295
               let str = 'name' + index
294 296
               c[str] = it.name
295 297
               obj.push(c)
296
-              
298
+
297 299
             })
298
-            
300
+
299 301
             b.push(obj)
300 302
           })
301 303
           var temp = []
@@ -304,7 +306,7 @@
304 306
             var objC = {...b[i]}
305 307
             temp.push(objC)
306 308
           }
307
-       
309
+
308 310
           // console.log("temp--------",temp)
309 311
           var tempTwo = []
310 312
           temp.map(item => {
@@ -314,18 +316,18 @@
314 316
             })
315 317
             let obj2 = {}
316 318
             obj.map((i,ind) => {
317
-            
319
+
318 320
               let str = 'name' + ind
319 321
               obj2[str] = i[str]
320 322
             })
321 323
             tempTwo.push(obj2)
322 324
             console.log(325556574342354234234,tempTwo)
323 325
           })
324
-          
326
+
325 327
           this.arrList.push(...tempTwo)
326 328
           console.log("cccccccc",this.arrList)
327 329
           }
328
-        })  
330
+        })
329 331
       },
330 332
       selectSchedulType(scheduleType) {
331 333
         this.schedulType = scheduleType
@@ -368,9 +370,9 @@
368 370
 
369 371
        exportList(){
370 372
          import('@/vendor/Export2Excel').then(excel => {
371
-         
372
-        
373
-       
373
+
374
+
375
+
374 376
          var arrTwo = []
375 377
          for(let i=0;i<this.arrKey.length;i++){
376 378
             arrTwo.push('name'+i)
@@ -385,7 +387,7 @@
385 387
          console.log("33333",this.arrList)
386 388
          const data = this.formatJson(filterVal,this.arrList)
387 389
          console.log("data",data)
388
-      
390
+
389 391
          excel.export_json_to_excel({
390 392
            header: tHeader,
391 393
            data,

+ 432 - 298
src/xt_pages/outpatientCharges/costComparison.vue 查看文件

@@ -1,195 +1,219 @@
1 1
 <template>
2
-  <div class="main-contain incomeStatistics">
3
-    <div class="position">
4
-      <bread-crumb :crumbs='crumbs'></bread-crumb>
5
-    </div>
6
-    <div class="app-container">
7
-      <div style="display: flex;justify-content: space-between;margin-bottom:10px;">
8
-        <div>
9
-          <el-input size="small" style="width:150px;" v-model="keywords"
10
-                    class="filter-item"/>
11
-          <el-button size="small" style="margin-left:10px;" class="filter-item" type="primary" @click="searchAction">
12
-            搜索
13
-          </el-button>
14
-          <el-date-picker v-model="query_start_time" prefix-icon="el-icon-date"
15
-                          @change="handleStartTimeChange" :editable="false" :clearable="false"
16
-                          style="width: 200px;" type="date" placeholder="选择开始日期"
17
-                          format="yyyy-MM-dd"
18
-                          value-format="yyyy-MM-dd"
19
-                          align="right"></el-date-picker>
20
-          -
21
-
22
-          <el-date-picker v-model="query_end_time" prefix-icon="el-icon-date"
23
-                          @change="handleEndTimeChange" :editable="false" :clearable="false"
24
-                          style="width: 200px;margin-right:10px;" type="date" placeholder="选择结束日期"
25
-                          format="yyyy-MM-dd"
26
-                          value-format="yyyy-MM-dd"
27
-                          align="right"></el-date-picker>
28
-
29
-
30
-          <label class="title">险种<span class="name"></span> : </label>
31
-          <el-select v-model="query_insutype" style="width:140px;margin-right:10px;" placeholder="请选择" @change="changeCharge">
32
-            <el-option
33
-                    v-for="item in insutypes"
34
-                    :key="item.value"
35
-                    :label="item.label"
36
-                    :value="item.value">
37
-            </el-option>
38
-          </el-select>
39
-
40
-
41
-          <label class="title">清算类别<span class="name"></span> : </label>
42
-          <el-select v-model="query_clr_type" style="width:140px;margin-right:10px;" placeholder="请选择" @change="changeCharge">
43
-            <el-option
44
-                    v-for="item in clrOptions"
45
-                    :key="item.value"
46
-                    :label="item.label"
47
-                    :value="item.value">
48
-            </el-option>
49
-          </el-select>
50
-
2
+    <div class="main-contain incomeStatistics">
3
+        <div class="position">
4
+            <bread-crumb :crumbs='crumbs'></bread-crumb>
51 5
         </div>
52
-        <el-button size="small" type="primary" @click="dialogFormVisible = true" >医保对账</el-button>
53
-        <el-button size="small" type="primary" @click="getFormData" >下载对账报表</el-button>
54
-
55
-      </div>
56
-      <el-table :data="tableData" border style="width: 100%;" :row-style="{ color: '#303133' }"
57
-                :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
58
-        <el-table-column
59
-          prop="date"
60
-          label="序号"
61
-          width="60"
62
-          align="center"
63
-          type="index"
64
-        >
65
-        </el-table-column>
66
-        <el-table-column align="center" prop="name" label="对账结果">
67
-          <template slot-scope="scope">{{"平"}}</template>
68
-        </el-table-column>
69
-
70
-        <el-table-column align="center" prop="name" label="操作机构">
71
-          <template slot-scope="scope">{{this.$store.getters.xt_user.org.org_name}}</template>
72
-        </el-table-column>
73
-        <el-table-column align="center" prop="name" label="对账申请人">
74
-          <template slot-scope="scope">{{getName(scope.row.creator)}}</template>
75
-        </el-table-column>
76
-        <el-table-column align="center" prop="name" label="开始时间">
77
-          <template slot-scope="scope">{{getTimes(scope.row.start_time)}}</template>
78
-        </el-table-column>
79
-        <el-table-column align="center" prop="name" label="结束时间">
80
-          <template slot-scope="scope">{{getTimes(scope.row.end_time)}}</template>
81
-        </el-table-column>
82
-        <el-table-column align="center" prop="name" label="险种类型">
83
-          <template slot-scope="scope">
84
-            <div  v-if="scope.row.insutype == '310'">职工基本医疗保险</div>
85
-            <div  v-if="scope.row.insutype == '320'">公务员医疗补助</div>
86
-            <div  v-if="scope.row.insutype == '330'">大额医疗费用补助</div>
87
-            <div  v-if="scope.row.insutype == '340'">离休人员医疗保障</div>
88
-            <div  v-if="scope.row.insutype == '390'">城乡居民基本医疗保险</div>
89
-            <div  v-if="scope.row.insutype == '392'">城乡居民大病医疗保险</div>
90
-            <div  v-if="scope.row.insutype == '510'">生育保险</div>
91
-          </template>
92
-        </el-table-column>
93
-        <el-table-column align="center" prop="name" label="对账类型">
94
-          <template slot-scope="scope">
95
-            <div  v-if="scope.row.check_type == 1">总账</div>
96
-            <div  v-if="scope.row.check_type == 2">明细</div>
97
-          </template>
98
-        </el-table-column>
99
-        <el-table-column align="center" prop="name" label="清算经办机构">
100
-          <template slot-scope="scope">{{getName(scope.row.creator)}}</template>
101
-        </el-table-column>
102
-        <el-table-column align="center" prop="name" label="定点医药机构医疗费总额(元)">
103
-          <template slot-scope="scope">{{scope.row.setl_optins}}</template>
104
-        </el-table-column>
105
-        <el-table-column align="center" prop="name" label="医保中心医疗费总额(元)">
106
-          <template slot-scope="scope">{{scope.row.cost_total}}</template>
107
-        </el-table-column>
108
-        <el-table-column align="center" prop="name" label="定点医药机构基金总额(元)">
109
-          <template slot-scope="scope">{{scope.row.cost_total}}</template>
110
-        </el-table-column>
111
-        <el-table-column align="center" prop="name" label="医保中心基金总额(元)">
112
-          <template slot-scope="scope">{{scope.row.func_total}}</template>
113
-        </el-table-column>
114
-        <el-table-column align="center" prop="name" label="定点医药机构个人账号总额(元)">
115
-          <template slot-scope="scope">{{scope.row.func_total}}</template>
116
-        </el-table-column>
117
-        <el-table-column align="center" prop="name" label="医保中心个人账号总额(元)">
118
-          <template slot-scope="scope">{{scope.row.psn_pay}}</template>
119
-        </el-table-column>
120
-        <el-table-column align="center" prop="name" label="定点医药机构结算笔数">
121
-          <template slot-scope="scope">{{scope.row.psn_pay}}</template>
122
-        </el-table-column>
123
-        <el-table-column align="center" prop="name" label="医保中心结算笔数">
124
-          <template slot-scope="scope">{{scope.row.num}}</template>
125
-        </el-table-column>
126
-
127
-      </el-table>
128
-      <el-pagination
129
-        @size-change="handleSizeChange"
130
-        @current-change="handleCurrentChange"
131
-        :page-sizes="[10, 50, 100]"
132
-        :page-size="10"
133
-        background
134
-        style="margin-top:20px;float: right"
135
-        layout="total, sizes, prev, pager, next, jumper"
136
-        :total="total"
137
-      >
138
-      </el-pagination>
139
-      <el-dialog title="医保对账" :visible.sync="dialogFormVisible">
140
-        <el-form :model="form" label-width="100px">
141
-          <el-form-item label="时间" :label-width="formLabelWidth">
142
-            <el-date-picker v-model="start_time" prefix-icon="el-icon-date"
143
-                            @change="handleStartTimeChange" :editable="false" :clearable="false"
144
-                            style="width: 200px;" type="date" placeholder="选择开始日期"
145
-                            format="yyyy-MM-dd"
146
-                            value-format="yyyy-MM-dd"
147
-                            align="right"></el-date-picker>
148
-            -
149
-
150
-            <el-date-picker v-model="end_time" prefix-icon="el-icon-date"
151
-                            @change="handleEndTimeChange" :editable="false" :clearable="false"
152
-                            style="width: 200px;margin-right:10px;" type="date" placeholder="选择结束日期"
153
-                            format="yyyy-MM-dd"
154
-                            value-format="yyyy-MM-dd"
155
-                            align="right"></el-date-picker>
156
-          </el-form-item>
157
-          <el-form-item label="险种类型" :label-width="formLabelWidth">
158
-            <el-select v-model="insutype" placeholder="请选择" style="width: 200px;">
159
-              <el-option
160
-                v-for="item in insutypes"
161
-                :key="item.value"
162
-                :label="item.label"
163
-                :value="item.value">
164
-              </el-option>
165
-            </el-select>
166
-          </el-form-item>
167
-          <el-form-item label="对账类型" :label-width="formLabelWidth">
168
-            <el-select v-model="check_type" placeholder="请选择" style="width: 200px;">
169
-              <el-option
170
-                v-for="item in options"
171
-                :key="item.value"
172
-                :label="item.label"
173
-                :value="item.value">
174
-              </el-option>
175
-            </el-select>
176
-          </el-form-item>
177
-        </el-form>
178
-        <div slot="footer" class="dialog-footer">
179
-          <el-button @click="dialogFormVisible = false">取 消</el-button>
180
-          <el-button type="primary" @click="confirm">确 定</el-button>
6
+        <div class="app-container">
7
+            <div style="display: flex;justify-content: space-between;margin-bottom:10px;">
8
+                <div>
9
+                    <el-input size="small" style="width:130px;" v-model="keywords"
10
+                              class="filter-item"/>
11
+                    <el-button size="small" style="margin-left:10px;" class="filter-item" type="primary"
12
+                               @click="searchAction">
13
+                        搜索
14
+                    </el-button>
15
+                    <el-date-picker v-model="query_start_time" prefix-icon="el-icon-date"
16
+                                    @change="handleStartTimeChange" :editable="false" :clearable="false"
17
+                                    style="width: 130px;" type="date" placeholder="选择开始日期"
18
+                                    format="yyyy-MM-dd"
19
+                                    value-format="yyyy-MM-dd"
20
+                                    align="right"></el-date-picker>
21
+                    -
22
+
23
+                    <el-date-picker v-model="query_end_time" prefix-icon="el-icon-date"
24
+                                    @change="handleEndTimeChange" :editable="false" :clearable="false"
25
+                                    style="width: 130px;margin-right:10px;" type="date" placeholder="选择结束日期"
26
+                                    format="yyyy-MM-dd"
27
+                                    value-format="yyyy-MM-dd"
28
+                                    align="right"></el-date-picker>
29
+
30
+
31
+                    <label class="title">险种<span class="name"></span> : </label>
32
+                    <el-select v-model="query_insutype" style="width:140px;margin-right:10px;" placeholder="请选择"
33
+                               @change="changeInsutype">
34
+                        <el-option
35
+                                v-for="item in insutypes"
36
+                                :key="item.value"
37
+                                :label="item.label"
38
+                                :value="item.value">
39
+                        </el-option>
40
+                    </el-select>
41
+
42
+
43
+                    <label class="title">清算类别<span class="name"></span> : </label>
44
+                    <el-select v-model="query_clr_type" style="width:100px;margin-right:10px;" placeholder="请选择"
45
+                               @change="changeClrType">
46
+                        <el-option
47
+                                v-for="item in clrOptions"
48
+                                :key="item.value"
49
+                                :label="item.label"
50
+                                :value="item.value">
51
+                        </el-option>
52
+                    </el-select>
53
+
54
+                </div>
55
+
56
+            </div>
57
+            <div style="float: right;margin-bottom: 10px">
58
+                <el-button size="small" type="primary" @click="dialogFormVisible = true">医保对账</el-button>
59
+                <el-button size="small" type="primary" @click="getFormData">下载对账报表</el-button>
60
+            </div>
61
+
62
+
63
+            <el-table :data="tableData" border style="width: 100%;" :row-style="{ color: '#303133' }"
64
+                      :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
65
+                      highlight-current-row
66
+                      @select="selectCostInfo"
67
+                      @selection-change="changeCostInfoTableData"
68
+                      @select-all="changeAllCostInfoTableData"
69
+                      row-key="row_key"
70
+                      ref="multipleTable"
71
+            >
72
+                <el-table-column
73
+                        align="center"
74
+                        type="selection"
75
+                        width="55"
76
+                ></el-table-column>
77
+                <el-table-column
78
+                        prop="date"
79
+                        label="序号"
80
+                        width="60"
81
+                        align="center"
82
+                        type="index"
83
+                >
84
+                </el-table-column>
85
+                <el-table-column align="center" prop="name" label="对账结果">
86
+                    <template slot-scope="scope">{{'平'}}</template>
87
+                </el-table-column>
88
+                <el-table-column align="center" prop="name" label="操作机构">
89
+                    <!--<template slot-scope="scope">{{// this.$store.getters.xt_user.org.org_name}}</template>-->
90
+                </el-table-column>
91
+                <el-table-column align="center" prop="name" label="对账申请人">
92
+                    <template slot-scope="scope">{{getName(scope.row.creator)}}</template>
93
+                </el-table-column>
94
+                <el-table-column align="center" prop="name" label="开始时间">
95
+                    <template slot-scope="scope">{{getTimes(scope.row.start_time)}}</template>
96
+                </el-table-column>
97
+                <el-table-column align="center" prop="name" label="结束时间">
98
+                    <template slot-scope="scope">{{getTimes(scope.row.end_time)}}</template>
99
+                </el-table-column>
100
+                <el-table-column align="center" prop="name" label="险种类型">
101
+                    <template slot-scope="scope">
102
+                        <div v-if="scope.row.insutype == '310'">职工基本医疗保险</div>
103
+                        <div v-if="scope.row.insutype == '320'">公务员医疗补助</div>
104
+                        <div v-if="scope.row.insutype == '330'">大额医疗费用补助</div>
105
+                        <div v-if="scope.row.insutype == '340'">离休人员医疗保障</div>
106
+                        <div v-if="scope.row.insutype == '390'">城乡居民基本医疗保险</div>
107
+                        <div v-if="scope.row.insutype == '392'">城乡居民大病医疗保险</div>
108
+                        <div v-if="scope.row.insutype == '510'">生育保险</div>
109
+                    </template>
110
+                </el-table-column>
111
+                <el-table-column align="center" prop="name" label="对账类型">
112
+                    <template slot-scope="scope">
113
+                        <div v-if="scope.row.check_type == 1">总账</div>
114
+                        <div v-if="scope.row.check_type == 2">明细</div>
115
+                    </template>
116
+                </el-table-column>
117
+                <el-table-column align="center" prop="name" label="清算经办机构">
118
+                    <template slot-scope="scope">{{getName(scope.row.creator)}}</template>
119
+                </el-table-column>
120
+                <el-table-column align="center" prop="name" label="定点医药机构医疗费总额(元)">
121
+                    <template slot-scope="scope">{{scope.row.setl_optins}}</template>
122
+                </el-table-column>
123
+                <el-table-column align="center" prop="name" label="医保中心医疗费总额(元)">
124
+                    <template slot-scope="scope">{{scope.row.cost_total}}</template>
125
+                </el-table-column>
126
+                <el-table-column align="center" prop="name" label="定点医药机构基金总额(元)">
127
+                    <template slot-scope="scope">{{scope.row.cost_total}}</template>
128
+                </el-table-column>
129
+                <el-table-column align="center" prop="name" label="医保中心基金总额(元)">
130
+                    <template slot-scope="scope">{{scope.row.func_total}}</template>
131
+                </el-table-column>
132
+                <el-table-column align="center" prop="name" label="定点医药机构个人账号总额(元)">
133
+                    <template slot-scope="scope">{{scope.row.func_total}}</template>
134
+                </el-table-column>
135
+                <el-table-column align="center" prop="name" label="医保中心个人账号总额(元)">
136
+                    <template slot-scope="scope">{{scope.row.psn_pay}}</template>
137
+                </el-table-column>
138
+                <el-table-column align="center" prop="name" label="定点医药机构结算笔数">
139
+                    <template slot-scope="scope">{{scope.row.psn_pay}}</template>
140
+                </el-table-column>
141
+                <el-table-column align="center" prop="name" label="医保中心结算笔数">
142
+                    <template slot-scope="scope">{{scope.row.num}}</template>
143
+                </el-table-column>
144
+
145
+            </el-table>
146
+            <el-pagination
147
+                    @size-change="handleSizeChange"
148
+                    @current-change="handleCurrentChange"
149
+                    :page-sizes="[10, 50, 100]"
150
+                    :page-size="10"
151
+                    background
152
+                    style="margin-top:20px;float: right"
153
+                    layout="total, sizes, prev, pager, next, jumper"
154
+                    :total="total"
155
+            >
156
+            </el-pagination>
157
+            <el-dialog title="医保对账" :visible.sync="dialogFormVisible">
158
+                <el-form :model="form" label-width="100px">
159
+                    <el-form-item label="时间" label-width="100px">
160
+                        <el-date-picker v-model="start_time" prefix-icon="el-icon-date"
161
+                                        @change="handleStartTimeChange" :editable="false" :clearable="false"
162
+                                        style="width: 200px;" type="date" placeholder="选择开始日期"
163
+                                        format="yyyy-MM-dd"
164
+                                        value-format="yyyy-MM-dd"
165
+                                        align="right"></el-date-picker>
166
+                        -
167
+
168
+                        <el-date-picker v-model="end_time" prefix-icon="el-icon-date"
169
+                                        @change="handleEndTimeChange" :editable="false" :clearable="false"
170
+                                        style="width: 200px;margin-right:10px;" type="date" placeholder="选择结束日期"
171
+                                        format="yyyy-MM-dd"
172
+                                        value-format="yyyy-MM-dd"
173
+                                        align="right"></el-date-picker>
174
+                    </el-form-item>
175
+                    <el-form-item label="险种类型" :label-width="formLabelWidth">
176
+                        <el-select v-model="insutype" placeholder="请选择" style="width: 200px;">
177
+                            <el-option
178
+                                    v-for="item in insutypes"
179
+                                    :key="item.value"
180
+                                    :label="item.label"
181
+                                    :value="item.value">
182
+                            </el-option>
183
+                        </el-select>
184
+                    </el-form-item>
185
+                    <el-form-item label="对账类型" :label-width="formLabelWidth">
186
+                        <el-select v-model="check_type" placeholder="请选择" style="width: 200px;">
187
+                            <el-option
188
+                                    v-for="item in options"
189
+                                    :key="item.value"
190
+                                    :label="item.label"
191
+                                    :value="item.value">
192
+                            </el-option>
193
+                        </el-select>
194
+                    </el-form-item>
195
+                </el-form>
196
+                <div slot="footer" class="dialog-footer">
197
+                    <el-button @click="dialogFormVisible = false">取 消</el-button>
198
+                    <el-button type="primary" @click="confirm">确 定</el-button>
199
+                </div>
200
+            </el-dialog>
181 201
         </div>
182
-      </el-dialog>
183
-    </div>
184 202
 
185 203
 
186
-  </div>
204
+    </div>
187 205
 </template>
188 206
 
189 207
 
190 208
 <script>
191 209
   import BreadCrumb from '@/xt_pages/components/bread-crumb'
192
-  import { getDoctorList, getExportConsumeDetailList, getHisOrderList, getList,getCheckAccountFormData } from '@/api/his/his'
210
+  import {
211
+    getCheckAccountFormData,
212
+    getDoctorList,
213
+    getExportConsumeDetailList,
214
+    getHisOrderList,
215
+    getList
216
+  } from '@/api/his/his'
193 217
   import { uParseTime } from '@/utils/tools'
194 218
   import { fetchAllAdminUsers } from '@/api/doctor'
195 219
   import axios from 'axios'
@@ -200,6 +224,7 @@
200 224
     },
201 225
     data() {
202 226
       return {
227
+        form: {},
203 228
         crumbs: [
204 229
           { path: false, name: '门诊收费' },
205 230
           { path: false, name: '医保费用对照' }
@@ -210,64 +235,64 @@
210 235
         dialogFormVisible: false,
211 236
         total: 0,
212 237
         adminUserOptions: [],
213
-        start_time:"",
214
-        end_time:"",
215
-        insutype:"",
216
-        check_type:"",
217
-        keywords:"",
218
-        query_start_time:"",
219
-        query_end_time:"",
220
-
221
-        query_insutype:"",
222
-        query_clr_type:"",
223
-        fromData:[],
224
-        options:[
238
+        start_time: '',
239
+        end_time: '',
240
+        insutype: '',
241
+        check_type: '',
242
+        keywords: '',
243
+        query_start_time: '',
244
+        query_end_time: '',
245
+        selection:[],
246
+        query_insutype: '',
247
+        query_clr_type: '',
248
+        fromData: [],
249
+        options: [
225 250
           {
226
-            value:1,
227
-            label:"总账",
228
-          },  {
229
-            value:2,
230
-            label:"明细",
231
-          },
251
+            value: 1,
252
+            label: '总账'
253
+          }, {
254
+            value: 2,
255
+            label: '明细'
256
+          }
232 257
         ],
233
-        clrOptions:[
258
+        clrOptions: [
234 259
           {
235
-            value:"11",
236
-            label:"门诊",
237
-          },  {
238
-            value:"21",
239
-            label:"住院",
240
-          },  {
241
-            value:"41",
242
-            label:"药店购药",
260
+            value: '11',
261
+            label: '门诊'
262
+          }, {
263
+            value: '21',
264
+            label: '住院'
265
+          }, {
266
+            value: '41',
267
+            label: '药店购药'
243 268
           }, {
244
-            value:"99",
245
-            label:"其他",
269
+            value: '99',
270
+            label: '其他'
246 271
           }
247 272
         ],
248
-        insutypes:[
273
+        insutypes: [
249 274
           {
250
-            value:"310",
251
-            label:"职工基本医疗保险",
252
-          },  {
253
-            value:"320",
254
-            label:"公务员医疗补助",
255
-          },  {
256
-            value:"330",
257
-            label:"大额医疗费用补助",
258
-          },  {
259
-            value:"340",
260
-            label:"离休人员医疗保障",
275
+            value: '310',
276
+            label: '职工基本医疗保险'
277
+          }, {
278
+            value: '320',
279
+            label: '公务员医疗补助'
280
+          }, {
281
+            value: '330',
282
+            label: '大额医疗费用补助'
283
+          }, {
284
+            value: '340',
285
+            label: '离休人员医疗保障'
261 286
           },
262 287
           {
263
-            value:"390",
264
-            label:"城乡居民基本医疗保险",
288
+            value: '390',
289
+            label: '城乡居民基本医疗保险'
265 290
           }, {
266
-            value:"392",
267
-            label:"城乡居民大病医疗保险",
291
+            value: '392',
292
+            label: '城乡居民大病医疗保险'
268 293
           }, {
269
-            value:"510",
270
-            label:"生育保险",
294
+            value: '510',
295
+            label: '生育保险'
271 296
           }
272 297
 
273 298
           // 1617724800
@@ -277,8 +302,132 @@
277 302
       }
278 303
     },
279 304
     methods: {
280
-      confirm(){
281
-        if(this.check_type == 1){
305
+      changeInsutype() {
306
+        let params = {
307
+          'page': 1,
308
+          'limit': 10,
309
+          'keywords': this.keywords,
310
+          'insutype': this.query_insutype,
311
+          'clr_type': "11",
312
+          'start_time': this.query_start_time,
313
+          'end_time': this.query_end_time,
314
+        }
315
+        this.tableData = []
316
+        getList(params).then(response => {
317
+          if (response.data.state == 0) {
318
+            this.$message.error(response.data.msg)
319
+            return false
320
+          } else {
321
+            this.tableData = response.data.data.list
322
+            this.total = response.data.data.total
323
+          }
324
+        })
325
+
326
+      }, changeClrType(val) {
327
+        if (val != "11"){
328
+          this.tableData = []
329
+          this.total = 0
330
+        }else{
331
+          let params = {
332
+            'page': 1,
333
+            'limit': 10,
334
+            'keywords': this.keywords,
335
+            'insutype': this.query_insutype,
336
+            'clr_type': "11",
337
+            'start_time': this.query_start_time,
338
+            'end_time': this.query_end_time,
339
+          }
340
+          this.tableData = []
341
+          getList(params).then(response => {
342
+            if (response.data.state == 0) {
343
+              this.$message.error(response.data.msg)
344
+              return false
345
+            } else {
346
+              this.tableData = response.data.data.list
347
+              this.total = response.data.data.total
348
+            }
349
+          })
350
+        }
351
+      },
352
+      handleStartTimeChange() {
353
+
354
+        let params = {
355
+          'page': 1,
356
+          'limit': 10,
357
+          'keywords': this.keywords,
358
+          'insutype': "",
359
+          'clr_type': "11",
360
+          'start_time': this.query_start_time,
361
+          'end_time': this.query_end_time,
362
+        }
363
+        this.tableData = []
364
+        getList(params).then(response => {
365
+          if (response.data.state == 0) {
366
+            this.$message.error(response.data.msg)
367
+            return false
368
+          } else {
369
+            this.tableData = response.data.data.list
370
+            this.total = response.data.data.total
371
+          }
372
+        })
373
+
374
+      }, handleEndTimeChange() {
375
+
376
+        let params = {
377
+          'page': 1,
378
+          'limit': 10,
379
+          'keywords': this.keywords,
380
+          'insutype': "",
381
+          'clr_type': "11",
382
+          'start_time': this.query_start_time,
383
+          'end_time': this.query_end_time,
384
+        }
385
+        this.tableData = []
386
+        getList(params).then(response => {
387
+          if (response.data.state == 0) {
388
+            this.$message.error(response.data.msg)
389
+            return false
390
+          } else {
391
+            this.tableData = response.data.data.list
392
+            this.total = response.data.data.total
393
+          }
394
+        })
395
+
396
+      },
397
+
398
+      searchAction() {
399
+        let params = {
400
+          'page': 1,
401
+          'limit': 10,
402
+          'keywords': this.keywords,
403
+          'insutype': "",
404
+          'clr_type': "11",
405
+          'start_time': "",
406
+          'end_time': "",
407
+        }
408
+        this.tableData = []
409
+        getList(params).then(response => {
410
+          if (response.data.state == 0) {
411
+            this.$message.error(response.data.msg)
412
+            return false
413
+          } else {
414
+            this.tableData = response.data.data.list
415
+            this.total = response.data.data.total
416
+          }
417
+        })
418
+
419
+      },
420
+      selectCostInfo(selection, row) {
421
+        this.selection = selection
422
+
423
+      }, changeCostInfoTableData(val) {
424
+        this.selection = val
425
+      }, changeAllCostInfoTableData(selection) {
426
+        this.selection = selection
427
+
428
+
429
+      }, confirm() {
430
+        if (this.check_type == 1) {
282 431
           let params = {
283 432
             start_time: this.start_time,
284 433
             end_time: this.end_time,
@@ -295,32 +444,31 @@
295 444
                   that.$message.error(response.data.msg)
296 445
                   return false
297 446
                 } else {
298
-                  var result_desc = ""
299
-
300
-                  if(response.data.data.stmt_rslt == 0){
301
-                    result_desc = "对账平"
302
-                  }else if (response.data.data.stmt_rslt == 1){
303
-                    result_desc = "中心多" +"\n" + response.data.data.stmt_rslt_dscr
447
+                  var result_desc = ''
304 448
 
449
+                  if (response.data.data.stmt_rslt == 0) {
450
+                    result_desc = '对账平'
451
+                  } else if (response.data.data.stmt_rslt == 1) {
452
+                    result_desc = '中心多' + '\n' + response.data.data.stmt_rslt_dscr
305 453
 
306
-                  }else if (response.data.data.stmt_rslt == 2){
307
-                    result_desc = "机构多" +"\n" + response.data.data.stmt_rslt_dscr
454
+                  } else if (response.data.data.stmt_rslt == 2) {
455
+                    result_desc = '机构多' + '\n' + response.data.data.stmt_rslt_dscr
308 456
                   }
309 457
 
310 458
                   that.$alert(result_desc, '对账结果', {
311 459
                     confirmButtonText: '确定',
312 460
                     callback: action => {
313
-                     this.dialogFormVisible = false
461
+                      this.dialogFormVisible = false
314 462
                     }
315
-                  });
463
+                  })
316 464
 
317
-                  that.page =1
465
+                  that.page = 1
318 466
                   that.limit = 10
319
-                  that.keywords = ""
320
-                  that.query_start_time = ""
321
-                  that.query_end_time = ""
322
-                  that.query_insutype = ""
323
-                  that.query_clr_type = ""
467
+                  that.keywords = ''
468
+                  that.query_start_time = ''
469
+                  that.query_end_time = ''
470
+                  that.query_insutype = ''
471
+                  that.query_clr_type = ''
324 472
                   that.getList()
325 473
                 }
326 474
               })
@@ -330,10 +478,10 @@
330 478
 
331 479
           }
332 480
 
333
-        }else {
481
+        } else {
334 482
           let params = {
335 483
             start_time: this.start_time,
336
-            end_time: this.end_time,
484
+            end_time: this.end_time
337 485
           }
338 486
           var that = this
339 487
           axios.get('http://127.0.0.1:9532/api/checkdetailaccount/get', {
@@ -344,9 +492,9 @@
344 492
                 that.$message.error(response.data.msg)
345 493
                 return false
346 494
               } else {
347
-                this.page =1
495
+                this.page = 1
348 496
                 this.limit = 10
349
-                this.keywords = ""
497
+                this.keywords = ''
350 498
                 this.getList()
351 499
               }
352 500
             })
@@ -382,10 +530,10 @@
382 530
           'page': this.page,
383 531
           'limit': this.limit,
384 532
           'keywords': this.keywords,
385
-          'insutype':this.query_insutype,
386
-          'clr_type':this.query_clr_type,
387
-          'start_time':this.query_start_time,
388
-          'end_time':this.query_end_time,
533
+          'insutype': this.query_insutype,
534
+          'clr_type': this.query_clr_type,
535
+          'start_time': this.query_start_time,
536
+          'end_time': this.query_end_time
389 537
         }
390 538
         this.tableData = []
391 539
         getList(params).then(response => {
@@ -407,30 +555,17 @@
407 555
         this.page = page
408 556
         this.getList()
409 557
 
410
-      },getFormData(){
411
-        if(this.query_start_time.length == 0){
412
-          this.$message.error("请选择开始时间")
413
-          return
414
-        }
415
-
416
-        if(this.query_end_time.length == 0){
417
-          this.$message.error("请选择结束时间")
418
-          return
419
-
420
-        }
421
-
422
-
423
-        if(this.query_insutype.length == 0){
424
-          this.$message.error("请选择险种类型")
558
+      }, getFormData() {
559
+        if (this.selection.length == 0) {
560
+          this.$message.error('请选择要下载的对账记录')
425 561
           return
426 562
         }
427 563
 
428 564
         let params = {
429
-          'start_time':this.query_start_time,
430
-          'end_time':this.query_end_time,
431
-          'insutype':this.query_insutype,
565
+          'start_time': this.getTimes(this.selection[0].start_time),
566
+          'end_time': this.getTimes(this.selection[0].end_time),
567
+          'insutype': this.selection[0].insutype
432 568
         }
433
-
434 569
         getCheckAccountFormData(params).then(response => {
435 570
           if (response.data.state == 0) {
436 571
             this.$message.error(response.data.msg)
@@ -439,48 +574,47 @@
439 574
             this.fromData = response.data.data.list
440 575
             var list = []
441 576
 
442
-            for (let i =0; i < this.fromData.length; i++){
577
+            for (let i = 0; i < this.fromData.length; i++) {
443 578
               let obj = {
444
-                "结算金额":this.fromData[i].medfee_sumamt,
445
-                "姓名":this.fromData[i].psn_name,
446
-                "身份证":this.fromData[i].id_card_no,
447
-                "个人编号":this.fromData[i].psn_no,
448
-                "门诊流水号":this.fromData[i].mdtrt_id,
449
-                "挂号日期": this.getTimes(this.fromData[i].settle_accounts_date),
450
-                "起付线":this.fromData[i].act_pay_dedc,
451
-                "统筹基金":this.fromData[i].fund_pay_sumamt,
452
-                "个人支付":this.fromData[i].psn_cash_pay,
453
-                "个账支付":this.fromData[i].acct_pay,
454
-                "现金支付":this.fromData[i].cash_pay,
455
-                "总费用":this.fromData[i].sumamt,
456
-                "冲销标志":"已结算",
579
+                '结算金额': this.fromData[i].medfee_sumamt,
580
+                '姓名': this.fromData[i].psn_name,
581
+                '身份证': this.fromData[i].id_card_no,
582
+                '个人编号': this.fromData[i].psn_no,
583
+                '门诊流水号': this.fromData[i].mdtrt_id,
584
+                '挂号日期': this.getTimes(this.fromData[i].settle_accounts_date),
585
+                '起付线': this.fromData[i].act_pay_dedc,
586
+                '统筹基金': this.fromData[i].fund_pay_sumamt,
587
+                '个人支付': this.fromData[i].psn_cash_pay,
588
+                '个账支付': this.fromData[i].acct_pay,
589
+                '现金支付': this.fromData[i].cash_pay,
590
+                '总费用': this.fromData[i].sumamt,
591
+                '冲销标志': '已结算'
457 592
               }
458 593
               list.push(obj)
459 594
             }
460
-            var insutype_name = ""
461
-            if(this.query_insutype =="310"){
462
-              insutype_name = "职工基本医疗保险"
463
-            }else if(this.query_insutype == "390"){
464
-              insutype_name = "城乡居民基本医疗保险"
595
+            var insutype_name = ''
596
+            if (this.query_insutype == '310') {
597
+              insutype_name = '职工基本医疗保险'
598
+            } else if (this.query_insutype == '390') {
599
+              insutype_name = '城乡居民基本医疗保险'
465 600
             }
466 601
 
467 602
             import('@/vendor/Export2Excel').then(excel => {
468
-              const tHeader = ['结算金额', '姓名', '身份证', '个人编号', '门诊流水号',"挂号日期","起付线","统筹基金","个人支付","个账支付","现金支付","总费用","冲销标志"]
469
-              const filterVal = ['结算金额', '姓名', '身份证', '个人编号', '门诊流水号',"挂号日期","起付线","统筹基金","个人支付","个账支付","现金支付","总费用","冲销标志"]
603
+              const tHeader = ['结算金额', '姓名', '身份证', '个人编号', '门诊流水号', '挂号日期', '起付线', '统筹基金', '个人支付', '个账支付', '现金支付', '总费用', '冲销标志']
604
+              const filterVal = ['结算金额', '姓名', '身份证', '个人编号', '门诊流水号', '挂号日期', '起付线', '统筹基金', '个人支付', '个账支付', '现金支付', '总费用', '冲销标志']
470 605
               const data = this.formatJson(filterVal, list)
471 606
               excel.export_json_to_excel({
472 607
                 header: tHeader,
473 608
                 data,
474
-                filename: this.query_start_time +"~" + this.query_end_time+ insutype_name + "对账报表"
609
+                filename:this.getTimes(this.selection[0].start_time)+ '~' + this.getTimes(this.selection[0].end_time)+ insutype_name + '对账报表'
475 610
               })
476 611
             })
477 612
           }
478 613
         })
479 614
 
480
-
481 615
       }, formatJson(filterVal, jsonData) {
482 616
         return jsonData.map(v => filterVal.map(j => v[j]))
483
-      },
617
+      }
484 618
     },
485 619
     created() {
486 620
       this.getList()