1.1.65 销售合同订单台账采购信息采购物料清单优化。

dev
yinq 1 day ago
parent 919d065708
commit a45fd58cd0

@ -77,12 +77,12 @@ export const getContractOrder = (projectId: string | number): AxiosPromise<Proje
}; };
/** /**
* *
* @param projectId * @param contractId ID
*/ */
export const getContractOrderPurchaseMaterialList = (projectId: string | number): AxiosPromise<ContractOrderPurchaseMaterialVO[]> => { export const getContractOrderPurchaseMaterialList = (contractId: string | number): AxiosPromise<ContractOrderPurchaseMaterialVO[]> => {
return request({ return request({
url: '/oa/erp/contractOrder/purchaseMaterialList/' + projectId, url: '/oa/erp/contractOrder/purchaseMaterialList/' + contractId,
method: 'get' method: 'get'
}); });
}; };

@ -762,7 +762,14 @@ const loadOrderAndContract = async () => {
}; };
/** /**
* 采购/采购物料清单按 erp_project_purchase.project_id实施项目查询 * 解析台账当前关联的合同ID订单信息优先合同详情兜底
*/
const resolveContractId = (): string | number | undefined => {
return orderInfo.value?.contractId ?? contractInfo.value?.contractId;
};
/**
* 采购单按 erp_project_purchase.project_id实施项目查询
* 台账路由参数为合同订单行时需解析到关联的实施项目 ID不能直接用路由上的合同订单 project_id * 台账路由参数为合同订单行时需解析到关联的实施项目 ID不能直接用路由上的合同订单 project_id
*/ */
const resolvePurchaseBizProjectId = async (): Promise<string | number | undefined> => { const resolvePurchaseBizProjectId = async (): Promise<string | number | undefined> => {
@ -797,26 +804,30 @@ const loadPurchaseList = async () => {
purchaseMaterialList.value = []; purchaseMaterialList.value = [];
return; return;
} }
const bizProjectId = await resolvePurchaseBizProjectId();
if (bizProjectId == null || bizProjectId === '') { const contractId = resolveContractId();
purchaseList.value = [];
purchaseTotal.value = 0;
purchaseMaterialList.value = [];
return;
}
purchaseQuery.projectId = bizProjectId;
purchaseQuery.relationId = undefined;
loadingPurchase.value = true; loadingPurchase.value = true;
try { try {
const [purchaseRes, materialRes] = await Promise.all([ const bizProjectId = await resolvePurchaseBizProjectId();
listProjectPurchase({ if (bizProjectId != null && bizProjectId !== '') {
purchaseQuery.projectId = bizProjectId;
purchaseQuery.relationId = undefined;
const purchaseRes = await listProjectPurchase({
...purchaseQuery ...purchaseQuery
}), });
getContractOrderPurchaseMaterialList(bizProjectId) purchaseList.value = purchaseRes.rows || [];
]); purchaseTotal.value = purchaseRes.total || 0;
purchaseList.value = purchaseRes.rows || []; } else {
purchaseTotal.value = purchaseRes.total || 0; purchaseList.value = [];
purchaseMaterialList.value = materialRes.data || []; purchaseTotal.value = 0;
}
if (contractId != null && contractId !== '') {
const materialRes = await getContractOrderPurchaseMaterialList(contractId);
purchaseMaterialList.value = materialRes.data || [];
} else {
purchaseMaterialList.value = [];
}
} finally { } finally {
loadingPurchase.value = false; loadingPurchase.value = false;
} }

Loading…
Cancel
Save