瀏覽代碼

生育门诊添加生育类别

lighter 1 周之前
父節點
當前提交
7d238df0ae

+ 28 - 2
src/views/medical-insurance/outpatient/MzRegister.vue

@@ -19,7 +19,20 @@
           :key="item.code"
           :value="item.code"
           :label="item.name"
-        ></el-option>
+        />
+      </el-select>
+      <el-select
+          v-if="medType === '51'"
+          v-model="matnType"
+          style="width: 110px"
+          placeholder="生育类别"
+      >
+        <el-option
+            v-for="item in matnTypes"
+            :key="item.code"
+            :value="item.code"
+            :label="item.name"
+        />
       </el-select>
       <el-cascader
         v-model="admdvsCascader"
@@ -414,7 +427,7 @@ import {
   querySpecialChronicDiseasesAccreditation,
   queryMzMatnDises,
 } from "@/api/medical-insurance/si-query";
-import { getMedTypesByFlag } from "@/api/medical-insurance/si-dict";
+import {getMatnTypes, getMedTypesByFlag} from "@/api/medical-insurance/si-dict";
 import ReadCard from "@/components/medical-insurance/readcard/Index.vue";
 import mzSettled from "@/assets/mz-settled.png";
 import selfpayreceipt from "@/assets/selfpayreceipt.png";
@@ -437,9 +450,11 @@ import { checkGeneratedFees } from "@/api/medical-insurance/emergency-rescue";
 import EmergencyRescue from "@/views/medical-insurance/outpatient/component/EmergencyRescue.vue";
 
 const medType = ref(null);
+const matnType = ref(null)
 const admdvs = ref(null);
 const certainAdmdvs = ref("");
 const medTypes = ref([]);
+const matnTypes = ref([])
 const patientId = ref("");
 const times = ref(null);
 const unPaidReceipts = ref([]);
@@ -516,11 +531,18 @@ const nullMedType = () => {
     xcMessage.warning("请先选择医疗类别!");
     return true;
   }
+  if (medType.value === '51' && !matnType.value) {
+    xcMessage.warning('请选择生育类别!')
+    return true;
+  }
   return false;
 };
 
 const admdvsCascader = ref([]);
 const handleMedTypeChange = val => {
+  if (val !== '51') {
+    matnType.value = null
+  }
   if (val === "41") {
     admdvsCascader.value = [];
     admdvs.value = null;
@@ -786,6 +808,7 @@ const handleClickInsuinfo = row => {
     name: mzVisit.value.name,
     insutype: row.insutype,
     medType: medType.value,
+    matnType: matnType.value,
     psnType: row.psnType,
     insuplcAdmdvs: row.insuplcAdmdvs,
     insuplcAdmdvsName: row.insuplcAdmdvsName,
@@ -1029,6 +1052,9 @@ onMounted(() => {
   getMedTypesByFlag("clinic").then(res => {
     medTypes.value = res;
   });
+  getMatnTypes().then(res => {
+    matnTypes.value = res
+  })
 });
 </script>
 

+ 30 - 6
src/views/medical-insurance/outpatient/MzSpltryRcrd.vue

@@ -29,6 +29,21 @@
           :label="item.name"
         ></el-option>
       </el-select>
+
+      <el-select
+          v-if="medType === '51'"
+          v-model="matnType"
+          style="width: 110px"
+          placeholder="生育类别"
+      >
+        <el-option
+            v-for="item in matnTypes"
+            :key="item.code"
+            :value="item.code"
+            :label="item.name"
+        />
+      </el-select>
+
       <el-cascader
         v-model="admdvsCascader"
         clearable
@@ -372,7 +387,7 @@ import {
 } from "@/api/medical-insurance/si-query";
 import { onMounted, ref } from "vue";
 import { ElMessageBox, ElSelect } from "element-plus";
-import { getMedTypesByFlag } from "@/api/medical-insurance/si-dict";
+import {getMatnTypes, getMedTypesByFlag} from "@/api/medical-insurance/si-dict";
 import { shortcuts } from "@/data/shortcuts";
 import { getDateRangeFormatDate } from "@/utils/date";
 import ReadCard from "@/components/medical-insurance/readcard/Index.vue";
@@ -387,11 +402,12 @@ 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("");
 const medTypes = ref([]);
+const matnType = ref("")
+const matnTypes = ref([])
 const historyReceipts = ref([]);
 const currentRow = ref({});
 const mzVisit = ref({});
@@ -435,11 +451,15 @@ const nullPatNo = () => {
   return true;
 };
 const nullMedtype = () => {
-  if (medType.value) {
-    return false;
+  if (!medType.value) {
+    xcMessage.warning("请先选择医疗类别!");
+    return true;
   }
-  xcMessage.warning("请选择医疗类别!");
-  return true;
+  if (medType.value === '51' && !matnType.value) {
+    xcMessage.warning('请选择生育类别!')
+    return true;
+  }
+  return false;
 };
 
 const fetchHistoryReceipts = () => {
@@ -591,6 +611,7 @@ const handleClickInsuinfo = row => {
     insutype: row.insutype,
     psnType: row.psnType,
     medType: medType.value,
+    matnType: matnType.value,
     balc: row.balc,
     insuplcAdmdvs: row.insuplcAdmdvs,
     insuplcAdmdvsName: row.insuplcAdmdvsName,
@@ -965,6 +986,9 @@ onMounted(() => {
   getMedTypesByFlag("clinic").then(res => {
     medTypes.value = res;
   });
+  getMatnTypes().then(res => {
+    matnTypes.value = res
+  })
 });
 </script>