From 91c82965b2d987452ca276e3a03b48c8dcda2ae9 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期三, 19 八月 2026 11:47:26 +0800
Subject: [PATCH] config(env): 更新生产环境配置和公司名称
---
src/views/wls/salesnotice/modules/form.vue | 66 +++++++++++++++++++++------------
1 files changed, 42 insertions(+), 24 deletions(-)
diff --git a/src/views/wls/salesnotice/modules/form.vue b/src/views/wls/salesnotice/modules/form.vue
index 074d6a9..044cb38 100644
--- a/src/views/wls/salesnotice/modules/form.vue
+++ b/src/views/wls/salesnotice/modules/form.vue
@@ -1,12 +1,13 @@
<script lang="ts" setup>
import type { FormType } from '../data';
+import type { ErpSaleOrderApi } from '#/api/erp/sale/order';
import type { MesWmSalesNoticeApi } from '#/api/mes/wm/salesnotice';
import { computed, ref } from 'vue';
-import { useVbenModal } from '../../../../packages/effects/common-ui/src';
-import { MesWmSalesNoticeStatusEnum } from '../../../../packages/constants/src';
+import { useVbenModal } from '@vben/common-ui';
+import { MesWmSalesNoticeStatusEnum } from '@vben/constants';
import { Button, Divider, message, Popconfirm } from 'ant-design-vue';
@@ -17,6 +18,8 @@
submitSalesNotice,
updateSalesNotice,
} from '#/api/mes/wm/salesnotice';
+import { createSalesNoticeLine } from '#/api/mes/wm/salesnotice/line';
+import { getSaleOrderItemListByOrderId } from '#/api/erp/sale/order';
import { $t } from '#/locales';
import { useFormSchema } from '../data';
@@ -30,7 +33,6 @@
// 鏄惁涓虹紪杈戞ā寮忥紙鍙繚瀛橈級
['create', 'update'].includes(formType.value),
);
-const isFinish = computed(() => formType.value === 'finish'); // 鏄惁涓烘墽琛屽嚭搴撴ā寮�
const canSubmit = computed(
() =>
// 鏄惁鍙彁浜�
@@ -40,9 +42,6 @@
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', ['鍙戣揣閫氱煡鍗�'])
@@ -87,11 +86,6 @@
}
}
-/** 鎵ц鍑哄簱锛堝悗绔殏鏈疄鐜帮紝鎻愮ず鐢ㄦ埛锛� */
-function handleFinish() {
- message.info('鎵ц鍑哄簱鍔熻兘鏆傛椂涓嶆敮鎸侊紝鏁鏈熷緟锛�');
-}
-
const [Modal, modalApi] = useVbenModal({
async onConfirm() {
if (!isEditable.value) {
@@ -109,17 +103,44 @@
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);
+ // 閫夋嫨浜嗛攢鍞鍗曟椂锛岃嚜鍔ㄥ甫鍏ヨ鍗曚骇鍝佹槑缁�
+ if (data.saleOrderId) {
+ try {
+ const items = await getSaleOrderItemListByOrderId(data.saleOrderId);
+ if (items?.length) {
+ await Promise.all(items.map((item: ErpSaleOrderApi.SaleOrderItem) =>
+ createSalesNoticeLine({
+ noticeId: id,
+ saleOrderItemId: item.id,
+ itemId: item.productId,
+ itemCode: item.productBarCode,
+ itemName: item.productName,
+ unitMeasureName: item.productUnitName,
+ quantity: item.count,
+ batchCode: item.batchCode,
+ oqcCheckFlag: false,
+ }),
+ ));
+ }
+ } catch {
+ // 鑾峰彇璁㈠崟鏄庣粏澶辫触涓嶅奖鍝嶄富娴佺▼
+ }
+ }
+ 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'));
@@ -173,9 +194,6 @@
>
<Button type="primary">鎻愪氦</Button>
</Popconfirm>
- <Button v-if="isFinish" type="primary" @click="handleFinish">
- 鎵ц鍑哄簱
- </Button>
</div>
</template>
</Modal>
--
Gitblit v1.9.3