|
|
|
|
@ -22,44 +22,39 @@
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item label="设备" prop="deviceId">
|
|
|
|
|
<el-select
|
|
|
|
|
v-model="formData.deviceId" filterable clearable :loading="deviceLoading"
|
|
|
|
|
<el-select v-model="formData.deviceId" filterable clearable :loading="deviceLoading"
|
|
|
|
|
:disabled="isRepairMode" placeholder="请选择设备" class="!w-full">
|
|
|
|
|
<el-option v-for="opt in deviceOptions" :key="String(opt.value)" :label="opt.label" :value="opt.value" />
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item v-if="showComponentSelect" label="关键件" prop="componentId">
|
|
|
|
|
<el-select
|
|
|
|
|
v-model="formData.componentId" clearable :loading="componentLoading" :disabled="isRepairMode"
|
|
|
|
|
<el-select v-model="formData.componentId" clearable :loading="componentLoading" :disabled="isRepairMode"
|
|
|
|
|
placeholder="请选择关键件" class="!w-full">
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="opt in componentOptions" :key="String(opt.value)" :label="opt.label"
|
|
|
|
|
<el-option v-for="opt in componentOptions" :key="String(opt.value)" :label="opt.label"
|
|
|
|
|
:value="opt.value" />
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item label="设备名称" prop="machineryName" :required="false">
|
|
|
|
|
<el-input v-model="formData.machineryName" placeholder="自动带出" disabled />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="设备编码" prop="machineryCode" :required="false">
|
|
|
|
|
<el-input v-model="formData.machineryCode" placeholder="自动带出" disabled />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="8"> <el-form-item label="设备编码" prop="machineryCode" :required="false">
|
|
|
|
|
<el-input v-model="formData.machineryCode" placeholder="自动带出" disabled />
|
|
|
|
|
</el-form-item></el-col>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item label="规格型号" prop="machinerySpec" :required="false">
|
|
|
|
|
<el-input v-model="formData.machinerySpec" placeholder="自动带出" disabled />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="品牌" prop="machineryBrand" :required="false">
|
|
|
|
|
<el-input v-model="formData.machineryBrand" placeholder="自动带出" disabled />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item label="维修人员" prop="acceptedBy">
|
|
|
|
|
<el-select
|
|
|
|
|
v-model="formData.acceptedBy" filterable clearable placeholder="请选择维修人员" class="!w-full"
|
|
|
|
|
<el-select v-model="formData.acceptedBy" filterable clearable placeholder="请选择维修人员" class="!w-full"
|
|
|
|
|
:disabled="isRepairMode">
|
|
|
|
|
<el-option v-for="item in users" :key="String(item.id)" :label="item.nickname" :value="String(item.id)" />
|
|
|
|
|
</el-select>
|
|
|
|
|
@ -67,8 +62,7 @@ v-model="formData.acceptedBy" filterable clearable placeholder="请选择维修
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item label="验收人员" prop="confirmBy">
|
|
|
|
|
<el-select
|
|
|
|
|
v-model="formData.confirmBy" filterable clearable placeholder="请选择验收人员" class="!w-full"
|
|
|
|
|
<el-select v-model="formData.confirmBy" filterable clearable placeholder="请选择验收人员" class="!w-full"
|
|
|
|
|
:disabled="isRepairMode">
|
|
|
|
|
<el-option v-for="item in users" :key="String(item.id)" :label="item.nickname" :value="String(item.id)" />
|
|
|
|
|
</el-select>
|
|
|
|
|
@ -80,17 +74,20 @@ v-model="formData.confirmBy" filterable clearable placeholder="请选择验收
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item label="报修日期" prop="requireDate">
|
|
|
|
|
<el-date-picker v-model="formData.requireDate" type="date" value-format="x" placeholder="选择报修日期" class="!w-full" :disabled="repairFieldsDisabled" />
|
|
|
|
|
<el-date-picker v-model="formData.requireDate" type="date" value-format="x" placeholder="选择报修日期"
|
|
|
|
|
class="!w-full" :disabled="repairFieldsDisabled" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item label="完成日期" prop="finishDate">
|
|
|
|
|
<el-date-picker v-model="formData.finishDate" type="date" value-format="x" placeholder="选择完成日期" class="!w-full" :disabled="repairFieldsDisabled" />
|
|
|
|
|
<el-date-picker v-model="formData.finishDate" type="date" value-format="x" placeholder="选择完成日期"
|
|
|
|
|
class="!w-full" :disabled="repairFieldsDisabled" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item label="验收日期" prop="confirmDate">
|
|
|
|
|
<el-date-picker v-model="formData.confirmDate" type="date" value-format="x" placeholder="选择验收日期" class="!w-full" :disabled="repairFieldsDisabled" />
|
|
|
|
|
<el-date-picker v-model="formData.confirmDate" type="date" value-format="x" placeholder="选择验收日期"
|
|
|
|
|
class="!w-full" :disabled="repairFieldsDisabled" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
@ -102,11 +99,7 @@ v-model="formData.confirmBy" filterable clearable placeholder="请选择验收
|
|
|
|
|
<!-- 子表的表单 -->
|
|
|
|
|
<el-tabs v-model="subTabsName">
|
|
|
|
|
<el-tab-pane label="设备维修项目行" name="dvRepairLine">
|
|
|
|
|
<DvRepairLineForm
|
|
|
|
|
ref="dvRepairLineFormRef"
|
|
|
|
|
:repair-id="formData.id"
|
|
|
|
|
:line-mode="lineMode"
|
|
|
|
|
/>
|
|
|
|
|
<DvRepairLineForm ref="dvRepairLineFormRef" :repair-id="formData.id" :line-mode="lineMode" />
|
|
|
|
|
</el-tab-pane>
|
|
|
|
|
</el-tabs>
|
|
|
|
|
<template #footer>
|
|
|
|
|
@ -132,7 +125,7 @@ const dialogVisible = ref(false) // 弹窗的是否展示
|
|
|
|
|
const dialogTitle = ref('') // 弹窗的标题
|
|
|
|
|
const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
|
|
|
|
|
const formType = ref('') // 表单的类型:create - 新增;update - 修改
|
|
|
|
|
const isRepairMode = computed(() => formType.value === 'update' || formType.value === 'repair')
|
|
|
|
|
const isRepairMode = computed(() => formType.value === 'update' || formType.value === 'repair')
|
|
|
|
|
const showRepairFields = computed(() => formType.value === 'update' || formType.value === 'repair')
|
|
|
|
|
const repairFieldsDisabled = computed(() => formType.value !== 'repair')
|
|
|
|
|
const isHydrating = ref(false)
|
|
|
|
|
@ -410,13 +403,13 @@ const open = async (type: string, id?: number) => {
|
|
|
|
|
|
|
|
|
|
if (currentOpenId !== openRequestId) return
|
|
|
|
|
|
|
|
|
|
;(formData.value as any).requireDate = (formData.value as any).requireDate ?? undefined
|
|
|
|
|
;(formData.value as any).finishDate = (formData.value as any).finishDate ?? undefined
|
|
|
|
|
;(formData.value as any).confirmDate = (formData.value as any).confirmDate ?? undefined
|
|
|
|
|
;(formData.value as any).repairResult = (formData.value as any).repairResult ?? ''
|
|
|
|
|
; (formData.value as any).requireDate = (formData.value as any).requireDate ?? undefined
|
|
|
|
|
; (formData.value as any).finishDate = (formData.value as any).finishDate ?? undefined
|
|
|
|
|
; (formData.value as any).confirmDate = (formData.value as any).confirmDate ?? undefined
|
|
|
|
|
; (formData.value as any).repairResult = (formData.value as any).repairResult ?? ''
|
|
|
|
|
|
|
|
|
|
;(formData.value as any).acceptedBy = normalizeUserId((formData.value as any).acceptedBy)
|
|
|
|
|
;(formData.value as any).confirmBy = normalizeUserId((formData.value as any).confirmBy)
|
|
|
|
|
; (formData.value as any).acceptedBy = normalizeUserId((formData.value as any).acceptedBy)
|
|
|
|
|
; (formData.value as any).confirmBy = normalizeUserId((formData.value as any).confirmBy)
|
|
|
|
|
|
|
|
|
|
const typeId = typeof formData.value.machineryTypeId === 'number' ? formData.value.machineryTypeId : Number(formData.value.machineryTypeId)
|
|
|
|
|
formData.value.machineryTypeId = Number.isNaN(typeId) ? formData.value.machineryTypeId : typeId
|
|
|
|
|
@ -469,16 +462,16 @@ const submitForm = async () => {
|
|
|
|
|
formLoading.value = true
|
|
|
|
|
try {
|
|
|
|
|
const data = { ...(formData.value as any) } as DvRepairVO & { deviceId?: number; componentId?: number }
|
|
|
|
|
;(data as any).acceptedBy = normalizeUserId((data as any).acceptedBy)
|
|
|
|
|
;(data as any).confirmBy = normalizeUserId((data as any).confirmBy)
|
|
|
|
|
; (data as any).acceptedBy = normalizeUserId((data as any).acceptedBy)
|
|
|
|
|
; (data as any).confirmBy = normalizeUserId((data as any).confirmBy)
|
|
|
|
|
if (formType.value === 'repair') {
|
|
|
|
|
;(data as any).status = 1
|
|
|
|
|
; (data as any).status = 1
|
|
|
|
|
}
|
|
|
|
|
if (typeof formData.value.deviceId === 'number') {
|
|
|
|
|
data.machineryId = formData.value.deviceId as any
|
|
|
|
|
}
|
|
|
|
|
;(data as any).deviceId = formData.value.deviceId
|
|
|
|
|
;(data as any).componentId = formData.value.machineryTypeId === 2 ? formData.value.componentId : undefined
|
|
|
|
|
; (data as any).deviceId = formData.value.deviceId
|
|
|
|
|
; (data as any).componentId = formData.value.machineryTypeId === 2 ? formData.value.componentId : undefined
|
|
|
|
|
const lineList = dvRepairLineFormRef.value.getData() || []
|
|
|
|
|
if (formType.value === 'repair') {
|
|
|
|
|
const requireDate = data.requireDate
|
|
|
|
|
@ -496,7 +489,7 @@ const submitForm = async () => {
|
|
|
|
|
})
|
|
|
|
|
message.success(t('common.updateSuccess'))
|
|
|
|
|
} else {
|
|
|
|
|
;(data as any).dvRepairLines = lineList
|
|
|
|
|
; (data as any).dvRepairLines = lineList
|
|
|
|
|
if (formType.value === 'create') {
|
|
|
|
|
await DvRepairApi.createDvRepair(data)
|
|
|
|
|
message.success(t('common.createSuccess'))
|
|
|
|
|
|