| | |
| | | // 是否为编辑模式(可保存) |
| | | ['create', 'update'].includes(formType.value), |
| | | ); |
| | | const isFinish = computed(() => formType.value === 'finish'); // 是否为执行出库模式 |
| | | const canSubmit = computed( |
| | | () => |
| | | // 是否可提交 |
| | |
| | | const getTitle = computed(() => { |
| | | if (formType.value === 'detail') { |
| | | return $t('ui.actionTitle.view', ['发货通知单']); |
| | | } |
| | | if (formType.value === 'finish') { |
| | | return '执行出库'; |
| | | } |
| | | return formType.value === 'update' |
| | | ? $t('ui.actionTitle.edit', ['发货通知单']) |
| | |
| | | } |
| | | } |
| | | |
| | | /** 执行出库(后端暂未实现,提示用户) */ |
| | | function handleFinish() { |
| | | message.info('执行出库功能暂时不支持,敬请期待!'); |
| | | } |
| | | |
| | | const [Modal, modalApi] = useVbenModal({ |
| | | async onConfirm() { |
| | | if (!isEditable.value) { |
| | |
| | | if (formData.value?.id) { |
| | | await updateSalesNotice({ ...formData.value, ...data }); |
| | | formData.value = { ...formData.value, ...data }; |
| | | } else { |
| | | const id = await createSalesNotice(data); |
| | | formData.value = { |
| | | ...data, |
| | | id, |
| | | status: MesWmSalesNoticeStatusEnum.PREPARE, |
| | | }; |
| | | await formApi.setFieldValue('id', id); |
| | | await formApi.setFieldValue('status', formData.value.status); |
| | | formType.value = 'update'; |
| | | emit('success'); |
| | | message.success($t('ui.actionMessage.operationSuccess')); |
| | | await modalApi.close(); |
| | | return; |
| | | } |
| | | // 新增:保持弹窗打开,切换到编辑模式 |
| | | const id = await createSalesNotice(data); |
| | | formData.value = { |
| | | ...data, |
| | | id, |
| | | status: MesWmSalesNoticeStatusEnum.PREPARE, |
| | | }; |
| | | await formApi.setFieldValue('id', id); |
| | | await formApi.setFieldValue('status', formData.value.status); |
| | | formType.value = 'update'; |
| | | originalSnapshot.value = JSON.stringify(await formApi.getValues()); |
| | | emit('success'); |
| | | message.success($t('ui.actionMessage.operationSuccess')); |
| | |
| | | > |
| | | <Button type="primary">提交</Button> |
| | | </Popconfirm> |
| | | <Button v-if="isFinish" type="primary" @click="handleFinish"> |
| | | 执行出库 |
| | | </Button> |
| | | </div> |
| | | </template> |
| | | </Modal> |