| | |
| | | |
| | | import { computed, ref } from 'vue'; |
| | | |
| | | import { useVbenModal } from '../../../../../packages/effects/common-ui/src'; |
| | | import { useVbenModal } from '@vben/common-ui'; |
| | | |
| | | import { message, Tag } from 'ant-design-vue'; |
| | | import { message } from 'ant-design-vue'; |
| | | |
| | | import { useVbenForm } from '#/adapter/form'; |
| | | import { |
| | |
| | | } from '#/api/erp/purchase/request'; |
| | | import { $t } from '#/locales'; |
| | | |
| | | import { useFormSchema, PURCHASE_REQUEST_STATUS } from '../data'; |
| | | import { useFormSchema } from '../data'; |
| | | import PurchaseRequestItemForm from './item-form.vue'; |
| | | |
| | | const emit = defineEmits(['success']); |
| | |
| | | const data = |
| | | (await formApi.getValues()) as ErpPurchaseRequestApi.PurchaseRequest; |
| | | data.items = formData.value?.items?.map((item) => ({ |
| | | ...item, |
| | | id: undefined, |
| | | productId: item.productId, |
| | | productUnitId: item.productUnitId, |
| | | productPrice: item.productPrice, |
| | | count: item.count, |
| | | taxPercent: item.taxPercent, |
| | | demandTime: item.demandTime, |
| | | qcCheckFlag: item.qcCheckFlag, |
| | | remark: item.remark, |
| | | })); |
| | | try { |
| | | await (formType.value === 'create' |
| | |
| | | try { |
| | | formData.value = await getPurchaseRequest(data.id); |
| | | await formApi.setValues(formData.value); |
| | | if (formData.value?.attachmentList?.length) { |
| | | const blobIds = formData.value.attachmentList.map((item) => ({ |
| | | uid: String(item.id), |
| | | name: item.name || '', |
| | | url: item.url || '', |
| | | status: 'done', |
| | | id: item.id, |
| | | })); |
| | | await formApi.setFieldValue('blobIds', blobIds); |
| | | } |
| | | } finally { |
| | | modalApi.unlock(); |
| | | } |