From 543433f64d491fe133b7a23363ff0ccacc3da07e Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期五, 24 七月 2026 14:33:42 +0800
Subject: [PATCH] fix(upload): 修复文件上传时的请求头配置问题
---
src/views/erp/purchase/order/modules/form.vue | 70 ++++++++++++----------------------
1 files changed, 25 insertions(+), 45 deletions(-)
diff --git a/src/views/erp/purchase/order/modules/form.vue b/src/views/erp/purchase/order/modules/form.vue
index 37981be..40d3490 100644
--- a/src/views/erp/purchase/order/modules/form.vue
+++ b/src/views/erp/purchase/order/modules/form.vue
@@ -1,19 +1,19 @@
<script lang="ts" setup>
import type { FormType } from '../data';
-import type { ErpPurchaseOrderApi, ProcessDefinition } from '#/api/erp/purchase/order';
+import type { ErpPurchaseOrderApi } from '#/api/erp/purchase/order';
import { computed, ref } from 'vue';
-import { useVbenModal } from '../../../../../packages/effects/common-ui/src';
+import { useVbenModal } from '@vben/common-ui';
-import { message } from 'ant-design-vue';
+import { message, Button } from 'ant-design-vue';
import { useVbenForm } from '#/adapter/form';
import { getAccountSimpleList } from '#/api/erp/finance/account';
import {
+ confirmReceipt,
createPurchaseOrder,
- getPurchaseApproveProcessList,
getPurchaseOrder,
updatePurchaseOrder,
} from '#/api/erp/purchase/order';
@@ -21,13 +21,11 @@
import { useFormSchema } from '../data';
import PurchaseOrderItemForm from './item-form.vue';
-import ProcessSelectModal from './process-select-modal.vue';
const emit = defineEmits(['success']);
const formData = ref<ErpPurchaseOrderApi.PurchaseOrder>();
const formType = ref<FormType>('create');
const itemFormRef = ref<InstanceType<typeof PurchaseOrderItemForm>>();
-const selectedProcessId = ref<string>('');
const getTitle = computed(() => {
if (formType.value === 'create') {
@@ -57,11 +55,6 @@
},
});
-const [ProcessModal, processModalApi] = useVbenModal({
- connectedComponent: ProcessSelectModal,
- destroyOnClose: true,
-});
-
/** 鏇存柊閲囪喘璁㈠崟椤� */
function handleUpdateItems(items: ErpPurchaseOrderApi.PurchaseOrderItem[]) {
formData.value = modalApi.getData<ErpPurchaseOrderApi.PurchaseOrder>();
@@ -85,12 +78,6 @@
});
}
-/** 娴佺▼閫夋嫨鎴愬姛 */
-function handleProcessSelectSuccess(processId: string) {
- selectedProcessId.value = processId;
- submitOrder();
-}
-
/** 鎻愪氦璁㈠崟 */
async function submitOrder() {
const data = (await formApi.getValues()) as ErpPurchaseOrderApi.PurchaseOrder;
@@ -101,15 +88,26 @@
if (data.fileUrl && Array.isArray(data.fileUrl)) {
data.fileUrl = data.fileUrl.length > 0 ? data.fileUrl[0] : '';
}
- if (selectedProcessId.value) {
- data.processDefinitionId = selectedProcessId.value;
- }
await (formType.value === 'create'
? createPurchaseOrder(data)
: updatePurchaseOrder(data));
await modalApi.close();
emit('success');
message.success($t('ui.actionMessage.operationSuccess'));
+}
+
+/** 纭鏀惰揣 */
+async function handleConfirmReceipt() {
+ if (!formData.value?.id) return;
+ const hideLoading = message.loading({ content: '纭鏀惰揣涓�...', duration: 0 });
+ try {
+ await confirmReceipt(formData.value.id);
+ message.success('纭鏀惰揣鎴愬姛锛屽凡鐢熸垚鍒拌揣閫氱煡鍗�');
+ await modalApi.close();
+ emit('success');
+ } finally {
+ hideLoading();
+ }
}
/** 鍒涘缓鎴栨洿鏂伴噰璐鍗� */
@@ -130,35 +128,15 @@
}
modalApi.lock();
-
- if (formType.value === 'create') {
- try {
- const processes = await getPurchaseApproveProcessList();
- if (processes.length === 1) {
- selectedProcessId.value = processes[0].id;
- await submitOrder();
- } else if (processes.length > 1) {
- processModalApi.setData(processes).open();
- } else {
- message.error('閲囪喘瀹℃牳鍒嗙被涓嬫病鏈夊彲鐢ㄧ殑娴佺▼妯″瀷锛岃鍏堝垱寤哄苟鍙戝竷娴佺▼');
- }
- } catch (error: any) {
- message.error(error.message || '鑾峰彇娴佺▼鍒楄〃澶辫触');
- } finally {
- modalApi.unlock();
- }
- } else {
- try {
- await submitOrder();
- } finally {
- modalApi.unlock();
- }
+ try {
+ await submitOrder();
+ } finally {
+ modalApi.unlock();
}
},
async onOpenChange(isOpen: boolean) {
if (!isOpen) {
formData.value = undefined;
- selectedProcessId.value = '';
return;
}
const data = modalApi.getData<{ formType: FormType; id?: number }>();
@@ -190,7 +168,6 @@
class="w-3/4"
:show-confirm-button="formType !== 'detail'"
>
- <ProcessModal @success="handleProcessSelectSuccess" />
<Form class="mx-3">
<template #items>
<PurchaseOrderItemForm
@@ -204,5 +181,8 @@
/>
</template>
</Form>
+ <template v-if="formType === 'detail' && formData?.status === 20 && formData?.inStatus !== 2" #prepend-footer>
+ <Button type="primary" @click="handleConfirmReceipt">纭鏀惰揣</Button>
+ </template>
</Modal>
</template>
--
Gitblit v1.9.3