|
|
|
|
@ -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。
|
|
|
|
|
*/
|
|
|
|
|
const resolvePurchaseBizProjectId = async (): Promise<string | number | undefined> => {
|
|
|
|
|
@ -797,26 +804,30 @@ const loadPurchaseList = async () => {
|
|
|
|
|
purchaseMaterialList.value = [];
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
const bizProjectId = await resolvePurchaseBizProjectId();
|
|
|
|
|
if (bizProjectId == null || bizProjectId === '') {
|
|
|
|
|
purchaseList.value = [];
|
|
|
|
|
purchaseTotal.value = 0;
|
|
|
|
|
purchaseMaterialList.value = [];
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
purchaseQuery.projectId = bizProjectId;
|
|
|
|
|
purchaseQuery.relationId = undefined;
|
|
|
|
|
|
|
|
|
|
const contractId = resolveContractId();
|
|
|
|
|
loadingPurchase.value = true;
|
|
|
|
|
try {
|
|
|
|
|
const [purchaseRes, materialRes] = await Promise.all([
|
|
|
|
|
listProjectPurchase({
|
|
|
|
|
const bizProjectId = await resolvePurchaseBizProjectId();
|
|
|
|
|
if (bizProjectId != null && bizProjectId !== '') {
|
|
|
|
|
purchaseQuery.projectId = bizProjectId;
|
|
|
|
|
purchaseQuery.relationId = undefined;
|
|
|
|
|
const purchaseRes = await listProjectPurchase({
|
|
|
|
|
...purchaseQuery
|
|
|
|
|
}),
|
|
|
|
|
getContractOrderPurchaseMaterialList(bizProjectId)
|
|
|
|
|
]);
|
|
|
|
|
});
|
|
|
|
|
purchaseList.value = purchaseRes.rows || [];
|
|
|
|
|
purchaseTotal.value = purchaseRes.total || 0;
|
|
|
|
|
} else {
|
|
|
|
|
purchaseList.value = [];
|
|
|
|
|
purchaseTotal.value = 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (contractId != null && contractId !== '') {
|
|
|
|
|
const materialRes = await getContractOrderPurchaseMaterialList(contractId);
|
|
|
|
|
purchaseMaterialList.value = materialRes.data || [];
|
|
|
|
|
} else {
|
|
|
|
|
purchaseMaterialList.value = [];
|
|
|
|
|
}
|
|
|
|
|
} finally {
|
|
|
|
|
loadingPurchase.value = false;
|
|
|
|
|
}
|
|
|
|
|
|