PJZ 1 månad sedan
förälder
incheckning
203e214b80

+ 34 - 18
src/views/hospitalization/zhu-yuan-yi-sheng/maternal-child/PostpartumHousecall.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="container">
-    <el-form :model="form" label-width="auto" style="">
+    <el-form  ref="ruleFormRef" :rules="rules" :model="form" label-width="auto" style="">
       <div class="container-item">
         <div class="item-label">检查情况</div>
         <div class="item-form"></div>
@@ -12,7 +12,7 @@
           </el-form-item>
         </el-col>
         <el-col :span="6">
-          <el-form-item label="检查日期:">
+          <el-form-item label="检查日期:" prop="checkDate">
             <el-date-picker
               v-model="form.checkDate"
               type="date"
@@ -662,7 +662,7 @@
 </template>
 
 <script setup>
-import { onMounted } from "vue";
+import { onMounted, ref } from "vue";
 import { ElMessageBox } from "element-plus";
 import fuYouRequest from "@/utils/requestFuYou.js";
 
@@ -682,6 +682,10 @@ const postDays = computed(() => {
   return daysDiff >= 0 ? daysDiff : '';
 });
 
+const ruleFormRef = ref()
+const rules = ref({
+  checkDate: [{ required: true, message: '必填', trigger: 'blur' }],
+})
 const form = reactive({
   doctor:"",
   checkDate:"",
@@ -1077,23 +1081,35 @@ const guidePsychoList= ref([
     name: "有",
   },
 ])
-const saveFormData = () => {
-  ElMessageBox.confirm("请确认是保存", {
-    cancelButtonText: "取消",
-    confirmButtonText: "确定",
-  }).then(() => {
-    let data = {
-      source: "womanCheck42",
-      remark: "孕妇产后42天检查",
-      operate: "save",
-      data: form,
-    };
-    console.log("form", form);
-    data = JSON.stringify(data);
-    fuYouRequest(data).then(res => {});
-  });
+const saveFormData = async () => {
+  // 先进行表单验证
+  if (ruleFormRef.value) {
+    try {
+      await ruleFormRef.value.validate();
+      // 验证通过后执行保存操作
+      ElMessageBox.confirm("请确认是保存", {
+        cancelButtonText: "取消",
+        confirmButtonText: "确定",
+      }).then(() => {
+        let data = {
+          source: "womanCheck42",
+          remark: "孕妇产后42天检查",
+          operate: "save",
+          data: form,
+        };
+        console.log("form", form);
+        data = JSON.stringify(data);
+        fuYouRequest(data).then(res => {});
+      });
+    } catch (error) {
+      // 验证不通过时的处理
+      console.log('表单验证失败:', error);
+      return false;
+    }
+  }
 };
 
+
 onMounted(() => {});
 </script>
 

+ 65 - 33
src/views/hospitalization/zhu-yuan-yi-sheng/maternal-child/postpartumVisit.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="container">
-    <el-form :model="form" label-width="100" style="">
+    <el-form ref="ruleFormRef" :rules="rules" :model="form" label-width="100" style="">
       <div class="container-item">
         <div class="item-label">基础信息
           <el-button @click="getFormData">查询</el-button>
@@ -13,7 +13,7 @@
           </el-form-item>
         </el-col>
         <el-col :span="6">
-          <el-form-item label="访视日期:">
+          <el-form-item label="访视日期:" prop="checkDate">
             <el-date-picker
               v-model="form.checkDate"
               type="date"
@@ -38,18 +38,6 @@
           </el-form-item>
         </el-col>
       </el-row>
-<!--      <el-row :gutter="10">-->
-<!--        <el-col :span="6">-->
-<!--          <el-form-item label="分娩日期:">-->
-<!--            <el-date-picker-->
-<!--              v-model="form.deliveryDate"-->
-<!--              type="date"-->
-<!--              format="YYYY-MM-DD"-->
-<!--              value-format="YYYY-MM-DD"-->
-<!--            ></el-date-picker>-->
-<!--          </el-form-item>-->
-<!--        </el-col>-->
-<!--      </el-row>-->
       <el-row :gutter="10">
         <el-col :span="6">
           <el-form-item label="产后天数:">
@@ -516,12 +504,11 @@
 </template>
 
 <script setup>
-import { onMounted } from "vue";
+import { onMounted, ref } from "vue";
 import fuYouRequest from "@/utils/requestFuYou.js";
 import {useUserStore} from "@/pinia/user-store";
-import { ElMessageBox } from "element-plus";
+import { ElMessageBox} from "element-plus";
 import { useVModels } from "@vueuse/core";
-
 const props = defineProps({
   patData: Object
 })
@@ -542,7 +529,6 @@ const postDays = computed(() => {
   return daysDiff >= 0 ? daysDiff : '';
 });
 
-
 const userInfo = useUserStore().userInfo
 // const props = defineProps(["patientInfo"]);
 // console.log("huane xinxi 333", props.patientInfo);
@@ -586,6 +572,36 @@ const form = reactive({
   nextCheck: "",
   nextDate: "",
 });
+
+const ruleFormRef = ref()
+const rules = ref({
+  doctor: [{ required: true, message: '访视医生姓名必填', trigger: 'blur' }],
+  checkDate: [{ required: true, message: '访视日期必填', trigger: 'blur' }],
+  visitSeq: [{ required: true, message: '访视次数必填', trigger: 'blur' }],
+  visitWay: [{ required: true, message: '访视方式必选', trigger: 'change' }],
+  visitLost: [{ required: true, message: '失访标志必选', trigger: 'change' }],
+  deliveryDate: [{ required: true, message: '分娩日期必填', trigger: 'blur' }],
+  healthStatus: [{ required: true, message: '一般健康情况必选', trigger: 'change' }],
+  psychologicStatus: [{ required: true, message: '一般心理状况必选', trigger: 'change' }],
+  sbp: [{ required: true, message: '收缩压必填', trigger: 'blur' }],
+  dbp: [{ required: true, message: '舒张压必填', trigger: 'blur' }],
+  fu: [{ required: true, message: '宫底高度必选', trigger: 'change' }],
+  breast: [{ required: true, message: '乳房检查必选', trigger: 'change' }],
+  lochia: [{ required: true, message: '恶露检查必选', trigger: 'change' }],
+  uterine: [{ required: true, message: '子宫检查结果必选', trigger: 'change' }],
+  classify: [{ required: true, message: '评估分类必选', trigger: 'change' }],
+  guideHygiene: [{ required: true, message: '个人卫生指导必选', trigger: 'change' }],
+  guidePsycho: [{ required: true, message: '心理指导必选', trigger: 'change' }],
+  guideNutrition: [{ required: true, message: '营养指导必选', trigger: 'change' }],
+  guideBreast: [{ required: true, message: '母乳喂养指导必选', trigger: 'change' }],
+  guideFeed: [{ required: true, message: '新生儿指导必选', trigger: 'change' }],
+  guideOther: [{ required: true, message: '其他指导必选', trigger: 'change' }],
+  tran: [{ required: true, message: '是否转诊必选', trigger: 'change' }],
+});
+
+
+
+
 const visitList = ref([
   {
     code: "1",
@@ -744,22 +760,38 @@ const guideHygieneList = ref([
     name: "有",
   },
 ]);
-const saveFormData = () => {
-  ElMessageBox.confirm("请确认是保存", {
-    cancelButtonText: "取消",
-    confirmButtonText: "确定",
-  }).then(() => {
-    let data = {
-      source: "womanVisit",
-      remark: "孕妇产后访视",
-      operate: "save",
-      data: form,
-    };
-    console.log("form", form);
-    data = JSON.stringify(data);
-    fuYouRequest(data).then(res => {});
-  });
+
+// const ruleFormRef =ref(null)
+
+
+const saveFormData = async () => {
+  // 先进行表单验证
+  if (ruleFormRef.value) {
+    try {
+      await ruleFormRef.value.validate();
+      // 验证通过后执行保存操作
+      ElMessageBox.confirm("请确认是保存", {
+        cancelButtonText: "取消",
+        confirmButtonText: "确定",
+      }).then(() => {
+        let data = {
+          source: "womanVisit",
+          remark: "孕妇产后访视",
+          operate: "save",
+          data: form,
+        };
+        console.log("form", form);
+        data = JSON.stringify(data);
+        fuYouRequest(data).then(res => {});
+      });
+    } catch (error) {
+      // 验证不通过时的处理
+      console.log('表单验证失败:', error);
+      return false;
+    }
+  }
 };
+
 const getFormData = () => {
   console.log("props.patientInfo", props.patientInfo);
   let data = {