see999 пре 3 година
родитељ
комит
ef85eb54e7

+ 91 - 0
src/vendor/Export2Excel.js Прегледај датотеку

219
     type: "application/octet-stream"
219
     type: "application/octet-stream"
220
   }), `${filename}.${bookType}`);
220
   }), `${filename}.${bookType}`);
221
 }
221
 }
222
+
223
+export function export_json_to_excel1({
224
+  multiHeader = [],
225
+  header,
226
+  data,
227
+  filename,
228
+  ref,
229
+  merges = [],
230
+  autoWidth = true,
231
+  bookType = 'xlsx'
232
+} = {}) {
233
+  /* original data */
234
+  filename = filename || 'excel-list'
235
+  data = [...data]
236
+  data.unshift(header);
237
+
238
+  for (let i = multiHeader.length - 1; i > -1; i--) {
239
+    data.unshift(multiHeader[i])
240
+  }
241
+
242
+  var ws_name = "SheetJS";
243
+  var wb = new Workbook(),
244
+    ws = sheet_from_array_of_arrays(data);
245
+
246
+  if (merges.length > 0) {
247
+    if (!ws['!merges']) ws['!merges'] = [];
248
+    merges.forEach(item => {
249
+      console.log(XLSX.utils.decode_range(item))
250
+      ws['!merges'].push(XLSX.utils.decode_range(item))
251
+    })
252
+  }
253
+
254
+  if (autoWidth) {
255
+    /*设置worksheet每列的最大宽度*/
256
+    const colWidth = data.map(row => row.map(val => {
257
+      /*先判断是否为null/undefined*/
258
+      if (val == null) {
259
+        return {
260
+          'wch': 10
261
+        };
262
+      }
263
+      /*再判断是否为中文*/
264
+      else if (val.toString().charCodeAt(0) > 255) {
265
+        return {
266
+          'wch': val.toString().length * 2
267
+        };
268
+      } else {
269
+        return {
270
+          'wch': val.toString().length
271
+        };
272
+      }
273
+    }))
274
+    /*以第一行为初始值*/
275
+    let result = colWidth[0];
276
+    for (let i = 1; i < colWidth.length; i++) {
277
+      for (let j = 0; j < colWidth[i].length; j++) {
278
+        if (result[j]['wch'] < colWidth[i][j]['wch']) {
279
+          result[j]['wch'] = colWidth[i][j]['wch'];
280
+        }
281
+      }
282
+    }
283
+    ws['!cols'] = result;
284
+  }
285
+
286
+  /* add worksheet to workbook */
287
+  wb.SheetNames.push(ws_name);
288
+  wb.Sheets[ws_name] = ws;
289
+
290
+
291
+  try {
292
+    const $e = ref
293
+    let $table = $e.querySelector('.el-table__fixed')
294
+    if(!$table) {
295
+      $table = $e
296
+    }
297
+
298
+    const wb = XLSX.utils.table_to_book($table, {raw:true})
299
+    const wbout = XLSX.write(wb, {bookType: 'xlsx', bookSST:true, type: 'array'})
300
+    var wbout = XLSX.write(wb, {
301
+      bookType: bookType,
302
+      bookSST: false,
303
+      type: 'binary'
304
+    });
305
+    saveAs(new Blob([s2ab(wbout)], {
306
+      type: "application/octet-stream"
307
+    }), `${filename}.${bookType}`);
308
+  } catch (e) {
309
+    if (typeof console !== 'undefined') console.error(e)
310
+  }
311
+  
312
+}

+ 11 - 3
src/xt_pages/dialysis/template/DialysisPrintOrderFortyOne.vue Прегледај датотеку

636
                       <td style="line-height:16px;padding:0px;">
636
                       <td style="line-height:16px;padding:0px;">
637
                         <div style="min-height:20px;line-height:20px; overflow:hidden;">
637
                         <div style="min-height:20px;line-height:20px; overflow:hidden;">
