yuan
5 天以前 9ea5ff67655241271bdf04bb50ca3a8d60c4e22a
src/views/equipmentManagement/inspectionManagement/components/formDia.vue
@@ -26,8 +26,23 @@
        </el-row>
        <el-row>
          <el-col :span="12">
            <el-form-item label="巡检项目" prop="inspectionProject">
              <el-input v-model="form.inspectionProject" placeholder="请输入巡检项目" type="textarea" :autosize="{ minRows: 2, maxRows: 6 }" />
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="备注" prop="remarks">
              <el-input v-model="form.remarks" placeholder="请输入备注" type="textarea" />
              <el-input v-model="form.remarks" placeholder="请输入备注" type="textarea" :autosize="{ minRows: 2, maxRows: 6 }" />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="12">
            <el-form-item label="是否启用" prop="isEnabled">
              <el-radio-group v-model="form.isEnabled">
                <el-radio :value="1">是</el-radio>
                <el-radio :value="0">否</el-radio>
              </el-radio-group>
            </el-form-item>
          </el-col>
        </el-row>
@@ -91,8 +106,8 @@
      </el-form>
      <template #footer>
        <div class="dialog-footer">
          <el-button @click="cancel">取消</el-button>
          <el-button type="primary" @click="submitForm">保存</el-button>
          <el-button @click="cancel">取消</el-button>
        </div>
      </template>
    </el-dialog>
@@ -100,7 +115,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";
@@ -118,16 +133,74 @@
    taskName: undefined,
    inspector: '',
    inspectorIds: '',
    inspectionProject: '',
    isEnabled: 1,
    remarks: '',
    frequencyType: '',
    frequencyDetail: '',
    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([])
@@ -164,6 +237,14 @@
    form.value = {...row}
    form.value.inspector = form.value.inspectorIds.split(',').map(Number)
    
    // 处理WEEKLY频率的回显:将frequencyDetail拆分为week和time
    if (form.value.frequencyType === 'WEEKLY' && form.value.frequencyDetail) {
      const parts = form.value.frequencyDetail.split(',')
      form.value.week = parts[0] || ''
      form.value.time = parts[1] || ''
      form.value.frequencyDetail = ''
    }
    // 如果有设备ID,自动设置设备信息
    if (form.value.taskId) {
      setDeviceModel(form.value.taskId);
@@ -189,6 +270,8 @@
    taskName: undefined,
    inspector: '',
    inspectorIds: '',
    inspectionProject: '',
    isEnabled: 1,
    remarks: '',
    frequencyType: '',
    frequencyDetail: '',