|
|
@@ -47,7 +47,6 @@ import { getOrderMainAndSubOrder } from '@/api/order/orderMain';
|
|
|
import { OrderMainVO, OrderTreeVo } from '@/api/order/orderMain/types';
|
|
|
import OrderTreeNode from './OrderTreeNode.vue';
|
|
|
import { OrderProductVO } from '@/api/order/orderProduct/types';
|
|
|
-import { DeliverProductVO } from '@/api/order/deliverProduct/types';
|
|
|
import { listOrderDeliver } from '@/api/order/orderDeliver';
|
|
|
import { OrderDeliverVO } from '@/api/order/orderDeliver/types';
|
|
|
import { listDeliverProduct } from '@/api/order/deliverProduct';
|
|
|
@@ -103,7 +102,6 @@ const productList = ref<OrderProductVO[]>([]);
|
|
|
|
|
|
// 发货包裹列表
|
|
|
const orderDeliverList = ref<OrderDeliverVO[]>([]);
|
|
|
-const deliverProductList = ref<DeliverProductVO[]>([]);
|
|
|
|
|
|
// 收货地址信息
|
|
|
const shippingAddress = ref<ShippingAddressVO>({} as ShippingAddressVO);
|
|
|
@@ -182,74 +180,55 @@ const getOrderDetail = async () => {
|
|
|
const res = await getOrderMainAndSubOrder(orderId as any);
|
|
|
orderDetail.value = res.data;
|
|
|
orderTreeData.value = res.data;
|
|
|
+ } catch (error) {
|
|
|
+ console.error('获取订单详情失败:', error);
|
|
|
+ proxy?.$modal.msgError('获取订单详情失败');
|
|
|
+ } finally {
|
|
|
+ loading.value = false;
|
|
|
+ }
|
|
|
|
|
|
- // 获取商品明细(优先从树接口的 productList,其次从 orderProductList)
|
|
|
+ // 以下辅助数据异步加载,不阻塞树结构渲染
|
|
|
+ loadAuxiliaryData();
|
|
|
+};
|
|
|
+
|
|
|
+const loadAuxiliaryData = async () => {
|
|
|
+ try {
|
|
|
if ((orderDetail.value as any).productList) {
|
|
|
productList.value = (orderDetail.value as any).productList;
|
|
|
- } else if (orderDetail.value.orderProductList) {
|
|
|
- productList.value = orderDetail.value.orderProductList;
|
|
|
- }
|
|
|
-
|
|
|
- // 获取发货商品明细
|
|
|
- if (orderDetail.value.deliverProductList) {
|
|
|
- deliverProductList.value = orderDetail.value.deliverProductList;
|
|
|
}
|
|
|
|
|
|
- // 获取发货单及关联的物流商品信息
|
|
|
if (orderDetail.value.id) {
|
|
|
- await getOrderDeliverListData(orderDetail.value.id);
|
|
|
+ getOrderDeliverListData(orderDetail.value.id);
|
|
|
}
|
|
|
|
|
|
- // 获取收货地址
|
|
|
if (orderDetail.value.shippingAddressId) {
|
|
|
- await getShippingAddressDetail(orderDetail.value.shippingAddressId);
|
|
|
+ getShippingAddressDetail(orderDetail.value.shippingAddressId);
|
|
|
}
|
|
|
-
|
|
|
- // 获取仓库信息
|
|
|
if (orderDetail.value.warehouseId) {
|
|
|
- await getWarehouseDetail(orderDetail.value.warehouseId);
|
|
|
+ getWarehouseDetail(orderDetail.value.warehouseId);
|
|
|
}
|
|
|
-
|
|
|
- // 获取公司信息
|
|
|
if (orderDetail.value.companyId) {
|
|
|
- await getCompanyDetail(orderDetail.value.companyId);
|
|
|
+ getCompanyDetail(orderDetail.value.companyId);
|
|
|
}
|
|
|
-
|
|
|
- // 获取客户信息
|
|
|
if (orderDetail.value.customerId) {
|
|
|
- await getCustomerDetail(orderDetail.value.customerId);
|
|
|
+ getCustomerDetail(orderDetail.value.customerId);
|
|
|
}
|
|
|
if (orderDetail.value.userDept) {
|
|
|
- orderDetail.value.userDeptName = await getDeptDetail(orderDetail.value.userDept);
|
|
|
+ getDeptDetail(orderDetail.value.userDept).then((name) => {
|
|
|
+ orderDetail.value.userDeptName = name;
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
- // 获取中车订单扩展信息
|
|
|
- //如果data.parentOrderId存在,则使用data.parentOrderId查询,否则使用data.id查询
|
|
|
- if (orderDetail.value.parentOrderId) {
|
|
|
- try {
|
|
|
- const extRes = await getOrderMainCrrcExt(orderDetail.value.parentOrderId);
|
|
|
- crrcExtInfo.value = extRes.data || ({} as OrderMainCrrcExtVO);
|
|
|
- } catch (error) {
|
|
|
- console.error('获取中车订单扩展信息失败:', error);
|
|
|
- }
|
|
|
- } else if (orderDetail.value.id) {
|
|
|
- try {
|
|
|
- const extRes = await getOrderMainCrrcExt(orderDetail.value.id);
|
|
|
- crrcExtInfo.value = extRes.data || ({} as OrderMainCrrcExtVO);
|
|
|
- } catch (error) {
|
|
|
- console.error('获取中车订单扩展信息失败:', error);
|
|
|
- }
|
|
|
+ const crrcId = orderDetail.value.parentOrderId || orderDetail.value.id;
|
|
|
+ if (crrcId) {
|
|
|
+ getOrderMainCrrcExt(crrcId)
|
|
|
+ .then((extRes) => {
|
|
|
+ crrcExtInfo.value = extRes.data || ({} as OrderMainCrrcExtVO);
|
|
|
+ })
|
|
|
+ .catch(() => {});
|
|
|
}
|
|
|
-
|
|
|
- // 获取发票类型信息
|
|
|
- // if (orderDetail.value.invoiceType) {
|
|
|
- // await getInvoiceTypeDetail(orderDetail.value.invoiceType);
|
|
|
- // }
|
|
|
} catch (error) {
|
|
|
- console.error('获取订单详情失败:', error);
|
|
|
- proxy?.$modal.msgError('获取订单详情失败');
|
|
|
- } finally {
|
|
|
- loading.value = false;
|
|
|
+ console.error('加载辅助数据失败:', error);
|
|
|
}
|
|
|
};
|
|
|
|