Sfoglia il codice sorgente

所有的1101都需要读卡信息

lighter_217 2 settimane fa
parent
commit
c890b0ab23

+ 3 - 1
src/components/medical-insurance/insuinfo/Index.vue

@@ -55,8 +55,8 @@
 <script setup>
 import { onMounted, ref, computed } from 'vue'
 import { obtainBasicPersonInfo } from '@/api/medical-insurance/si-query'
-import { employeeInfoInquiry } from '@/api/medical-insurance/si-injury'
 import {useMedinsStore} from "@/pinia/medins-store";
+import { clearReadCardData } from "@/data/inpatient.js";
 
 const props = defineProps({
   params: {
@@ -107,7 +107,9 @@ const fetchInsuinfo = () => {
     obtainBasicPersonInfo(props.params).then((res) => {
       psnNo.value = res.psnNo
       psnBaseinfo.value = res
+      clearReadCardData()
     }).catch(() => {
+      clearReadCardData()
       emits('close')
     })
   }

+ 2 - 0
src/components/medical-insurance/readcard/Index.vue

@@ -62,6 +62,7 @@
 import {ElMessage, ElMessageBox} from 'element-plus'
 import axios from 'axios'
 import {startLoading, endLoading} from '@/utils/loading'
+import { setReadCardData } from "@/data/inpatient.js";
 
 export default {
   props: {
@@ -186,6 +187,7 @@ const executeReadCard = (cardtype, retryCount = 0) => {
             readCardBizType: nowbiztype,
           }
           ctx.emit('success', result)
+          setReadCardData(result)
           ElMessageBox.alert(processedData.message, '提示', {
             type: 'success',
             showCancelButton: false,

+ 22 - 0
src/data/inpatient.js

@@ -9,3 +9,25 @@ export function baseinfo() {
 export function setBaseinfo(val) {
     info.value = val
 }
+
+const readCardData = reactive({
+  readCardResult: null,
+  mdtrtCertType: null,
+  busCardInfo: null,
+})
+
+export function getReadCardData() {
+  return readCardData
+}
+
+export function setReadCardData(data) {
+  readCardData.busCardInfo = data.busCardInfo
+  readCardData.readCardResult = data.readCardResult
+  readCardData.mdtrtCertType = data.mdtrtCertType
+}
+
+export function clearReadCardData() {
+  readCardData.busCardInfo = null
+  readCardData.readCardResult = null
+  readCardData.mdtrtCertType = null
+}

+ 3 - 0
src/views/medical-insurance/inpatient/AdmRegistration.vue

@@ -1372,6 +1372,9 @@ const getPsnInsuinfo = () => {
       admdvs: patient.value.admdvs,
       psnCertType: patient.value.psnCertType,
       needSaving: 1,
+      mdtrtCertType: patient.value.mdtrtCertType,
+      readCardResult: patient.value.readCardResult,
+      busCardInfo: patient.value.busCardInfo,
     };
     obtainBasicPersonInfo(param).then(res => {
       patient.value.psnNo = res.psnNo;

+ 3 - 0
src/views/medical-insurance/inpatient/AdmissVerification.vue

@@ -535,6 +535,9 @@ const chkTrtmt = (row) => {
   checkTreatmentParams.value.medType = patient.value.medType
   checkTreatmentParams.value.begntime = patient.value.ybRegisterDate
   checkTreatmentParams.value.insutype = row.insutype
+  checkTreatmentParams.value.mdtrtCertType = patient.value.mdtrtCertType
+  checkTreatmentParams.value.readCardResult = patient.value.readCardResult
+  checkTreatmentParams.value.busCardInfo = patient.value.busCardInfo
   showPsnInsuinfo.value = false
   showTreatmentinfos.value = true
 }

+ 5 - 1
src/views/medical-insurance/inpatient/Home.vue

@@ -39,7 +39,7 @@ import {computed, reactive, ref} from 'vue'
 import {getPatientInfo} from '@/api/inpatient/patient'
 import {nullPatient} from '@/utils/validate'
 import {getGreatestRole} from '@/utils/permission'
-import {baseinfo, setBaseinfo} from '@/data/inpatient'
+import { baseinfo, getReadCardData, setBaseinfo } from "@/data/inpatient";
 import Overview from '../../../components/medical-insurance/patient-overview/Index.vue'
 import IdentifyImage from '../../../components/inpatient/IdentifyImage.vue'
 import Registinfo from '../../../components/medical-insurance/registinfo/Index.vue'
@@ -140,6 +140,7 @@ const beforeGetTreatinfo = () => {
     })
     return true
   }
+  let cd = getReadCardData()
   checkTreatmentParams.value = {
     medType: patient.value.medType,
     patNo: patient.value.patNo,
@@ -148,6 +149,9 @@ const beforeGetTreatinfo = () => {
     socialNo: patient.value.socialNo,
     name: patient.value.name,
     admdvs: patient.value.admdvs,
+    readCardResult: cd.readCardResult,
+    mdtrtCertType: cd.mdtrtCertType,
+    busCardInfo: cd.busCardInfo,
   }
   showPsnInsuinfo.value = true
 }

+ 0 - 31
src/views/medical-insurance/inpatient/SettleVerification.vue

@@ -24,7 +24,6 @@
         医保费用明细
       </el-button>
       <el-button type="primary" icon="User" @click="checkIdInfo">身份信息</el-button>
-      <el-button type="primary" icon="Tickets" :disabled="injuryMode" @click="beforeGetTreatinfo">待遇检查</el-button>
       <el-button type="success" icon="Check" @click="beforeHandleApply(true)">审核通过</el-button>
       <el-button type="danger" icon="Close" @click="beforeHandleApply(false)">审核不通过</el-button>
     </div>
@@ -230,8 +229,6 @@
     </div>
   </div>
 
-  <Insuinfo v-if="showPsnInsuinfo" :params="checkTreatmentParams" @close="showPsnInsuinfo = false" @row-click="checkTreatmentinfos"/>
-  <Treatmentinfo v-if="showTreatmentinfos" :params="checkTreatmentParams" @close="showTreatmentinfos = false"/>
   <MedfeeAnalyse v-if="showFeeDetl" type="unsettled" :mdtrt-id="currentApply.mdtrtId" @close="showFeeDetl = false"/>
   <IdentifyImage v-if="showIdCardImg" :pat-no="currentApply.patNo" :times="currentApply.times" @close="showIdCardImg = false"/>
   <el-drawer
@@ -264,8 +261,6 @@ import {
   selectSettledApplies
 } from '@/api/medical-insurance/si-settle-apply'
 import {statusFlags, trueMedTypes} from '../../../data/index'
-import Insuinfo from '../../../components/medical-insurance/insuinfo/Index.vue'
-import Treatmentinfo from '../../../components/medical-insurance/treatmentinfo/Index.vue'
 import MedfeeAnalyse from '../../../components/medical-insurance/medfee-analyse/Index.vue'
 import IdentifyImage from '../../../components/inpatient/IdentifyImage.vue'
 import {Search} from "@element-plus/icons-vue";
@@ -308,9 +303,6 @@ const feeDtle = () => {
 }
 
 const medInsStore = useMedinsStore()
-const injuryMode = computed(() => {
-  return medInsStore.isInjuryMode
-})
 const currentRow = ref({})
 const handleClickSettleApply = (row) => {
   row.inOutFlag = inOutFlag.value
@@ -383,29 +375,6 @@ const checkIdInfo = () => {
   }
 }
 
-const showPsnInsuinfo = ref(false)
-const showTreatmentinfos = ref(false)
-const checkTreatmentParams = ref({})
-const beforeGetTreatinfo = () => {
-  checkTreatmentParams.value = {
-    medType: currentApply.value.medType,
-    patNo: currentApply.value.patNo,
-    times: currentApply.value.times,
-    ledgerSn: currentApply.value.ledgerSn,
-    socialNo: patient.value.socialNo,
-    name: patient.value.name,
-    admdvs: patient.value.admdvs,
-  }
-  showPsnInsuinfo.value = true
-}
-const checkTreatmentinfos = (row) => {
-  checkTreatmentParams.value.psnNo = row.psnNo
-  checkTreatmentParams.value.begntime = patient.value.ybRegisterDate
-  checkTreatmentParams.value.insutype = row.insutype
-  showPsnInsuinfo.value = false
-  showTreatmentinfos.value = true
-}
-
 const showHistories = ref(false)
 const histories = ref([])
 const getApplyHistories = (row) => {

+ 15 - 2
src/views/medical-insurance/management/RecordManagement.vue

@@ -374,8 +374,18 @@ const showWsRecord = ref(false);
 const tempSpecialDiseaseRecord = reactive({})
 const tempPsAcRecord = reactive({})
 const actPatient = reactive({})
+
+const ybCard = reactive({
+  mdtrtCertType: null,
+  readCardResult: null,
+  busCardInfo: null,
+})
+
 // 读卡成功后的处理函数
 const afterReadCard = result => {
+  ybCard.mdtrtCertType = result.mdtrtCertType;
+  ybCard.readCardResult = result.readCardResult;
+  ybCard.busCardInfo = result.busCardInfo;
   // 如果读卡成功,自动填充身份证号
   if (result && result.readCardResult) {
     // 根据不同的读卡类型处理
@@ -437,8 +447,11 @@ const queryPsnBaseInfo = () => {
         return
     }
     const param = {
-        socialNo: psnIdNumber.value,
-        onlyQry: 1,
+      socialNo: psnIdNumber.value,
+      onlyQry: 1,
+      readCardResult: ybCard.readCardResult,
+      busCardInfo: ybCard.busCardInfo,
+      mdtrtCertType: ybCard.mdtrtCertType,
     }
     obtainBasicPersonInfo(param).then((res) => {
         baseinfo.value = res

+ 3 - 0
src/views/medical-insurance/outpatient/MzRegister.vue

@@ -544,6 +544,9 @@ const register = command => {
     times: times.value,
     legderSn: 0,
     needSaving: 1,
+    mdtrtCertType: readCardData.mdtrtCertType,
+    readCardResult: readCardData.readCardResult,
+    busCardInfo: readCardData.busCardInfo
   };
   if (command === "execute") {
     beforeRegister(param);

+ 4 - 0
src/views/medical-insurance/outpatient/MzSpltryRcrd.vue

@@ -387,6 +387,7 @@ import { CyMessageBox } from "@/utils/cy-message-box";
 import EmergencyRescue from "@/views/medical-insurance/outpatient/component/EmergencyRescue.vue";
 import { xcMessage } from "@/utils/xiaochan-element-plus";
 import { checkGeneratedFees } from "@/api/medical-insurance/emergency-rescue";
+import result from "vxe-pc-ui/lib/result/index.js";
 
 const patNo = ref("");
 const medType = ref("");
@@ -528,6 +529,9 @@ function beforeRegister(param) {
       showInsuinfo.value = true;
     });
   } else {
+    param.readCardResult = readCardData.readCardResult
+    param.mdtrtCertType = readCardData.mdtrtCertType
+    param.busCardInfo = readCardData.busCardInfo
     obtainBasicPersonInfo(param).then(res => {
       insuinfo.value = res.insuinfo;
       showInsuinfo.value = true;

+ 19 - 2
src/views/medical-insurance/outpatient/SpcChrRcd.vue

@@ -4,6 +4,8 @@
       <el-input style="width: 320px" size="small" v-model="patNo" clearable>
         <template #prepend>门诊ID/身份证</template>
       </el-input>
+      <ReadCard :pat-no="patNo" @success="afterReadCard"/>
+
       <el-divider direction="vertical"></el-divider>
       <el-button type="success" @click="qryPsnBscInfo">参保信息</el-button>
       <el-button type="success" @click="qrySpcChrRcd"> 备案查询 </el-button>
@@ -288,10 +290,11 @@ import { obtainBasicPersonInfo, querySpecialChronicDiseasesAccreditation, queryS
 import { getAllSpcChrRcdsByPsnNo, revokeSpecialChronicDiseasesRecord, specialChronicDiseasesRecord, selectAllSpcSlwRcds } from '@/api/medical-insurance/si-psn-rcd'
 import { formatDatetime, formatDate } from '@/utils/date'
 import { searchData } from '@/api/inpatient/dictionary'
-import { Export } from '../../../utils/ExportExcel'
+import { Export } from "@/utils/ExportExcel.js"
+import ReadCard from "@/components/medical-insurance/readcard/Index.vue";
 import PageLayer from "@/layout/PageLayer";
 export default {
-  components: {PageLayer},
+  components: {PageLayer, ReadCard},
   setup() {
     const patNo = ref('')
     const dateRange = ref(null)
@@ -308,6 +311,16 @@ export default {
     const currentSlwSpcChrRcd = ref({})
     const showDateRange = ref(false)
     const perstype = ref(1)
+    const readCardData = reactive({
+      readCardResult: null,
+      mdtrtCertType: null,
+      busCardInfo: null,
+    })
+    function afterReadCard(data) {
+      readCardData.readCardResult = data.readCardResult
+      readCardData.busCardInfo = data.busCardInfo
+      readCardData.mdtrtCertType = data.mdtrtCertType
+    }
     const nullPatNo = () => {
       if (!patNo.value) {
         ElMessage({
@@ -361,6 +374,9 @@ export default {
       const param = {
         patNo: patNo.value,
         medType: '14',
+        readCardResult: readCardData.readCardResult,
+        mdtrtCertType: readCardData.mdtrtCertType,
+        busCardInfo: readCardData.busCardInfo,
       }
       obtainBasicPersonInfo(param)
         .then((res) => {
@@ -627,6 +643,7 @@ export default {
       beforeFetchAllRcds,
       fetchAllRcds,
       exportExcel,
+      afterReadCard
     }
   },
 }