diff --git a/mer_java/crmeb-admin/src/main/java/com/zbkj/admin/controller/merchant/MerchantOrderController.java b/mer_java/crmeb-admin/src/main/java/com/zbkj/admin/controller/merchant/MerchantOrderController.java index 06d9a9d..fabdf16 100644 --- a/mer_java/crmeb-admin/src/main/java/com/zbkj/admin/controller/merchant/MerchantOrderController.java +++ b/mer_java/crmeb-admin/src/main/java/com/zbkj/admin/controller/merchant/MerchantOrderController.java @@ -161,6 +161,13 @@ public class MerchantOrderController { } return CommonResult.failed().setMessage("修改发货单配送信息失败"); } + + @PreAuthorize("hasAuthority('merchant:order:info')") + @ApiOperation(value = "订单打印详情(使用staging表数据)") + @RequestMapping(value = "/print/detail/{orderNo}", method = RequestMethod.GET) + public CommonResult getOrderPrintDetail(@PathVariable(value = "orderNo") String orderNo) { + return CommonResult.success(manageOrderService.getOrderPrintDetail(orderNo)); + } } diff --git a/mer_java/crmeb-admin/src/main/java/com/zbkj/admin/service/ManageOrderService.java b/mer_java/crmeb-admin/src/main/java/com/zbkj/admin/service/ManageOrderService.java index deea06f..a8a7aaa 100644 --- a/mer_java/crmeb-admin/src/main/java/com/zbkj/admin/service/ManageOrderService.java +++ b/mer_java/crmeb-admin/src/main/java/com/zbkj/admin/service/ManageOrderService.java @@ -108,4 +108,11 @@ public interface ManageOrderService { * 修改发货单配送信息 */ Boolean updateInvoice(OrderInvoiceUpdateRequest request); + + /** + * 获取订单打印详情(使用staging表数据) + * @param orderNo 订单号 + * @return OrderPrintDetailResponse + */ + OrderPrintDetailResponse getOrderPrintDetail(String orderNo); } diff --git a/mer_java/crmeb-admin/src/main/java/com/zbkj/admin/service/impl/ManageOrderServiceImpl.java b/mer_java/crmeb-admin/src/main/java/com/zbkj/admin/service/impl/ManageOrderServiceImpl.java index f106bf8..6224778 100644 --- a/mer_java/crmeb-admin/src/main/java/com/zbkj/admin/service/impl/ManageOrderServiceImpl.java +++ b/mer_java/crmeb-admin/src/main/java/com/zbkj/admin/service/impl/ManageOrderServiceImpl.java @@ -8,13 +8,16 @@ import com.zbkj.common.model.admin.SystemAdmin; import com.zbkj.common.model.order.Order; import com.zbkj.common.model.order.OrderDetail; import com.zbkj.common.model.reservation.ReservationWorkOrder; +import com.zbkj.common.model.sync.SyncOrderDetailStaging; import com.zbkj.common.request.*; import com.zbkj.common.response.*; import com.zbkj.common.result.OrderResultCode; import com.zbkj.common.utils.SecurityUtil; import com.zbkj.common.vo.LogisticsResultVo; +import com.zbkj.service.dao.sync.SyncOrderDetailStagingDao; import com.zbkj.service.service.OrderService; import com.zbkj.service.service.ReservationWorkOrderService; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -43,6 +46,8 @@ public class ManageOrderServiceImpl implements ManageOrderService { private OrderService orderService; @Autowired private ReservationWorkOrderService reservationWorkOrderService; + @Autowired + private SyncOrderDetailStagingDao syncOrderDetailStagingDao; /** * 商户端后台分页列表 @@ -224,6 +229,59 @@ public class ManageOrderServiceImpl implements ManageOrderService { return orderService.updateInvoice(request, systemAdmin); } + /** + * 获取订单打印详情(使用staging表数据) + * @param orderNo 订单号 + * @return OrderPrintDetailResponse + */ + @Override + public OrderPrintDetailResponse getOrderPrintDetail(String orderNo) { + // 获取订单基本信息 + OrderAdminDetailResponse orderInfo = adminDetail(orderNo); + if (orderInfo == null) { + throw new CrmebException("订单不存在"); + } + + // 从staging表查询商品详情 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(SyncOrderDetailStaging::getOrderNo, orderNo); + queryWrapper.orderByAsc(SyncOrderDetailStaging::getId); + List stagingList = syncOrderDetailStagingDao.selectList(queryWrapper); + + List detailList; + if (stagingList != null && !stagingList.isEmpty()) { + // 使用staging表的数据(包含product_name和info字段) + detailList = stagingList.stream().map(staging -> { + OrderPrintProductItemResponse item = new OrderPrintProductItemResponse(); + item.setProductName(staging.getProductName()); + item.setInfo(staging.getInfo()); + item.setImage(staging.getImage()); + item.setSku(staging.getSku()); + item.setPrice(staging.getPrice()); + item.setPayNum(staging.getPayNum()); + item.setProductId(staging.getProductId()); + item.setProductType(staging.getProductType()); + return item; + }).collect(Collectors.toList()); + } else { + // 如果staging表没有数据,降级使用订单详情中的商品信息 + detailList = orderInfo.getOrderDetailList().stream().map(detail -> { + OrderPrintProductItemResponse item = new OrderPrintProductItemResponse(); + item.setProductName(detail.getProductName()); + item.setInfo(null); + item.setImage(detail.getImage()); + item.setSku(detail.getSku()); + item.setPrice(detail.getPrice()); + item.setPayNum(detail.getPayNum()); + return item; + }).collect(Collectors.toList()); + } + + OrderPrintDetailResponse response = new OrderPrintDetailResponse(); + response.setOrderInfo(orderInfo); + response.setDetailList(detailList); + return response; + } } diff --git a/mer_java/crmeb-common/src/main/java/com/zbkj/common/response/OrderPrintDetailResponse.java b/mer_java/crmeb-common/src/main/java/com/zbkj/common/response/OrderPrintDetailResponse.java new file mode 100644 index 0000000..83e420e --- /dev/null +++ b/mer_java/crmeb-common/src/main/java/com/zbkj/common/response/OrderPrintDetailResponse.java @@ -0,0 +1,37 @@ +package com.zbkj.common.response; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.List; + +/** + * 订单打印详情响应对象 + * +---------------------------------------------------------------------- + * | CRMEB [ CRMEB赋能开发者,助力企业发展 ] + * +---------------------------------------------------------------------- + * | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved. + * +---------------------------------------------------------------------- + * | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权 + * +---------------------------------------------------------------------- + * | Author: CRMEB Team + * +---------------------------------------------------------------------- + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value = "OrderPrintDetailResponse对象", description = "订单打印详情响应对象") +public class OrderPrintDetailResponse implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "订单基本信息") + private OrderAdminDetailResponse orderInfo; + + @ApiModelProperty(value = "商品详情列表(来自staging表)") + private List detailList; +} diff --git a/mer_java/crmeb-common/src/main/java/com/zbkj/common/response/OrderPrintProductItemResponse.java b/mer_java/crmeb-common/src/main/java/com/zbkj/common/response/OrderPrintProductItemResponse.java new file mode 100644 index 0000000..e9dd70c --- /dev/null +++ b/mer_java/crmeb-common/src/main/java/com/zbkj/common/response/OrderPrintProductItemResponse.java @@ -0,0 +1,55 @@ +package com.zbkj.common.response; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** + * 订单打印商品项响应对象(使用staging表数据) + * +---------------------------------------------------------------------- + * | CRMEB [ CRMEB赋能开发者,助力企业发展 ] + * +---------------------------------------------------------------------- + * | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved. + * +---------------------------------------------------------------------- + * | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权 + * +---------------------------------------------------------------------- + * | Author: CRMEB Team + * +---------------------------------------------------------------------- + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value = "OrderPrintProductItemResponse对象", description = "订单打印商品项响应对象") +public class OrderPrintProductItemResponse implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "商品名称(来自staging表product_name)") + private String productName; + + @ApiModelProperty(value = "商品详细信息(来自staging表info字段)") + private String info; + + @ApiModelProperty(value = "商品图片") + private String image; + + @ApiModelProperty(value = "规格") + private String sku; + + @ApiModelProperty(value = "单价") + private BigDecimal price; + + @ApiModelProperty(value = "购买数量") + private Integer payNum; + + @ApiModelProperty(value = "商品ID") + private Integer productId; + + @ApiModelProperty(value = "商品类型") + private Integer productType; +} diff --git a/mer_plat_admin/src/api/merchantOrder.js b/mer_plat_admin/src/api/merchantOrder.js new file mode 100644 index 0000000..f7dd535 --- /dev/null +++ b/mer_plat_admin/src/api/merchantOrder.js @@ -0,0 +1,383 @@ +// +---------------------------------------------------------------------- +// | CRMEB [ CRMEB赋能开发者,助力企业发展 ] +// +---------------------------------------------------------------------- +// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved. +// +---------------------------------------------------------------------- +// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权 +// +---------------------------------------------------------------------- +// | Author: CRMEB Team +// +---------------------------------------------------------------------- + +import request from '@/utils/request'; + +/** + * 商户订单 列表 + * @param params + */ +export function merchantOrderListApi(params) { + return request({ + url: '/admin/merchant/order/list', + method: 'get', + params, + }); +} + +/** + * 商户订单 列表 获取各状态数量 + * @param params + */ +export function merchantOrderStatusNumApi(params) { + return request({ + url: '/admin/merchant/order/status/num', + method: 'get', + params, + }); +} + +/** + * 商户订单 删除 + * @param orderNo + */ +export function merchantOrderDeleteApi(orderNo) { + return request({ + url: `/admin/merchant/order/delete/${orderNo}`, + method: 'post', + }); +} + +/** + * 商户订单 记录 + * @param params + */ +export function merchantOrderLogApi(params) { + return request({ + url: '/admin/store/order/status/list', + method: 'get', + params, + }); +} + +/** + * 商户订单 详情 + * @param orderNo + */ +export function merchantOrderDetailApi(orderNo) { + return request({ + url: `/admin/merchant/order/info/${orderNo}`, + method: 'get', + }); +} + +/** + * 商户订单 备注 + * @param data + */ +export function merchantOrderMarkApi(data) { + return request({ + url: '/admin/merchant/order/mark', + method: 'post', + data, + }); +} + +/** + * 商户订单 发货 + * @param data + */ +export function merchantOrderSendApi(data) { + return request({ + url: '/admin/merchant/order/send', + method: 'post', + data, + }); +} + +/** + * 商户订单 打印小票 + * @param orderno + */ +export function merchantOrderPrintReceiptApi(orderno) { + return request({ + url: '/admin/merchant/order/printreceipt/' + orderno, + method: 'get', + }); +} + +/** + * 商户订单 拒绝退款 + * @param params + */ +export function merchantOrderRefuseApi(params) { + return request({ + url: '/admin/merchant/refund/order/refund/refuse', + method: 'get', + params, + }); +} + +/** + * 商户订单 立即退款 + * @param params + */ +export function merchantOrderRefundApi(params) { + return request({ + url: '/admin/merchant/refund/order/refund', + method: 'get', + params, + }); +} + +/** + * 商户订单 统计 头部数据 + */ +export function merchantOrderStatisticsApi() { + return request({ + url: `/admin/store/order/statistics`, + method: 'get', + }); +} + +/** + * 商户 核销订单 月列表数据 + */ +export function merchantStatisticsDataApi(params) { + return request({ + url: `/admin/store/order/statisticsData`, + method: 'get', + params, + }); +} + +/** + * 商户 一键改价 + */ +export function merchantUpdatePriceApi(data) { + return request({ + url: `admin/store/order/update/price`, + method: 'post', + data, + }); +} + +/** + * 商户 订单统计详情 + */ +export function merchantOrderTimeApi(params) { + return request({ + url: `/admin/store/order/time`, + method: 'get', + params, + }); +} + +/** + * 商户 面单默认配置信息 + */ +export function merchantSheetInfoApi() { + return request({ + url: `/admin/store/order/sheet/info`, + method: 'get', + }); +} + +/** + * 商户订单 物流详情 + * @param invoiceId + */ +export function merchantGetLogisticsInfoApi(invoiceId) { + return request({ + url: `/admin/merchant/order/get/${invoiceId}/logistics/info`, + method: 'get', + }); +} + +/** + * 视频号物流公司 + */ +export function merchantCompanyGetListApi() { + return request({ + url: `/admin/pay/component/delivery/company/get/list`, + method: 'get', + }); +} + +/** + * 视频号发货 + */ +export function merchantVideoSendApi(data) { + return request({ + url: `/admin/store/order/video/send`, + method: 'post', + data, + }); +} + +/** + * 商户 打印小票 + */ +export function merchantOrderPrint(id) { + return request({ + url: `/admin/yly/print/${id}`, + method: 'get', + }); +} + +/** + * 商户 退款列表 + */ +export function merchantRefundListApi(params) { + return request({ + url: `/admin/merchant/refund/order/list`, + method: 'get', + params, + }); +} + +/** + * 商户 备注退款订单 + */ +export function merchantRefundMarkApi(data) { + return request({ + url: `/admin/merchant/refund/order/mark`, + method: 'post', + data, + }); +} + +/** + * 商户 获取退款订单各状态数量 + */ +export function merchantRefundStatusNumApi(params) { + return request({ + url: `/admin/merchant/refund/order/status/num`, + method: 'GET', + params, + }); +} + +/** + * 商户 核销订单 + * @param data + */ +export function merchantWriteUpdateApi(data) { + return request({ + url: `/admin/merchant/order/verification`, + method: 'post', + data, + }); +} + +/** + * 商户 订单细节详情列表(发货使用) + * @param orderNo 订单号 + */ +export function merchantOrderProDetailApi(orderNo) { + return request({ + url: `/admin/merchant/order/${orderNo}/detail/list`, + method: 'get', + }); +} + +/** + * 商户 获取订单发货单列表 + * @param orderNo 订单号 + */ +export function merchantOrderInvoiceListApi(orderNo) { + return request({ + url: `/admin/merchant/order/${orderNo}/invoice/list`, + method: 'get', + }); +} + +/** + * 商户 退款订单详情 + * @param refundOrderNo 订单号 + */ +export function merchantRefundOrderDetailApi(refundOrderNo) { + return request({ + url: `/admin/merchant/refund/order/detail/${refundOrderNo}`, + method: 'get', + }); +} + +/** + * 商户 退款订单导出 + * @param params 对象 + */ +export function merchantOrderExcelApi(params) { + return request({ + url: `/admin/merchant/export/order/excel`, + method: 'get', + params, + }); +} + +/** + * 商户 退款单审核 + * @param data 对象 + */ +export function merchantOrderAuditApi(data) { + return request({ + url: `/admin/merchant/refund/order/audit`, + method: 'post', + data, + }); +} + +/** + * 商户 退款单收到退货 + * @param refundOrderNo 退款单号 + */ +export function merchantRefundOrderReceivingApi(refundOrderNo) { + return request({ + url: `/admin/merchant/refund/order/receiving/${refundOrderNo}`, + method: 'post', + }); +} + +/** + * 商户 退款单拒绝收货 + * @param data + */ +export function merchantRefundOrderReceivingRejectApi(data) { + return request({ + url: `/admin/merchant/refund/order/receiving/reject`, + method: 'post', + data, + }); +} + +/** + * 商户 直接退款 + * @param data + */ +export function merchantOrderDirectRefundApi(data) { + return request({ + url: `/admin/merchant/order/direct/refund`, + method: 'post', + data, + }); +} + +/** + * 商户 修改发货单配送信息 + * @param data + */ +export function merchantOrderInvoiceUpdateApi(data) { + return request({ + url: `/admin/merchant/order/invoice/update`, + method: 'post', + data, + }); +} + +/** + * 订单打印详情(使用staging表数据) + * @param orderNo 订单号 + */ +export function merchantOrderPrintDetailApi(orderNo) { + return request({ + url: `/admin/merchant/order/print/detail/${orderNo}`, + method: 'get', + }); +} diff --git a/mer_plat_admin/src/api/merchantReservation.js b/mer_plat_admin/src/api/merchantReservation.js new file mode 100644 index 0000000..37bdfaa --- /dev/null +++ b/mer_plat_admin/src/api/merchantReservation.js @@ -0,0 +1,174 @@ +// +---------------------------------------------------------------------- +// | CRMEB [ CRMEB赋能开发者,助力企业发展 ] +// +---------------------------------------------------------------------- +// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved. +// +---------------------------------------------------------------------- +// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权 +// +---------------------------------------------------------------------- +// | Author: CRMEB Team +// +---------------------------------------------------------------------- + +import request from '@/utils/request'; + +/** + * 编辑到店服务预约信息 + * @param data + */ +export function merchantReservationStoreEditApi(data) { + return request({ + url: '/admin/merchant/reservation/config/store/edit', + method: 'post', + data, + }); +} + +/** + * 到店服务详情 + */ +export function merchantReservationStoreInfoApi() { + return request({ + url: '/admin/merchant/reservation/config/store/info', + method: 'get', + }); +} + +/** + * 上门服务详情 + */ +export function merchantReservationHomeInfoApi() { + return request({ + url: '/admin/merchant/reservation/config/home/info', + method: 'get', + }); +} + +/** + * 编辑上门服务详情 + * @param data + */ +export function merchantReservationHomeEditApi(data) { + return request({ + url: '/admin/merchant/reservation/config/home/edit', + method: 'post', + data, + }); +} + +/** + * 预约工单甘特图 + * @param params + */ +export function merchantWorkOrderOverViewApi(params) { + return request({ + url: '/admin/merchant/work/order/overView', + method: 'get', + params, + }); +} + +/** + * 工单甘特图各状态数量 + * @param params + */ +export function merchantWorkOrderOverViewNumApi(params) { + return request({ + url: '/admin/merchant/work/order/overView/num', + method: 'get', + params, + }); +} + +/** + * 预约工单分页列表 + * @param params + */ +export function merchantWorkOrderListApi(params) { + return request({ + url: '/admin/merchant/work/order/list', + method: 'get', + params, + }); +} + +/** + * 获取工单各状态数量 + * @param params + */ +export function merchantWorkOrderStatusNumApi(params) { + return request({ + url: '/admin/merchant/work/order/status/num', + method: 'get', + params, + }); +} + +/** + * 工单详情 + * @param workOrderNo + */ +export function merchantWorkOrderDetailApi(workOrderNo) { + return request({ + url: `/admin/merchant/work/order/detail/${workOrderNo}`, + method: 'get', + }); +} + +/** + * 商户派单 + * @param data + */ +export function merchantWorkOrderAssignApi(data) { + return request({ + url: `/admin/merchant/work/order/assign`, + method: 'post', + data, + }); +} + +/** + * 商户改派 + * @param data + */ +export function merchantWorkOrderReassignApi(data) { + return request({ + url: `/admin/merchant/work/order/reassign`, + method: 'post', + data, + }); +} + +/** + * 商户改约 + * @param data + */ +export function merchantWorkOrderUpdateAgreementApi(data) { + return request({ + url: `/admin/merchant/work/order/updateAgreement`, + method: 'post', + data, + }); +} + +/** + * 商户备注工单 + * @param data + */ +export function merchantWorkOrderMarkApi(data) { + return request({ + url: `/admin/merchant/work/order/mark`, + method: 'post', + data, + }); +} + +/** + * 商户强制完成工单 + * @param data + */ +export function merchantWorkOrderForceFinishApi(data) { + return request({ + url: `/admin/merchant/work/order/forceFinish`, + method: 'post', + data, + }); +} diff --git a/mer_plat_admin/src/router/index.js b/mer_plat_admin/src/router/index.js index d7ea65e..8e7a888 100644 --- a/mer_plat_admin/src/router/index.js +++ b/mer_plat_admin/src/router/index.js @@ -28,6 +28,7 @@ import operationRouter from './modules/operation'; import merchant from './modules/merchant'; import pagediy from '@/router/modules/pagediy'; import areaRouter from './modules/area'; +import merchantOrderRouter from './modules/merchantOrder'; /** * Note: sub-menu only appear when route children.length >= 1 * Detail see: https://panjiachen.github.io/vue-element-admin-site/guide/essentials/router-and-nav.html @@ -77,6 +78,8 @@ export const constantRoutes = [ pagediy, // 圈层管理 areaRouter, + // 商户订单管理(从商户端移植) + merchantOrderRouter, { path: '/404', component: () => import('@/views/error-page/404'), @@ -176,6 +179,13 @@ export const constantRoutes = [ }, ], }, + { + path: '/merchantOrder/print/:orderNo', + component: () => import('@/views/merchantOrder/orderPrint'), + name: 'MerchantOrderPrint', + hidden: true, + meta: { title: '订单打印' }, + }, { path: '/setting/uploadPicture', component: () => import('@/components/base/uploadPicture.vue'), diff --git a/mer_plat_admin/src/router/modules/merchantOrder.js b/mer_plat_admin/src/router/modules/merchantOrder.js new file mode 100644 index 0000000..a30830e --- /dev/null +++ b/mer_plat_admin/src/router/modules/merchantOrder.js @@ -0,0 +1,59 @@ +// +---------------------------------------------------------------------- +// | CRMEB [ CRMEB赋能开发者,助力企业发展 ] +// +---------------------------------------------------------------------- +// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved. +// +---------------------------------------------------------------------- +// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权 +// +---------------------------------------------------------------------- +// | Author: CRMEB Team +// +---------------------------------------------------------------------- + +import Layout from '@/layout'; + +const merchantOrderRouter = { + path: '/merchantOrder', + component: Layout, + redirect: '/merchantOrder/list', + name: 'MerchantOrder', + alwaysShow: true, + meta: { + title: '商户订单', + icon: 'clipboard', + }, + children: [ + { + path: 'list', + component: () => import('@/views/merchantOrder/index'), + name: 'MerchantOrderIndex', + meta: { title: '商户订单' }, + }, + { + path: 'refund', + component: () => import('@/views/merchantOrder/refund/index'), + name: 'MerchantRefund', + meta: { title: '商户退款订单' }, + }, + { + path: 'reservation', + component: () => import('@/views/merchantOrder/reservation/index'), + name: 'MerchantOrderReservation', + meta: { title: '商户预约', icon: '' }, + children: [ + { + path: 'service', + component: () => import('@/views/merchantOrder/reservation/service'), + name: 'MerchantService', + meta: { title: '商户预约看板', icon: '' }, + }, + { + path: 'workOrder', + component: () => import('@/views/merchantOrder/reservation/workOrder'), + name: 'MerchantWorkOrder', + meta: { title: '商户工单管理', icon: '' }, + }, + ], + }, + ], +}; + +export default merchantOrderRouter; diff --git a/mer_plat_admin/src/views/merchantOrder/components/agreeToReturn.vue b/mer_plat_admin/src/views/merchantOrder/components/agreeToReturn.vue new file mode 100644 index 0000000..b778bd3 --- /dev/null +++ b/mer_plat_admin/src/views/merchantOrder/components/agreeToReturn.vue @@ -0,0 +1,142 @@ + + + diff --git a/mer_plat_admin/src/views/merchantOrder/components/directRefund.vue b/mer_plat_admin/src/views/merchantOrder/components/directRefund.vue new file mode 100644 index 0000000..2ec8164 --- /dev/null +++ b/mer_plat_admin/src/views/merchantOrder/components/directRefund.vue @@ -0,0 +1,346 @@ + + + diff --git a/mer_plat_admin/src/views/merchantOrder/components/editDelivery.vue b/mer_plat_admin/src/views/merchantOrder/components/editDelivery.vue new file mode 100644 index 0000000..3eeedb6 --- /dev/null +++ b/mer_plat_admin/src/views/merchantOrder/components/editDelivery.vue @@ -0,0 +1,152 @@ + + + + + diff --git a/mer_plat_admin/src/views/merchantOrder/components/orderDetail.vue b/mer_plat_admin/src/views/merchantOrder/components/orderDetail.vue new file mode 100644 index 0000000..bbb3658 --- /dev/null +++ b/mer_plat_admin/src/views/merchantOrder/components/orderDetail.vue @@ -0,0 +1,741 @@ + + + + + diff --git a/mer_plat_admin/src/views/merchantOrder/components/refundOrderDetail.vue b/mer_plat_admin/src/views/merchantOrder/components/refundOrderDetail.vue new file mode 100644 index 0000000..ee9d4c3 --- /dev/null +++ b/mer_plat_admin/src/views/merchantOrder/components/refundOrderDetail.vue @@ -0,0 +1,779 @@ + + + diff --git a/mer_plat_admin/src/views/merchantOrder/components/sendFrom.vue b/mer_plat_admin/src/views/merchantOrder/components/sendFrom.vue new file mode 100644 index 0000000..aea5228 --- /dev/null +++ b/mer_plat_admin/src/views/merchantOrder/components/sendFrom.vue @@ -0,0 +1,247 @@ + + + + + diff --git a/mer_plat_admin/src/views/merchantOrder/components/systemFromInfo.vue b/mer_plat_admin/src/views/merchantOrder/components/systemFromInfo.vue new file mode 100644 index 0000000..53f00b4 --- /dev/null +++ b/mer_plat_admin/src/views/merchantOrder/components/systemFromInfo.vue @@ -0,0 +1,40 @@ + + + + + \ No newline at end of file diff --git a/mer_plat_admin/src/views/merchantOrder/components/writeOffDialog.vue b/mer_plat_admin/src/views/merchantOrder/components/writeOffDialog.vue new file mode 100644 index 0000000..7271cfe --- /dev/null +++ b/mer_plat_admin/src/views/merchantOrder/components/writeOffDialog.vue @@ -0,0 +1,118 @@ + + + diff --git a/mer_plat_admin/src/views/merchantOrder/default.js b/mer_plat_admin/src/views/merchantOrder/default.js new file mode 100644 index 0000000..bb519a1 --- /dev/null +++ b/mer_plat_admin/src/views/merchantOrder/default.js @@ -0,0 +1,13 @@ +import { validatePhone } from '@/utils/toolsValidate'; + +export const postRules = { + expressCode: [{ required: true, message: '请选择快递公司', trigger: 'change' }], + expressNumber: [{ required: true, message: '请输入快递单号', trigger: 'blur' }], + deliveryCarrier: [{ required: true, message: '请输入配送人员', trigger: 'blur' }], + carrierPhone: [{ required: true, validator: validatePhone, trigger: 'blur' }], + isSplit: [{ required: true, message: '请选择分单发货', trigger: 'change' }], + toName: [{ required: true, message: '请输入寄件人姓名', trigger: 'blur' }], + expressTempId: [{ required: true, message: '请选择电子面单', trigger: 'blur' }], + toTel: [{ required: true, message: '请输入寄件人电话', trigger: 'blur' }], + toAddr: [{ required: true, message: '请输入寄件人地址', trigger: 'blur' }], +}; diff --git a/mer_plat_admin/src/views/merchantOrder/index.vue b/mer_plat_admin/src/views/merchantOrder/index.vue new file mode 100644 index 0000000..76dd1f6 --- /dev/null +++ b/mer_plat_admin/src/views/merchantOrder/index.vue @@ -0,0 +1,789 @@ + + + + diff --git a/mer_plat_admin/src/views/merchantOrder/orderPrint.vue b/mer_plat_admin/src/views/merchantOrder/orderPrint.vue new file mode 100644 index 0000000..9dc7965 --- /dev/null +++ b/mer_plat_admin/src/views/merchantOrder/orderPrint.vue @@ -0,0 +1,375 @@ + + + + + diff --git a/mer_plat_admin/src/views/merchantOrder/orderSend.vue b/mer_plat_admin/src/views/merchantOrder/orderSend.vue new file mode 100644 index 0000000..8440660 --- /dev/null +++ b/mer_plat_admin/src/views/merchantOrder/orderSend.vue @@ -0,0 +1,330 @@ + + + + + diff --git a/mer_plat_admin/src/views/merchantOrder/orderVideoSend.vue b/mer_plat_admin/src/views/merchantOrder/orderVideoSend.vue new file mode 100644 index 0000000..604b09a --- /dev/null +++ b/mer_plat_admin/src/views/merchantOrder/orderVideoSend.vue @@ -0,0 +1,125 @@ + + + + + diff --git a/mer_plat_admin/src/views/merchantOrder/refund/index.vue b/mer_plat_admin/src/views/merchantOrder/refund/index.vue new file mode 100644 index 0000000..fa0bede --- /dev/null +++ b/mer_plat_admin/src/views/merchantOrder/refund/index.vue @@ -0,0 +1,639 @@ + + + + diff --git a/mer_plat_admin/src/views/merchantOrder/reservation/components/dialogDispatch.vue b/mer_plat_admin/src/views/merchantOrder/reservation/components/dialogDispatch.vue new file mode 100644 index 0000000..e0155a7 --- /dev/null +++ b/mer_plat_admin/src/views/merchantOrder/reservation/components/dialogDispatch.vue @@ -0,0 +1,110 @@ + + + diff --git a/mer_plat_admin/src/views/merchantOrder/reservation/components/dialogReschedule.vue b/mer_plat_admin/src/views/merchantOrder/reservation/components/dialogReschedule.vue new file mode 100644 index 0000000..0fb31cb --- /dev/null +++ b/mer_plat_admin/src/views/merchantOrder/reservation/components/dialogReschedule.vue @@ -0,0 +1,274 @@ + + + diff --git a/mer_plat_admin/src/views/merchantOrder/reservation/components/fullCalendar.vue b/mer_plat_admin/src/views/merchantOrder/reservation/components/fullCalendar.vue new file mode 100644 index 0000000..2c441a4 --- /dev/null +++ b/mer_plat_admin/src/views/merchantOrder/reservation/components/fullCalendar.vue @@ -0,0 +1,772 @@ + + + + + diff --git a/mer_plat_admin/src/views/merchantOrder/reservation/components/workOrderDetail.vue b/mer_plat_admin/src/views/merchantOrder/reservation/components/workOrderDetail.vue new file mode 100644 index 0000000..fb511d1 --- /dev/null +++ b/mer_plat_admin/src/views/merchantOrder/reservation/components/workOrderDetail.vue @@ -0,0 +1,504 @@ + + + + + diff --git a/mer_plat_admin/src/views/merchantOrder/reservation/index.vue b/mer_plat_admin/src/views/merchantOrder/reservation/index.vue new file mode 100644 index 0000000..bad798a --- /dev/null +++ b/mer_plat_admin/src/views/merchantOrder/reservation/index.vue @@ -0,0 +1,9 @@ + + + diff --git a/mer_plat_admin/src/views/merchantOrder/reservation/service.vue b/mer_plat_admin/src/views/merchantOrder/reservation/service.vue new file mode 100644 index 0000000..83e08f2 --- /dev/null +++ b/mer_plat_admin/src/views/merchantOrder/reservation/service.vue @@ -0,0 +1,133 @@ + + + diff --git a/mer_plat_admin/src/views/merchantOrder/reservation/workOrder.vue b/mer_plat_admin/src/views/merchantOrder/reservation/workOrder.vue new file mode 100644 index 0000000..cf8acbd --- /dev/null +++ b/mer_plat_admin/src/views/merchantOrder/reservation/workOrder.vue @@ -0,0 +1,483 @@ + + + +