From 9ea5ff67655241271bdf04bb50ca3a8d60c4e22a Mon Sep 17 00:00:00 2001
From: yuan <123@>
Date: 星期二, 11 八月 2026 15:07:02 +0800
Subject: [PATCH] fix: 用河南鹤壁代码覆盖山西长治

---
 src/views/personnelManagement/attendanceCheckin/checkinRules/components/form.vue |  146 +++++++++++++-----------------------------------
 1 files changed, 40 insertions(+), 106 deletions(-)

diff --git a/src/views/personnelManagement/attendanceCheckin/checkinRules/components/form.vue b/src/views/personnelManagement/attendanceCheckin/checkinRules/components/form.vue
index 0ddea67..b17b234 100644
--- a/src/views/personnelManagement/attendanceCheckin/checkinRules/components/form.vue
+++ b/src/views/personnelManagement/attendanceCheckin/checkinRules/components/form.vue
@@ -37,17 +37,11 @@
           <el-option v-for="item in shifts_list"
                      :key="item.value"
                      :label="item.label"
-                     :value="item.value"
-                     :disabled="
-              operationType === 'add' &&
-              (String(item.label || '').includes('鍋�') ||
-                String(item.label || '').includes('浼�'))
-            " />
+                     :value="item.value" />
         </el-select>
       </el-form-item>
       <el-form-item label="鎵撳崱鑼冨洿(m)"
-                    prop="radius"
-                    v-show="!hideClockFields">
+                    prop="radius">
         <el-input-number v-model="form.radius"
                          :min="10"
                          :max="1000"
@@ -57,8 +51,7 @@
       </el-form-item>
       <!-- 楂樺痉鍦板浘閫夋嫨 -->
       <el-form-item label="鎵撳崱浣嶇疆"
-                    prop="longitude"
-                    v-show="!hideClockFields">
+                    prop="longitude">
         <div class="map-container">
           <div class="map-header"
                style="margin-bottom: 10px">
@@ -89,16 +82,14 @@
         </div>
       </el-form-item>
       <el-form-item label="鍦扮偣鍚嶇О"
-                    prop="locationName"
-                    v-show="!hideClockFields">
+                    prop="locationName">
         <el-input v-model="form.locationName"
                   :disabled="operationType === 'view'"
                   placeholder="璇疯緭鍏ュ湴鐐瑰悕绉�" />
       </el-form-item>
       <!-- 涓婁笅鐝椂闂� -->
       <el-form-item label="涓婄彮鏃堕棿"
-                    prop="startAt"
-                    v-show="!hideClockFields">
+                    prop="startAt">
         <el-time-picker v-model="form.startAt"
                         format="HH:mm"
                         value-format="HH:mm"
@@ -106,8 +97,7 @@
                         :disabled="operationType === 'view'" />
       </el-form-item>
       <el-form-item label="涓嬬彮鏃堕棿"
-                    prop="endAt"
-                    v-show="!hideClockFields">
+                    prop="endAt">
         <el-time-picker v-model="form.endAt"
                         format="HH:mm"
                         value-format="HH:mm"
@@ -120,9 +110,7 @@
     </el-form>
     <template #footer>
       <span class="dialog-footer">
-        <el-button type="primary"
-                   @click="submitForm"
-                   v-if="operationType !== 'view'">纭畾</el-button>
+        <el-button type="primary" @click="submitForm" v-if="operationType !== 'view'">纭畾</el-button>
         <el-button @click="dialogVisible = false">鍙栨秷</el-button>
       </span>
     </template>
@@ -169,21 +157,6 @@
   // 鑾峰彇鐝瀛楀吀鍊�
   const { shifts_list } = useDict("shifts_list");
 
-  const selectedShiftLabel = computed(() => {
-    const item = shifts_list.value?.find(
-      s => String(s.value) === String(form.shift)
-    );
-    return item?.label || "";
-  });
-
-  const hideClockFields = computed(() => {
-    if (props.operationType === "view") return false;
-    return (
-      selectedShiftLabel.value.includes("鍋�") ||
-      selectedShiftLabel.value.includes("浼�")
-    );
-  });
-
   // 琛ㄥ崟鏁版嵁
   const formRef = ref();
   const form = reactive({
@@ -199,53 +172,39 @@
   });
 
   // 琛ㄥ崟楠岃瘉瑙勫垯
