|
|
@@ -1,28 +1,57 @@
|
|
|
<template>
|
|
|
<el-container>
|
|
|
<el-header style="height: 35px; margin-top: 8px">
|
|
|
- <el-input size="small" v-model="patNo" clearable style="width: 260px" placeholder="此项可以为空">
|
|
|
- <template #prepend>住院号/门诊ID</template>
|
|
|
- </el-input>
|
|
|
+ <el-input size="mini" v-model="patNo" clearable style="width: 120px" placeholder="住院/门诊号"></el-input>
|
|
|
<el-date-picker
|
|
|
- v-model="dateRange"
|
|
|
- type="daterange"
|
|
|
- :shortcuts="maxHalfYear"
|
|
|
- range-separator="至"
|
|
|
- start-placeholder="开始日期"
|
|
|
- end-placeholder="结束日期"
|
|
|
- size="small"
|
|
|
- style="width: 240px"
|
|
|
+ v-model="dateRange"
|
|
|
+ type="daterange"
|
|
|
+ :shortcuts="maxHalfYear"
|
|
|
+ range-separator="至"
|
|
|
+ start-placeholder="开始日期"
|
|
|
+ end-placeholder="结束日期"
|
|
|
+ size="mini"
|
|
|
+ style="width: 240px"
|
|
|
></el-date-picker>
|
|
|
+ <el-input v-show="benYuanFlag" size="mini" v-model="name" clearable style="width: 120px"
|
|
|
+ placeholder="姓名"></el-input>
|
|
|
+ <el-input v-show="benYuanFlag" size="mini" v-model="certno" clearable style="width: 120px"
|
|
|
+ placeholder="身份证"></el-input>
|
|
|
<el-divider direction="vertical"></el-divider>
|
|
|
+ <div class="benYuanFlagDiv">
|
|
|
+ <input type="checkbox" v-model="benYuanFlag" style="cursor: pointer"
|
|
|
+ id="benYuanFlagCheckbox"> <span @click="benYuanFlag = !benYuanFlag">查询本院</span>
|
|
|
+ </div>
|
|
|
<el-button type="primary" icon="el-icon-search" @click="getInhospInfo">查询</el-button>
|
|
|
- <el-button type="primary" @click="beforeGetCumulativeInfo">累计信息查询</el-button>
|
|
|
- <el-button type="success" @click="beforeGetRefMedins">转院查询</el-button>
|
|
|
- <el-button type="success" @click="beforeTransHospRcd">转院备案</el-button>
|
|
|
- <el-button type="success" @click="beforeCancelTransHospRcd">转院备案撤销</el-button>
|
|
|
+ <el-divider direction="vertical"></el-divider>
|
|
|
+ <div style="display: inline-flex;" v-if="benYuanFlag">
|
|
|
+ <el-button type="primary" icon="el-icon-download" @click="benYuanDownload" :disabled="inhosps.length === 0">导出
|
|
|
+ </el-button>
|
|
|
+ </div>
|
|
|
+ <div style="display: inline-flex;" v-else>
|
|
|
+ <el-button type="primary" @click="beforeGetCumulativeInfo">累计信息查询</el-button>
|
|
|
+ <el-button type="success" @click="beforeGetRefMedins">转院查询</el-button>
|
|
|
+ <el-button type="success" @click="beforeTransHospRcd">转院备案</el-button>
|
|
|
+ <el-button type="success" @click="beforeCancelTransHospRcd">转院备案撤销</el-button>
|
|
|
+ </div>
|
|
|
+
|
|
|
</el-header>
|
|
|
<el-main>
|
|
|
- <el-table :data="inhosps.slice((currentPage - 1) * pageSize, currentPage * pageSize)" stripe highlight-current-row :height="tableHeight" @row-click="handleClickInHospInfo">
|
|
|
+ <el-table v-if="benYuanFlag" :data="inhosps.slice((currentPage - 1) * pageSize, currentPage * pageSize)" stripe
|
|
|
+ highlight-current-row :height="tableHeight">
|
|
|
+ <el-table-column prop="inpatientNo" label="住院号"></el-table-column>
|
|
|
+ <el-table-column prop="admissTimes" label="住院次数"></el-table-column>
|
|
|
+ <el-table-column prop="name" label="姓名"></el-table-column>
|
|
|
+ <el-table-column prop="responceTypeName" label="医保身份"></el-table-column>
|
|
|
+ <el-table-column prop="referPhysicianName" label="管床医生"></el-table-column>
|
|
|
+ <el-table-column prop="sexName" label="性别"></el-table-column>
|
|
|
+ <el-table-column prop="smallDeptName" label="入院科室"></el-table-column>
|
|
|
+ <el-table-column prop="disDiag" label="诊断代码"></el-table-column>
|
|
|
+ <el-table-column prop="disDiagComment" label="诊断名称"></el-table-column>
|
|
|
+ <el-table-column prop="totalCharge" label="总费用"></el-table-column>
|
|
|
+ </el-table>
|
|
|
+ <el-table v-else :data="inhosps.slice((currentPage - 1) * pageSize, currentPage * pageSize)" stripe
|
|
|
+ highlight-current-row
|
|
|
+ :height="tableHeight" @row-click="handleClickInHospInfo">
|
|
|
<el-table-column prop="mdtrtId" label="就诊Id"></el-table-column>
|
|
|
<el-table-column prop="psnNo" label="人员编号"></el-table-column>
|
|
|
<el-table-column prop="psnCertTypeName" label="人员证件类型"></el-table-column>
|
|
|
@@ -37,14 +66,14 @@
|
|
|
<el-table-column prop="outFlagName" label="异地标志"></el-table-column>
|
|
|
</el-table>
|
|
|
<el-pagination
|
|
|
- @size-change="handleSizeChange"
|
|
|
- @current-change="handleCurrentChange"
|
|
|
- :current-page="currentPage"
|
|
|
- :page-sizes="[15, 30, 45, 70, 100]"
|
|
|
- :page-size="pageSize"
|
|
|
- layout="total, sizes, prev, pager, next, jumper"
|
|
|
- :total="inhosps.length"
|
|
|
- style="margin-top: 5px"
|
|
|
+ @size-change="handleSizeChange"
|
|
|
+ @current-change="handleCurrentChange"
|
|
|
+ :current-page="currentPage"
|
|
|
+ :page-sizes="[15, 30, 45, 70, 100]"
|
|
|
+ :page-size="pageSize"
|
|
|
+ layout="total, sizes, prev, pager, next, jumper"
|
|
|
+ :total="inhosps.length"
|
|
|
+ style="margin-top: 5px"
|
|
|
></el-pagination>
|
|
|
<el-dialog v-model="showTrsHspRcdInfo" title="转院备案" width="70%" :close-on-click-modal="false">
|
|
|
<el-row :gutter="5">
|
|
|
@@ -183,24 +212,25 @@
|
|
|
<el-table-column prop="enddate" label="结束日期"></el-table-column>
|
|
|
<el-table-column label="操作">
|
|
|
<template #default="scope">
|
|
|
- <el-button type="warning" icon="el-icon-refresh-left" @click="executeCancelTransHospRcd(scope.row)">撤销</el-button>
|
|
|
+ <el-button type="warning" icon="el-icon-refresh-left" @click="executeCancelTransHospRcd(scope.row)">撤销
|
|
|
+ </el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
</el-dialog>
|
|
|
<el-dialog title="人员累计信息查询" v-model="showCumInfo" width="50%">
|
|
|
- <Cuminfo :psn-no="currentInHospInfo.psnNo" />
|
|
|
+ <Cuminfo :psn-no="currentInHospInfo.psnNo"/>
|
|
|
</el-dialog>
|
|
|
<el-dialog title="转院信息查询" v-model="showRefMedins" width="70%">
|
|
|
<el-date-picker
|
|
|
- v-model="refMedinsRange"
|
|
|
- type="daterange"
|
|
|
- :shortcuts="maxHalfYear"
|
|
|
- range-separator="至"
|
|
|
- start-placeholder="开始日期"
|
|
|
- end-placeholder="结束日期"
|
|
|
- size="small"
|
|
|
- style="width: 240px"
|
|
|
+ v-model="refMedinsRange"
|
|
|
+ type="daterange"
|
|
|
+ :shortcuts="maxHalfYear"
|
|
|
+ range-separator="至"
|
|
|
+ start-placeholder="开始日期"
|
|
|
+ end-placeholder="结束日期"
|
|
|
+ size="small"
|
|
|
+ style="width: 240px"
|
|
|
></el-date-picker>
|
|
|
<el-divider direction="vertical"></el-divider>
|
|
|
<el-button type="primary" icon="el-icon-search" @click="executeGetRefMedins">查询</el-button>
|
|
|
@@ -238,15 +268,28 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import { onMounted, ref } from 'vue'
|
|
|
-import { maxHalfYear } from '@/data/shortcuts'
|
|
|
-import { ElMessage } from 'element-plus'
|
|
|
-import { obtainMedicalInstitutionInfo, queryInHospitalPatientsInfo, queryInsuplcAdmdvsByMdtrtId, queryPersonnelTransferHospitalInfo } from '@/api/medical-insurance/si-query'
|
|
|
-import { formatDatetime } from '@/utils/date'
|
|
|
+import {onMounted, ref, watch} from 'vue'
|
|
|
+import {maxHalfYear} from '@/data/shortcuts'
|
|
|
+import {ElMessage} from 'element-plus'
|
|
|
+import {
|
|
|
+ obtainMedicalInstitutionInfo,
|
|
|
+ queryInHospitalPatientsInfo,
|
|
|
+ queryInsuplcAdmdvsByMdtrtId,
|
|
|
+ queryPersonnelTransferHospitalInfo, weiJieSuanZaiYuanHuanZhe
|
|
|
+} from '../../../api/medical-insurance/si-query'
|
|
|
+import {formatDatetime} from '@/utils/date'
|
|
|
import store from '@/store'
|
|
|
-import { getHospTypes, getReflTypes } from '@/api/medical-insurance/si-dict'
|
|
|
-import { getAllTrsHospRcdByPsnNo, revokeTransferHospitalRecord, transferHospitalRecord } from '@/api/medical-insurance/si-psn-rcd'
|
|
|
+import {getHospTypes, getReflTypes} from '@/api/medical-insurance/si-dict'
|
|
|
+import {
|
|
|
+ getAllTrsHospRcdByPsnNo,
|
|
|
+ revokeTransferHospitalRecord,
|
|
|
+ transferHospitalRecord
|
|
|
+} from '@/api/medical-insurance/si-psn-rcd'
|
|
|
import Cuminfo from '../../../components/medical-insurance/cuminfo/Index.vue'
|
|
|
+import {getDateRangeFormatDate} from "../../../utils/date";
|
|
|
+import {cptSex} from "../../../utils/computed"
|
|
|
+import {Export} from "../../../utils/ExportExcel";
|
|
|
+
|
|
|
export default {
|
|
|
components: {
|
|
|
Cuminfo,
|
|
|
@@ -274,6 +317,9 @@ export default {
|
|
|
const refMedins = ref([])
|
|
|
const showRefMedins = ref(false)
|
|
|
const refMedinsRange = ref(null)
|
|
|
+ const benYuanFlag = ref(false)
|
|
|
+ const name = ref('')
|
|
|
+ const certno = ref('') // 身份证
|
|
|
const nullDateRange = () => {
|
|
|
if (!dateRange.value) {
|
|
|
ElMessage({
|
|
|
@@ -305,17 +351,25 @@ export default {
|
|
|
currentPage.value = val
|
|
|
}
|
|
|
const getInhospInfo = () => {
|
|
|
- if (nullDateRange()) {
|
|
|
- return
|
|
|
- }
|
|
|
- const param = {
|
|
|
- patNo: patNo.value,
|
|
|
- begntime: formatDatetime(dateRange.value[0]),
|
|
|
- endtime: formatDatetime(dateRange.value[1]),
|
|
|
+ if (benYuanFlag.value) {
|
|
|
+ let dateS = getDateRangeFormatDate(dateRange.value)
|
|
|
+ weiJieSuanZaiYuanHuanZhe(patNo.value, dateS.startTime, dateS.endTime,
|
|
|
+ name.value, certno.value).then((res) => {
|
|
|
+ inhosps.value = res
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ if (nullDateRange()) {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ const param = {
|
|
|
+ patNo: patNo.value,
|
|
|
+ begntime: formatDatetime(dateRange.value[0]),
|
|
|
+ endtime: formatDatetime(dateRange.value[1]),
|
|
|
+ }
|
|
|
+ queryInHospitalPatientsInfo(param).then((res) => {
|
|
|
+ inhosps.value = res
|
|
|
+ })
|
|
|
}
|
|
|
- queryInHospitalPatientsInfo(param).then((res) => {
|
|
|
- inhosps.value = res
|
|
|
- })
|
|
|
}
|
|
|
|
|
|
const handleClickInHospInfo = (row) => {
|
|
|
@@ -455,6 +509,27 @@ export default {
|
|
|
// })
|
|
|
})
|
|
|
|
|
|
+ watch(() => benYuanFlag.value,
|
|
|
+ () => {
|
|
|
+ inhosps.value = []
|
|
|
+ })
|
|
|
+
|
|
|
+ const benYuanDownload = () => {
|
|
|
+ let title = {
|
|
|
+ inpatientNo: "住院号",
|
|
|
+ admissTimes: "住院次数",
|
|
|
+ name: "姓名",
|
|
|
+ responceTypeName: "医保身份",
|
|
|
+ referPhysicianName: "管床医生",
|
|
|
+ sexName: "性别",
|
|
|
+ smallDeptName: "入院科室",
|
|
|
+ disDiag: "诊断代码",
|
|
|
+ disDiagComment: "诊断名称",
|
|
|
+ totalCharge: "总费用",
|
|
|
+ }
|
|
|
+ Export(inhosps.value, title)
|
|
|
+ }
|
|
|
+
|
|
|
return {
|
|
|
tableHeight,
|
|
|
patNo,
|
|
|
@@ -494,7 +569,29 @@ export default {
|
|
|
searchHospitals,
|
|
|
dbClickMedins,
|
|
|
executeGetRefMedins,
|
|
|
+ benYuanFlag,
|
|
|
+ name,
|
|
|
+ certno,
|
|
|
+ cptSex,
|
|
|
+ benYuanDownload
|
|
|
}
|
|
|
},
|
|
|
}
|
|
|
</script>
|
|
|
+
|
|
|
+<style scoped>
|
|
|
+.required {
|
|
|
+ color: red
|
|
|
+}
|
|
|
+
|
|
|
+.benYuanFlagDiv {
|
|
|
+ display: inline-flex;
|
|
|
+ padding: 0 5px;
|
|
|
+ height: 28px;
|
|
|
+ cursor: pointer
|
|
|
+}
|
|
|
+
|
|
|
+.benYuanFlagDiv:hover {
|
|
|
+ color: #7373e7;
|
|
|
+}
|
|
|
+</style>
|