From c03778676c2a0b9f964a77442cfc6f3c7a4ac6ee Mon Sep 17 00:00:00 2001 From: Yer11214 <17633066053@163.com> Date: Wed, 2 Oct 2024 20:41:30 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90b2c=E9=83=A8=E5=88=86=E5=9F=BA?= =?UTF-8?q?=E7=A1=80=E8=BF=81=E7=A7=BB=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- manager/src/api/order.js | 5 + manager/src/api/shops.js | 8 + manager/src/assets/goodsType1.png | Bin 0 -> 2900 bytes manager/src/assets/goodsType2.png | Bin 0 -> 754 bytes manager/src/assets/goodsTypeTpl.png | Bin 0 -> 3697 bytes manager/src/components/affix-time.vue | 9 +- .../src/components/map/multiple-region.vue | 222 ++ manager/src/router/router.js | 7 + .../views/distribution/distributionOrder.vue | 36 +- manager/src/views/goods/addGoods.scss | 528 +++++ manager/src/views/goods/goods-info/goods.vue | 9 +- .../src/views/goods/goods-manage/category.vue | 22 +- .../src/views/goods/goods-review/index.vue | 41 +- manager/src/views/goods/goodsOperation.vue | 60 + .../src/views/goods/goodsOperationFirst.vue | 260 +++ manager/src/views/goods/goodsOperationSec.vue | 2023 +++++++++++++++++ .../src/views/goods/goodsOperationThird.vue | 38 + manager/src/views/logistics/company.vue | 321 +++ manager/src/views/logistics/index.vue | 339 +-- manager/src/views/logistics/shipTemplate.vue | 633 ++++++ .../src/views/member/list/memberDetail.vue | 7 +- .../after-order/afterSaleOrderDetail.vue | 39 +- .../after-order/orderComplaintDetail.vue | 4 +- manager/src/views/order/order/orderDetail.vue | 214 ++ manager/src/views/order/order/orderList.vue | 22 +- .../sys/message/noticeMessageTemplate.vue | 10 +- 26 files changed, 4395 insertions(+), 462 deletions(-) create mode 100644 manager/src/assets/goodsType1.png create mode 100644 manager/src/assets/goodsType2.png create mode 100644 manager/src/assets/goodsTypeTpl.png create mode 100644 manager/src/components/map/multiple-region.vue create mode 100644 manager/src/views/goods/addGoods.scss create mode 100644 manager/src/views/goods/goodsOperation.vue create mode 100644 manager/src/views/goods/goodsOperationFirst.vue create mode 100644 manager/src/views/goods/goodsOperationSec.vue create mode 100644 manager/src/views/goods/goodsOperationThird.vue create mode 100644 manager/src/views/logistics/company.vue create mode 100644 manager/src/views/logistics/shipTemplate.vue diff --git a/manager/src/api/order.js b/manager/src/api/order.js index 4981a96d..052ba454 100644 --- a/manager/src/api/order.js +++ b/manager/src/api/order.js @@ -160,3 +160,8 @@ export const refundLog = (params) => { export const storeAddress = (sn) => { return getRequest(`/order/afterSale/getStoreAfterSaleAddress/${sn}`) } + +// 订单核验 +export const orderTake = (sn, verificationCode) => { + return putRequest(`/order/order/take/${sn}/${verificationCode}`); +}; diff --git a/manager/src/api/shops.js b/manager/src/api/shops.js index 36cba3c3..972463e8 100644 --- a/manager/src/api/shops.js +++ b/manager/src/api/shops.js @@ -87,3 +87,11 @@ export const downloadBill = (id) => { return getRequest(`/order/bill/downLoad/${id}`, {}, 'blob') } +// 获取物流模版 +export const getShipTemplate = (id) => { + // return getRequest(`/order/bill/shipTemplate`) +} + +export const replyMemberComment = (id, params) => { + return putRequest(`/member/evaluation/reply/${id}`, params) +} diff --git a/manager/src/assets/goodsType1.png b/manager/src/assets/goodsType1.png new file mode 100644 index 0000000000000000000000000000000000000000..765c17c9e6a6411146a30f4253d46b2ae5e05d7d GIT binary patch literal 2900 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 literal 0 HcmV?d00001 diff --git a/manager/src/assets/goodsTypeTpl.png b/manager/src/assets/goodsTypeTpl.png new file mode 100644 index 0000000000000000000000000000000000000000..dafa339316ba110923731a09909d68476afe059a GIT binary patch literal 3697 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 P00000NkvXXu0mjfi1#m6 literal 0 HcmV?d00001 diff --git a/manager/src/components/affix-time.vue b/manager/src/components/affix-time.vue index a81b6d25..672e8762 100644 --- a/manager/src/components/affix-time.vue +++ b/manager/src/components/affix-time.vue @@ -10,14 +10,7 @@ {{ item.year + '年' + item.month + '月' }} -
- -
+ diff --git a/manager/src/components/map/multiple-region.vue b/manager/src/components/map/multiple-region.vue new file mode 100644 index 00000000..21f07bdc --- /dev/null +++ b/manager/src/components/map/multiple-region.vue @@ -0,0 +1,222 @@ + + + diff --git a/manager/src/router/router.js b/manager/src/router/router.js index 89e9b6a7..5e16c9b4 100644 --- a/manager/src/router/router.js +++ b/manager/src/router/router.js @@ -31,6 +31,13 @@ export const otherRouter = { meta: { title: "个人中心" }, component: () => import("@/views/personal-center/personal-center.vue") }, + { + path: "goods-publish", + title: "商品发布", + name: "goods-publish", + meta: { title: "商品发布" }, + component: () => import("@/views/goods/goodsOperation.vue") + }, { path: "change-password", title: "修改密码", diff --git a/manager/src/views/distribution/distributionOrder.vue b/manager/src/views/distribution/distributionOrder.vue index 64b007bd..33116731 100644 --- a/manager/src/views/distribution/distributionOrder.vue +++ b/manager/src/views/distribution/distributionOrder.vue @@ -20,12 +20,6 @@ style="width: 200px" /> - - - @@ -68,7 +62,6 @@ getDistributionOrder } from "@/api/distribution"; import {orderStatusList} from './dataJson' - import {getShopListData} from '@/api/shops' import vueQr from 'vue-qr' export default { @@ -80,7 +73,6 @@ return { timeRange: [], // 范围时间 orderStatusList, // 订单状态列表 - shopList: [], // 店铺列表 distributionId: this.$route.query.id, // 分销id loading: true, // 表单加载状态 searchForm: { // 搜索框初始化对象 @@ -109,12 +101,7 @@ tooltip: true, minWidth:80, }, - { - title: "店铺名称", - key: "storeName", - minWidth:80, - tooltip: true - }, + { title: "状态", slot: "distributionOrderStatus", @@ -147,7 +134,6 @@ // 初始化数据 init() { this.getDataList(); - this.getShopList() }, //分页 改变页码 changePage(v) { @@ -187,25 +173,7 @@ this.total = this.data.length; this.loading = false; }, - getShopList(val) { // 获取店铺列表 搜索用 - const params = { - pageNumber: 1, - pageSize: 10, - storeName: '' - } - if (val) { - params.storeName = val; - } else { - params.storeName = '' - } - - getShopListData(params).then(res => { - this.shopList = res.result.records - }) - }, - searchChange(val) { // 店铺搜索,键盘点击回调 - this.getShopList(val) - }, + filterStatus (status) { // 过滤订单状态 const arr = [ {status: 'WAIT_BILL', title: '待结算'}, diff --git a/manager/src/views/goods/addGoods.scss b/manager/src/views/goods/addGoods.scss new file mode 100644 index 00000000..499380ab --- /dev/null +++ b/manager/src/views/goods/addGoods.scss @@ -0,0 +1,528 @@ +/*选择商品品类*/ +.content-goods-publish { + padding: 15px; + margin: 0 auto; + text-align: center; + border-radius: 0.8em; + box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); + background: none repeat 0 0 #fff; + + /*商品品类*/ + .goods-category { + min-height: 500px; + border-radius: 0.8em; + text-align: left; + padding: 10px; + background: #ededed; + + ul { + padding: 12px 8px; + list-style: none; + width: 300px; + background: none repeat 0 0 #fff; + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.12), 0 0 6px rgba(0, 0, 0, 0.04); + border-radius: 0.4em; + display: inline-block; + letter-spacing: normal; + margin-right: 15px; + vertical-align: top; + word-spacing: normal; + + li { + line-height: 20px; + padding: 10px 5px; + cursor: pointer; + color: #333; + font-size: 12px; + display: flex; + flex-wrap: nowrap; + flex-direction: row; + justify-content: space-between; + align-items: center; + } + } + } + + /** 当前品类被选中的样式 */ + .activeClass { + border-radius: 0.4em; + background-color: rgba($color: $theme_color, $alpha: 0.2); + border: 1px solid rgba($color: $theme_color, $alpha: 0.8); + color: #fff; + } + + /*!*当前选择的商品品类文字*!*/ + .current-goods-category { + text-align: left; + padding: 10px; + width: 100%; + border: 1px solid #fbeed5; + color: #c09853; + background-color: #fcf8e3; + margin: 10px auto; + padding: 8px 35px 8px 14px; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); + font-size: 12px; + font-weight: bold; + } +} + +/*编辑基本信息*/ +.el-form { + padding-bottom: 80px; + + .el-form-item { + width: 100%; + text-align: left; + } +} + +.sku-val { + justify-content: flex-start; + flex-wrap: wrap; + + >.ivu-form { + flex-wrap: wrap !important; + } + + /deep/ .sku-item-content-val { + margin-right: 20px; + } +} + +div.base-info-item { + h4 { + margin-bottom: 10px; + padding: 0 10px; + border: 1px solid #ddd; + background-color: #f8f8f8; + font-weight: bold; + color: #333; + font-size: 14px; + line-height: 40px; + text-align: left; + } + + >div { + padding-left: 5%; + } + + .form-item-view { + display: flex; + flex-direction: column; + align-items: flex-start; + justify-content: space-between; + // padding-left: 80px; + + .form-item-view-wholesale { + display: flex; + + .form-item-view-wholesale-preview { + padding-left: 5%; + } + + } + + .layout { + margin-bottom: 20px; + width: 100%; + justify-content: center; + + .sku-item-content { + margin: 20px 0; + display: flex; + width: 100% !important; + flex: 1; + + flex-direction: column; + align-items: flex-start; + justify-content: flex-start; + width: 100%; + + >.ivu-card-body { + width: 100%; + } + + .ivu-card-body { + width: 100%; + justify-content: center; + align-items: flex-start; + } + + .sku-item-content-name { + display: flex; + align-items: flex-start; + justify-content: flex-start; + width: 100%; + } + } + } + + .shop-category-text { + font-size: 12px; + } + } + + .form-item-view-bottom { + margin-bottom: 50px; + } + + .item-goods-properts-row { + display: flex; + flex-direction: row; + word-break: break-all; + white-space: normal; + width: 300px; + height: 100px; + } + + .item-goods-properts { + display: flex; + flex-direction: row; + margin-bottom: 10px; + } + + .form-item { + display: flex; + align-items: center; + } + + /** 审核信息-拒绝原因 */ + .auth-info { + color: red; + } + + .el-form-item { + width: 30%; + min-width: 300px; + } + + .goods-name-width { + width: 50%; + min-width: 300px; + } + + .el-form-item__content { + margin-left: 120px; + text-align: left; + } + + p.goods-group-manager { + padding-left: 7.5%; + text-align: left; + color: #999; + font-size: 13px; + } + + /*teatarea*/ + /deep/ .el-textarea { + width: 150%; + } + + .seo-text { + width: 150%; + } +} + +/*折叠面板*/ +.el-collapse-item { + /deep/ .el-collapse-item__header { + text-align: left; + background-color: #f8f8f8; + padding: 0 10px; + font-weight: bold; + color: #333; + font-size: 14px; + } + + .el-form-item { + margin-left: 5%; + width: 25%; + } + + /deep/ .el-form-item__content { + margin-left: 120px; + text-align: left; + } + + p.goods-group-manager { + padding-left: 12%; + text-align: left; + color: #999; + } + + /deep/ .el-collapse-item__content { + padding: 10px 0; + text-align: left; + } +} + +.success { + >h1 { + font-size: 28px; + } + + >* { + margin: 10px; + } +} + +.operation { + >* { + margin: 10px 0; + } +} + +/*商品描述*/ +.goods-intro { + line-height: 40; +} + +/** 底部步骤 */ +.footer { + width: 100%; + margin-top: 20px; + padding: 10px; + background-color: #ffc; + position: sticky; + bottom: 0px; + text-align: center; + z-index: 999; + + >.ivu-btn { + margin: 0 10px; + } +} + +/*图片上传组件第一张图设置封面*/ +.goods-images { + /deep/ li.el-upload-list__item:first-child { + position: relative; + } + + /deep/ li.el-upload-list__item:first-child:after { + content: "封"; + color: #fff; + font-weight: bold; + font-size: 12px; + position: absolute; + left: -15px; + top: -6px; + width: 40px; + height: 24px; + padding-top: 6px; + background: #13ce66; + text-align: center; + -webkit-transform: rotate(-45deg); + transform: rotate(-45deg); + -webkit-box-shadow: 0 0 1pc 1px rgba(0, 0, 0, 0.2); + box-shadow: 0 0 1pc 1px rgba(0, 0, 0, 0.2); + } +} + +.el-form-item__label { + word-break: break-all; +} + +.step-list { + height: 60px; + padding: 10px 30px; + background-color: #fff; + margin-bottom: 20px; + border-radius: 0.8em; + box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); +} + +.add-sku-btn { + margin-top: 10px; +} + +.sku-item:not(:first-child) { + margin-top: 10px; +} + +.sku-upload-list { + text-align: center; + border: 1px solid transparent; + border-radius: 4px; + overflow: hidden; + background: #fff; + position: relative; + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2); + margin-right: 8px; +} + +.preview-picture { + width: 100%; + margin: 0 auto; + display: block; + // text-align: center; + border: 1px solid transparent; + // justify-self: center; + // align-self: center; +} + +.preview-picture img { + width: 100%; + height: 100%; +} + +.sku-upload-list img { + width: 100%; + height: 100%; +} + +.sku-upload-list-cover { + display: none; + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + background: rgba(0, 0, 0, 0.6); +} + +.sku-upload-list:hover .sku-upload-list-cover { + display: block; +} + +.sku-upload-list-cover i { + color: #fff; + font-size: 20px; + cursor: pointer; + margin: 0 2px; +} + +.required { + /deep/ .ivu-form-item-label::before { + content: "*"; + display: inline-block; + margin-right: 4px; + line-height: 1; + font-family: SimSun; + font-size: 14px; + color: #ed4014; + } +} + +.demo-upload-list { + width: 150px; + height: 150px; + text-align: center; + border: 1px solid transparent; + border-radius: 4px; + display: inline-block; + background: #fff; + position: relative; + margin-right: 4px; + vertical-align: bottom; +} + +.demo-upload-list img { + width: 100%; + height: 100%; +} + +.demo-upload-list-cover { + display: none; + position: absolute; + top: 0; + bottom: 0; + left: 0; + + right: 0; + background: rgba(0, 0, 0, 0.6); + + justify-content: space-between; + align-items: center; + flex-direction: column; +} + +.demo-upload-list:hover .demo-upload-list-cover { + display: flex; +} + +.demo-upload-list-cover div { + margin-top: 50px; + width: 100%; + + >i { + width: 50%; + margin-top: 8px; + color: #fff; + font-size: 20px; + cursor: pointer; + } +} + +.active-goods-type { + background: #e8e8e8; +} + +.goods-type-list { + max-height: 500px; + overflow-y: auto; +} + +.template-item { + justify-content: flex-start !important; +} + +.tree-bar { + height: auto !important; + max-height: auto !important; + min-height: 240px !important; +} + +.goods-type-item { + padding: 20px 0; + width: 100%; + cursor: pointer; + transition: 0.35s; + display: flex; + justify-content: center; + align-items: center; + + /deep/ img { + margin-right: 20px; + width: 100px; + margin-left: 10px; + } + + + + /deep/ p { + color: #999; + font-size: 14px; + margin-top: 10px; + } +} + +.goods-type-item:hover { + background: #ededed; +} + +.goods-list-box { + height: 450px; + overflow: auto; +} + +h2 { + cursor: pointer; + font-size: 21px; + color: #333; +} + +.form-item-view-wholesale-form-col { + height: 400px; +} + +.form-item-view-wholesale-row-del { + display: "flex"; + justify-content: "space-between"; + align-items: "center"; +} +.promise-intro-btn{ + margin: 10px 0; + text-align: left; +} diff --git a/manager/src/views/goods/goods-info/goods.vue b/manager/src/views/goods/goods-info/goods.vue index 0154fdba..ebd1d0c5 100644 --- a/manager/src/views/goods/goods-info/goods.vue +++ b/manager/src/views/goods/goods-info/goods.vue @@ -69,6 +69,9 @@ >搜索 +
+ +
- - + +
-
-
-
-
商家回复:
-
{{ infoData.reply }}
-
-
-
- -
-
-
+
+
+ + + + + +
+
@@ -102,6 +101,10 @@ export default { name: "goods-review", // 会员评价 data() { return { + replyForm:{ + reply:'', + replyImage:[] + }, infoData: {}, // 商品信息 infoFlag: false, // 评价展示 infoTitle: "", // modal名称 @@ -173,6 +176,14 @@ export default { align: "left", width: 170 }, + + { + title: "回复状态", + key: "replyStatus", + align: "left", + width: 100, + slot: "replyStatus", + }, { title: "页面展示", key: "shopDisable", diff --git a/manager/src/views/goods/goodsOperation.vue b/manager/src/views/goods/goodsOperation.vue new file mode 100644 index 00000000..77c41ece --- /dev/null +++ b/manager/src/views/goods/goodsOperation.vue @@ -0,0 +1,60 @@ + + + diff --git a/manager/src/views/goods/goodsOperationFirst.vue b/manager/src/views/goods/goodsOperationFirst.vue new file mode 100644 index 00000000..7653fe1a --- /dev/null +++ b/manager/src/views/goods/goodsOperationFirst.vue @@ -0,0 +1,260 @@ + + + diff --git a/manager/src/views/goods/goodsOperationSec.vue b/manager/src/views/goods/goodsOperationSec.vue new file mode 100644 index 00000000..2ec73c3b --- /dev/null +++ b/manager/src/views/goods/goodsOperationSec.vue @@ -0,0 +1,2023 @@ + + + + + diff --git a/manager/src/views/goods/goodsOperationThird.vue b/manager/src/views/goods/goodsOperationThird.vue new file mode 100644 index 00000000..b2b90859 --- /dev/null +++ b/manager/src/views/goods/goodsOperationThird.vue @@ -0,0 +1,38 @@ + + + \ No newline at end of file diff --git a/manager/src/views/logistics/company.vue b/manager/src/views/logistics/company.vue new file mode 100644 index 00000000..b332dd7f --- /dev/null +++ b/manager/src/views/logistics/company.vue @@ -0,0 +1,321 @@ + + + diff --git a/manager/src/views/logistics/index.vue b/manager/src/views/logistics/index.vue index b332dd7f..ada85b41 100644 --- a/manager/src/views/logistics/index.vue +++ b/manager/src/views/logistics/index.vue @@ -1,321 +1,32 @@ + + diff --git a/manager/src/views/logistics/shipTemplate.vue b/manager/src/views/logistics/shipTemplate.vue new file mode 100644 index 00000000..48e80c91 --- /dev/null +++ b/manager/src/views/logistics/shipTemplate.vue @@ -0,0 +1,633 @@ + + + + diff --git a/manager/src/views/member/list/memberDetail.vue b/manager/src/views/member/list/memberDetail.vue index a03c260d..9bd4a02f 100644 --- a/manager/src/views/member/list/memberDetail.vue +++ b/manager/src/views/member/list/memberDetail.vue @@ -563,12 +563,7 @@ } } }, - { - title: "购买店铺", - key: "storeName", - width: 120, - tooltip: true - }, + { title: "下单时间", key: "createTime", diff --git a/manager/src/views/order/after-order/afterSaleOrderDetail.vue b/manager/src/views/order/after-order/afterSaleOrderDetail.vue index a5d605c3..6c710283 100644 --- a/manager/src/views/order/after-order/afterSaleOrderDetail.vue +++ b/manager/src/views/order/after-order/afterSaleOrderDetail.vue @@ -127,37 +127,7 @@ -
-

商家处理

-
-
商家
-
-
- {{ afterSaleInfo.storeName }} -
-
-
- -
-
备注信息
-
- {{ afterSaleInfo.auditRemark || "暂无备注信息" }} -
-
-
@@ -248,14 +218,7 @@ " >

物流信息

-
-
收货商家
-
{{ afterSaleInfo.storeName }}
-
-
-
收货商家手机
-
{{ storeMsg.salesConsigneeMobile }}
-
+
收货地址
diff --git a/manager/src/views/order/after-order/orderComplaintDetail.vue b/manager/src/views/order/after-order/orderComplaintDetail.vue index 84281dfa..b5de5efb 100644 --- a/manager/src/views/order/after-order/orderComplaintDetail.vue +++ b/manager/src/views/order/after-order/orderComplaintDetail.vue @@ -137,9 +137,9 @@ - diff --git a/manager/src/views/order/order/orderDetail.vue b/manager/src/views/order/order/orderDetail.vue index dbf46b14..3845b868 100644 --- a/manager/src/views/order/order/orderDetail.vue +++ b/manager/src/views/order/order/orderDetail.vue @@ -7,6 +7,10 @@ + + + + @@ -431,7 +435,80 @@
+ + +
+
+ + + + + + +
+
+ + + +
+
+ + +
+
+ + + +

+ + 订单核销 +

+
+
+ + + +
+
+
+ + +
+
@@ -451,6 +528,34 @@ export default { }, data () { return { + // 分包裹发货 + groupShipModal: false, + shipLoading: true, + groupOrderDeliveryForm: { + logisticsNo: "", //发货单号 + logisticsId: "", //物流公司 + }, + checkedLogistics: [], //选中的物流公司集合 + + orderTakeModal: false, //订单核销弹出框 + + //订单核销表单 + orderTakeForm: { + qrCode: "", + }, + //验证要调整的订单金额 + orderTakeValidate: { + qrCode: [ + { required: true, message: "订单核销码不能为空", trigger: "blur" }, + ], + }, + + groupOrderDeliverFormValidate: { + logisticsNo: [{ required: true, message: "发货单号不能为空", trigger: "change" },], + logisticsId: [{ required: true, message: "请选择物流公司", trigger: "blur" },], + }, + + typeList: [], showPrices: false, printHiddenFlag: false,//隐藏信息 @@ -634,6 +739,40 @@ export default { minWidth: 200, }, ], + // 选择要发货的商品 + selectGroupShipGoods: [], + groupShipColumns: [ + {type: "selection", width: 60, align: "center",}, + {title: "商品", key: "goodsName", width: 300, slot: "goodsSlot",}, + { + title: "单价", + key: "unitPrice", + slot: "priceSlot", + width: 100, + render: (h, params) => { + if (!params.row.unitPrice) { + return h("div", this.$options.filters.unitPrice(0, "¥")); + } + return h("div", this.$options.filters.unitPrice(params.row.unitPrice, "¥")); + }, + }, + {title: "数量", key: "num", slot: "numSlot", width: 120,}, + { + title: "已发包裹", + key: "deliverNumber", + render: (h, params) => { + return h("div", params.row.deliverNumber ? params.row.deliverNumber : 0); + }, + }, + { + title: "小计", + key: "subTotal", + width: 120, + render: (h, params) => { + return h("div", this.$options.filters.unitPrice(params.row.subTotal, "¥")); + }, + }, + ], }; }, watch: { @@ -642,6 +781,81 @@ export default { }, }, methods: { + // 选中 + selectGroupShipGoodsMethods (selected) { + this.selectGroupShipGoods = selected; + }, + //订单核销提交 + orderTakeSubmit () { + this.$refs.orderTakeForm.validate((valid) => { + if (valid) { + API_Order.orderTake(this.sn, this.orderTakeForm.qrCode).then( + (res) => { + if (res.success) { + this.$Message.success("订单核销成功"); + this.orderTakeModal = false; + this.getDataDetail(); + } + } + ); + } + }); + }, + //弹出订单核销框 + orderTake () { + this.orderTakeForm.qrCode = this.orderInfo.order.verificationCode; + this.orderTakeModal = true; + }, + // 分包裹发货 + groupShip () { + this.groupShipModal = true; + this.getLogisticsList(); + }, + // 分页获取物流公司 + getLogisticsList () { + API_Order.getLogisticsChecked().then((res) => { + if (res.success) { + this.checkedLogistics = res.result; + } + }); + }, + // 分包裹发货 + confirmShipGroupGoods () { + this.$refs.groupOrderDeliveryForm.validate(async (valid) => { + if (valid) { + if (this.selectGroupShipGoods.length) { + let submit = { + ...this.groupOrderDeliveryForm, + orderSn: this.sn, + partDeliveryDTOList: this.selectGroupShipGoods.map((item) => { + return { + orderItemId: item.id, + deliveryNum: item.canNum ? item.canNum : item.num, + }; + }), + }; + const res = await API_Order.partDelivery(this.sn, submit); + if (res.success) { + this.$Message.success("发货成功!"); + this.shipLoading = false; + this.getDataDetail(); + this.getOrderPackage(); + this.groupShipModal = false; + this.groupOrderDeliveryForm = [] + } else { + this.shipLoading = false; + this.groupShipModal = true; + } + } else { + this.shipLoading = false; + this.groupShipModal = true; + this.$Message.error("请选择要发货的商品"); + } + } else { + this.shipLoading = false; + } + }); + }, gotoHomes () { return false }, diff --git a/manager/src/views/order/order/orderList.vue b/manager/src/views/order/order/orderList.vue index 0b8c503b..4768b050 100644 --- a/manager/src/views/order/order/orderList.vue +++ b/manager/src/views/order/order/orderList.vue @@ -53,23 +53,6 @@ style="width: 160px" >
- - - - - - - - - - - - - - - - -