|
|
|
|
@ -315,7 +315,7 @@
|
|
|
|
|
</el-card>
|
|
|
|
|
|
|
|
|
|
<!-- ERP物料选择对话框 -->
|
|
|
|
|
<SaleMaterialSelect ref="saleMaterialSelectRef" :multiple="true" @confirm-call-back="erpMaterialSelectCallBack" />
|
|
|
|
|
<MaterialSelect ref="materialSelectRef" :multiple="true" @confirm-call-back="erpMaterialSelectCallBack" />
|
|
|
|
|
|
|
|
|
|
<!-- 项目选择对话框 -->
|
|
|
|
|
<ProjectSelect ref="projectSelectRef" :multiple="false" @confirm-call-back="projectInfoSelectCallBack" />
|
|
|
|
|
@ -450,7 +450,7 @@ import type { CustomerContactVO } from '@/api/oa/crm/customerContact/types';
|
|
|
|
|
import { getCrmSupplierInfoList } from '@/api/oa/crm/crmSupplierInfo';
|
|
|
|
|
import { listUser } from '@/api/system/user';
|
|
|
|
|
import type { UserQuery } from '@/api/system/user/types';
|
|
|
|
|
import SaleMaterialSelect from '@/components/SaleMaterialSelect/index.vue';
|
|
|
|
|
import MaterialSelect from '@/components/MaterialSelect/index.vue';
|
|
|
|
|
import SubmitVerify from '@/components/Process/submitVerify.vue';
|
|
|
|
|
import ApprovalRecord from '@/components/Process/approvalRecord.vue';
|
|
|
|
|
import ApprovalButton from '@/components/Process/approvalButton.vue';
|
|
|
|
|
@ -609,7 +609,7 @@ const selectedContract = ref<ContractInfoVO | null>(null);
|
|
|
|
|
const detailsList = ref<WmsShippingDetailsForm[]>([]);
|
|
|
|
|
|
|
|
|
|
// ERP物料选择组件引用
|
|
|
|
|
const saleMaterialSelectRef = ref();
|
|
|
|
|
const materialSelectRef = ref();
|
|
|
|
|
|
|
|
|
|
// WMS物料选择对话框
|
|
|
|
|
const wmsMaterialDialog = reactive({ visible: false });
|
|
|
|
|
@ -695,7 +695,7 @@ const syncMaterialSourceTypeByDetails = () => {
|
|
|
|
|
}
|
|
|
|
|
const hasErpMaterial = detailsList.value.some((item) => item.materialSourceType === '1');
|
|
|
|
|
const hasWmsMaterial = detailsList.value.some((item) => item.materialSourceType === '2');
|
|
|
|
|
// Why:项目自动生成的发货草稿物料属于 ERP 物料,页面回显后默认切到 ERP,
|
|
|
|
|
// 项目自动生成的发货草稿物料属于 ERP 物料,页面回显后默认切到 ERP,
|
|
|
|
|
// 用户继续点“新增物料”时才能沿用当前草稿的物料语义,而不是误切回 WMS 选料
|
|
|
|
|
if (hasErpMaterial && !hasWmsMaterial) {
|
|
|
|
|
materialSourceType.value = '1';
|
|
|
|
|
@ -779,7 +779,7 @@ const prepareTaskVariables = async () => {
|
|
|
|
|
proxy?.$modal.msgError('请选择抄送人员');
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
// Why:抄送人员不落库,只在到货确认节点审批时作为流程变量传递
|
|
|
|
|
// 抄送人员不落库,只在到货确认节点审批时作为流程变量传递
|
|
|
|
|
taskVariables.value = { tManagerId };
|
|
|
|
|
return true;
|
|
|
|
|
};
|
|
|
|
|
@ -944,7 +944,7 @@ const handleAddDetail = () => {
|
|
|
|
|
}
|
|
|
|
|
if (materialSourceType.value === '1') {
|
|
|
|
|
// ERP物料选择
|
|
|
|
|
saleMaterialSelectRef.value?.open();
|
|
|
|
|
materialSelectRef.value?.open();
|
|
|
|
|
} else {
|
|
|
|
|
// WMS物料选择
|
|
|
|
|
wmsMaterialDialog.visible = true;
|
|
|
|
|
@ -964,20 +964,20 @@ const erpMaterialSelectCallBack = (materials: any[]) => {
|
|
|
|
|
shippingBillId: form.value.shippingBillId,
|
|
|
|
|
materialSourceType: '1', // ERP物料
|
|
|
|
|
erpMaterialId: material.materialId,
|
|
|
|
|
// Why:项目自动生成的 ERP 草稿明细同时带有 erpMaterialId 与 materielId,
|
|
|
|
|
// 项目自动生成的 ERP 草稿明细同时带有 erpMaterialId 与 materielId,
|
|
|
|
|
// 手动新增 ERP 物料时保持同一口径,后续保存、回显和扩展处理才不会出现字段缺失
|
|
|
|
|
materielId: material.materialId,
|
|
|
|
|
wmsMaterialId: undefined,
|
|
|
|
|
materialCode: material.materialCode,
|
|
|
|
|
materialName: material.materialName,
|
|
|
|
|
materielSpecification: material.specificationModel,
|
|
|
|
|
materielSpecification: material.materialModel,
|
|
|
|
|
batchNumber: undefined,
|
|
|
|
|
unitPrice: material.unitPrice || 0,
|
|
|
|
|
unitPrice: material.purchasePrice || 0,
|
|
|
|
|
shippingStockAmount: 1,
|
|
|
|
|
unitId: material.unitId,
|
|
|
|
|
unitName: material.unitName,
|
|
|
|
|
totalPrice: material.unitPrice || 0,
|
|
|
|
|
remark: undefined
|
|
|
|
|
totalPrice: material.purchasePrice || 0,
|
|
|
|
|
remark: material.remark
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|