638
                           <span v-if="getTime(monitor.operate_time, '{h}:{i}')" style="word-break: break-all;margin:0;line-height:16px;-webkit-line-clamp:3;overflow:visible;display:inline-block;vertical-align:middle;height:auto;">
638
                           <span v-if="getTime(monitor.operate_time, '{h}:{i}')" style="word-break: break-all;margin:0;line-height:16px;-webkit-line-clamp:3;overflow:visible;display:inline-block;vertical-align:middle;height:auto;">
639
-                            <template v-if="(dialysisOrder && monitor.operate_time == dialysisOrder.start_time)">【开始透析】引血100ml/min</template>
639
+                            <template v-if="(dialysisOrder && monitor.operate_time == dialysisOrder.start_time)">【开始透析】 <span v-if="org_id != 10233">引血100ml/min</span></template>
640
                             <span v-if="dialysisOrder && monitor.operate_time == dialysisOrder.end_time">{{ monitor.end }}</span>
640
                             <span v-if="dialysisOrder && monitor.operate_time == dialysisOrder.end_time">{{ monitor.end }}</span>
641
                             {{ monitor.symptom }} &nbsp;{{ monitor.dispose }} &nbsp;{{ monitor.result }}
641
                             {{ monitor.symptom }} &nbsp;{{ monitor.dispose }} &nbsp;{{ monitor.result }}
642
                           </span>
642
                           </span>
1224
           this.monitors[index].end = ''
1224
           this.monitors[index].end = ''
1225
           if (Object.keys(monitor).length > 0 && index > 1) {
1225
           if (Object.keys(monitor).length > 0 && index > 1) {
1226
             if (this.dialysisOrder && monitor.operate_time == this.dialysisOrder.end_time) {
1226
             if (this.dialysisOrder && monitor.operate_time == this.dialysisOrder.end_time) {
1227
-              this.monitors[index].end = '【结束透析】回血100ml/min'
1227
+              if(this.org_id != 10233){
1228
+                this.monitors[index].end = '【结束透析】回血100ml/min'
1229
+              }else{
1230
+                this.monitors[index].end = '【结束透析】'
1231
+              }
1228
               tempmonitorflag = false
1232
               tempmonitorflag = false
1229
             }
1233
             }
1230
             if (tempmonitorflag && index == this.monitors.length - 1) {
1234
             if (tempmonitorflag && index == this.monitors.length - 1) {
1231
-              this.monitors[index].end = '【结束透析】回血100ml/min'
1235
+              if(this.org_id != 10233){
1236
+                this.monitors[index].end = '【结束透析】回血100ml/min'
1237
+              }else{
1238
+                this.monitors[index].end = '【结束透析】'
1239
+              }
1232
             }
1240
             }
1233
           }
1241
           }
1234
         }
1242
         }

+ 43 - 6
src/xt_pages/outpatientTool/components/detail.vue Прегледај датотеку

1
 <template>
1
 <template>
2
-    <div class="main-contain outpatientChargesManagement">
2
+    <!-- <div class="main-contain outpatientChargesManagement">
3
         <div class="position">
3
         <div class="position">
4
             <bread-crumb :crumbs='crumbs'></bread-crumb>
4
             <bread-crumb :crumbs='crumbs'></bread-crumb>
5
-        </div>
6
-        <div class="app-container">
5
+        </div> -->
6
+        <div>
7
             <div style="display: flex;justify-content: space-between;margin-bottom:10px;">
7
             <div style="display: flex;justify-content: space-between;margin-bottom:10px;">
8
                 <div>
8
                 <div>
9
                     <!--<el-button size="small" style="margin-left:10px;" class="filter-item" type="primary"-->
9
                     <!--<el-button size="small" style="margin-left:10px;" class="filter-item" type="primary"-->
48
                       <el-button slot="reference" style="margin:0 10px;" type="primary" size="small">打印</el-button>
48
                       <el-button slot="reference" style="margin:0 10px;" type="primary" size="small">打印</el-button>
49
 
49
 
50
                     </el-popover> -->
50
                     </el-popover> -->
