diff --git a/src/api/mall/trade/order/index.ts b/src/api/mall/trade/order/index.ts new file mode 100644 index 00000000..5a401030 --- /dev/null +++ b/src/api/mall/trade/order/index.ts @@ -0,0 +1,11 @@ +import request from '@/config/axios' + +// 获得交易订单分页 +export const getOrderList = (params: PageParam) => { + return request.get({ url: '/trade/order/page', params }) +} + +// 获得交易订单详情 +export const getOrderDetail = (id: number) => { + return request.get({ url: '/trade/order/get-detail?id=' + id }) +} diff --git a/src/api/mall/trade/order/type/orderType.ts b/src/api/mall/trade/order/type/orderType.ts new file mode 100644 index 00000000..cba4fbff --- /dev/null +++ b/src/api/mall/trade/order/type/orderType.ts @@ -0,0 +1,183 @@ +export interface TradeOrderPageItemRespVO { + // 订单编号 + id: number + // 订单流水号 + no: string + // 下单时间 + createTime: Date + // 订单类型 + type: number + // 订单来源 + terminal: number + // 用户编号 + userId: number + // 用户 IP + userIp: string + // 用户备注 + userRemark: string + // 订单状态 + status: number + // 购买的商品数量 + productCount: number + // 订单完成时间 + finishTime?: Date + // 订单取消时间 + cancelTime?: Date + // 取消类型 + cancelType?: number + // 商家备注 + remark?: string + // 支付订单编号 + payOrderId: number + // 是否已支付 + payed: boolean + // 付款时间 + payTime?: Date + // 支付渠道 + payChannelCode: string + // 商品原价(总) + originalPrice: number + // 订单原价(总) + orderPrice: number + // 订单优惠(总) + discountPrice: number + // 运费金额 + deliveryPrice: number + // 订单调价(总) + adjustPrice: number + // 应付金额(总) + payPrice: number + // 配送模板编号 + deliveryTemplateId?: number + // 发货物流公司编号 + logisticsId?: number + // 发货物流单号 + logisticsNo?: string + // 发货状态 + deliveryStatus: number + // 发货时间 + deliveryTime?: Date + // 收货时间 + receiveTime?: Date + // 收件人名称 + receiverName: string + // 收件人手机 + receiverMobile: string + // 收件人地区编号 + receiverAreaId: number + // 收件人邮编 + receiverPostCode: number + // 收件人详细地址 + receiverDetailAddress: string + // 售后状态 + afterSaleStatus?: number + // 退款金额 + refundPrice: number + // 优惠劵编号 + couponId?: number + // 优惠劵减免金额 + couponPrice: number + // 积分抵扣的金额 + pointPrice: number + //收件人地区名字 + receiverAreaName: string + // 订单项列表 + items: TradeOrderItemBaseVO[] +} + +/** + * 交易订单项 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +export interface TradeOrderItemBaseVO { + // ========== 订单项基本信息 ========== + /** + * 编号 + */ + id: number + /** + * 用户编号 + */ + userId: number + /** + * 订单编号 + */ + orderId: number + // ========== 商品基本信息 ========== + /** + * 商品 SPU 编号 + */ + spuId: number + /** + * 商品 SPU 名称 + */ + spuName: string + /** + * 商品 SKU 编号 + */ + skuId: number + /** + * 商品图片 + */ + picUrl: string + /** + * 购买数量 + */ + count: number + // ========== 价格 + 支付基本信息 ========== + /** + * 商品原价(总) + */ + originalPrice: number + /** + * 商品原价(单) + */ + originalUnitPrice: number + /** + * 商品优惠(总) + */ + discountPrice: number + /** + * 商品实付金额(总) + */ + payPrice: number + /** + * 子订单分摊金额(总) + */ + orderPartPrice: number + /** + * 分摊后子订单实付金额(总) + */ + orderDividePrice: number + // ========== 营销基本信息 ========== + // TODO 芋艿:在捉摸一下 + // ========== 售后基本信息 ========== + /** + * 售后状态 + */ + afterSaleStatus: number + //属性数组 + properties: ProductPropertyValueDetailRespVO[] +} + +/** + * 管理后台 - 商品属性值的明细 Response VO + */ +export interface ProductPropertyValueDetailRespVO { + /** + * 属性的编号 + */ + propertyId: number + /** + * 属性的名称 + */ + propertyName: string + /** + * 属性值的编号 + */ + valueId: number + /** + * 属性值的名称 + */ + valueName: string +} diff --git a/src/router/modules/remaining.ts b/src/router/modules/remaining.ts index b7932858..2a277a10 100644 --- a/src/router/modules/remaining.ts +++ b/src/router/modules/remaining.ts @@ -195,6 +195,22 @@ const remainingRouter: AppRouteRecordRaw[] = [ noTagsView: true } }, + { + path: '/trade/order', + component: Layout, + name: 'order', + meta: { + hidden: true + }, + children: [ + { + path: 'detail', + name: 'TradeOrderDetail', + component: () => import('@/views/mall/trade/order/tradeOrderDetail.vue'), + meta: { title: '订单详情', hidden: true } + } + ] + }, { path: '/403', component: () => import('@/views/Error/403.vue'), diff --git a/src/utils/dict.ts b/src/utils/dict.ts index 99eab8e0..56d7c4c4 100644 --- a/src/utils/dict.ts +++ b/src/utils/dict.ts @@ -33,7 +33,6 @@ export const getIntDictOptions = (dictType: string) => { value: parseInt(dict.value + '') }) }) - return dictOption } @@ -165,5 +164,16 @@ export enum DICT_TYPE { PROMOTION_COUPON_STATUS = 'promotion_coupon_status', // 优惠劵的状态 PROMOTION_COUPON_TAKE_TYPE = 'promotion_coupon_take_type', // 优惠劵的领取方式 PROMOTION_ACTIVITY_STATUS = 'promotion_activity_status', // 优惠活动的状态 - PROMOTION_CONDITION_TYPE = 'promotion_condition_type' // 营销的条件类型枚举 + PROMOTION_CONDITION_TYPE = 'promotion_condition_type', // 营销的条件类型枚举 + + //===add by 20230530==== + // ========== MALL - ORDER 模块 ========== + TRADE_AFTER_SALE_STATUS = 'trade_after_sale_status', // 售后 - 状态 + TRADE_AFTER_SALE_WAY = 'trade_after_sale_way', // 售后 - 方式 + TRADE_AFTER_SALE_TYPE = 'trade_after_sale_type', // 售后 - 类型 + TRADE_ORDER_TYPE = 'trade_order_type', // 订单 - 类型 + TRADE_ORDER_STATUS = 'trade_order_status', // 订单 - 状态 + TRADE_ORDER_ITEM_AFTER_SALE_STATUS = 'trade_order_item_after_sale_status', // 订单项 - 售后状态 + + TERMINAL = 'terminal' } diff --git a/src/views/mall/trade/order/index.vue b/src/views/mall/trade/order/index.vue new file mode 100644 index 00000000..61b22856 --- /dev/null +++ b/src/views/mall/trade/order/index.vue @@ -0,0 +1,517 @@ + + diff --git a/src/views/mall/trade/order/tradeOrderDetail-crmeb.vue b/src/views/mall/trade/order/tradeOrderDetail-crmeb.vue new file mode 100644 index 00000000..ae4fe01c --- /dev/null +++ b/src/views/mall/trade/order/tradeOrderDetail-crmeb.vue @@ -0,0 +1,141 @@ + + + diff --git a/src/views/mall/trade/order/tradeOrderDetail.vue b/src/views/mall/trade/order/tradeOrderDetail.vue new file mode 100644 index 00000000..3e261550 --- /dev/null +++ b/src/views/mall/trade/order/tradeOrderDetail.vue @@ -0,0 +1,355 @@ + + +