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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 搜索 + + + + 重置 + + + + 导出TODO + + + + + + + + + + + + {{ + '¥ ' + parseFloat(scope.row.originalPrice / 100).toFixed(2) + ' 元' + }} + + {{ formatDate(scope.row.createTime) }} + TODO + {{ + scope.row.userRemark + }} + {{ scope.row.remark }} + + + + + + + + 全选({{ orderSelect.checkTotal }}) + + + + 当前页 + 所有页 + + + + + + + + + + + + {{ + scope.row.no + }} + + + + + + + + + + + + {{ scope.terminal }} + + + + + + {{ + scope.row.userId + }} + + + + + + + + + + {{ item.spuName }} + + + + + + {{ item.spuName }} + {{ + '¥ ' + parseFloat(item.payPrice / 100).toFixed(2) + '元 x ' + item.count + }} + + + + + + + + + {{ '¥ ' + parseFloat(scope.row.payPrice / 100).toFixed(2) }} + + + + + + + + + + + + {{ scope.status }} + + + + + 待支付 + 发货 + 详情 + + + + + + + + + + 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 @@ + + + + + + 普通订单: + 1111112546 + + + 发送货 + 小票打印 + + + ... + + + 订单备注 + 立即退款 + 打印配货单 + + + + + + + + 未发货TODO + 1000 元 TODO + 手机支付 + {{ formatDate(Date()) }} + + + + + kooriookami + 18100000000 + Suzhou + + + + kooriookami + 18100000000 + {{ detailData }} + + + + kooriookami + 18100000000 + Suzhou + Suzhou + + + + {{ formatDate(Date()) }} + 18100000000 + 200.00 元 + 200.00 元 + 200.00 + 200.00 元 + 200.00 元 + 200.00 元 + {{ formatDate(Date()) }} + 200.00 元 + + + + TODO + + + + + kooriookami + 18100000000 + Suzhou + + + + + kooriookami + 18100000000 + Suzhou + + + + + kooriookami + 18100000000 + Suzhou + + + + + + + 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 @@ + + + + + {{ order.no }} + 物流配送 + + 物流配送 + + + + + {{ order.receiverName }} + {{ order.userRemark }} + + + + {{ order.receiverMobile }} + {{ order.remark }} + {{ order.payOrderId }} + + + + {{ order.user.nickname }} + + + {{ order.receiverAreaName }} " "{{ order.receiverDetailAddress }} " " + + + + + + + + + + + 调整价格 + + 备注 + + 发货 + + 关闭订单 + + 修改地址 + + 打印电子面单 + + 打印发货单 + + 确认收货 + + + + 提醒: + 买家付款成功后,货款将直接进入您的商户号(微信、支付宝) + 请及时关注你发出的包裹状态,确保可以配送至买家手中 + 如果买家表示没收到货或货物有问题,请及时联系买家处理,友好协商 + + + + + + + + + + + + + + {{ row.spuName }} + + {{ property.propertyName }}:{{ property.valueName }} + + + + + ¥{{ (row.originalUnitPrice / 100.0).toFixed(2) }} + + + + + + ¥{{ (row.originalPrice / 100.0).toFixed(2) }} + + + + + + + + + + + + + + + + + ¥{{ (order.originalPrice / 100.0).toFixed(2) }} + ¥{{ (order.deliveryPrice / 100.0).toFixed(2) }} + ¥{{ (order.adjustPrice / 100.0).toFixed(2) }} + + 商品优惠: + ¥{{ ((order.originalPrice - order.originalPrice) / 100.0).toFixed(2) }} + + + 订单优惠: + ¥{{ (order.discountPrice / 100.0).toFixed(2) }} + + + 积分抵扣: + ¥{{ (order.pointPrice / 100.0).toFixed(2) }} + + + + + + ¥{{ (order.payPrice / 100.0).toFixed(2) }} + + + + + + + + + + {{ activity.content }} + + + + + + + + + + + + + + + + + + {{ + goodInfo.name + }} + {{ + goodInfo.count + }} + + + + + + + + + + + {{ activity.content }} + + + + + + + {{ pkgInfo[pkgChild.valueKey] }} + + + + + + + + + + + +
{{ item.spuName }}
{{ + '¥ ' + parseFloat(item.payPrice / 100).toFixed(2) + '元 x ' + item.count + }}