51
-                    <!--<el-button size="small" type="primary" @click="export_detail">报表下载</el-button>-->
51
+                    <el-button size="small" type="primary" @click="export_detail">报表下载</el-button>
52
                 </div>
52
                 </div>
53
             </div>
53
             </div>
54
-            <el-table :data="tableData" border :row-style="{ color: '#303133' }"
54
+            <el-table :data="tableData" border :row-style="{ color: '#303133' }" ref="table"
55
                       :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
55
                       :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
56
                       :span-method="merge"
56
                       :span-method="merge"
57
                       v-loading="detail_loading"
57
                       v-loading="detail_loading"
88
             </el-table>
88
             </el-table>
89
         </div>
89
         </div>
90
 
90
 
91
-    </div>
91
+    <!-- </div> -->
92
 </template>
92
 </template>
93
 
93
 
94
 
94
 
442
             colspan: _col
442
             colspan: _col
443
           }
443
           }
444
         }
444
         }
445
+      }, export_detail() {
446
+
447
+        let list = []
448
+        for (let i = 0; i < this.tableData.length; i++) {
449
+          let order = this.tableData[i]
450
+          let name = order.name
451
+          let item_name = order.item_name
452
+          let count = order.count
453
+          let price = order.price.toFixed(2)
454
+          let pay_sumamt = (order.price.toFixed(2)*order.count).toFixed(2)
455
+          let total = order.total.toFixed(2)
456
+
457
+
458
+          let obj = {
459
+            '患者姓名': name,
460
+            '项目名称': item_name,
461
+            '数量': count,
462
+            '单价': price,
463
+            '费用': pay_sumamt,
464
+            '费用总额':total,
465
+          }
466
+          list.push(obj)
467
+        }
468
+        import('@/vendor/Export2Excel').then(excel => {
469
+          const tHeader = [ '患者姓名', '项目名称', '数量', '单价', '费用', '费用总额']
470
+          const filterVal = [ '患者姓名', '项目名称', '数量', '单价', '费用', '费用总额']
471
+          const data = this.formatJson(filterVal, list)
472
+          excel.export_json_to_excel1({
473
+            header: tHeader,
474
+            data,
475
+            filename: '明细',
476
+            ref:this.$refs['table'].$el
477
+          })
478
+        })
479
+
480
+      }, formatJson(filterVal, jsonData) {
481
+        return jsonData.map(v => filterVal.map(j => v[j]))
445
       }
482
       }
446
     },
483
     },
