feat:设备管理-维修单添加备注/结果栏

main
黄伟杰 2 weeks ago
parent 0061fb2a3c
commit fe061f5746

@ -53,6 +53,10 @@ export const DvRepairApi = {
return await request.download({ url: `/mes/dv-repair/export-excel`, params })
},
updateDvRepairStatus: async (data: any) => {
return await request.put({ url: `/mes/dv-repair/updateDvRepairStatus`, data })
},
// ==================== 子表(设备维修记录行) ====================
// 获得设备维修记录行列表

@ -102,7 +102,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" />
<DvRepairLineForm ref="dvRepairLineFormRef" :repair-id="formData.id" :is-repair-mode="formType === 'repair'" />
</el-tab-pane>
</el-tabs>
<template #footer>
@ -406,24 +406,41 @@ 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
}
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.dvRepairLines = dvRepairLineFormRef.value.getData()
if (formType.value === 'create') {
await DvRepairApi.createDvRepair(data)
message.success(t('common.createSuccess'))
} else {
await DvRepairApi.updateDvRepair(data)
;(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
const finishDate = data.finishDate
const confirmDate = data.confirmDate
const repairResult = data.repairResult
const updateReqVOList = lineList
await DvRepairApi.updateDvRepairStatus({
id: data.id,
requireDate,
finishDate,
confirmDate,
repairResult,
updateReqVOList,
})
message.success(t('common.updateSuccess'))
} else {
;(data as any).dvRepairLines = lineList
if (formType.value === 'create') {
await DvRepairApi.createDvRepair(data)
message.success(t('common.createSuccess'))
} else {
await DvRepairApi.updateDvRepair(data)
message.success(t('common.updateSuccess'))
}
}
dialogVisible.value = false
//

@ -44,6 +44,21 @@
</el-form-item>
</template>
</el-table-column>
<el-table-column v-if="props.isRepairMode" label="备注" min-width="180">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.remark`" class="mb-0px!">
<el-input v-model="row.remark" placeholder="请输入备注" />
</el-form-item>
</template>
</el-table-column>
<el-table-column v-if="props.isRepairMode" label="结果" min-width="160">
<template #default="{ row }">
<el-radio-group v-model="row.result">
<el-radio label="1">通过</el-radio>
<el-radio label="2">不通过</el-radio>
</el-radio-group>
</template>
</el-table-column>
<!-- <el-table-column label="标准" min-width="150">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.subjectStandard`" :rules="formRules.subjectStandard" class="mb-0px!">
@ -94,7 +109,8 @@
import { DvRepairApi } from '@/api/mes/dvrepair'
const props = defineProps<{
repairId: undefined // ID
repairId: undefined
isRepairMode?: boolean
}>()
const formLoading = ref(false) //
const formData = ref([])
@ -141,6 +157,7 @@ const handleAdd = () => {
malfunctionUrl: undefined,
repairDes: undefined,
remark: undefined,
repairResult: undefined,
}
row.repairId = props.repairId
formData.value.push(row)

@ -100,6 +100,13 @@ ref="tableRef" v-loading="loading" :data="list" :stripe="true" :show-overflow-to
</el-tag>
</template>
</el-table-column>
<el-table-column label="结果" align="center" prop="repairStatus" min-width="120">
<template #default="scope">
<el-tag :type="getResultTagType(scope.row.repairStatus)" effect="light">
{{ getResultLabel(scope.row.repairStatus) }}
</el-tag>
</template>
</el-table-column>
<!-- <el-table-column label="备注" align="center" prop="remark" /> -->
<el-table-column
label="创建时间" align="center" prop="createTime" :formatter="dateFormatter" width="170px"
@ -189,6 +196,22 @@ const getStatusTagType = (value: any) => {
return 'info'
}
const getResultLabel = (value: any) => {
const v = value === '' || value === null || value === undefined ? undefined : String(value)
if (v == '0') return '待维修'
if (v == '1') return '通过'
if (v == '2') return '不通过'
return '-'
}
const getResultTagType = (value: any) => {
const v = value === '' || value === null || value === undefined ? undefined : String(value)
if (v == '1') return 'success'
if (v == '2') return 'danger'
if (v == '0') return 'info'
return 'info'
}
const tableRef = ref()
const selectedIds = ref<number[]>([])
const handleSelectionChange = (rows: any[]) => {

Loading…
Cancel
Save