|
|
@@ -6,7 +6,7 @@ import { Close, Delete, Plus } from '@element-plus/icons-vue'
|
|
|
|
|
|
defineOptions({ name: 'IotRyEquipmentReportForm' })
|
|
|
|
|
|
-type FormMode = 'create' | 'edit' | 'detail' | 'approval'
|
|
|
+type FormMode = 'create' | 'edit' | 'detail' | 'approval' | 'modify'
|
|
|
|
|
|
interface EquipmentReportForm {
|
|
|
id?: number
|
|
|
@@ -19,6 +19,7 @@ interface EquipmentReportForm {
|
|
|
personnel: string
|
|
|
auditStatus?: 0 | 10 | 20 | 30 | 40
|
|
|
opinion?: string
|
|
|
+ modifyFlag?: 'Y'
|
|
|
}
|
|
|
|
|
|
interface ImproveReportDetail {
|
|
|
@@ -83,7 +84,8 @@ const drawerTitle = computed(() => {
|
|
|
create: '新建设备汇报',
|
|
|
edit: '编辑设备汇报',
|
|
|
detail: '查看设备汇报',
|
|
|
- approval: '审批设备汇报'
|
|
|
+ approval: '审批设备汇报',
|
|
|
+ modify: '修改设备汇报'
|
|
|
}
|
|
|
|
|
|
return titleMap[formMode.value]
|
|
|
@@ -173,7 +175,6 @@ function addImproveReportDetail() {
|
|
|
|
|
|
function removeImproveReportDetail(index: number) {
|
|
|
if (form.value.improveReportDetails.length <= 1) {
|
|
|
- form.value.improveReportDetails = getDefaultDetails()
|
|
|
return
|
|
|
}
|
|
|
|
|
|
@@ -198,9 +199,10 @@ async function submitForm() {
|
|
|
workPurpose: data.workPurpose,
|
|
|
relocationDays: Number(data.relocationDays),
|
|
|
personnel: data.personnel,
|
|
|
- improveReportDetails: data.improveReportDetails
|
|
|
+ improveReportDetails: data.improveReportDetails,
|
|
|
+ ...(formMode.value === 'modify' ? { modifyFlag: 'Y' as const } : {})
|
|
|
})
|
|
|
- message.success('编辑成功')
|
|
|
+ message.success(formMode.value === 'modify' ? '修改成功' : '编辑成功')
|
|
|
await props.loadList()
|
|
|
} else {
|
|
|
await IotRyImproveDailyReportApi.createIotRyImproveDailyReport({
|
|
|
@@ -428,7 +430,7 @@ defineExpose({ handleOpenForm })
|
|
|
type="danger"
|
|
|
:icon="Delete"
|
|
|
@click="removeImproveReportDetail($index)"
|
|
|
- :disabled="mainFieldDisabled">
|
|
|
+ :disabled="mainFieldDisabled || form.improveReportDetails.length <= 1">
|
|
|
删除
|
|
|
</el-button>
|
|
|
</template>
|
|
|
@@ -453,7 +455,7 @@ defineExpose({ handleOpenForm })
|
|
|
|
|
|
<template #footer>
|
|
|
<el-button
|
|
|
- v-if="formMode === 'create' || formMode === 'edit'"
|
|
|
+ v-if="formMode === 'create' || formMode === 'edit' || formMode === 'modify'"
|
|
|
size="default"
|
|
|
type="primary"
|
|
|
@click="submitForm"
|