Browse Source

优化个账的选择方式

lighter 1 year ago
parent
commit
a7f1c03478

+ 22 - 29
src/views/medical-insurance/outpatient/MzRegister.vue

@@ -3,12 +3,23 @@
     <header class="round-header">
       <el-input v-model="patientId" style="width: 100px" clearable placeholder="门诊ID">
       </el-input>
-      <el-select v-model="medType" style="width: 120px" placeholder="医疗类别" @change="handleMedTypeChange">
+      <el-select v-model="medType" style="width: 110px" placeholder="医疗类别" @change="handleMedTypeChange">
         <el-option v-for="item in medTypes" :key="item.code" :value="item.code" :label="item.name"></el-option>
       </el-select>
-      <el-cascader v-model="admdvsCascader" clearable filterable placeholder="参保地区"
-                   :options="allAdmdvses" @change="handleAdmdvsChange"
-                   style="width: 160px" :disabled="injuryMode === true"></el-cascader>
+      <el-cascader
+          v-model="admdvsCascader"
+          clearable filterable
+          placeholder="参保地区"
+          :options="allAdmdvses"
+          @change="handleAdmdvsChange"
+          style="width: 160px"
+          :disabled="injuryMode === true"
+      ></el-cascader>
+      <el-select v-model="acctUsedFlag" style="width: 118px">
+        <el-option label="不使用个账" value="0"></el-option>
+        <el-option label="使用本人个账" value="1"></el-option>
+        <el-option label="使用共济人个账" value="2"></el-option>
+      </el-select>
       <el-dropdown trigger="click" @command="receiptsOpts" style="margin-left: 8px">
         <el-button type="primary">
           处方&nbsp;<el-icon>
@@ -219,21 +230,6 @@
     </div>
   </el-dialog>
 
-  <el-dialog v-model="showAcctUsedFlagPicker" width="260px" title="是否使用个账">
-    <div style="width: 100%; display: flex; align-items: center;justify-content: center">
-      <div style="width: 120px; text-align: left">
-        <el-radio label="0" v-model="acctUsedFlag">不使用个账</el-radio>
-        <div></div>
-        <el-radio label="1" v-model="acctUsedFlag">使用本人个账</el-radio>
-        <div></div>
-        <el-radio label="2" v-model="acctUsedFlag">使用共济人个账</el-radio>
-      </div>
-    </div>
-    <div style="width: 100%; text-align: center; margin-top: 30px">
-      <el-button type="primary" style="width: 120px" @click="confirmAcctUsedFlag">确定</el-button>
-    </div>
-  </el-dialog>
-
   <mz-bl-record v-if="showMzBlRecord" :patient-id="patientId" :times="times" @closed="showMzBlRecord = false"></mz-bl-record>
 </template>
 