447
     created() {
484
     created() {

+ 113 - 86
src/xt_pages/outpatientTool/components/gather.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 style="display: flex;justify-content: space-between;margin-bottom:10px;">
8
-                <div>
9
-                    <!--<el-button size="small" style="margin-left:10px;" class="filter-item" type="primary"-->
10
-                    <!--@click="Action">-->
11
-                    <!--导出-->
12
-                    <!--</el-button>-->
13
-                    <el-input size="small" style="width:150px;" v-model="keywords" @input="searchAction"
14
-                              @keyup.enter.native='searchAction'
15
-                              class="filter-item"/>
16
-                    <el-select size="small" v-model="item_type" placeholder="请选择"
17
-                               style="width:150px;margin-left:10px;" @change="changeItem">
18
-                        <el-option
19
-                                label="全部"
20
-                                value="0">
21
-                        </el-option>
22
-                        <el-option
23
-                                v-for="item,index in items"
24
-                                :key="index"
25
-                                :label="item.name"
26
-                                :value="item.id">
27
-                        </el-option>
28
-                    </el-select>
29
-                    <el-date-picker
30
-                            v-model="chargeDate"
31
-                            type="daterange"
32
-                            value-format="yyyy-MM-dd"
33
-                            range-separator="至"
34
-                            start-placeholder="开始日期"
35
-                            @change="changeDate"
36
-                            end-placeholder="结束日期">
37
-                    </el-date-picker>
38
-                    <!--<el-radio v-model="radio" label="1">明细</el-radio>-->
39
-                    <!--<el-radio v-model="radio" label="2">汇总</el-radio>-->
40
-                </div>
41
-                <div>
42
-                    <!-- <el-popover
43
-                      placement="bottom"
44
-                      width="210"
45
-                      trigger="click">
46
-                      <el-button size="small" ref="button_two" @click="open(1)">打印清单</el-button>
47
-                      <el-button size="small" ref="button_six" @click="open(2)">打印汇总</el-button>
48
-                      <el-button slot="reference" style="margin:0 10px;" type="primary" size="small">打印</el-button>
49
-
50
-                    </el-popover> -->
51
-                    <!--<el-button size="small" type="primary" @click="export_detail">报表下载</el-button>-->
52
-                </div>
53
-            </div>
54
-            <el-table :data="tableData" border :row-style="{ color: '#303133' }"
55
-                      :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
56
-                      v-loading="gather_loading"
57
-                      show-summary
58
-                      max-height="600"
59
-                      :span-method="merge"
60
-                      :summary-method="getTotal"
61
-                      highlight-current-row>
62
-
63
-                <el-table-column align="center" prop="name" label="患者名字">
64
-                    <template slot-scope="scope">{{ scope.row.name }}</template>
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="item_name" label="项目类别">
71
-                    <template slot-scope="scope">{{scope.row.item_name}}</template>
72
-                </el-table-column>
73
-                <el-table-column align="center" prop="price" label="费用">
74
-                    <template slot-scope="scope">{{scope.row.price.toFixed(2)}}</template>
75
-                </el-table-column>
76
-                <el-table-column align="center" prop="sum" label="费用总额">
77
-                    <template slot-scope="scope">
78
-                        <div>{{scope.row.sum.toFixed(2)}}</div>
79
-                    </template>
80
-                </el-table-column>
81
-
82
-            </el-table>
83
-        </div>
84
-
85
-    </div>
2
+  <div>
3
+      <div style="display: flex;justify-content: space-between;margin-bottom:10px;">
4
+          <div>
5
+              <!--<el-button size="small" style="margin-left:10px;" class="filter-item" type="primary"-->
6
+              <!--@click="Action">-->
7
+              <!--导出-->
8
+              <!--</el-button>-->
9
+              <el-input size="small" style="width:150px;" v-model="keywords" @input="searchAction"
10
+                        @keyup.enter.native='searchAction'
11
+                        class="filter-item"/>
12
+              <el-select size="small" v-model="item_type" placeholder="请选择"
13
+                          style="width:150px;margin-left:10px;" @change="changeItem">
14
+                  <el-option
15
+                          label="全部"
16
+                          value="0">
17
+                  </el-option>
18
+                  <el-option
19
+                          v-for="item,index in items"
20
+                          :key="index"
21
+                          :label="item.name"
22
+                          :value="item.id">
23
+                  </el-option>
24
+              </el-select>
25
+              <el-date-picker
26
+                      v-model="chargeDate"
27
+                      type="daterange"
28
+                      value-format="yyyy-MM-dd"
29
+                      range-separator="至"
30
+                      start-placeholder="开始日期"
31
+                      @change="changeDate"
32
+                      end-placeholder="结束日期">
33
+              </el-date-picker>
34
+              <!--<el-radio v-model="radio" label="1">明细</el-radio>-->
35
+              <!--<el-radio v-model="radio" label="2">汇总</el-radio>-->
36
+          </div>
37
+          <div>
38
+              <!-- <el-popover
39
+                placement="bottom"
40
+                width="210"
41
+                trigger="click">
42
+                <el-button size="small" ref="button_two" @click="open(1)">打印清单</el-button>
43
+                <el-button size="small" ref="button_six" @click="open(2)">打印汇总</el-button>
44
+                <el-button slot="reference" style="margin:0 10px;" type="primary" size="small">打印</el-button>
45
+
46
+              </el-popover> -->
47
+              <el-button size="small" type="primary" @click="export_detail">报表下载</el-button>
48
+          </div>
49
+      </div>
50
+      <el-table :data="tableData" border :row-style="{ color: '#303133' }" ref="tables"
51
+                :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
52
+                v-loading="gather_loading"
53
+                show-summary
54
+                max-height="600"
55
+                :span-method="merge"
56
+                :summary-method="getTotal"
57
+                highlight-current-row>
58
+
59
+          <el-table-column align="center" prop="name" label="患者名字">
60
+              <template slot-scope="scope">{{ scope.row.name }}</template>
61
+          </el-table-column>
62
+          <!--<el-table-column align="center" prop="name" label="患者类型">-->
63
+          <!--<template slot-scope="scope"></template>-->
64
+          <!--</el-table-column>-->
65
+
66
+          <el-table-column align="center" prop="item_name" label="项目类别">
67
+              <template slot-scope="scope">{{scope.row.item_name}}</template>
68
+          </el-table-column>
69
+          <el-table-column align="center" prop="price" label="费用">
70
+              <template slot-scope="scope">{{scope.row.price.toFixed(2)}}</template>
71
+          </el-table-column>
72
+          <el-table-column align="center" prop="sum" label="费用总额">
73
+              <template slot-scope="scope">
74
+                  <div>{{scope.row.sum.toFixed(2)}}</div>
75
+              </template>
76
+          </el-table-column>
77
+
78
+      </el-table>
79
+  </div>
86
 </template>
80
 </template>
87
 
81
 
88
 
82
 
459
             return
453
             return
460
           }
454
           }