-  const rules = computed(() => {
-    const base = {
-      sysDeptId: [{ required: true, message: "璇烽�夋嫨閮ㄩ棬", trigger: "change" }],
-      shift: [{ required: true, message: "璇烽�夋嫨鐝", trigger: "change" }],
-    };
-
-    if (hideClockFields.value) {
-      return base;
-    }
-
-    return {
-      ...base,
-      locationName: [
-        { required: true, message: "璇疯緭鍏ュ湴鐐瑰悕绉�", trigger: "blur" },
-      ],
-      longitude: [{ required: true, message: "璇烽�夋嫨鎵撳崱浣嶇疆", trigger: "blur" }],
-      latitude: [{ required: true, message: "璇烽�夋嫨鎵撳崱浣嶇疆", trigger: "blur" }],
-      radius: [{ required: true, message: "璇疯緭鍏ユ墦鍗¤寖鍥�", trigger: "blur" }],
-      startAt: [{ required: true, message: "璇烽�夋嫨涓婄彮鏃堕棿", trigger: "change" }],
-      endAt: [
-        { required: true, message: "璇烽�夋嫨涓嬬彮鏃堕棿", trigger: "change" },
-        {
-          validator: (rule, value, callback) => {
-            if (form.shift && ["澶滅彮", "澶�"].includes(form.shift)) {
-              callback();
-              return;
-            }
-            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();
-              }
+  const rules = {
+    sysDeptId: [{ required: true, message: "璇烽�夋嫨閮ㄩ棬", trigger: "change" }],
+    locationName: [
+      { required: true, message: "璇疯緭鍏ュ湴鐐瑰悕绉�", trigger: "blur" },
+    ],
+    longitude: [{ required: true, message: "璇烽�夋嫨鎵撳崱浣嶇疆", trigger: "blur" }],
+    latitude: [{ required: true, message: "璇烽�夋嫨鎵撳崱浣嶇疆", trigger: "blur" }],
+    shift: [{ required: true, message: "璇烽�夋嫨鐝", trigger: "change" }],
+    radius: [{ required: true, message: "璇疯緭鍏ユ墦鍗¤寖鍥�", trigger: "blur" }],
+    startAt: [{ 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();
             }
-          },
-          trigger: "change",
+          } else {
+            callback();
+          }
         },
-      ],
-    };
-  });
+        trigger: "change",
+      },
+    ],
+  };
 
   // 閮ㄩ棬閫夐」
   const deptOptions = ref([]);
@@ -429,8 +388,8 @@
   watch(
     () => form.radius,
     newValue => {
-      if (circle && newValue != null && newValue !== "") {
-        circle.setRadius(Number(newValue));
+      if (circle) {
+        circle.setRadius(newValue);
       }
     }
   );
@@ -441,29 +400,6 @@
     () => {
       if (formRef.value && form.endAt) {
         formRef.value.validateField("endAt");
-      }
-    }
-  );
-
-  watch(
-    () => hideClockFields.value,
-    val => {
-      if (!val) return;
-      form.radius = null;
-      form.longitude = "";
-      form.latitude = "";
-      form.locationName = "";
-      form.startAt = "";
-      form.endAt = "";
-      if (formRef.value) {
-        formRef.value.clearValidate([
-          "radius",
-          "longitude",
-          "latitude",
-          "locationName",
-          "startAt",
-          "endAt",
-        ]);
       }
     }
   );
@@ -501,9 +437,7 @@
 
         // 鍒濆鍖栧湴鍥�
         setTimeout(() => {
-          if (!hideClockFields.value) {
-            initMap();
-          }
+          initMap();
         }, 100);
       }
     }
@@ -574,4 +508,4 @@
   .mt8 {
     margin-top: 8px;
   }
-</style>
+</style>
\ No newline at end of file

--
Gitblit v1.9.3