|
@@ -26,11 +26,23 @@
|
|
|
<el-button type="primary" icon="DataAnalysis" @click="setlDtlCheck">明细对账</el-button>
|
|
|
</el-header>
|
|
|
<el-main>
|
|
|
- <el-table :data="cptSetlinfos.slice(pageSize * (currentPage - 1), pageSize * currentPage)" stripe :height="tableHeight" highlight-current-row>
|
|
|
+ <el-table
|
|
|
+ :data="cptSetlinfos.slice(pageSize * (currentPage - 1), pageSize * currentPage)"
|
|
|
+ stripe
|
|
|
+ :height="tableHeight"
|
|
|
+ highlight-current-row
|
|
|
+ @row-dblclick="selectSetlDetail"
|
|
|
+ >
|
|
|
<el-table-column type="index" label="序号"></el-table-column>
|
|
|
<el-table-column prop="patNo" label="住院号/门诊号"></el-table-column>
|
|
|
<el-table-column prop="times" label="次数"></el-table-column>
|
|
|
- <el-table-column prop="psnName" label="姓名"></el-table-column>
|
|
|
+ <el-table-column prop="psnName" label="姓名">
|
|
|
+ <template #default="scope">
|
|
|
+ <el-button text @click="setlListInfo(scope.row)" type="primary">
|
|
|
+ {{ scope.row.psnName }}
|
|
|
+ </el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
<el-table-column prop="gendName" label="性别"></el-table-column>
|
|
|
<el-table-column prop="brdy" label="出生日期"></el-table-column>
|
|
|
<el-table-column prop="insutypeName" label="险种类型"></el-table-column>
|
|
@@ -75,6 +87,35 @@
|
|
|
<el-dialog v-model="showSetlinfo" title="结算信息" :close-on-click-modal="false" width="70%">
|
|
|
<Setlinfo :setlinfo="setlinfo" />
|
|
|
</el-dialog>
|
|
|
+ <el-dialog v-model="showSetlPrescription" title="结算详情" :close-on-click-modal="false" width="82%">
|
|
|
+ <el-table :data="setlDetails" stripe :height="500" highlight-current-row>
|
|
|
+ <el-table-column type="index" label="序号"></el-table-column>
|
|
|
+ <el-table-column prop="mdtrtId" label="就诊ID"></el-table-column>
|
|
|
+ <el-table-column prop="setlId" label="结算ID" width="80"></el-table-column>
|
|
|
+ <el-table-column prop="hilistName" label="收费医保目录名称" width="280" align="left" show-overflow-tooltip></el-table-column>
|
|
|
+ <el-table-column prop="feeOcurTime" label="发生时间" width="120" sortable></el-table-column>
|
|
|
+ <el-table-column prop="totalFee" label="费用" sortable></el-table-column>
|
|
|
+ <el-table-column prop="pric" label="单价" sortable></el-table-column>
|
|
|
+ <el-table-column prop="cnt" label="数量" sortable></el-table-column>
|
|
|
+ <el-table-column prop="chrgitmLvName" label="收费目录等级"></el-table-column>
|
|
|
+ <el-table-column prop="bilgDeptName" label="开单科室"></el-table-column>
|
|
|
+ <el-table-column prop="bilgDrName" label="开单医生"></el-table-column>
|
|
|
+ <el-table-column prop="opterName" label="经办人"></el-table-column>
|
|
|
+ <el-table-column prop="optTime" label="经办时间" width="120"></el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </el-dialog>
|
|
|
+ <el-dialog v-model="showSetlList" title="医保结算单" :close-on-click-modal="false" fullscreen>
|
|
|
+ <div style="width: 856px; padding: 20px; background: white; text-align: center">
|
|
|
+ <div style="width: 100%; text-align: center; font-size: 22px; font-weight: bold; margin-bottom: 4px">{{ listTitle }}</div>
|
|
|
+ <div style="width: 100%; display: flex; font-size: 15px; margin-bottom: 8px">
|
|
|
+ <div style="width: 50%; text-align: left">统筹区划:{{ setlListDetail.insuplcAdmdvsName }}</div>
|
|
|
+ <div style="width: 50%; text-align: right">打印日期:{{ nowdate }}</div>
|
|
|
+ </div>
|
|
|
+ <InpatientSetlList v-if="settleType === '21'" :setlinfo="setlListDetail" />
|
|
|
+ <OtherOutpatientSetlList v-if="settleType === '11' && !isEmployeeOutpatient" :setlinfo="setlListDetail" />
|
|
|
+ <EmployeeOutpatientSetlList v-if="settleType === '11' && isEmployeeOutpatient" :setlinfo="setlListDetail" />
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
</el-main>
|
|
|
</el-container>
|
|
|
</template>
|
|
@@ -85,14 +126,20 @@ import store from '@/store'
|
|
|
import { getClrTypes, getInsutypes } from '@/api/medical-insurance/si-dict'
|
|
|
import { setlShtcuts } from '@/data/shortcuts'
|
|
|
import { ElMessage, ElMessageBox } from 'element-plus'
|
|
|
-import { institutionSettlementDetailCheck, institutionSettlementLedgerCheck, selectSetlinfos } from '@/api/medical-insurance/si-manage'
|
|
|
-import { querySettlementInfo } from '@/api/medical-insurance/si-query'
|
|
|
-import { formatDate } from '@/utils/date'
|
|
|
+import { institutionSettlementDetailCheck, institutionSettlementLedgerCheck, selectSetlinfos, selectSetlPrescription } from '@/api/medical-insurance/si-manage'
|
|
|
+import { querySettlementInfo, querySiSetlList } from '@/api/medical-insurance/si-query'
|
|
|
+import { formatDate, getDate } from '@/utils/date'
|
|
|
import Setlinfo from '../../../components/medical-insurance/setlinfo/Index.vue'
|
|
|
+import InpatientSetlList from '@/components/medical-insurance/settle-detail-list/InpatientSetlList.vue'
|
|
|
+import OtherOutpatientSetlList from '@/components/medical-insurance/settle-detail-list/OtherOutpatientSetlList.vue'
|
|
|
+import EmployeeOutpatientSetlList from '@/components/medical-insurance/settle-detail-list/EmployeeOutpatientSetlList.vue'
|
|
|
|
|
|
export default {
|
|
|
components: {
|
|
|
Setlinfo,
|
|
|
+ InpatientSetlList,
|
|
|
+ OtherOutpatientSetlList,
|
|
|
+ EmployeeOutpatientSetlList,
|
|
|
},
|
|
|
setup() {
|
|
|
const windowSize = store.state.app.windowSize
|
|
@@ -242,6 +289,52 @@ export default {
|
|
|
})
|
|
|
}
|
|
|
|
|
|
+ // -----------------------查询结算单住院/门诊诊断处方明细----------------------------
|
|
|
+ const setlDetails = ref([])
|
|
|
+ const showSetlPrescription = ref(false)
|
|
|
+
|
|
|
+ const selectSetlDetail = (row) => {
|
|
|
+ selectSetlPrescription(row.mdtrtId)
|
|
|
+ .then((res) => {
|
|
|
+ setlDetails.value = res
|
|
|
+ showSetlPrescription.value = true
|
|
|
+ })
|
|
|
+ .catch(() => {
|
|
|
+ setlDetails.value = []
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ // --------------------------跳转结算清单查询页-------------------------------------
|
|
|
+ const showSetlList = ref(false)
|
|
|
+ const isEmployeeOutpatient = ref(false)
|
|
|
+ const isProvincial = ref(false)
|
|
|
+ const nowdate = getDate()
|
|
|
+ const settleType = ref('21')
|
|
|
+ const setlListDetail = ref({})
|
|
|
+ const listTitle = computed(() => {
|
|
|
+ if (settleType.value === '21') {
|
|
|
+ return '湖南省长沙市住院费用结算单'
|
|
|
+ }
|
|
|
+ if (!isEmployeeOutpatient.value) {
|
|
|
+ return '湖南省长沙市(普通、特殊)门诊费用结算单'
|
|
|
+ }
|
|
|
+ return isProvincial.value ? '湖南省省本级门诊统筹费用结算单' : '湖南省长沙市门诊统筹费用结算单'
|
|
|
+ })
|
|
|
+ const setlListInfo = (row) => {
|
|
|
+ settleType.value = row.setlType
|
|
|
+ isEmployeeOutpatient.value = row.insutype === '310'
|
|
|
+ isProvincial.value = row.insuplcAdmdvs === '439900'
|
|
|
+ const params = {
|
|
|
+ type: row.setlType,
|
|
|
+ patNo: row.patNo,
|
|
|
+ label: row.setlId + '_' + row.times + '_' + row.ledgerSn,
|
|
|
+ }
|
|
|
+ querySiSetlList(params).then((res) => {
|
|
|
+ setlListDetail.value = res
|
|
|
+ showSetlList.value = true
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
onMounted(() => {
|
|
|
getInsutypes().then((res) => {
|
|
|
insutypes.value = res
|
|
@@ -256,10 +349,15 @@ export default {
|
|
|
insutypes,
|
|
|
clrTypes,
|
|
|
dateRange,
|
|
|
+ nowdate,
|
|
|
+ listTitle,
|
|
|
slctSetlPrm,
|
|
|
setlShtcuts,
|
|
|
setlinfos,
|
|
|
cptSetlinfos,
|
|
|
+ setlDetails,
|
|
|
+ showSetlPrescription,
|
|
|
+ selectSetlDetail,
|
|
|
pageSize,
|
|
|
currentPage,
|
|
|
setlDtlCheckRslt,
|
|
@@ -268,6 +366,11 @@ export default {
|
|
|
setlinfo,
|
|
|
showSetlinfo,
|
|
|
getSetlinfo,
|
|
|
+ setlListInfo,
|
|
|
+ showSetlList,
|
|
|
+ isEmployeeOutpatient,
|
|
|
+ settleType,
|
|
|
+ setlListDetail,
|
|
|
handleCurrentChange,
|
|
|
handleSizeChange,
|
|
|
getSetlInfos,
|
|
@@ -295,3 +398,10 @@ function calSumamt(list) {
|
|
|
return { medSum, fundSum, acctSum, psnCashPay }
|
|
|
}
|
|
|
</script>
|
|
|
+
|
|
|
+<style scoped>
|
|
|
+:deep(.el-dialog__body) {
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+}
|
|
|
+</style>
|