461
           const values = data.map(item => Number(item[column.property]))
455
           const values = data.map(item => Number(item[column.property]))
462
-          if (column.property === 'sum') {
456
+          if (column.property === 'total') {
463
             sums[index] = values.reduce((prev, curr) => {
457
             sums[index] = values.reduce((prev, curr) => {
464
               const value = Number(curr)
458
               const value = Number(curr)
465
               if (!isNaN(value)) {
459
               if (!isNaN(value)) {
466
-                return prev+ curr
460
+                return prev + curr
467
               } else {
461
               } else {
468
                 return prev
462
                 return prev
469
               }
463
               }
475
         })
469
         })
476
 
470
 
477
         return sums
471
         return sums
472
+      }, export_detail() {
473
+
474
+        let list = []
475
+        for (let i = 0; i < this.tableData.length; i++) {
476
+          let order = this.tableData[i]
477
+          let name = order.name
478
+          let item_name = order.item_name
479
+          let pay_sumamt = order.price.toFixed(2)
480
+          let total = order.sum.toFixed(2)
481
+
482
+
483
+          let obj = {
484
+            '患者姓名': name,
485
+            '项目类别': item_name,
486
+            '费用': pay_sumamt,
487
+            '费用总额':total,
488
+          }
489
+          list.push(obj)
490
+        }
491
+        import('@/vendor/Export2Excel').then(excel => {
492
+          const tHeader = [ '患者姓名', '项目名称', '费用', '费用总额']
493
+          const filterVal = [ '患者姓名', '项目名称', '费用', '费用总额']
494
+          const data = this.formatJson(filterVal, list)
495
+          excel.export_json_to_excel1({
496
+            header: tHeader,
497
+            data,
498
+            filename: '汇总',
499
+            ref:this.$refs['tables'].$el
500
+          })
501
+        })
502
+
503
+      }, formatJson(filterVal, jsonData) {
504
+        return jsonData.map(v => filterVal.map(j => v[j]))
478
       }
505
       }
479
     },
506
     },
