feat(mes): 更新维修工单表单逻辑及字段展示

pull/871/MERGE
YunaiV 2026-04-04 01:22:55 +08:00
parent 307bac15e1
commit 469363c046
1 changed files with 15 additions and 24 deletions

View File

@ -60,29 +60,16 @@
/>
</el-form-item>
</el-col>
<!-- DONE @AI验收日期由后端自动设置仅详情时展示 -->
<el-col :span="8" v-if="showDetailFields">
<el-form-item label="验收日期" prop="confirmDate">
<el-date-picker
v-model="formData.confirmDate"
type="datetime"
value-format="x"
placeholder="选择验收日期"
disabled
/>
<el-col :span="8" v-if="showConfirmFields">
<el-form-item label="维修人" prop="acceptedUserId">
<UserSelect v-model="formData.acceptedUserId" placeholder="请选择维修人" disabled />
</el-form-item>
</el-col>
</el-row>
<el-row>
<!-- DONE @AI维修结果在验收(finish)时可选择详情(detail)时只读展示 -->
<el-col :span="8" v-if="isFinish || showDetailFields">
<el-col :span="8" v-if="showDetailFields">
<el-form-item label="维修结果" prop="result">
<el-select
v-model="formData.result"
placeholder="请选择维修结果"
clearable
:disabled="!isFinish"
>
<el-select v-model="formData.result" placeholder="请选择维修结果" clearable disabled>
<el-option
v-for="dict in getIntDictOptions(DICT_TYPE.MES_DV_REPAIR_RESULT)"
:key="dict.value"
@ -92,9 +79,15 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" v-if="showConfirmFields">
<el-form-item label="维修人" prop="acceptedUserId">
<UserSelect v-model="formData.acceptedUserId" placeholder="请选择维修人" disabled />
<el-col :span="8" v-if="showDetailFields">
<el-form-item label="验收日期" prop="confirmDate">
<el-date-picker
v-model="formData.confirmDate"
type="datetime"
value-format="x"
placeholder="选择验收日期"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="8" v-if="showDetailFields">
@ -180,7 +173,6 @@ const formType = ref<string>('create') // 表单类型create / update / confi
const isEditable = computed(() => ['create', 'update'].includes(formType.value)) //
const isConfirm = computed(() => formType.value === 'confirm') //
const isFinish = computed(() => formType.value === 'finish') //
// DONE @AIfinish isDetail
const isDetail = computed(() => formType.value === 'detail') // detail
const isHeaderReadonly = computed(() => ['confirm', 'finish', 'detail'].includes(formType.value)) //
const showFinishFields = computed(() => {
@ -233,8 +225,7 @@ const formRules = reactive({
name: [{ required: true, message: '维修单名称不能为空', trigger: 'blur' }],
machineryId: [{ required: true, message: '设备不能为空', trigger: 'blur' }],
requireDate: [{ required: true, message: '报修日期不能为空', trigger: 'blur' }],
finishDate: [{ required: true, message: '维修完成日期不能为空', trigger: 'change' }],
result: [{ required: true, message: '维修结果不能为空', trigger: 'change' }]
finishDate: [{ required: true, message: '维修完成日期不能为空', trigger: 'change' }]
})
const formRef = ref() // Ref
const originalFormData = ref<string>('') //