143600243540e9367bd09bafe3cfb41e03bc1e43..532956d0c88380ab15046468b93c5eda24434b58
昨天 huminmin
禁止修改打卡规则的部门选项
532956 对比 | 目录
昨天 zhangwencui
上下班时间限制校验
ab8c18 对比 | 目录
已修改1个文件
39 ■■■■■ 文件已修改
src/views/personnelManagement/attendanceCheckin/checkinRules/components/form.vue 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/personnelManagement/attendanceCheckin/checkinRules/components/form.vue
@@ -18,7 +18,7 @@
                        placeholder="请选择部门"
                        check-strictly
                        style="width: 100%"
                        :disabled="operationType === 'view'" />
                        :disabled="['edit', 'view'].includes(operationType)" />
      </el-form-item>
      <!-- 地点信息 -->
      <!-- <el-form-item label="地点名称"
@@ -89,6 +89,9 @@
        <el-time-picker v-model="form.endAt"
                        format="HH:mm"
                        value-format="HH:mm"
                        :picker-options="{
      minTime: form.startAt
    }"
                        placeholder="请选择下班时间"
                        :disabled="operationType === 'view'" />
      </el-form-item>
@@ -127,6 +130,7 @@
      default: () => ({}),
    },
  });
  // const pickerOptions = ref({ minTime: form.value.startAt });
  const emit = defineEmits(["update:modelValue", "close"]);
@@ -164,7 +168,28 @@
    latitude: [{ required: true, message: "请选择打卡位置", trigger: "blur" }],
    radius: [{ required: true, message: "请输入打卡范围", trigger: "blur" }],
    startAt: [{ required: true, message: "请选择上班时间", trigger: "change" }],
    endAt: [{ required: true, message: "请选择下班时间", trigger: "change" }],
    endAt: [
      { required: true, message: "请选择下班时间", trigger: "change" },
      {
        validator: (rule, value, callback) => {
          if (form.startAt && value) {
            const startParts = form.startAt.split(":");
            const endParts = value.split(":");
            const startTime =
              parseInt(startParts[0]) * 60 + parseInt(startParts[1]);
            const endTime = parseInt(endParts[0]) * 60 + parseInt(endParts[1]);
            if (endTime <= startTime) {
              callback(new Error("下班时间不能早于上班时间"));
            } else {
              callback();
            }
          } else {
            callback();
          }
        },
        trigger: "change",
      },
    ],
  };
  // 部门选项
@@ -355,6 +380,16 @@
    }
  );
  // 监听上班时间变化,触发下班时间校验
  watch(
    () => form.startAt,
    () => {
      if (formRef.value && form.endAt) {
        formRef.value.validateField("endAt");
      }
    }
  );
  // 监听弹窗显示
  watch(
    () => dialogVisible.value,