480
     created() {
507
     created() {

+ 101 - 106
src/xt_pages/outpatientTool/components/settle.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 style="display: flex;justify-content: space-between;margin-bottom:10px;">
8
-                <div>
9
-                    <!--<el-button size="small" style="margin-left:10px;" class="filter-item" type="primary"-->
10
-                    <!--@click="Action">-->
11
-                    <!--导出-->
12
-                    <!--</el-button>-->
13
-                    <el-input size="small" style="width:150px;" v-model="keywords" @input="searchAction"
14
-                              @keyup.enter.native='searchAction'
15
-                              class="filter-item"/>
16
-                    <el-select size="small" v-model="item_type" placeholder="请选择"
17
-                               style="width:150px;margin-left:10px;" @change="changeItem">
18
-                        <el-option
19
-                                label="全部"
20
-                                value="0">
21
-                        </el-option>
22
-                        <el-option
23
-                                v-for="item,index in items"
24
-                                :key="index"
25
-                                :label="item.name"
26
-                                :value="item.id">
27
-                        </el-option>
28
-                    </el-select>
29
-                    <el-date-picker
30
-                            v-model="chargeDate"
31
-                            type="daterange"
32
-                            value-format="yyyy-MM-dd"
33
-                            range-separator="至"
34
-                            start-placeholder="开始日期"
35
-                            @change="changeDate"
36
-                            end-placeholder="结束日期">
37
-                    </el-date-picker>
38
-                    <!--<el-radio v-model="radio" label="1">明细</el-radio>-->
39
-                    <!--<el-radio v-model="radio" label="2">汇总</el-radio>-->
40
-                </div>
41
-                <div>
42
-                    <!-- <el-popover
43
-                      placement="bottom"
44
-                      width="210"
45
-                      trigger="click">
46
-                      <el-button size="small" ref="button_two" @click="open(1)">打印清单</el-button>
47
-                      <el-button size="small" ref="button_six" @click="open(2)">打印汇总</el-button>
48
-                      <el-button slot="reference" style="margin:0 10px;" type="primary" size="small">打印</el-button>
49
-
50
-                    </el-popover> -->
51
-                    <el-button size="small" type="primary" @click="export_detail">报表下载</el-button>
52
-                </div>
53
-            </div>
54
-            <el-table :data="tableData" border :row-style="{ color: '#303133' }"
55
-                      :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
56
-                      show-summary
57
-                      v-loading="settle_loading"
58
-                      max-height="600"
59
-                      :span-method="merge"
60
-                      :summary-method="getTotal"
61
-                      highlight-current-row>
62
-
63
-                <el-table-column align="center" prop="name" label="患者名字">
64
-                    <template slot-scope="scope">{{ scope.row.other_name }}</template>
65
-                </el-table-column>
66
-                <el-table-column align="center" prop="item_name" label="结算日期">
67
-                    <template slot-scope="scope">
68
-                        {{scope.row.setl_time?scope.row.setl_time.split(" ")[0]:getTimes(scope.row.settle_accounts_date)}}
69
-                    </template>
70
-                </el-table-column>
71
-
72
-                <el-table-column align="center" prop="item_name" label="结算类型">
73
-                    <template slot-scope="scope">
74
-                        <div v-if="scope.row.is_medicine_insurance == 0">自费</div>
75
-                        <div v-if="scope.row.is_medicine_insurance == 1">医保</div>
76
-                    </template>
77
-                </el-table-column>
78
-                <el-table-column align="center" prop="item_name" label="处方类型">
79
-                    <template slot-scope="scope">
80
-                        <div v-if="scope.row.med_type == '14'">门诊特殊病</div>
81
-                        <div v-if="scope.row.med_type == '11'">普通门诊</div>
82
-                    </template>
83
-                </el-table-column>
84
-                <el-table-column align="center" prop="item_name" label="医疗费总额">
85
-                    <template slot-scope="scope">{{scope.row.medfee_sumamt}}</template>
86
-                </el-table-column>
87
-                <el-table-column align="center" prop="item_name" label="基金支付金额">
88
-                    <template slot-scope="scope">{{scope.row.fund_pay_sumamt}}</template>
89
-                </el-table-column>
90
-                <el-table-column align="center" prop="item_name" label="个人账户支付金额">
91
-                    <template slot-scope="scope">{{scope.row.acct_pay}}</template>
92
-                </el-table-column>
93
-                <el-table-column align="center" prop="item_name" label="个人支付金额">
94
-                    <template slot-scope="scope">{{scope.row.psn_cash_pay}}</template>
95
-                </el-table-column>
96
-                <el-table-column align="center" prop="total" label="费用总额">
97
-                    <template slot-scope="scope">
98
-                        <div>{{scope.row.total.toFixed(2)}}</div>
99
-                    </template>
100
-                </el-table-column>
101
-
102
-            </el-table>
103
-        </div>
104
-
105
-    </div>
2
+  <div>
3
+      <div style="display: flex;justify-content: space-between;margin-bottom:10px;">
4
+          <div>
5
+              <!--<el-button size="small" style="margin-left:10px;" class="filter-item" type="primary"-->
6
+              <!--@click="Action">-->
7
+              <!--导出-->
8
+              <!--</el-button>-->
9
+              <el-input size="small" style="width:150px;" v-model="keywords" @input="searchAction"
10
+                        @keyup.enter.native='searchAction'
11
+                        class="filter-item"/>
12
+              <el-select size="small" v-model="item_type" placeholder="请选择"
13
+                          style="width:150px;margin-left:10px;" @change="changeItem">
14
+                  <el-option
15
+                          label="全部"
16
+                          value="0">
17
+                  </el-option>
18
+                  <el-option
19
+                          v-for="item,index in items"
20
+                          :key="index"
21
+                          :label="item.name"
22
+                          :value="item.id">
23
+                  </el-option>
24
+              </el-select>
25
+              <el-date-picker
26
+                      v-model="chargeDate"
27
+                      type="daterange"
28
+                      value-format="yyyy-MM-dd"
29
+                      range-separator="至"
30
+                      start-placeholder="开始日期"
31
+                      @change="changeDate"
32
+                      end-placeholder="结束日期">
33
+              </el-date-picker>
34
+              <!--<el-radio v-model="radio" label="1">明细</el-radio>-->
35
+              <!--<el-radio v-model="radio" label="2">汇总</el-radio>-->
36
+          </div>
37
+          <div>
38
+              <!-- <el-popover
39
+                placement="bottom"
40
+                width="210"
41
+                trigger="click">
42
+                <el-button size="small" ref="button_two" @click="open(1)">打印清单</el-button>
43
+                <el-button size="small" ref="button_six" @click="open(2)">打印汇总</el-button>
44
+                <el-button slot="reference" style="margin:0 10px;" type="primary" size="small">打印</el-button>
45
+
46
+              </el-popover> -->
47
+              <el-button size="small" type="primary" @click="export_detail">报表下载</el-button>
48
+          </div>
49
+      </div>
50
+      <el-table :data="tableData" border :row-style="{ color: '#303133' }" ref="report-table"
51
+                :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
52
+                show-summary
53
+                v-loading="settle_loading"
54
+                max-height="600"
55
+                :span-method="merge"
56
+                :summary-method="getTotal"
57
+                highlight-current-row>
58
+
59
+          <el-table-column align="center" prop="name" label="患者名字">
60
+              <template slot-scope="scope">{{ scope.row.other_name }}</template>
61
+          </el-table-column>
62
+          <el-table-column align="center" prop="item_name" label="结算日期">
63
+              <template slot-scope="scope">
64
+                  {{scope.row.setl_time?scope.row.setl_time.split(" ")[0]:getTimes(scope.row.settle_accounts_date)}}
65
+              </template>
66
+          </el-table-column>
67
+
68
+          <el-table-column align="center" prop="item_name" label="结算类型">
69
+              <template slot-scope="scope">
70
+                  <div v-if="scope.row.is_medicine_insurance == 0">自费</div>
71
+                  <div v-if="scope.row.is_medicine_insurance == 1">医保</div>
72
+              </template>
73
+          </el-table-column>
74
+          <el-table-column align="center" prop="item_name" label="处方类型">
75
+              <template slot-scope="scope">
76
+                  <div v-if="scope.row.med_type == '14'">门诊特殊病</div>
77
+                  <div v-if="scope.row.med_type == '11'">普通门诊</div>
78
+              </template>
79
+          </el-table-column>
80
+          <el-table-column align="center" prop="item_name" label="医疗费总额">
81
+              <template slot-scope="scope">{{scope.row.medfee_sumamt}}</template>
82
+          </el-table-column>
83
+          <el-table-column align="center" prop="item_name" label="基金支付金额">
84
+              <template slot-scope="scope">{{scope.row.fund_pay_sumamt}}</template>
85
+          </el-table-column>
86
+          <el-table-column align="center" prop="item_name" label="个人账户支付金额">
87
+              <template slot-scope="scope">{{scope.row.acct_pay}}</template>
88
+          </el-table-column>
89
+          <el-table-column align="center" prop="item_name" label="个人支付金额">
90
+              <template slot-scope="scope">{{scope.row.psn_cash_pay}}</template>
91
+          </el-table-column>
92
+          <el-table-column align="center" prop="total" label="费用总额">
93
+              <template slot-scope="scope">
94
+                  <div>{{scope.row.total.toFixed(2)}}</div>
95
+              </template>
96
+          </el-table-column>
97
+
98
+      </el-table>
99
+  </div>
106
 </template>
100
 </template>
107
 
101
 
108
 
102
 
377
           const tHeader = [ '患者姓名', '结算日期', '结算类型', '处方类型', '医疗费总额', '基金支付金额', '个人账户支付金额', '个人支付基金', '费用总额']
371
           const tHeader = [ '患者姓名', '结算日期', '结算类型', '处方类型', '医疗费总额', '基金支付金额', '个人账户支付金额', '个人支付基金', '费用总额']
378
           const filterVal = [ '患者姓名', '结算日期', '结算类型', '处方类型', '医疗费总额', '基金支付金额', '个人账户支付金额', '个人支付基金', '费用总额']
372
           const filterVal = [ '患者姓名', '结算日期', '结算类型', '处方类型', '医疗费总额', '基金支付金额', '个人账户支付金额', '个人支付基金', '费用总额']
379
           const data = this.formatJson(filterVal, list)
373
           const data = this.formatJson(filterVal, list)
380
-          excel.export_json_to_excel({
374
+          excel.export_json_to_excel1({
381
             header: tHeader,
375
             header: tHeader,
382
             data,
376
             data,
383
-            filename: '结算明细'
377
+            filename: '结算明细',
378
+            ref:this.$refs['report-table'].$el
384
           })
379
           })
385
         })
