gongchunyi
8 天以前 9fcdccb1f30f60d54776f94ee7b2e43ed08f1d8f
src/views/equipmentManagement/inspectionManagement/components/formDia.vue
@@ -100,7 +100,7 @@
</template>
<script setup>
import {reactive, ref} from "vue";
import {reactive, ref, getCurrentInstance, toRefs} from "vue";
import useUserStore from '@/store/modules/user'
import {addOrEditTimingTask} from "@/api/inspectionManagement/index.js";
import {userListNoPageByTenantId} from "@/api/system/user.js";
@@ -124,10 +124,66 @@
    week: '',
    time: ''
  },
  rules: {
    taskId: [{ required: true, message: "请选择设备", trigger: "change" },],
    inspector: [{ required: true, message: "请输入巡检人", trigger: "blur" },],
  }
   rules: {
      taskId: [{ required: true, message: "请选择设备", trigger: "change" },],
      inspector: [{ required: true, message: "请输入巡检人", trigger: "blur" },],
      dateStr: [{ required: true, message: "请选择登记时间", trigger: "change" }],
      frequencyType: [{ required: true, message: "请选择任务频率", trigger: "change" }],
      frequencyDetail: [
         {
            required: true,
            message: "请选择日期",
            trigger: "change",
            validator: (rule, value, callback) => {
               if (!form.value.frequencyType) {
                  callback()
                  return
               }
               if (form.value.frequencyType === 'WEEKLY') {
                  if (!form.value.week || !form.value.time) {
                     callback(new Error("请选择日期和时间"))
                  } else {
                     callback()
                  }
               } else {
                  if (!value) {
                     callback(new Error("请选择日期"))
                  } else {
                     callback()
                  }
               }
            }
         }
      ],
      week: [
         {
            required: true,
            message: "请选择星期",
            trigger: "change",
            validator: (rule, value, callback) => {
               if (form.value.frequencyType === 'WEEKLY' && !value) {
                  callback(new Error("请选择星期"))
               } else {
                  callback()
               }
            }
         }
      ],
      time: [
         {
            required: true,
            message: "请选择时间",
            trigger: "change",
            validator: (rule, value, callback) => {
               if (form.value.frequencyType === 'WEEKLY' && !value) {
                  callback(new Error("请选择时间"))
               } else {
                  callback()
               }
            }
         }
      ]
   }
})
const { form, rules } = toRefs(data)
const userList = ref([])
@@ -163,7 +219,21 @@
  if (type === 'edit' && row) {
    form.value = {...row}
    form.value.inspector = form.value.inspectorIds.split(',').map(Number)
    if (row.frequencyDetail) {
      if (row.frequencyType === 'WEEKLY') {
        const parts = row.frequencyDetail.split(',')
        if (parts.length === 2) {
          form.value.week = parts[0]
          form.value.time = parts[1]
        }
      } else if (row.frequencyType === 'DAILY') {
        form.value.frequencyDetail = row.frequencyDetail
      } else {
        form.value.frequencyDetail = row.frequencyDetail
      }
    }
    // 如果有设备ID,自动设置设备信息
    if (form.value.taskId) {
      setDeviceModel(form.value.taskId);