fix(feedback): 解决报工表单主键冲突问题
- 在编辑/创建时清空表单中的旧 id 避免主键冲突
- 在关闭表单时清空 id 字段防止下次新增时误带旧主键
- 在加载新数据前清空上一条报工残留的 id 数据
| | |
| | | originalSnapshot.value = ''; |
| | | paramDetails.value = []; |
| | | resetWaitConfig(); |
| | | // 关闭时清空 id,避免下次新增报工时误带旧主键导致主键冲突 |
| | | await formApi.setFieldValue('id', undefined); |
| | | return; |
| | | } |
| | | // 加载数据 |
| | |
| | | const code = await generateAutoCode( |
| | | MesAutoCodeRuleCode.PRO_FEEDBACK_CODE, |
| | | ); |
| | | // 清空上一条报工残留的 id,避免新增时误带旧主键导致主键冲突 |
| | | await formApi.setFieldValue('id', undefined); |
| | | await formApi.setValues({ |
| | | code, |
| | | feedbackTime: dayjs().format('YYYY-MM-DD HH:mm:ss'), |
| | |
| | | checkFlag: config.checkFlag, |
| | | needReportQuantity: config.needReportQuantity, |
| | | }); |
| | | // 清空上次编辑/创建时写入表单的 id,避免新增报工时误带旧主键导致主键冲突 |
| | | await formApi.setFieldValue('id', undefined); |
| | | originalSnapshot.value = JSON.stringify(await getAlignedData()); |
| | | } |
| | | |