380
         })
386
 
381
 

+ 5 - 9
src/xt_pages/outpatientTool/summary.vue Прегледај датотеку

6
         <div class="app-container" style="display:flex;flex: 1;padding: 10px 20px 0px 20px;">
6
         <div class="app-container" style="display:flex;flex: 1;padding: 10px 20px 0px 20px;">
7
 
7
 
8
             <div class="mainRight">
8
             <div class="mainRight">
9
-                <div class="mainHeader">
10
-                    <el-tabs v-model="titleType" @tab-click="handleClick"
11
-                             style="position: fixed;width: calc(100% - 490px);background:#fff;">
12
-                        <el-tab-pane label="明细" name="明细"></el-tab-pane>
13
-                        <el-tab-pane label="汇总" name="汇总"></el-tab-pane>
14
-                        <el-tab-pane label="结算" name="结算"></el-tab-pane>
15
-                    </el-tabs>
16
-
17
-                </div>
9
+                <el-tabs v-model="titleType" @tab-click="handleClick">
10
+                    <el-tab-pane label="明细" name="明细"></el-tab-pane>
11
+                    <el-tab-pane label="汇总" name="汇总"></el-tab-pane>
12
+                    <el-tab-pane label="结算" name="结算"></el-tab-pane>
13
+                </el-tabs>
18
                 <detail v-if="titleType == '明细'"></detail>
14
                 <detail v-if="titleType == '明细'"></detail>
19
                 <gather v-if="titleType == '汇总'"></gather>
15
                 <gather v-if="titleType == '汇总'"></gather>
20
                 <settle v-if="titleType == '结算'"></settle>
16
                 <settle v-if="titleType == '结算'"></settle>