Prechádzať zdrojové kódy

修改考勤数据时备注需设置必填

zhonghuizhen 1 týždeň pred
rodič
commit
3033223c5b

+ 42 - 27
src/views/business/attendance/attendanceDetails.vue

@@ -230,7 +230,7 @@
       width="500px"
       width="500px"
       @close="closeEditDialog"
       @close="closeEditDialog"
     >
     >
-      <el-form :model="editForm" label-width="120px" size="small">
+      <el-form  ref="editFormRef" :rules="editFormRules" :model="editForm" label-width="120px" size="small">
         <el-form-item label="上班打卡时间">
         <el-form-item label="上班打卡时间">
           <el-date-picker
           <el-date-picker
             v-model="editForm.daKaShiJian1"
             v-model="editForm.daKaShiJian1"
@@ -249,7 +249,7 @@
             style="width: 100%"
             style="width: 100%"
           />
           />
         </el-form-item>
         </el-form-item>
-        <el-form-item label="备注">
+        <el-form-item label="备注" prop="beiZhu">
           <el-input
           <el-input
             type="textarea"
             type="textarea"
             v-model="editForm.beiZhu"
             v-model="editForm.beiZhu"
@@ -318,6 +318,12 @@ export default {
       sorts:{
       sorts:{
             "ri_qi_": "DESC"
             "ri_qi_": "DESC"
         },
         },
+      editFormRules: {
+        beiZhu: [
+          { required: true, message: '请输入备注信息', trigger: 'blur' }
+          // 可选:还可以增加其他规则,如最小长度等
+        ]
+      },
       daterRange: [],
       daterRange: [],
       searchXinMing: '',
       searchXinMing: '',
       pickerOptions: {
       pickerOptions: {
@@ -589,6 +595,12 @@ export default {
         beiZhu: row.beiZhu || ''
         beiZhu: row.beiZhu || ''
       }
       }
       this.editDialogVisible = true
       this.editDialogVisible = true
+       // 清除残留的校验样式和提示
+      this.$nextTick(() => {
+        if (this.$refs.editFormRef) {
+          this.$refs.editFormRef.clearValidate()
+        }
+      })
     },
     },
     closeEditDialog() {
     closeEditDialog() {
       this.editDialogVisible = false
       this.editDialogVisible = false
@@ -596,31 +608,34 @@ export default {
       this.editForm = { id:'',daKaShiJian1: '', daKaShiJian2: '',beiZhu: '' }
       this.editForm = { id:'',daKaShiJian1: '', daKaShiJian2: '',beiZhu: '' }
     },
     },
     saveEditTime() {
     saveEditTime() {
-      if (!this.currentEditRow) return
-      this.saveLoading = true
-      // 调用 gdUpdateAttendce 接口,传递需要更新的字段
-      const postData = {
-        id: this.editForm.id,        // 主键字段名 id_
-        daKaShiJian1: this.editForm.daKaShiJian1,
-        daKaShiJian2: this.editForm.daKaShiJian2,
-        beiZhu: this.editForm.beiZhu
-      }
-      gdUpdateAttendce(postData)
-        .then(() => {
-          this.$message.success('修改成功')
-          this.editDialogVisible = false
-          // 刷新列表以显示最新数据
-          this.loadData()
-        })
-        .catch((err) => {
-          console.error(err)
-          if(!err.cause){
-            this.$message.error('修改异常')
-          }
-        })
-        .finally(() => {
-          this.saveLoading = false
-        })
+      this.$refs.editFormRef.validate((valid) => {
+        if (!valid) return
+        if (!this.currentEditRow) return
+        this.saveLoading = true
+        // 调用 gdUpdateAttendce 接口,传递需要更新的字段
+        const postData = {
+          id: this.editForm.id,        // 主键字段名 id_
+          daKaShiJian1: this.editForm.daKaShiJian1,
+          daKaShiJian2: this.editForm.daKaShiJian2,
+          beiZhu: this.editForm.beiZhu
+        }
+        gdUpdateAttendce(postData)
+          .then(() => {
+            this.$message.success('修改成功')
+            this.editDialogVisible = false
+            // 刷新列表以显示最新数据
+            this.loadData()
+          })
+          .catch((err) => {
+            console.error(err)
+            if(!err.cause){
+              this.$message.error('修改异常')
+            }
+          })
+          .finally(() => {
+            this.saveLoading = false
+          })
+      })
     }
     }
   }
   }
 }
 }