Преглед изворни кода

Merge branch 'master' of http://1.94.244.160:3000/shuzhihua/pms-iot-vue

Zimo пре 14 часа
родитељ
комит
80516a80e3
1 измењених фајлова са 30 додато и 3 уклоњено
  1. 30 3
      src/views/pms/iotrhdailyreport/rh-form.vue

+ 30 - 3
src/views/pms/iotrhdailyreport/rh-form.vue

@@ -38,10 +38,11 @@ interface FormOriginal {
   id: number
   deptId: number
   projectId: number
-  taskId: number
+  taskId: number | string
   deptName: string
   contractName: string
   taskName: string
+  relatedTasks: Record<string, string>
   dailyGasInjection: number
   dailyWaterInjection: number
   dailyInjectGasTime: number
@@ -86,6 +87,7 @@ const FORM_KEYS: (keyof FormOriginal)[] = [
   'deptName',
   'contractName',
   'taskName',
+  'relatedTasks',
   'dailyGasInjection',
   'dailyWaterInjection',
   'dailyInjectGasTime',
@@ -146,6 +148,25 @@ const isApproval = computed(() => props.type === 'approval')
 const isEdit = computed(() => props.type === 'edit')
 const isMainFieldDisabled = computed(() => formType.value === 'readonly' || isApproval.value)
 
+function getRelatedTaskOptions() {
+  const relatedTasks = form.value.relatedTasks
+  if (!relatedTasks || Object.keys(relatedTasks).length === 0) {
+    const taskId = form.value.taskId
+    if (taskId === null || taskId === undefined || taskId === '') return []
+    return [
+      {
+        label: String(taskId),
+        value: taskId
+      }
+    ]
+  }
+
+  return Object.entries(relatedTasks).map(([key, value]) => ({
+    label: value,
+    value: Number.isNaN(Number(key)) ? key : Number(key)
+  }))
+}
+
 async function loadDetail(id: number) {
   loading.value = true
   try {
@@ -422,8 +443,14 @@ const handleAudit = async (auditStatus: 20 | 30) => {
         <el-form-item label="项目" prop="contractName"
           ><el-input v-model="form.contractName" disabled
         /></el-form-item>
-        <el-form-item label="任务" prop="taskName">
-          <el-input v-model="form.taskName" disabled />
+        <el-form-item label="任务" prop="taskId">
+          <el-select
+            v-model="form.taskId"
+            :options="getRelatedTaskOptions()"
+            class="w-full"
+            filterable
+            placeholder="请选择"
+            :disabled="isMainFieldDisabled" />
         </el-form-item>
         <el-form-item label="搬迁安装天数(D)" prop="relocationDays"
           ><el-input v-model="form.relocationDays" disabled