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

员工档案必填项功能添加

songxy 9 hónapja
szülő
commit
8500145483

+ 56 - 7
client/src/views/OaSystem/mineCenter/rightChild/index.ts

@@ -170,11 +170,25 @@ export const formConfigList = [
     children: [
       {
         name: 'khyh',
-        title: '开户行'
+        title: '开户行',
+        validate: [
+          {
+            required: true,
+            message: '开户行不能为空',
+            trigger: 'blur'
+          }
+        ]
       },
       {
         name: 'yhzh',
-        title: '银行卡号'
+        title: '银行卡号',
+        validate: [
+          {
+            required: true,
+            message: '银行卡号不能为空',
+            trigger: 'blur'
+          }
+        ]
       }
     ]
   },
@@ -232,12 +246,26 @@ export const formConfigList = [
     children: [
       {
         name: 'cardid',
-        title: '证件号码'
+        title: '证件号码',
+        validate: [
+          {
+            required: true,
+            message: '证件号码不能为空',
+            trigger: 'blur'
+          }
+        ]
       },
       {
         name: 'sfzyxq',
         type: 'time',
-        title: '有效期'
+        title: '有效期',
+        validate: [
+          {
+            required: true,
+            message: '有效期不能为空',
+            trigger: 'blur'
+          }
+        ]
       },
       {
         name: 'sfyj',
@@ -251,16 +279,37 @@ export const formConfigList = [
     children: [
       {
         name: 'jjlxrxm',
-        title: '紧急联系人姓名'
+        title: '紧急联系人姓名',
+        validate: [
+          {
+            required: true,
+            message: '紧急联系人姓名不能为空',
+            trigger: 'blur'
+          }
+        ]
       },
       {
         name: 'jjlxrgx',
         type: 'select',
-        title: '与本人关系'
+        title: '与本人关系',
+        validate: [
+          {
+            required: true,
+            message: '与本人关系不能为空',
+            trigger: 'blur'
+          }
+        ]
       },
       {
         name: 'jjlxrhm',
-        title: '紧急联系人电话'
+        title: '紧急联系人电话',
+        validate: [
+          {
+            required: true,
+            message: '紧急联系人电话不能为空',
+            trigger: 'blur'
+          }
+        ]
       }
     ]
   }

+ 31 - 13
client/src/views/OaSystem/mineCenter/rightChild/wdda.vue

@@ -8,6 +8,7 @@ import WorkTable from '../../personnelManagement/ygdaPage/WorkTable.vue'
 import FamilyTable from '../../personnelManagement/ygdaPage/familyTable.vue'
 import SchoolTable from '../../personnelManagement/ygdaPage/SchoolTable.vue'
 import { UploadImgs } from '@/components/UploadFile'
+import { FormRequiredValidate } from '@/utils/formRequiredValidate'
 import { cloneDeep } from 'lodash-es'
 import { FormInstance, FormRules } from 'element-plus'
 import moment from 'moment'
@@ -108,15 +109,32 @@ interface RuleForm {
   hkszd: string
 }
 const rules = ref<FormRules<RuleForm>>({})
+
+const message = useMessage()
+const ruleFields = [
+  {
+    name: 'familyList',
+    message: '家庭成员不能为空!'
+  },
+  {
+    name: 'schoolList',
+    message: '学习经历不能为空!'
+  }
+]
 /**表单保存 */
 const submitForm = (formEl: FormInstance | undefined) => {
   if (!formEl) return
-  formEl.validate((valid) => {
-    if (valid) {
-      addUserMutate(data.value)
-    } else {
-      return false
+  FormRequiredValidate.validate(ruleFields)(data.value, (state, obj) => {
+    if (state) {
+      formEl.validate((valid) => {
+        if (valid) {
+          addUserMutate(data.value)
+        } else {
+          return false
+        }
+      })
     }
+    obj && message.error(obj['message'])
   })
 }
 
@@ -220,14 +238,14 @@ const saveTechCertificateList = (newData: any[]) => {
                   <div v-else>
                     <span
                       style="margin-left: 3px"
-                      v-for="(item, index) in getImgUrlList(data[child?.name])"
-                      :key="index"
+                      v-for="(src, i) in getImgUrlList(data[child?.name])"
+                      :key="i"
                     >
                       <el-image
                         style="width: 100px; height: 100px"
-                        :src="item"
+                        :src="src"
                         fit="scale-down"
-                        :preview-src-list="[item]"
+                        :preview-src-list="[src]"
                       />
                     </span>
                   </div>
@@ -246,21 +264,21 @@ const saveTechCertificateList = (newData: any[]) => {
       <WorkTable
         :defaultData="data['workList'] ?? []"
         :onlyRead="isDisabled"
-        @onSave="saveWorkList"
+        @on-save="saveWorkList"
       />
     </div>
     <div class="my-portrait-item">
       <FamilyTable
         :defaultData="data['familyList'] ?? []"
         :onlyRead="isDisabled"
-        @onSave="saveFamilyList"
+        @on-save="saveFamilyList"
       />
     </div>
     <div class="my-portrait-item">
       <SchoolTable
         :defaultData="data['schoolList'] ?? []"
         :onlyRead="isDisabled"
-        @onSave="saveSchoolList"
+        @on-save="saveSchoolList"
       />
     </div>
 
@@ -269,7 +287,7 @@ const saveTechCertificateList = (newData: any[]) => {
         <TechCertificate
           :defaultData="data['certList'] ?? []"
           :onlyRead="isDisabled"
-          @onSave="saveTechCertificateList"
+          @on-save="saveTechCertificateList"
         />
       </div>
     </div>

+ 6 - 45
client/src/views/OaSystem/personnelManagement/ygdaPage/staffDetail.vue

@@ -8,7 +8,7 @@ defineOptions({ name: 'StaffDetail' })
 import { useQuery, useMutation } from '@tanstack/vue-query'
 import { getRecordsDetail, editRecordsDetail, generateStaffNum } from '@/api/oa/staffRecords'
 import { getConfigDict } from './index'
-import { ElRow, FormInstance } from 'element-plus'
+import { FormInstance } from 'element-plus'
 import moment from 'moment'
 import TechCertificate from './TechCertificate.vue'
 import avatarImg from '@/assets/imgs/avatar.jpg'
@@ -19,7 +19,6 @@ import WorkTable from './WorkTable.vue'
 import FamilyTable from './familyTable.vue'
 import SchoolTable from './SchoolTable.vue'
 import PerformanceTable from './performanceTable.vue'
-import { FormRequiredValidate } from '@/utils/formRequiredValidate'
 
 const formConfigList = getConfigDict()
 
@@ -99,54 +98,16 @@ const { mutate: generateStaffNumber } = useMutation({
   }
 })
 
-const message = useMessage()
-const ruleFields = [
-  {
-    name: 'khyh',
-    message: '开户行不能为空!'
-  },
-  {
-    name: 'yhzh',
-    message: '银行卡号不能为空!'
-  },
-  {
-    name: 'cardid',
-    message: '证件号码不能为空!'
-  },
-  {
-    name: 'sfzyxq',
-    message: '有效期不能为空!'
-  },
-  {
-    name: 'jjlxrxm',
-    message: '紧急联系人姓名不能为空!'
-  },
-  {
-    name: 'jjlxrhm',
-    message: '紧急联系人电话不能为空!'
-  },
-  {
-    name: 'jjlxrgx',
-    message: '紧急联系人关系不能为空!'
-  }
-]
 /**表单保存 */
 const submitForm = (formEl: FormInstance | undefined) => {
-  // console.log('formData.value', formData.value)
-  // return
   if (!formEl) return
 
-  FormRequiredValidate.validate(ruleFields)(formData.value, (state, obj) => {
-    if (state) {
-      formEl.validate((valid) => {
-        if (valid) {
-          addUserMutate(formData.value)
-        } else {
-          return false
-        }
-      })
+  formEl.validate((valid) => {
+    if (valid) {
+      addUserMutate(formData.value)
+    } else {
+      return false
     }
-    obj && message.error(obj['message'])
   })
 }