Forráskód Böngészése

app-企业信息收集保存时用工情况、参保人数的验证调整

liao-sea 11 hónapja
szülő
commit
16291297d6

+ 30 - 5
h5app/src/views/pages/company/edit.vue

@@ -257,13 +257,13 @@
             <div class="form-input">
             <ion-label>用工情况(人)</ion-label>
               <ion-input type="number" placeholder="请输入用工人数" label-placement="stacked" :clear-input="true"
-                         v-model="dataModel.workSituation" class="custom">
+                         v-model="dataModel.workSituation" class="custom" @ionBlur="workSituationBlur">
               </ion-input>
             </div>
             <div class="form-input">
             <ion-label>参保人数(人)</ion-label>
               <ion-input type="number" placeholder="请输入参保人数" label-placement="stacked" :clear-input="true"
-                         v-model="dataModel.insuredCount" class="custom">
+                         v-model="dataModel.insuredCount" class="custom" @ionBlur="insuredCountBlur">
               </ion-input>
             </div>
             <div class="form-input">
@@ -327,8 +327,6 @@ interface StepParams{
   statusVal: number,
   loginUserID: string
 }
-
-
 export default defineComponent({
   name: 'CompanyEdit',
   components:{IndustrySelection,CompanySelectionLike},
@@ -482,6 +480,30 @@ export default defineComponent({
       shortAgeTypeList.value = shortAgeTypeResult;
     }
 
+    function isStringInteger(value: string) {
+      const n = parseInt(value, 10);
+      return n.toString() === value && Number.isInteger(n);
+    }
+
+    function workSituationBlur() {
+      inputValid.value = true;
+      if (formState.dataModel.workSituation != null) {
+        if(!isStringInteger(formState.dataModel.workSituation)||formState.dataModel.workSituation<1){
+          presentAlert("用工情况必须为一个正整数!");
+          inputValid.value = false;
+        }
+      }
+    }
+
+    function insuredCountBlur() {
+      inputValid.value = true;
+      if (formState.dataModel.insuredCount != null) {
+        if(!isStringInteger(formState.dataModel.insuredCount)||formState.dataModel.insuredCount<1){
+          presentAlert("参保人数必须为一个正整数!");
+          inputValid.value = false;
+        }
+      }
+    }
 
     const rules = computed(() => {
       return {
@@ -598,6 +620,7 @@ export default defineComponent({
       formState.dataModel.industryName = data.text;
     }
 
+    const inputValid = ref(true);
     const onNext = async () => {
       console.log(formState.dataModel)
       const isFormCorrect = await v$.value.$validate();
@@ -607,7 +630,7 @@ export default defineComponent({
       }
       companyCodeValidate();
       inputDataValidate();
-      if(isAllowCommit.value){
+      if(isAllowCommit.value&&inputValid.value){
         saveCompany(formState.dataModel).then(result => {
           if (result) {
               router.push({path: './postList', query: {reload:1,id:formState.dataModel.companyID,status:3,isEdit:isAdd.value!=true?1:0}});
@@ -739,6 +762,8 @@ export default defineComponent({
       infoAlterData,
       alertingInfo,
       loadingFirm,
+      workSituationBlur,
+      insuredCountBlur,
       setInfoAlertOpen,
       setInfoLoadingOpen,
       onGetFirmByCompanyName,

+ 4 - 1
h5app/src/views/pages/company/editPost.vue

@@ -306,7 +306,7 @@ export default defineComponent({
         return null;
       }
       ifInputAllValid();
-      if(isCommit.value){
+      if(isCommit.value&&inputValid.value){
         savePost(formState.dataModel).then(result=>{
           if(result){
             router.push({path: "./postList", query: {reload:1,id:formState.dataModel.companyID,status: 3}});
@@ -372,10 +372,13 @@ export default defineComponent({
       return n.toString() === value && Number.isInteger(n);
     }
 
+    const inputValid = ref(true);
     function recruitCountBlur() {
+      inputValid.value = false;
       if (formState.dataModel.recruitCount != null) {
         if(!isStringInteger(formState.dataModel.recruitCount)||formState.dataModel.recruitCount<1){
           presentAlert("招聘数量必须为一个正整数!");
+          inputValid.value = false;
         }
       }
     }

+ 30 - 2
h5app/src/views/pages/jobUserInfo/companyEdit.vue

@@ -254,13 +254,13 @@
             <div class="form-input">
               <ion-label>用工情况(人)</ion-label>
               <ion-input type="number" placeholder="请输入用工人数" label-placement="stacked" :clear-input="true"
-                         v-model="dataModel.workSituation" class="custom">
+                         v-model="dataModel.workSituation" class="custom" @ionBlur="workSituationBlur">
               </ion-input>
             </div>
             <div class="form-input">
               <ion-label>参保人数(人)</ion-label>
               <ion-input type="number" placeholder="请输入参保人数" label-placement="stacked" :clear-input="true"
-                         v-model="dataModel.insuredCount" class="custom">
+                         v-model="dataModel.insuredCount" class="custom" @ionBlur="insuredCountBlur">
               </ion-input>
             </div>
             <div class="form-input">
@@ -435,6 +435,31 @@ export default defineComponent({
       shortAgeTypeList.value = shortAgeTypeResult;
     }
 
+    function isStringInteger(value: string) {
+      const n = parseInt(value, 10);
+      return n.toString() === value && Number.isInteger(n);
+    }
+
+    function workSituationBlur() {
+      inputValid.value = true;
+      if (formState.dataModel.workSituation != null) {
+        if(!isStringInteger(formState.dataModel.workSituation)||formState.dataModel.workSituation<1){
+          presentAlert("用工情况必须为一个正整数!");
+          inputValid.value = false;
+        }
+      }
+    }
+
+    function insuredCountBlur() {
+      inputValid.value = true;
+      if (formState.dataModel.insuredCount != null) {
+        if(!isStringInteger(formState.dataModel.insuredCount)||formState.dataModel.insuredCount<1){
+          presentAlert("参保人数必须为一个正整数!");
+          inputValid.value = false;
+        }
+      }
+    }
+
     const rules = computed(() => {
       return {
         dataModel: {
@@ -551,6 +576,7 @@ export default defineComponent({
       formState.dataModel.industryName = data.text;
     }
 
+    const inputValid = ref(true);
     const onNext = async () => {
       const isFormCorrect = await v$.value.$validate();
       if (!isFormCorrect) {
@@ -684,6 +710,8 @@ export default defineComponent({
       infoAlterData,
       alertingInfo,
       loadingFirm,
+      workSituationBlur,
+      insuredCountBlur,
       setInfoAlertOpen,
       setInfoLoadingOpen,
       onGetFirmByCompanyName,

+ 11 - 6
h5app/src/views/pages/jobUserInfo/postEdit.vue

@@ -312,12 +312,14 @@ export default defineComponent({
         return null;
       }
       ifInputAllValid();
-      formState.dataModel.loginUserID = curStepData.value.loginUserID;
-      savePost(formState.dataModel).then(result=>{
-        if(result){
-           router.push({path: "./postList", query: {reload:1,id:formState.dataModel.companyID,status: 3}});
-        }
-      })
+      if(isCommit.value&&inputValid.value){
+        formState.dataModel.loginUserID = curStepData.value.loginUserID;
+        savePost(formState.dataModel).then(result=>{
+          if(result){
+            router.push({path: "./postList", query: {reload:1,id:formState.dataModel.companyID,status: 3}});
+          }
+        })
+      }
     }
 
     const onResultInfo = (data: any)=>{
@@ -375,10 +377,13 @@ export default defineComponent({
       return n.toString() === value && Number.isInteger(n);
     }
 
+    const inputValid = ref(true);
     function recruitCountBlur() {
+      inputValid.value = true;
       if (formState.dataModel.recruitCount != null) {
         if(!isStringInteger(formState.dataModel.recruitCount)||formState.dataModel.recruitCount<1){
           presentAlert("招聘数量必须为一个正整数!");
+          inputValid.value = false;
         }
       }
     }