|
|
@@ -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
|