|
@@ -2,7 +2,7 @@
|
|
|
<el-container>
|
|
|
<el-header style="height: 35px; margin-top: 10px">
|
|
|
<el-date-picker v-model="setlConditon.month" type="month" style="width: 110px" placeholder="请选择" :clearable="false"></el-date-picker>
|
|
|
- <el-select v-model="setlConditon.insutype" placeholder="险种类型" filterable clearable style="width: 150px">
|
|
|
+ <el-select v-model="setlConditon.insutype" placeholder="险种类型" filterable style="width: 200px">
|
|
|
<el-option v-for="item in insutypes" :key="item.code" :value="item.code" :label="item.name"></el-option>
|
|
|
</el-select>
|
|
|
<el-select v-model="setlConditon.admdvs" placeholder="参保地" style="width: 120px">
|
|
@@ -13,7 +13,7 @@
|
|
|
<el-button type="primary" icon="el-icon-download" @click="exportExcel">导出Excel</el-button>
|
|
|
</el-header>
|
|
|
<el-main>
|
|
|
- <el-table :data="setlinfos" stripe :height="tableHeight" highlight-current-row>
|
|
|
+ <el-table :data="setlinfos" stripe :max-height="tableHeight" highlight-current-row border show-summary>
|
|
|
<el-table-column type="index" label="序号"></el-table-column>
|
|
|
<el-table-column prop="admdvsName" label="参保地名称"></el-table-column>
|
|
|
<el-table-column prop="psnSumamt" label="人次"></el-table-column>
|
|
@@ -37,6 +37,7 @@ import { useStore } from 'vuex'
|
|
|
import { selectSetlinfoStatistics } from '@/api/medical-insurance/si-query'
|
|
|
import { ElMessage } from 'element-plus'
|
|
|
import { Export } from '@/utils/ExportExcel'
|
|
|
+import { clone } from '../../../utils/clone'
|
|
|
export default {
|
|
|
setup() {
|
|
|
const store = useStore()
|
|
@@ -91,6 +92,26 @@ export default {
|
|
|
})
|
|
|
}
|
|
|
|
|
|
+ const getSummaries = () => {
|
|
|
+ let sums = {
|
|
|
+ psnSumamt: 0,
|
|
|
+ medfeeSumamt: 0,
|
|
|
+ baseMedFundpaySumamt: 0,
|
|
|
+ bigDssFundpaySumamt: 0,
|
|
|
+ clvFundpaySumamt: 0,
|
|
|
+ othFundpaySumamt: 0,
|
|
|
+ acctpaySumamt: 0,
|
|
|
+ fundpaySumamt: 0,
|
|
|
+ }
|
|
|
+ setlinfos.value.forEach((itm) => {
|
|
|
+ for (let k in sums) {
|
|
|
+ sums[k] = Number(sums[k]) + Number(itm[k])
|
|
|
+ }
|
|
|
+ })
|
|
|
+ sums.admdvsName = '合计'
|
|
|
+ return sums
|
|
|
+ }
|
|
|
+
|
|
|
const filterInsutypeName = () => {
|
|
|
for (let i = 0; i < insutypes.value.length; i++) {
|
|
|
if (insutypes.value[i].code === setlConditon.insutype) {
|
|
@@ -116,6 +137,8 @@ export default {
|
|
|
showClose: true,
|
|
|
})
|
|
|
} else {
|
|
|
+ const data = clone(setlinfos.value)
|
|
|
+ data.push(getSummaries())
|
|
|
const title = {
|
|
|
admdvsName: '参保地名称',
|
|
|
psnSumamt: '人次',
|
|
@@ -129,7 +152,7 @@ export default {
|
|
|
}
|
|
|
const admdvsName = filterAdmdvsName()
|
|
|
const insutypeName = filterInsutypeName()
|
|
|
- Export(setlinfos.value, title, `【${setlConditon.month}】【${admdvsName}】【${insutypeName}】`)
|
|
|
+ Export(data, title, `【${setlConditon.month}】【${admdvsName}】【${insutypeName}】`)
|
|
|
}
|
|
|
}
|
|
|
|