@@ -652,6 +648,7 @@ const clickOrderNo = (row) => {
 
 const clickTimes = (row) => {
   mzVisit.value = row.mzVisit
+  certainAdmdvs.value = mzVisit.value.admdvs
   receipts.value = row.mzReceipts
   orderNos.value = row.orderNos
   times.value = row.times
@@ -709,8 +706,8 @@ const settlement = (command) => {
         }).then(() => {})
       })
     } else {
-      if (certainAdmdvs.value.startsWith('43')) {
-        command === 'preSettlement' ? mzPreSetl() : chooseWhetherUseAcctFlag();
+      if (certainAdmdvs.value && certainAdmdvs.value.startsWith('43')) {
+        command === 'preSettlement' ? mzPreSetl() : mzSettle();
       } else {
         currentCommand.value = command;
         showMdtrtGrpType.value = true;
@@ -721,7 +718,7 @@ const settlement = (command) => {
 
 const afterChooseMdtrtGrpType = () => {
   if (currentCommand.value) {
-    currentCommand.value === 'preSettlement' ? mzPreSetl() : chooseWhetherUseAcctFlag()
+    currentCommand.value === 'preSettlement' ? mzPreSetl() : mzSettle()
   }
   showMdtrtGrpType.value = false
 }
@@ -732,6 +729,7 @@ const mzPreSetl = () => {
     staffId: userStore.userInfo.code,
     patNo: patientId.value,
     times: times.value,
+    acctUsedFlag: acctUsedFlag.value,
     mdtrtCertType: readCardData.mdtrtCertType,
     readCardResult: readCardData.readCardResult,
     readCardBizType: readCardData.readCardBizType,
@@ -747,14 +745,9 @@ const mzPreSetl = () => {
   })
 }
 
-const showAcctUsedFlagPicker = ref(false)
-const acctUsedFlag = ref('0')
-const chooseWhetherUseAcctFlag = () => {
-  showAcctUsedFlagPicker.value = true
-}
+const acctUsedFlag = ref('1')
 
-const confirmAcctUsedFlag = () => {
-  showAcctUsedFlagPicker.value = false
+const mzSettle = () => {
   const param = {
     patNo: patientId.value,
     times: times.value,

+ 22 - 34
src/views/medical-insurance/outpatient/MzSpltryRcrd.vue

@@ -1,13 +1,6 @@
 <template>
   <div class="layout_container">
     <header class="round-header">
-      <el-input v-model="patNo" style="width: 120px; margin-left: 2px" clearable placeholder="门诊id"></el-input>
-      <el-select v-model="medType" style="width: 120px" placeholder="医疗类别" @change="handleMedTypeChange">
-        <el-option v-for="item in medTypes" :key="item.code" :value="item.code" :label="item.name"></el-option>
-      </el-select>
-      <el-cascader v-model="admdvsCascader" clearable filterable placeholder="参保地区"
-                   :options="allAdmdvses" @change="handleAdmdvsChange"
-                   style="width: 160px" :disabled="injuryMode === true"></el-cascader>
       <el-date-picker
           style="width: 200px"
           v-model="dateRange"
@@ -17,6 +10,24 @@
           start-placeholder="开始日期"
           end-placeholder="结束日期"
       ></el-date-picker>
+      <el-input v-model="patNo" style="width: 100px; margin-left: 2px" clearable placeholder="门诊id"></el-input>
+      <el-select v-model="medType" style="width: 106px" placeholder="医疗类别" @change="handleMedTypeChange">
+        <el-option v-for="item in medTypes" :key="item.code" :value="item.code" :label="item.name"></el-option>
+      </el-select>
+      <el-cascader
+          v-model="admdvsCascader"
+          clearable filterable
+          placeholder="参保地区"
+          :options="allAdmdvses"
+          @change="handleAdmdvsChange"
+          style="width: 160px"
+          :disabled="injuryMode === true"
+      ></el-cascader>
+      <el-select v-model="acctUsedFlag" style="width: 118px">
+        <el-option label="不使用个账" value="0"></el-option>
+        <el-option label="使用本人个账" value="1"></el-option>
+        <el-option label="使用共济人个账" value="2"></el-option>
+      </el-select>
       <el-divider direction="vertical"></el-divider>
       <el-button type="primary" @click="fetchHistoryReceipts">历史处方</el-button>
       <ReadCard :pat-no="patNo" @success="afterReadCard"/>
@@ -149,21 +160,6 @@
                                 @close="showInputDiags = false"></outpatient-diagnose-supply>
   </el-dialog>
 
-  <el-dialog v-model="showAcctUsedFlagPicker" width="260px" title="是否使用个账">
-    <div style="width: 100%; display: flex; align-items: center;justify-content: center">
-      <div style="width: 120px; text-align: left">
-        <el-radio label="0" v-model="acctUsedFlag">不使用个账</el-radio>
-        <div></div>
-        <el-radio label="1" v-model="acctUsedFlag">使用本人个账</el-radio>
-        <div></div>
-        <el-radio label="2" v-model="acctUsedFlag">使用共济人个账</el-radio>
-      </div>
-    </div>
-    <div style="width: 100%; text-align: center; margin-top: 30px">
-      <el-button type="primary" style="width: 120px" @click="mzSettle">确定</el-button>
-    </div>
-  </el-dialog>
-
   <mz-bl-record
       v-if="showMzBlRecord"
       :patient-id="currentRow.patNo"
@@ -197,7 +193,7 @@ import {
   queryMzMatnDises
 } from '@/api/medical-insurance/si-query'
 import {onMounted, ref} from 'vue'
-import {ElMessage, ElMessageBox} from 'element-plus'
+import {ElMessage, ElMessageBox, ElSelect} from 'element-plus'
 import {getMedTypesByFlag} from '@/api/medical-insurance/si-dict'
 import {shortcuts} from '@/data/shortcuts'
 import {getDateRangeFormatDate} from '@/utils/date'
@@ -548,6 +544,7 @@ const mzPreSetl = () => {
     mdtrtCertType: readCardData.mdtrtCertType,
     readCardResult: readCardData.readCardResult,
     readCardBizType: readCardData.readCardBizType,
+    acctUsedFlag: acctUsedFlag.value,
     ledgerSn: 0,
     calType: 0
   }
@@ -634,14 +631,9 @@ const deleteMtFees = () => {
   })
 }
 
-const showAcctUsedFlagPicker = ref(false)
-const acctUsedFlag = ref('0')
-const chooseWhetherUseAcctFlag = () => {
-  showAcctUsedFlagPicker.value = true
-}
+const acctUsedFlag = ref('1')
 
 const mzSettle = () => {
-  showAcctUsedFlagPicker.value = false
   if (!currentRow.value.times) {
     ElMessage({
       message: '请先选择历史处方。',
@@ -720,11 +712,7 @@ const settlement = (command) => {
   if (command === 'pre') {
     mzPreSetl()
   } else if (command === 'fin') {
-    if (injuryMode.value) {
-      mzSettle()
-    } else {
-      chooseWhetherUseAcctFlag()
-    }
+    mzSettle()
   } else {
     revokeMzSettle()
   }