|
@@ -22,6 +22,7 @@
|
|
|
<el-button type="primary" @click="getSetlInfo">结算信息</el-button>
|
|
|
<el-button type="primary" @click="getFeeDetl">费用明细</el-button>
|
|
|
<el-button type="primary" @click="getCumInfo">累计信息</el-button>
|
|
|
+ <el-button type="danger" @click="cancelRegister">撤销登记(限门诊)</el-button>
|
|
|
</template>
|
|
|
<template #main>
|
|
|
<el-tag type="success">就诊信息</el-tag>
|
|
@@ -89,181 +90,170 @@
|
|
|
</page-layer>
|
|
|
</template>
|
|
|
|
|
|
-<script>
|
|
|
+<script setup>
|
|
|
import {ref, onMounted} from 'vue'
|
|
|
import {maxHalfYear} from '@/data/shortcuts'
|
|
|
import {getMedAllTypes} from '@/api/medical-insurance/si-dict'
|
|
|
import {ElMessage} from 'element-plus'
|
|
|
import {queryDiagnosisInfo, querySettlementInfo, queryVisitInfo} from '@/api/medical-insurance/si-query'
|
|
|
+import {executeOutpatientRegRevoke} from '@/api/medical-insurance/si-outpatient'
|
|
|
import {formatDatetime} from '@/utils/date'
|
|
|
import MedfeeAnalyse from '../../../components/medical-insurance/medfee-analyse/Index.vue'
|
|
|
import Setlinfo from '../../../components/medical-insurance/setlinfo/Index.vue'
|
|
|
import Cuminfo from '../../../components/medical-insurance/cuminfo/Index.vue'
|
|
|
import PageLayer from "@/layout/PageLayer";
|
|
|
|
|
|
-export default {
|
|
|
- components: {
|
|
|
- PageLayer,
|
|
|
- MedfeeAnalyse,
|
|
|
- Setlinfo,
|
|
|
- Cuminfo,
|
|
|
- },
|
|
|
- setup() {
|
|
|
- const patNo = ref('')
|
|
|
- const medTypes = ref([])
|
|
|
- const medType = ref(null)
|
|
|
- const dateRange = ref(null)
|
|
|
- const mdtrtInfos = ref([])
|
|
|
- const mdtrtInfo = ref({})
|
|
|
- const diseInfos = ref([])
|
|
|
- const setlInfo = ref({})
|
|
|
- const feeDetls = ref([])
|
|
|
- const showDiagnosisInfo = ref(false)
|
|
|
- const showSetlInfo = ref(false)
|
|
|
- const showFeeDetl = ref(false)
|
|
|
- const showCumInfo = ref(false)
|
|
|
+const patNo = ref()
|
|
|
+const medTypes = ref([])
|
|
|
+const medType = ref(null)
|
|
|
+const dateRange = ref(null)
|
|
|
+const mdtrtInfos = ref([])
|
|
|
+const mdtrtInfo = ref({})
|
|
|
+const diseInfos = ref([])
|
|
|
+const setlInfo = ref({})
|
|
|
+const showDiagnosisInfo = ref(false)
|
|
|
+const showSetlInfo = ref(false)
|
|
|
+const showFeeDetl = ref(false)
|
|
|
+const showCumInfo = ref(false)
|
|
|
|
|
|
- const nullPatNo = () => {
|
|
|
- if (!patNo.value) {
|
|
|
- ElMessage({
|
|
|
- message: '请输入患者住院号/门诊ID!',
|
|
|
- type: 'warning',
|
|
|
- duration: 2000,
|
|
|
- showClose: true,
|
|
|
- })
|
|
|
- return true
|
|
|
- }
|
|
|
- return false
|
|
|
- }
|
|
|
+const nullPatNo = () => {
|
|
|
+ if (!patNo.value) {
|
|
|
+ ElMessage({
|
|
|
+ message: '请输入患者住院号/门诊ID!',
|
|
|
+ type: 'warning',
|
|
|
+ duration: 2000,
|
|
|
+ showClose: true,
|
|
|
+ })
|
|
|
+ return true
|
|
|
+ }
|
|
|
+ return false
|
|
|
+}
|
|
|
|
|
|
- const nullMedType = () => {
|
|
|
- if (!medType.value) {
|
|
|
- ElMessage({
|
|
|
- message: '请选择医疗类别!',
|
|
|
- type: 'warning',
|
|
|
- duration: 2000,
|
|
|
- showClose: true,
|
|
|
- })
|
|
|
- return true
|
|
|
- }
|
|
|
- return false
|
|
|
- }
|
|
|
+const nullMedType = () => {
|
|
|
+ if (!medType.value) {
|
|
|
+ ElMessage({
|
|
|
+ message: '请选择医疗类别!',
|
|
|
+ type: 'warning',
|
|
|
+ duration: 2000,
|
|
|
+ showClose: true,
|
|
|
+ })
|
|
|
+ return true
|
|
|
+ }
|
|
|
+ return false
|
|
|
+}
|
|
|
|
|
|
- const nullDateRange = () => {
|
|
|
- if (!dateRange.value) {
|
|
|
- ElMessage({
|
|
|
- message: '请选择日期范围!',
|
|
|
- type: 'warning',
|
|
|
- duration: 2000,
|
|
|
- showClose: true,
|
|
|
- })
|
|
|
- return true
|
|
|
- }
|
|
|
- return false
|
|
|
- }
|
|
|
+const nullDateRange = () => {
|
|
|
+ if (!dateRange.value) {
|
|
|
+ ElMessage({
|
|
|
+ message: '请选择日期范围!',
|
|
|
+ type: 'warning',
|
|
|
+ duration: 2000,
|
|
|
+ showClose: true,
|
|
|
+ })
|
|
|
+ return true
|
|
|
+ }
|
|
|
+ return false
|
|
|
+}
|
|
|
|
|
|
- const nullMdtrtInfo = () => {
|
|
|
- if (!mdtrtInfo.value.mdtrtId) {
|
|
|
- ElMessage({
|
|
|
- message: '请选择一条就诊信息!',
|
|
|
- type: 'warning',
|
|
|
- duration: 2000,
|
|
|
- showClose: true,
|
|
|
- })
|
|
|
- return true
|
|
|
- }
|
|
|
- return false
|
|
|
- }
|
|
|
+const nullMdtrtInfo = () => {
|
|
|
+ if (!mdtrtInfo.value.mdtrtId) {
|
|
|
+ ElMessage({
|
|
|
+ message: '请选择一条就诊信息!',
|
|
|
+ type: 'warning',
|
|
|
+ duration: 2000,
|
|
|
+ showClose: true,
|
|
|
+ })
|
|
|
+ return true
|
|
|
+ }
|
|
|
+ return false
|
|
|
+}
|
|
|
|
|
|
- const getVisitInfo = () => {
|
|
|
- if (nullPatNo() || nullMedType() || nullDateRange()) {
|
|
|
- return
|
|
|
- }
|
|
|
- const param = {
|
|
|
- patNo: patNo.value,
|
|
|
- medType: medType.value,
|
|
|
- begntime: formatDatetime(dateRange.value[0]),
|
|
|
- endtime: formatDatetime(dateRange.value[1]),
|
|
|
- }
|
|
|
- queryVisitInfo(param).then((res) => {
|
|
|
- mdtrtInfos.value = res
|
|
|
- })
|
|
|
- }
|
|
|
+const getVisitInfo = () => {
|
|
|
+ if (nullPatNo() || nullMedType() || nullDateRange()) {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ const param = {
|
|
|
+ patNo: patNo.value,
|
|
|
+ medType: medType.value,
|
|
|
+ begntime: formatDatetime(dateRange.value[0]),
|
|
|
+ endtime: formatDatetime(dateRange.value[1]),
|
|
|
+ }
|
|
|
+ queryVisitInfo(param).then((res) => {
|
|
|
+ mdtrtInfos.value = res
|
|
|
+ })
|
|
|
+}
|
|
|
|
|
|
- const handleClickMdtrtInfo = (row) => {
|
|
|
- mdtrtInfo.value = row
|
|
|
- }
|
|
|
+const handleClickMdtrtInfo = (row) => {
|
|
|
+ mdtrtInfo.value = row
|
|
|
+}
|
|
|
|
|
|
- const getDiseInfo = () => {
|
|
|
- if (nullMdtrtInfo()) {
|
|
|
- return
|
|
|
- }
|
|
|
- const param = {
|
|
|
- psnNo: mdtrtInfo.value.psnNo,
|
|
|
- mdtrtId: mdtrtInfo.value.mdtrtId,
|
|
|
- }
|
|
|
- queryDiagnosisInfo(param).then((res) => {
|
|
|
- diseInfos.value = res
|
|
|
- showDiagnosisInfo.value = true
|
|
|
- })
|
|
|
- }
|
|
|
+const getDiseInfo = () => {
|
|
|
+ if (nullMdtrtInfo()) {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ const param = {
|
|
|
+ psnNo: mdtrtInfo.value.psnNo,
|
|
|
+ mdtrtId: mdtrtInfo.value.mdtrtId,
|
|
|
+ }
|
|
|
+ queryDiagnosisInfo(param).then((res) => {
|
|
|
+ diseInfos.value = res
|
|
|
+ showDiagnosisInfo.value = true
|
|
|
+ })
|
|
|
+}
|
|
|
|
|
|
- const getSetlInfo = () => {
|
|
|
- if (nullMdtrtInfo()) {
|
|
|
- return
|
|
|
- }
|
|
|
- const param = {
|
|
|
- psnNo: mdtrtInfo.value.psnNo,
|
|
|
- mdtrtId: mdtrtInfo.value.mdtrtId,
|
|
|
- }
|
|
|
- querySettlementInfo(param).then((res) => {
|
|
|
- setlInfo.value = res
|
|
|
- showSetlInfo.value = true
|
|
|
- })
|
|
|
- }
|
|
|
+const getSetlInfo = () => {
|
|
|
+ if (nullMdtrtInfo()) {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ const param = {
|
|
|
+ psnNo: mdtrtInfo.value.psnNo,
|
|
|
+ mdtrtId: mdtrtInfo.value.mdtrtId,
|
|
|
+ }
|
|
|
+ querySettlementInfo(param).then((res) => {
|
|
|
+ setlInfo.value = res
|
|
|
+ showSetlInfo.value = true
|
|
|
+ })
|
|
|
+}
|
|
|
|
|
|
- const getFeeDetl = () => {
|
|
|
- if (nullMdtrtInfo()) {
|
|
|
- return
|
|
|
- }
|
|
|
- showFeeDetl.value = true
|
|
|
- }
|
|
|
+const getFeeDetl = () => {
|
|
|
+ if (nullMdtrtInfo()) {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ showFeeDetl.value = true
|
|
|
+}
|
|
|
|
|
|
- const getCumInfo = () => {
|
|
|
- if (nullMdtrtInfo()) {
|
|
|
- return
|
|
|
- }
|
|
|
- showCumInfo.value = true
|
|
|
- }
|
|
|
+const getCumInfo = () => {
|
|
|
+ if (nullMdtrtInfo()) {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ showCumInfo.value = true
|
|
|
+}
|
|
|
|
|
|
- onMounted(() => {
|
|
|
- getMedAllTypes().then((res) => {
|
|
|
- medTypes.value = res
|
|
|
- })
|
|
|
+const cancelRegister = () => {
|
|
|
+ if (nullMdtrtInfo()) {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ const request = {
|
|
|
+ insuplcAdmdvs: mdtrtInfo.value.insuOptins,
|
|
|
+ psnNo: mdtrtInfo.value.psnNo,
|
|
|
+ mdtrtId: mdtrtInfo.value.mdtrtId,
|
|
|
+ patNo: patNo.value,
|
|
|
+ times: -9
|
|
|
+ }
|
|
|
+ executeOutpatientRegRevoke(request).then(res => {
|
|
|
+ ElMessage({
|
|
|
+ message: res,
|
|
|
+ type: 'success',
|
|
|
+ duration: 2000,
|
|
|
+ showClose: true,
|
|
|
})
|
|
|
-
|
|
|
- return {
|
|
|
- patNo,
|
|
|
- dateRange,
|
|
|
- maxHalfYear,
|
|
|
- medTypes,
|
|
|
- medType,
|
|
|
- getVisitInfo,
|
|
|
- mdtrtInfos,
|
|
|
- mdtrtInfo,
|
|
|
- handleClickMdtrtInfo,
|
|
|
- getDiseInfo,
|
|
|
- diseInfos,
|
|
|
- feeDetls,
|
|
|
- getSetlInfo,
|
|
|
- getFeeDetl,
|
|
|
- showDiagnosisInfo,
|
|
|
- setlInfo,
|
|
|
- showSetlInfo,
|
|
|
- showFeeDetl,
|
|
|
- getCumInfo,
|
|
|
- showCumInfo,
|
|
|
- }
|
|
|
- },
|
|
|
+ getVisitInfo()
|
|
|
+ })
|
|
|
}
|
|
|
+
|
|
|
+onMounted(() => {
|
|
|
+ getMedAllTypes().then((res) => {
|
|
|
+ medTypes.value = res
|
|
|
+ })
|
|
|
+})
|
|
|
</script>
|