|
@@ -1,7 +1,8 @@
|
|
|
<template>
|
|
|
<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-date-picker v-model="setlConditon.month" type="month" style="width: 110px" placeholder="请选择"
|
|
|
+ :clearable="false"></el-date-picker>
|
|
|
<el-select v-model="setlConditon.admdvsType" placeholder="参保地归属" style="width: 120px">
|
|
|
<el-option v-for="item in insuOptins" :key="item.code" :value="item.code" :label="item.name"></el-option>
|
|
|
</el-select>
|
|
@@ -11,21 +12,24 @@
|
|
|
<el-divider direction="vertical"></el-divider>
|
|
|
<el-button type="success" icon="el-icon-search" @click="fetchSetlinfos">查询</el-button>
|
|
|
<el-button type="primary" icon="el-icon-download" @click="exportSetlinfoExcel">导出Excel</el-button>
|
|
|
+ <el-button @click="shangChuanShuJuDrawer = true" :disabled="setlinfos.length === 0">上传数据</el-button>
|
|
|
</el-header>
|
|
|
<el-main>
|
|
|
<el-table
|
|
|
- :data="setlinfos"
|
|
|
- row-key="childKey"
|
|
|
- :row-class-name="differChildrenRows"
|
|
|
- :max-height="tableHeight"
|
|
|
- highlight-current-row
|
|
|
- border
|
|
|
- show-summary
|
|
|
- @row-dblclick="fetchSetldetails"
|
|
|
+ :data="setlinfos"
|
|
|
+ row-key="childKey"
|
|
|
+ :row-class-name="differChildrenRows"
|
|
|
+ :max-height="tableHeight"
|
|
|
+ highlight-current-row
|
|
|
+ border
|
|
|
+ show-summary
|
|
|
+ @row-dblclick="fetchSetldetails"
|
|
|
>
|
|
|
<el-table-column label="参保地" width="144">
|
|
|
<template #default="scope">
|
|
|
- <div :style="admdvsNameStyle(scope.row.children, scope.row.isChildren)" class="ellipsis-text" :title="scope.row.admdvsName">{{ scope.row.admdvsName }}</div>
|
|
|
+ <div :style="admdvsNameStyle(scope.row.children, scope.row.isChildren)" class="ellipsis-text"
|
|
|
+ :title="scope.row.admdvsName">{{ scope.row.admdvsName }}
|
|
|
+ </div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="insutypeName" label="险种类型"></el-table-column>
|
|
@@ -37,11 +41,13 @@
|
|
|
<el-table-column prop="othFundpaySumamt" label="其他基金"></el-table-column>
|
|
|
<el-table-column prop="fundpaySumamt" label="全部基金"></el-table-column>
|
|
|
</el-table>
|
|
|
- <el-dialog v-model="showSetldetails" :close-on-click-modal="false" :close-on-press-escape="false" :title="filterDialogTitle" width="70%">
|
|
|
+ <el-dialog v-model="showSetldetails" :close-on-click-modal="false" :close-on-press-escape="false"
|
|
|
+ :title="filterDialogTitle" width="70%">
|
|
|
<div style="width: 130px; height: 36px; position: absolute; top: 16px; right: 60px">
|
|
|
<el-button type="primary" icon="el-icon-download" @click="exportSetldetailExcel">导出Excel</el-button>
|
|
|
</div>
|
|
|
- <el-table :data="setldetails.slice(pageSize * (currentPage - 1), pageSize * currentPage)" stripe highlight-current-row height="360" @row-dblclick="openSetlinfoComponent">
|
|
|
+ <el-table :data="setldetails.slice(pageSize * (currentPage - 1), pageSize * currentPage)" stripe
|
|
|
+ highlight-current-row height="360" @row-dblclick="openSetlinfoComponent">
|
|
|
<el-table-column type="index" label="序号" fixed width="40"></el-table-column>
|
|
|
<el-table-column prop="psnName" label="姓名" fixed width="60"></el-table-column>
|
|
|
<el-table-column prop="patNo" label="住院号" width="70"></el-table-column>
|
|
@@ -61,33 +67,71 @@
|
|
|
<el-table-column prop="psnCashPay" label="个人现金支出"></el-table-column>
|
|
|
</el-table>
|
|
|
<el-pagination
|
|
|
- @size-change="handleSizeChange"
|
|
|
- @current-change="handleCurrentChange"
|
|
|
- :current-page="currentPage"
|
|
|
- :page-sizes="[15, 30, 45, 60]"
|
|
|
- :page-size="pageSize"
|
|
|
- layout="total, sizes, prev, pager, next, jumper"
|
|
|
- :total="setldetails.length"
|
|
|
- style="margin-top: 5px"
|
|
|
+ @size-change="handleSizeChange"
|
|
|
+ @current-change="handleCurrentChange"
|
|
|
+ :current-page="currentPage"
|
|
|
+ :page-sizes="[15, 30, 45, 60]"
|
|
|
+ :page-size="pageSize"
|
|
|
+ layout="total, sizes, prev, pager, next, jumper"
|
|
|
+ :total="setldetails.length"
|
|
|
+ style="margin-top: 5px"
|
|
|
></el-pagination>
|
|
|
</el-dialog>
|
|
|
<el-dialog v-model="showSetlinfoComponent" title="结算信息" :close-on-click-modal="false" width="70%">
|
|
|
- <Setlinfo :setlinfo="currentSetldetail" />
|
|
|
+ <Setlinfo :setlinfo="currentSetldetail"/>
|
|
|
</el-dialog>
|
|
|
</el-main>
|
|
|
+ <el-drawer v-model="shangChuanShuJuDrawer" size="80%">
|
|
|
+ <el-select filterable size="mini" v-model="shangChuanLeiXing" style="width: 80px;margin-left: 10px"
|
|
|
+ @change="jieSuanDanCurrentPage = 1">
|
|
|
+ <el-option v-for="item in jieSuanDanLeiXingData" :key="item.code" :label="item.name" :value="item.code">
|
|
|
+ <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
|
|
|
+ <el-divider direction="vertical"></el-divider>
|
|
|
+ <span>{{ item.name }}</span></el-option>
|
|
|
+ </el-select>
|
|
|
+ <el-button style="margin-left: 20px" type="primary" icon="el-icon-download" @click="shangChuanDaoChu">导出Excel
|
|
|
+ </el-button>
|
|
|
+ <el-alert title="上传返回的流水如果没有,就代表该患者没有上传数据"></el-alert>
|
|
|
+ <el-table :data="cptShangChuanJieSuanDanData.slice((jieSuanDanCurrentPage - 1) * 40,jieSuanDanCurrentPage * 40 )"
|
|
|
+ highlight-current-row :height="tableHeight - 30">
|
|
|
+ <el-table-column prop="psnName" label="姓名" fixed width="60"></el-table-column>
|
|
|
+ <el-table-column prop="patNo" label="住院号" width="70"></el-table-column>
|
|
|
+ <el-table-column prop="times" label="次数" width="40"></el-table-column>
|
|
|
+ <el-table-column prop="insutypeName" label="险种类型"></el-table-column>
|
|
|
+ <el-table-column prop="setlTime" label="结算日期"></el-table-column>
|
|
|
+ <el-table-column prop="psnCashPay" label="现金支付"></el-table-column>
|
|
|
+ <el-table-column prop="fundPaySumamt" label="报销金额"></el-table-column>
|
|
|
+ <el-table-column prop="medfeeSumamt" label="总费用"></el-table-column>
|
|
|
+ <el-table-column prop="setlListId" label="上传返回流水"></el-table-column>
|
|
|
+ </el-table>
|
|
|
+ <el-pagination
|
|
|
+ :page-size="40"
|
|
|
+ layout="total, prev, pager, next"
|
|
|
+ :total="cptShangChuanJieSuanDanData.length"
|
|
|
+ @current-change="shangChuanCurrent"
|
|
|
+ :current-page="jieSuanDanCurrentPage"
|
|
|
+ >
|
|
|
+ </el-pagination>
|
|
|
+ </el-drawer>
|
|
|
</el-container>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import { computed, onMounted, reactive, ref } from 'vue'
|
|
|
-import { formatMonth } from '../../../utils/date'
|
|
|
-import { getInsutypes } from '@/api/medical-insurance/si-dict'
|
|
|
-import { useStore } from 'vuex'
|
|
|
-import { selectSetlinfoStatistics, selectSetldetailStatistics, querySettlementInfo } from '@/api/medical-insurance/si-query'
|
|
|
-import { ElMessage } from 'element-plus'
|
|
|
-import { Export } from '@/utils/ExportExcel'
|
|
|
-import { clone } from '../../../utils/clone'
|
|
|
+import {computed, onMounted, reactive, ref} from 'vue'
|
|
|
+import {formatMonth} from '../../../utils/date'
|
|
|
+import {getInsutypes} from '@/api/medical-insurance/si-dict'
|
|
|
+import {useStore} from 'vuex'
|
|
|
+import {
|
|
|
+ selectSetlinfoStatistics,
|
|
|
+ selectSetldetailStatistics,
|
|
|
+ querySettlementInfo
|
|
|
+} from '@/api/medical-insurance/si-query'
|
|
|
+import {ElMessage} from 'element-plus'
|
|
|
+import {Export} from '@/utils/ExportExcel'
|
|
|
+import {clone} from '../../../utils/clone'
|
|
|
import Setlinfo from '../../../components/medical-insurance/setlinfo/Index.vue'
|
|
|
+import {ExcelName} from "../../../utils/ExportExcel";
|
|
|
+
|
|
|
export default {
|
|
|
components: {
|
|
|
Setlinfo,
|
|
@@ -119,7 +163,7 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- const differChildrenRows = ({ row }) => {
|
|
|
+ const differChildrenRows = ({row}) => {
|
|
|
if (row.isChildren) {
|
|
|
return 'children-row'
|
|
|
}
|
|
@@ -150,12 +194,13 @@ export default {
|
|
|
}
|
|
|
setlConditon.month = formatMonth(setlConditon.month)
|
|
|
selectSetlinfoStatistics(setlConditon)
|
|
|
- .then((res) => {
|
|
|
- setlinfos.value = res
|
|
|
- })
|
|
|
- .catch(() => {
|
|
|
- setlinfos.value = []
|
|
|
- })
|
|
|
+ .then((res) => {
|
|
|
+ setlinfos.value = res
|
|
|
+ shangChuanJieSuanDanData.value = setlinfos.value[0].shangChuanJieSuanDan
|
|
|
+ })
|
|
|
+ .catch(() => {
|
|
|
+ setlinfos.value = []
|
|
|
+ })
|
|
|
}
|
|
|
|
|
|
const getSummaries = () => {
|
|
@@ -235,13 +280,13 @@ export default {
|
|
|
setlConditon.insuplcAdmdvs = row.insuplcAdmdvs
|
|
|
setlConditon.insutype = row.insutype
|
|
|
selectSetldetailStatistics(setlConditon)
|
|
|
- .then((res) => {
|
|
|
- setldetails.value = res
|
|
|
- showSetldetails.value = true
|
|
|
- })
|
|
|
- .catch(() => {
|
|
|
- setldetails.value = []
|
|
|
- })
|
|
|
+ .then((res) => {
|
|
|
+ setldetails.value = res
|
|
|
+ showSetldetails.value = true
|
|
|
+ })
|
|
|
+ .catch(() => {
|
|
|
+ setldetails.value = []
|
|
|
+ })
|
|
|
}
|
|
|
|
|
|
const showSetlinfoComponent = ref(false)
|
|
@@ -288,6 +333,43 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /// 结算单上传数据
|
|
|
+ const shangChuanShuJuDrawer = ref(false)
|
|
|
+ const shangChuanJieSuanDanData = ref([])
|
|
|
+ const jieSuanDanCurrentPage = ref(1)
|
|
|
+
|
|
|
+ const shangChuanLeiXing = ref(0)
|
|
|
+
|
|
|
+ const cptShangChuanJieSuanDanData = computed(() => {
|
|
|
+ return shangChuanJieSuanDanData.value.filter(item => {
|
|
|
+ if (shangChuanLeiXing.value === 0) {
|
|
|
+ return item
|
|
|
+ } else if (shangChuanLeiXing.value === 1) {
|
|
|
+ return item.setlListId === null
|
|
|
+ } else {
|
|
|
+ return item.setlListId !== null
|
|
|
+ }
|
|
|
+ })
|
|
|
+ })
|
|
|
+
|
|
|
+ const shangChuanCurrent = (val) => {
|
|
|
+ jieSuanDanCurrentPage.value = val
|
|
|
+ }
|
|
|
+ const shangChuanDaoChu = () => {
|
|
|
+ let title = {
|
|
|
+ psnName: '姓名',
|
|
|
+ patNo: '住院号',
|
|
|
+ times: '次数',
|
|
|
+ insutypeName: '险种类型',
|
|
|
+ setlTime: '结算日期',
|
|
|
+ psnCashPay: '现金支付',
|
|
|
+ fundPaySumamt: '报销金额',
|
|
|
+ medfeeSumamt: '总费用',
|
|
|
+ setlListId: '上传返回流水',
|
|
|
+ }
|
|
|
+ ExcelName(cptShangChuanJieSuanDanData.value, title)
|
|
|
+ }
|
|
|
+
|
|
|
onMounted(() => {
|
|
|
getInsutypes().then((res) => {
|
|
|
insutypes.value = res
|
|
@@ -316,6 +398,18 @@ export default {
|
|
|
fetchSetldetails,
|
|
|
openSetlinfoComponent,
|
|
|
exportSetldetailExcel,
|
|
|
+ shangChuanShuJuDrawer,
|
|
|
+ shangChuanJieSuanDanData,
|
|
|
+ shangChuanLeiXing,
|
|
|
+ cptShangChuanJieSuanDanData,
|
|
|
+ jieSuanDanCurrentPage,
|
|
|
+ shangChuanCurrent,
|
|
|
+ shangChuanDaoChu,
|
|
|
+ jieSuanDanLeiXingData: ref([
|
|
|
+ {code: 0, name: "全部"},
|
|
|
+ {code: 1, name: "未传"},
|
|
|
+ {code: 2, name: "已传"},
|
|
|
+ ])
|
|
|
}
|
|
|
},
|
|
|
}
|
|
@@ -350,12 +444,15 @@ function initInsuOptions() {
|
|
|
:deep(.el-table .children-row) {
|
|
|
background: rgba(145, 247, 145, 0.5);
|
|
|
}
|
|
|
+
|
|
|
:deep(.el-table--border td:first-child .cell, .el-table--border th:first-child .cell) {
|
|
|
padding-left: 4px;
|
|
|
}
|
|
|
+
|
|
|
:deep(.el-table) {
|
|
|
--el-table-row-hover-background-color: #85dbfd7a;
|
|
|
}
|
|
|
+
|
|
|
:deep(.el-table__footer-wrapper tbody td) {
|
|
|
background: #df4a25;
|
|
|
color: white;
|