| | |
| | | } from '#/api/mes/wm/itemreceipt/line'; |
| | | import { $t } from '#/locales'; |
| | | |
| | | import { useLineFormSchema } from '../data'; |
| | | import { |
| | | getEnterUnitRate, |
| | | omitLineTempFields, |
| | | useLineFormSchema, |
| | | } from '../data'; |
| | | |
| | | const emit = defineEmits(['success']); |
| | | const formData = ref<MesWmItemReceiptLineApi.ItemReceiptLine>(); |
| | |
| | | return; |
| | | } |
| | | modalApi.lock(); |
| | | // 提交表单 |
| | | const data = |
| | | (await formApi.getValues()) as MesWmItemReceiptLineApi.ItemReceiptLine; |
| | | // 提交表单(剔除仅用于前端换算/展示的临时字段) |
| | | const data = omitLineTempFields(await formApi.getValues()); |
| | | data.receiptId = receiptId.value; |
| | | try { |
| | | await (formData.value?.id |
| | |
| | | } |
| | | modalApi.lock(); |
| | | try { |
| | | formData.value = await getItemReceiptLine(data.id); |
| | | // 设置到 values |
| | | await formApi.setValues({ ...formData.value, noticeId: noticeId.value }); |
| | | const line = await getItemReceiptLine(data.id); |
| | | formData.value = line; |
| | | // 设置到 values;详情里的 unitMeasureId/unitMeasureName 即物料主单位,补到前端换算用的隐藏字段上 |
| | | await formApi.setValues({ |
| | | ...line, |
| | | noticeId: noticeId.value, |
| | | itemPrimaryUnitId: line.unitMeasureId, |
| | | itemPrimaryUnitName: line.unitMeasureName, |
| | | }); |
| | | // 回显录入单位时补齐换算比率(前端预览换算需要) |
| | | if (line.enterUnitMeasureId) { |
| | | await formApi.setFieldValue( |
| | | 'enterUnitRate', |
| | | await getEnterUnitRate( |
| | | line.itemId, |
| | | line.itemModelId, |
| | | line.enterUnitMeasureId, |
| | | ), |
| | | ); |
| | | } |
| | | } finally { |
| | | modalApi.unlock(); |
| | | } |