管理端售后,添加跳转链接
parent
2f8946f372
commit
80d070bb67
|
@ -5,7 +5,7 @@
|
||||||
<div>
|
<div>
|
||||||
<div class="coupon-title">
|
<div class="coupon-title">
|
||||||
<router-link to="/">
|
<router-link to="/">
|
||||||
<img src="../assets/images/logo1.png" width="120" alt="">
|
<img src="../assets/images/logo.png" width="120" alt="">
|
||||||
</router-link>
|
</router-link>
|
||||||
<p>领券中心</p>
|
<p>领券中心</p>
|
||||||
<Input search style="width:400px" @on-search='search' enter-button="搜索" placeholder="搜索优惠券" />
|
<Input search style="width:400px" @on-search='search' enter-button="搜索" placeholder="搜索优惠券" />
|
||||||
|
|
|
@ -52,10 +52,6 @@ export const afterSaleStatusList = [
|
||||||
name: '买家退货,待卖家收货',
|
name: '买家退货,待卖家收货',
|
||||||
status: 'BUYER_RETURN'
|
status: 'BUYER_RETURN'
|
||||||
},
|
},
|
||||||
{
|
|
||||||
name: '商家换货/补发',
|
|
||||||
status: 'SELLER_RE_DELIVERY'
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
name: '卖家确认收货',
|
name: '卖家确认收货',
|
||||||
status: 'SELLER_CONFIRM'
|
status: 'SELLER_CONFIRM'
|
||||||
|
|
|
@ -8,8 +8,11 @@
|
||||||
<div class="goodsImg hover-pointer" v-if="params.type === 'GOODS'">
|
<div class="goodsImg hover-pointer" v-if="params.type === 'GOODS'">
|
||||||
<img :src="item.image" />
|
<img :src="item.image" />
|
||||||
</div>
|
</div>
|
||||||
<div class="goodsTitle hover-pointer">
|
<div class="goodsTitle hover-color" v-if="params.type === 'GOODS'" @click="buynow(item.skuId, item.goodsId)">
|
||||||
{{params.type === 'GOODS'? item.goodsName : item.storeName}}
|
{{item.goodsName}}
|
||||||
|
</div>
|
||||||
|
<div v-else class="goodsTitle hover-pointer">
|
||||||
|
{{item.storeName}}
|
||||||
</div>
|
</div>
|
||||||
<div class="goodsPrice">
|
<div class="goodsPrice">
|
||||||
<span v-if="params.type === 'GOODS'">{{item.price | unitPrice('¥')}}</span>
|
<span v-if="params.type === 'GOODS'">{{item.price | unitPrice('¥')}}</span>
|
||||||
|
|
|
@ -117,16 +117,10 @@ export const getAfterSaleOrderPage = (params) => {
|
||||||
export const getAfterSaleOrderDetail = (sn) => {
|
export const getAfterSaleOrderDetail = (sn) => {
|
||||||
return getRequest(`/afterSale/get/${sn}`)
|
return getRequest(`/afterSale/get/${sn}`)
|
||||||
}
|
}
|
||||||
|
|
||||||
//售后单查询物流
|
//售后单查询物流
|
||||||
export const getSellerDeliveryTraces = (sn, params) => {
|
export const getAfterSaleTraces = (sn) => {
|
||||||
return getRequest(`/afterSale/getSellerDeliveryTraces/${sn}`, params)
|
return getRequest(`/afterSale/getDeliveryTraces/${sn}`)
|
||||||
}
|
}
|
||||||
//售后单查询物流
|
|
||||||
export const getAfterSaleTraces = (sn, params) => {
|
|
||||||
return getRequest(`/afterSale/getDeliveryTraces/${sn}`, params)
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获取商家选中的物流公司
|
// 获取商家选中的物流公司
|
||||||
export const getLogisticsChecked = () => {
|
export const getLogisticsChecked = () => {
|
||||||
return getRequest(`/logistics/getChecked`)
|
return getRequest(`/logistics/getChecked`)
|
||||||
|
@ -157,6 +151,11 @@ export const refundLog = (params) => {
|
||||||
return getRequest(`/refundLog`, params)
|
return getRequest(`/refundLog`, params)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//售后单商家收货信息
|
||||||
|
export const storeAddress = (sn) => {
|
||||||
|
return getRequest(`/afterSale/getStoreAfterSaleAddress/${sn}`)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -17,11 +17,14 @@ export default {
|
||||||
* @description api请求基础路径
|
* @description api请求基础路径
|
||||||
*/
|
*/
|
||||||
api_dev: {
|
api_dev: {
|
||||||
common: "https://common-api.pickmall.cn",
|
// common: "https://common-api.pickmall.cn",
|
||||||
buyer: "https://buyer-api.pickmall.cn",
|
// buyer: "https://buyer-api.pickmall.cn",
|
||||||
seller: "https://store-api.pickmall.cn",
|
// seller: "https://store-api.pickmall.cn",
|
||||||
manager: "https://admin-api.pickmall.cn"
|
// manager: "https://admin-api.pickmall.cn"
|
||||||
|
common: 'http://192.168.0.101:8890',
|
||||||
|
buyer: 'http://192.168.0.101:8888',
|
||||||
|
seller: 'http://192.168.0.101:8889',
|
||||||
|
manager: 'http://192.168.0.101:8887'
|
||||||
},
|
},
|
||||||
api_prod: {
|
api_prod: {
|
||||||
common: "https://common-api.pickmall.cn",
|
common: "https://common-api.pickmall.cn",
|
||||||
|
|
|
@ -149,12 +149,8 @@ export default {
|
||||||
this.previewGoodsPicture = url;
|
this.previewGoodsPicture = url;
|
||||||
this.goodsPictureVisible = true;
|
this.goodsPictureVisible = true;
|
||||||
}
|
}
|
||||||
,
|
|
||||||
}
|
}
|
||||||
,
|
|
||||||
|
|
||||||
}
|
}
|
||||||
;
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" soped>
|
<style lang="scss" soped>
|
||||||
|
|
|
@ -1,389 +1,269 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="search">
|
<div class="search">
|
||||||
<Row>
|
<Card>
|
||||||
<Col>
|
<div class="main-content">
|
||||||
<Card>
|
<div class="div-flow-left">
|
||||||
<div class="main-content">
|
<div class="div-form-default">
|
||||||
<div class="div-flow-left">
|
<h3>退货申请</h3>
|
||||||
<div class="div-form-default">
|
<dl>
|
||||||
<h3>退货申请</h3>
|
<dt>退货状态</dt>
|
||||||
<dl>
|
<dd>{{afterSaleInfo.serviceName}}</dd>
|
||||||
<dt>退货状态</dt>
|
</dl>
|
||||||
<dd v-if="afterSaleInfo.serviceStatus =='APPLY'">申请退货</dd>
|
<dl>
|
||||||
<dd v-if="afterSaleInfo.serviceStatus =='PASS'">申请通过</dd>
|
<dt>退货退款编号</dt>
|
||||||
<dd v-if="afterSaleInfo.serviceStatus =='REFUSE'">申请拒绝</dd>
|
<dd>{{afterSaleInfo.sn}}</dd>
|
||||||
<dd v-if="afterSaleInfo.serviceStatus =='BUYER_RETURN'">买家退货,待卖家收货</dd>
|
</dl>
|
||||||
<dd v-if="afterSaleInfo.serviceStatus =='SELLER_RE_DELIVERY'">商家换货</dd>
|
<dl>
|
||||||
<dd v-if="afterSaleInfo.serviceStatus =='SELLER_CONFIRM'">卖家确认收货</dd>
|
<dt>退货退款原因</dt>
|
||||||
<dd v-if="afterSaleInfo.serviceStatus =='SELLER_TERMINATION'">卖家终止售后</dd>
|
<dd>{{afterSaleInfo.reason}}</dd>
|
||||||
<dd v-if="afterSaleInfo.serviceStatus =='BUYER_CONFIRM'">买家确认收货</dd>
|
</dl>
|
||||||
<dd v-if="afterSaleInfo.serviceStatus =='BUYER_CANCEL'">买家取消售后</dd>
|
<dl>
|
||||||
<dd v-if="afterSaleInfo.serviceStatus =='WAIT_REFUND'">等待平台退款</dd>
|
<dt>申请退款金额</dt>
|
||||||
<dd v-if="afterSaleInfo.serviceStatus =='COMPLETE'">已完成</dd>
|
<dd>¥{{afterSaleInfo.applyRefundPrice | unitPrice}}</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl>
|
<dl v-if="afterSaleInfo.actualRefundPrice">
|
||||||
<dt>退货退款编号</dt>
|
<dt>实际退款金额</dt>
|
||||||
<dd>{{afterSaleInfo.sn}}</dd>
|
<dd>¥{{afterSaleInfo.actualRefundPrice | unitPrice}}</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl>
|
<dl v-if="afterSaleInfo.refundPoint">
|
||||||
<dt>退货退款原因</dt>
|
<dt>退还积分</dt>
|
||||||
<dd>{{afterSaleInfo.reason}}</dd>
|
<dd>{{afterSaleInfo.refundPoint}}</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl>
|
<dl>
|
||||||
<dt>申请退款金额</dt>
|
<dt>退货数量</dt>
|
||||||
<dd>¥{{afterSaleInfo.applyRefundPrice | unitPrice}}</dd>
|
<dd>{{afterSaleInfo.num}}</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl v-if="afterSaleInfo.actualRefundPrice">
|
<dl>
|
||||||
<dt>实际退款金额</dt>
|
<dt>问题描述</dt>
|
||||||
<dd>{{afterSaleInfo.actualRefundPrice}}</dd>
|
<dd>{{afterSaleInfo.problemDesc}}</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl v-if="afterSaleInfo.refundPoint">
|
<dl>
|
||||||
<dt>退还积分</dt>
|
<dt>凭证</dt>
|
||||||
<dd>{{afterSaleInfo.refundPoint}}</dd>
|
<dd v-if="afterSaleImage == ''">
|
||||||
</dl>
|
暂无凭证
|
||||||
<dl>
|
</dd>
|
||||||
<dt>退货数量</dt>
|
<dd v-else>
|
||||||
<dd>{{afterSaleInfo.num}}</dd>
|
<div class="div-img" v-for="(item, index) in afterSaleImage" :key="index">
|
||||||
</dl>
|
<img class="complain-img" :src=item>
|
||||||
<dl>
|
</div>
|
||||||
<dt>问题描述</dt>
|
</dd>
|
||||||
<dd>{{afterSaleInfo.problemDesc}}</dd>
|
</dl>
|
||||||
</dl>
|
|
||||||
<dl>
|
|
||||||
<dt>凭证</dt>
|
|
||||||
<dd v-if="afterSaleImage == ''">
|
|
||||||
暂无凭证
|
|
||||||
</dd>
|
|
||||||
<dd v-else>
|
|
||||||
<div class="div-img" v-for="(item, index) in afterSaleImage">
|
|
||||||
<img class="complain-img" :src=item>
|
|
||||||
</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="div-form-default" v-if="afterSaleInfo.serviceStatus=='APPLY'">
|
|
||||||
<h3>处理意见</h3>
|
|
||||||
<dl>
|
|
||||||
<dt>商家</dt>
|
|
||||||
<dd>
|
|
||||||
<div class="div-content">
|
|
||||||
{{afterSaleInfo.storeName}}
|
|
||||||
</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl>
|
|
||||||
<dt>是否同意</dt>
|
|
||||||
<dd>
|
|
||||||
<div class="div-content">
|
|
||||||
<RadioGroup type="button" button-style="solid" v-model="params.serviceStatus">
|
|
||||||
<Radio label="PASS">
|
|
||||||
<span>同意</span>
|
|
||||||
</Radio>
|
|
||||||
<Radio label="REFUSE">
|
|
||||||
<span>拒绝</span>
|
|
||||||
</Radio>
|
|
||||||
</RadioGroup>
|
|
||||||
</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl>
|
|
||||||
<dt>申请退款金额</dt>
|
|
||||||
<dd>{{ afterSaleInfo.applyRefundPrice | unitPrice('¥') }}</dd>
|
|
||||||
</dl>
|
|
||||||
<dl>
|
|
||||||
<dt>实际退款金额</dt>
|
|
||||||
<dd>
|
|
||||||
<Input v-model="params.actualRefundPrice" style="width:260px" />
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl>
|
|
||||||
<dt>备注信息</dt>
|
|
||||||
<dd>
|
|
||||||
<Input v-model="params.remark" type="textarea" maxlength="200" :rows="4" clearable style="width:260px" />
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl>
|
|
||||||
<dd>
|
|
||||||
<div style="text-align: right;width: 45%;margin-top: 10px">
|
|
||||||
<Button type="primary" :loading="submitLoading" @click="handleSubmit" style="margin-left: 5px">
|
|
||||||
确定
|
|
||||||
</Button>
|
|
||||||
</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
</div>
|
|
||||||
<div class="div-form-default" v-if="afterSaleInfo.serviceStatus !='APPLY'">
|
|
||||||
<h3>商家处理</h3>
|
|
||||||
<dl>
|
|
||||||
<dt>商家</dt>
|
|
||||||
<dd>
|
|
||||||
<div class="div-content">
|
|
||||||
{{afterSaleInfo.storeName}}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl>
|
|
||||||
<dt>审核结果</dt>
|
|
||||||
<dd>
|
|
||||||
<div class="div-content">
|
|
||||||
<span v-if="params.serviceStatus=='PASS'">
|
|
||||||
审核通过
|
|
||||||
</span>
|
|
||||||
<span v-else>
|
|
||||||
审核拒绝
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl>
|
|
||||||
<dt>备注信息</dt>
|
|
||||||
<dd>
|
|
||||||
{{afterSaleInfo.auditRemark}}
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="div-flow-center">
|
|
||||||
|
|
||||||
</div>
|
<div class="div-form-default" v-if="afterSaleInfo.serviceStatus=='APPLY'">
|
||||||
<div class="div-flow-right">
|
<h3>处理意见</h3>
|
||||||
<div class="div-form-default">
|
<dl>
|
||||||
<h3>相关商品交易信息</h3>
|
<dt>商家</dt>
|
||||||
<dl>
|
<dd>
|
||||||
<dt>
|
<div class="div-content">
|
||||||
<img :src="afterSaleInfo.goodsImage" height="60px">
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
<a>{{afterSaleInfo.goodsName}}</a><br>
|
|
||||||
<span>{{afterSaleInfo.num}}(数量)</span><br>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="div-form-default">
|
|
||||||
<h3>订单相关信息</h3>
|
|
||||||
<dl>
|
|
||||||
<dt>
|
|
||||||
订单编号
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
{{afterSaleInfo.orderSn}}
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl v-if="afterSaleInfo.bankDepositName">
|
|
||||||
<dt>银行开户行</dt>
|
|
||||||
<dd>
|
|
||||||
{{afterSaleInfo.bankDepositName}}
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl v-if="afterSaleInfo.bankAccountName">
|
|
||||||
<dt>银行开户名</dt>
|
|
||||||
<dd>
|
|
||||||
{{afterSaleInfo.bankAccountName}}
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl v-if="afterSaleInfo.bankAccountNumber">
|
|
||||||
<dt>银行卡号</dt>
|
|
||||||
<dd>
|
|
||||||
{{afterSaleInfo.bankAccountNumber}}
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<!--"-->
|
|
||||||
<div class="div-form-default" v-if="afterSaleInfo.afterSaleAllowOperationVO && afterSaleInfo.afterSaleAllowOperationVO.refund">
|
|
||||||
<h3>平台退款</h3>
|
|
||||||
<dl>
|
|
||||||
<dt>银行开户行</dt>
|
|
||||||
<dd>
|
|
||||||
{{afterSaleInfo.bankDepositName}}
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl>
|
|
||||||
<dt>银行开户名</dt>
|
|
||||||
<dd>
|
|
||||||
{{afterSaleInfo.bankAccountName}}
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl>
|
|
||||||
<dt>银行卡号</dt>
|
|
||||||
<dd>
|
|
||||||
{{afterSaleInfo.bankAccountNumber}}
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl>
|
|
||||||
<dt>备注信息</dt>
|
|
||||||
<dd>
|
|
||||||
<Input v-model="refundPriceForm.remark" type="textarea" maxlength="200" :rows="4" clearable style="width:260px" />
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl>
|
|
||||||
<dt>操作</dt>
|
|
||||||
<dd>
|
|
||||||
<Button type="primary" :loading="submitLoading" @click="refundPriceSubmit" style="margin-left: 5px">
|
|
||||||
退款
|
|
||||||
</Button>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="div-form-default" v-if="afterSaleInfo.serviceStatus =='BUYER_RETURN'">
|
|
||||||
<h3>物流信息</h3>
|
|
||||||
<dl>
|
|
||||||
<dt>
|
|
||||||
收货商家
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
{{afterSaleInfo.storeName}}
|
{{afterSaleInfo.storeName}}
|
||||||
</dd>
|
</div>
|
||||||
</dl>
|
</dd>
|
||||||
<dl>
|
</dl>
|
||||||
<dt>
|
<dl>
|
||||||
收货商家手机
|
<dt>是否同意</dt>
|
||||||
</dt>
|
<dd>
|
||||||
<dd>
|
<div class="div-content">
|
||||||
{{afterSaleInfo.sconsigneeMobile}}
|
<RadioGroup type="button" button-style="solid" v-model="params.serviceStatus">
|
||||||
</dd>
|
<Radio label="PASS">
|
||||||
</dl>
|
<span>同意</span>
|
||||||
<dl>
|
</Radio>
|
||||||
<dt>
|
<Radio label="REFUSE">
|
||||||
收货地址
|
<span>拒绝</span>
|
||||||
</dt>
|
</Radio>
|
||||||
<dd>
|
</RadioGroup>
|
||||||
{{afterSaleInfo.sconsigneeAddressPath}} {{afterSaleInfo.sconsigneeDetail}}
|
</div>
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl>
|
<dl>
|
||||||
<dt>
|
<dt>申请退款金额</dt>
|
||||||
物流公司
|
<dd>{{ afterSaleInfo.applyRefundPrice | unitPrice('¥') }}</dd>
|
||||||
</dt>
|
</dl>
|
||||||
<dd>
|
<dl>
|
||||||
{{afterSaleInfo.mlogisticsName}}
|
<dt>实际退款金额</dt>
|
||||||
</dd>
|
<dd>
|
||||||
</dl>
|
<Input v-model="params.actualRefundPrice" style="width:260px" />
|
||||||
<dl>
|
</dd>
|
||||||
<dt>
|
</dl>
|
||||||
物流单号
|
<dl>
|
||||||
</dt>
|
<dt>备注信息</dt>
|
||||||
<dd>
|
<dd>
|
||||||
{{afterSaleInfo.mlogisticsNo}}
|
<Input v-model="params.remark" type="textarea" maxlength="200" :rows="4" clearable style="width:260px" />
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl>
|
<dl>
|
||||||
<dt>操作</dt>
|
<dd>
|
||||||
<dd>
|
<div style="text-align: right;width: 45%;margin-top: 10px">
|
||||||
<Button type="primary" :loading="submitLoading" @click="sellerConfirmSubmit" style="margin-left: 5px">
|
<Button type="primary" :loading="submitLoading" @click="handleSubmit" style="margin-left: 5px">
|
||||||
确认收货
|
确定
|
||||||
</Button>
|
</Button>
|
||||||
<Button type="primary" :loading="submitLoading" @click="logisticsSeller()" style="margin-left: 5px">
|
</div>
|
||||||
查询物流
|
</dd>
|
||||||
</Button>
|
</dl>
|
||||||
</dd>
|
</div>
|
||||||
</dl>
|
<div class="div-form-default" v-if="afterSaleInfo.serviceStatus !='APPLY'">
|
||||||
|
<h3>商家处理</h3>
|
||||||
</div>
|
<dl>
|
||||||
<div class="div-form-default" v-if="afterSaleInfo.serviceStatus =='PASS' && afterSaleInfo.serviceType == 'EXCHANGE_GOODS'">
|
<dt>商家</dt>
|
||||||
<h3>换货</h3>
|
<dd>
|
||||||
<dl>
|
<div class="div-content">
|
||||||
<dt>
|
{{afterSaleInfo.storeName}}
|
||||||
换货
|
</div>
|
||||||
</dt>
|
</dd>
|
||||||
<dd>
|
</dl>
|
||||||
<Button type="primary" :loading="submitLoading" @click="exchangeGoods" style="margin-left: 5px">
|
<!-- <dl>
|
||||||
换货
|
<dt>审核结果</dt>
|
||||||
</Button>
|
<dd>
|
||||||
</dd>
|
<div class="div-content">
|
||||||
</dl>
|
<span v-if="params.serviceStatus=='PASS'">
|
||||||
</div>
|
审核通过
|
||||||
<div class="div-form-default" v-if="afterSaleInfo.serviceStatus =='SELLER_RE_DELIVERY'">
|
</span>
|
||||||
<h3>物流信息</h3>
|
<span v-else>
|
||||||
<dl>
|
审核拒绝
|
||||||
<dt>
|
</span>
|
||||||
收货人
|
</div>
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
{{afterSaleInfo.mconsigneeName}}
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl>
|
|
||||||
<dt>
|
|
||||||
收货人手机
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
{{afterSaleInfo.mconsigneeMobile}}
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl>
|
|
||||||
<dt>
|
|
||||||
收货地址
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
{{afterSaleInfo.mconsigneeAddressPath}} {{afterSaleInfo.mconsigneeDetail}}
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl>
|
|
||||||
<dt>
|
|
||||||
物流公司
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
{{afterSaleInfo.mlogisticsName}}
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl>
|
|
||||||
<dt>
|
|
||||||
物流单号
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
{{afterSaleInfo.mlogisticsNo}}
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl>
|
|
||||||
<dt>操作</dt>
|
|
||||||
<dd>
|
|
||||||
<Button type="primary" :loading="submitLoading" @click="logisticsBuyer()" style="margin-left: 5px">
|
|
||||||
查询物流
|
|
||||||
</Button>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
</dd>
|
||||||
|
</dl> -->
|
||||||
|
<dl>
|
||||||
|
<dt>备注信息</dt>
|
||||||
|
<dd>
|
||||||
|
{{afterSaleInfo.auditRemark || '暂无备注信息'}}
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="div-flow-center">
|
||||||
|
|
||||||
</Card>
|
</div>
|
||||||
</Col>
|
<div class="div-flow-right">
|
||||||
</Row>
|
<div class="div-form-default">
|
||||||
<!-- 订单发货 -->
|
<h3>相关商品交易信息</h3>
|
||||||
<Modal v-model="modalVisible" width="500px">
|
<dl>
|
||||||
<p slot="header">
|
<dt>
|
||||||
<span>订单发货</span>
|
<img :src="afterSaleInfo.goodsImage" height="60px">
|
||||||
</p>
|
</dt>
|
||||||
<div>
|
<dd>
|
||||||
<Form ref="form" :model="form" :label-width="90" :rules="formValidate" style="position:relative">
|
<div class="div-zoom">
|
||||||
<FormItem label="物流公司" prop="logisticsId">
|
<a @click="linkTo(afterSaleInfo.goodsId,afterSaleInfo.skuId)">{{afterSaleInfo.goodsName}}</a>
|
||||||
<Select v-model="form.logisticsId" placeholder="请选择" style="width:250px">
|
<Poptip trigger="hover" title="扫码在手机中查看" transfer>
|
||||||
<Option v-for="(item, i) in checkedLogistics" :key="i" :value="item.id">{{item.name}}
|
<div slot="content">
|
||||||
</Option>
|
<vue-qr :text="wapLinkTo(afterSaleInfo.goodsId,afterSaleInfo.skuId)" :margin="0" colorDark="#000" colorLight="#fff" :size="150"></vue-qr>
|
||||||
</Select>
|
</div>
|
||||||
</FormItem>
|
<img src="../../../assets/qrcode.svg" style="vertical-align:middle" class="hover-pointer ml_10" width="20" height="20" alt="">
|
||||||
<FormItem label="物流单号" prop="logisticsNo">
|
</Poptip>
|
||||||
<Input v-model="form.logisticsNo" style="width:250px" />
|
</div>
|
||||||
</FormItem>
|
<div style="color:#999;font-size:10px">数量:x{{afterSaleInfo.num}}</div>
|
||||||
</Form>
|
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="div-form-default">
|
||||||
|
<h3>订单相关信息</h3>
|
||||||
|
<dl>
|
||||||
|
<dt>
|
||||||
|
订单编号
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
{{afterSaleInfo.orderSn}}
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl v-if="afterSaleInfo.bankDepositName">
|
||||||
|
<dt>银行开户行</dt>
|
||||||
|
<dd>
|
||||||
|
{{afterSaleInfo.bankDepositName}}
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl v-if="afterSaleInfo.bankAccountName">
|
||||||
|
<dt>银行开户名</dt>
|
||||||
|
<dd>
|
||||||
|
{{afterSaleInfo.bankAccountName}}
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl v-if="afterSaleInfo.bankAccountNumber">
|
||||||
|
<dt>银行卡号</dt>
|
||||||
|
<dd>
|
||||||
|
{{afterSaleInfo.bankAccountNumber}}
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="div-form-default" v-if="afterSaleInfo.afterSaleAllowOperationVO && afterSaleInfo.afterSaleAllowOperationVO.refund">
|
||||||
|
<h3>平台退款</h3>
|
||||||
|
<dl>
|
||||||
|
<dt>银行开户行</dt>
|
||||||
|
<dd>
|
||||||
|
{{afterSaleInfo.bankDepositName}}
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl>
|
||||||
|
<dt>银行开户名</dt>
|
||||||
|
<dd>
|
||||||
|
{{afterSaleInfo.bankAccountName}}
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl>
|
||||||
|
<dt>银行卡号</dt>
|
||||||
|
<dd>
|
||||||
|
{{afterSaleInfo.bankAccountNumber}}
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl>
|
||||||
|
<dt>备注信息</dt>
|
||||||
|
<dd>
|
||||||
|
<Input v-model="refundPriceForm.remark" type="textarea" maxlength="200" :rows="4" clearable style="width:260px" />
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl>
|
||||||
|
<dt>操作</dt>
|
||||||
|
<dd>
|
||||||
|
<Button type="primary" :loading="submitLoading" @click="refundPriceSubmit" style="margin-left: 5px">
|
||||||
|
退款
|
||||||
|
</Button>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
</div>
|
||||||
|
<div class="div-form-default" v-if="afterSaleInfo.showDelivery && afterSaleInfo.serviceType ==='RETURN_GOODS'">
|
||||||
|
<h3>物流信息</h3>
|
||||||
|
<dl>
|
||||||
|
<dt>收货商家</dt>
|
||||||
|
<dd>{{afterSaleInfo.storeName}}</dd>
|
||||||
|
</dl>
|
||||||
|
<dl>
|
||||||
|
<dt>收货商家手机</dt>
|
||||||
|
<dd>{{storeMsg.salesConsigneeMobile}}</dd>
|
||||||
|
</dl>
|
||||||
|
<dl>
|
||||||
|
<dt>收货地址</dt>
|
||||||
|
<dd>{{storeMsg.salesConsigneeAddressPath}} {{storeMsg.salesConsigneeDetail}}</dd>
|
||||||
|
</dl>
|
||||||
|
<dl>
|
||||||
|
<dt>物流公司</dt>
|
||||||
|
<dd>{{afterSaleInfo.mlogisticsName}}</dd>
|
||||||
|
</dl>
|
||||||
|
<dl>
|
||||||
|
<dt>
|
||||||
|
物流单号
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
{{afterSaleInfo.mlogisticsNo}}
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl>
|
||||||
|
<dt>操作</dt>
|
||||||
|
<dd>
|
||||||
|
<Button type="info" :loading="submitLoading" @click="logisticsSeller()" style="margin-left: 5px">
|
||||||
|
查询物流
|
||||||
|
</Button>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</Card>
|
||||||
<div slot="footer" style="text-align: right">
|
|
||||||
<Button size="large" @click="orderDeliverCancel">取消</Button>
|
|
||||||
<Button type="success" size="large" @click="orderDeliverySubmit">发货</Button>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</Modal>
|
|
||||||
<!-- 查询物流 -->
|
<!-- 查询物流 -->
|
||||||
<Modal v-model="logisticsModal" width="40">
|
<Modal v-model="logisticsModal" width="40">
|
||||||
<p slot="header">
|
<p slot="header">
|
||||||
|
@ -399,26 +279,30 @@
|
||||||
<dl>
|
<dl>
|
||||||
<dt>物流公司:</dt>
|
<dt>物流公司:</dt>
|
||||||
<dd>
|
<dd>
|
||||||
<div class="text-box">{{logisticsInfo.shipper}}</div>
|
<div class="text-box">{{afterSaleInfo.mlogisticsName}}</div>
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl>
|
<dl>
|
||||||
<dt>快递单号:</dt>
|
<dt>快递单号:</dt>
|
||||||
<dd>
|
<dd>
|
||||||
<div nctype="ordersSn" class="text-box">{{logisticsInfo.logisticCode}}</div>
|
<div class="text-box">{{afterSaleInfo.mlogisticsNo}}</div>
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<div class="div-express-log">
|
<div class="div-express-log">
|
||||||
<ul class="express-log">
|
<ul class="express-log">
|
||||||
<li v-for="(item,index) in logisticsInfo.traces">
|
<template v-if="Object.keys(logisticsInfo).length">
|
||||||
<span class="time">{{item.AcceptTime}}</span>
|
<li v-for="(item,index) in logisticsInfo.traces" :key="index">
|
||||||
<span class="detail">{{item.AcceptStation}}</span>
|
<span class="time">{{item.AcceptTime}}</span>
|
||||||
</li>
|
<span class="detail">{{item.AcceptStation}}</span>
|
||||||
|
</li>
|
||||||
|
</template>
|
||||||
|
<template v-else>
|
||||||
|
<li style="text-align:center;">暂无物流信息</li>
|
||||||
|
</template>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div slot="footer" style="text-align: right">
|
<div slot="footer" style="text-align: right">
|
||||||
<Button @click="logisticsClose">取消</Button>
|
<Button @click="logisticsClose">取消</Button>
|
||||||
</div>
|
</div>
|
||||||
|
@ -428,17 +312,14 @@
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import * as API_Order from "@/api/order";
|
import * as API_Order from "@/api/order";
|
||||||
import uploadPicThumb from "@/views/my-components/lili/upload-pic-thumb";
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "orderComplaint",
|
name: "orderDetail",
|
||||||
components: {
|
|
||||||
uploadPicThumb,
|
|
||||||
},
|
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
sn: "", // 订单号
|
sn: "", // 订单号
|
||||||
logisticsModal: false, //查询物流模态框
|
logisticsModal: false, //查询物流模态框
|
||||||
|
|
||||||
logisticsInfo: {}, //物流信息
|
logisticsInfo: {}, //物流信息
|
||||||
form: {
|
form: {
|
||||||
logisticsNo: "",
|
logisticsNo: "",
|
||||||
|
@ -458,6 +339,7 @@ export default {
|
||||||
appealImages: [], //商家申诉的图片
|
appealImages: [], //商家申诉的图片
|
||||||
submitLoading: false, // 添加或编辑提交状态
|
submitLoading: false, // 添加或编辑提交状态
|
||||||
checkedLogistics: [], //选中的物流公司集合
|
checkedLogistics: [], //选中的物流公司集合
|
||||||
|
storeMsg: {}, // 商家地址信息
|
||||||
//商家处理意见
|
//商家处理意见
|
||||||
params: {
|
params: {
|
||||||
serviceStatus: "PASS",
|
serviceStatus: "PASS",
|
||||||
|
@ -467,18 +349,59 @@ export default {
|
||||||
refundPriceForm: {
|
refundPriceForm: {
|
||||||
remark: "",
|
remark: "",
|
||||||
},
|
},
|
||||||
|
afterSaleStatusList: [ // 售后状态列表
|
||||||
|
{
|
||||||
|
name: '申请中',
|
||||||
|
status: 'APPLY'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '通过',
|
||||||
|
status: 'PASS'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '拒绝',
|
||||||
|
status: 'REFUSE'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '买家退货,待卖家收货',
|
||||||
|
status: 'BUYER_RETURN'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '卖家确认收货',
|
||||||
|
status: 'SELLER_CONFIRM'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '卖家终止售后',
|
||||||
|
status: 'SELLER_TERMINATION'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '买家取消售后',
|
||||||
|
status: 'BUYER_CANCEL'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '完成售后',
|
||||||
|
status: 'COMPLETE'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '等待平台退款',
|
||||||
|
status: 'WAIT_REFUND'
|
||||||
|
}
|
||||||
|
]
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
$route(to, from) {},
|
$route(to, from) {},
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
// 获取售后详情
|
||||||
getDetail() {
|
getDetail() {
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
API_Order.getAfterSaleOrderDetail(this.sn).then((res) => {
|
API_Order.getAfterSaleOrderDetail(this.sn).then((res) => {
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
this.afterSaleInfo = res.result;
|
this.afterSaleInfo = res.result;
|
||||||
|
this.afterSaleInfo.showDelivery = this.showDelivery(this.afterSaleInfo.serviceStatus)
|
||||||
|
this.afterSaleInfo.serviceName = this.filterOrderStatus(this.afterSaleInfo.serviceStatus)
|
||||||
this.afterSaleImage = (res.result.afterSaleImage || "").split(",");
|
this.afterSaleImage = (res.result.afterSaleImage || "").split(",");
|
||||||
//退货地址去掉逗号
|
//退货地址去掉逗号
|
||||||
if (this.afterSaleInfo.mconsigneeAddressPath)
|
if (this.afterSaleInfo.mconsigneeAddressPath)
|
||||||
|
@ -490,38 +413,23 @@ export default {
|
||||||
"actualRefundPrice",
|
"actualRefundPrice",
|
||||||
this.afterSaleInfo.applyRefundPrice
|
this.afterSaleInfo.applyRefundPrice
|
||||||
);
|
);
|
||||||
}
|
// 如果显示物流信息,展示商家地址
|
||||||
});
|
if (this.afterSaleInfo.showDelivery) {
|
||||||
},
|
API_Order.storeAddress(this.sn).then(resu => {
|
||||||
//换货弹出框
|
if(resu.success) {
|
||||||
exchangeGoods() {
|
const obj = resu.result
|
||||||
API_Order.getLogisticsChecked().then((res) => {
|
obj.salesConsigneeAddressPath = obj.salesConsigneeAddressPath.replaceAll(',', '')
|
||||||
if (res.success) {
|
this.storeMsg = obj;
|
||||||
this.checkedLogistics = res.result;
|
}
|
||||||
this.modalVisible = true;
|
})
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
orderDeliverCancel() {
|
orderDeliverCancel() {
|
||||||
this.modalVisible = false;
|
this.modalVisible = false;
|
||||||
},
|
},
|
||||||
//商家确认收货
|
|
||||||
sellerConfirmSubmit() {
|
|
||||||
this.$Modal.confirm({
|
|
||||||
title: "确认收货",
|
|
||||||
content: "请确认已经收到退货货物?",
|
|
||||||
loading: true,
|
|
||||||
onOk: () => {
|
|
||||||
API_Order.afterSaleSellerConfirm(this.sn, this.params).then((res) => {
|
|
||||||
this.$Modal.remove();
|
|
||||||
if (res.success) {
|
|
||||||
this.$Message.success("收货成功");
|
|
||||||
this.getDetail();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
});
|
|
||||||
},
|
|
||||||
//平台退款
|
//平台退款
|
||||||
refundPriceSubmit() {
|
refundPriceSubmit() {
|
||||||
if (this.refundPriceForm.remark == "") {
|
if (this.refundPriceForm.remark == "") {
|
||||||
|
@ -545,15 +453,6 @@ export default {
|
||||||
},
|
},
|
||||||
//查询物流
|
//查询物流
|
||||||
logisticsSeller() {
|
logisticsSeller() {
|
||||||
this.logisticsModal = true;
|
|
||||||
API_Order.getSellerDeliveryTraces(this.sn).then((res) => {
|
|
||||||
if (res.success && res.result != null) {
|
|
||||||
this.logisticsInfo = res.result;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
//查询物流
|
|
||||||
logisticsBuyer() {
|
|
||||||
this.logisticsModal = true;
|
this.logisticsModal = true;
|
||||||
API_Order.getAfterSaleTraces(this.sn).then((res) => {
|
API_Order.getAfterSaleTraces(this.sn).then((res) => {
|
||||||
if (res.success && res.result != null) {
|
if (res.success && res.result != null) {
|
||||||
|
@ -565,21 +464,6 @@ export default {
|
||||||
logisticsClose() {
|
logisticsClose() {
|
||||||
this.logisticsModal = false;
|
this.logisticsModal = false;
|
||||||
},
|
},
|
||||||
|
|
||||||
//换货发货
|
|
||||||
orderDeliverySubmit() {
|
|
||||||
this.$refs.form.validate((valid) => {
|
|
||||||
if (valid) {
|
|
||||||
API_Order.afterSaleSellerDelivery(this.sn, this.form).then((res) => {
|
|
||||||
if (res.success) {
|
|
||||||
this.$Message.success("订单发货成功");
|
|
||||||
this.modalVisible = false;
|
|
||||||
this.getDataDetail();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
//回复
|
//回复
|
||||||
handleSubmit() {
|
handleSubmit() {
|
||||||
if (this.params.remark == "") {
|
if (this.params.remark == "") {
|
||||||
|
@ -599,6 +483,21 @@ export default {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
filterOrderStatus (status) { // 获取订单状态中文
|
||||||
|
const ob = this.afterSaleStatusList.filter(e => { return e.status === status });
|
||||||
|
return ob[0].name
|
||||||
|
},
|
||||||
|
// 根据订单状态判断是否显示物流信息
|
||||||
|
showDelivery (status) {
|
||||||
|
let flag = false;
|
||||||
|
this.afterSaleStatusList.forEach((e,index) => {
|
||||||
|
// 订单为买家退货,待卖家收货之后的状态,并且不是买家取消售后,展示物流信息
|
||||||
|
if(e.status === status && index>=3 && index !==6) {
|
||||||
|
flag = true
|
||||||
|
}
|
||||||
|
})
|
||||||
|
return flag
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
mounted() {
|
mounted() {
|
||||||
|
|
|
@ -117,9 +117,6 @@
|
||||||
</span>
|
</span>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="ant-col-md-6">
|
<div class="ant-col-md-6">
|
||||||
<p class="item">
|
<p class="item">
|
||||||
<span class="label">法人姓名:</span>
|
<span class="label">法人姓名:</span>
|
||||||
|
@ -185,7 +182,7 @@
|
||||||
</div>
|
</div>
|
||||||
</Card>
|
</Card>
|
||||||
|
|
||||||
<Card>
|
<Card class="mt_10">
|
||||||
<Tabs type="order" @on-click="storeInfoChange">
|
<Tabs type="order" @on-click="storeInfoChange">
|
||||||
<TabPane label="TA的订单" name="order" style="min-height: 200px">
|
<TabPane label="TA的订单" name="order" style="min-height: 200px">
|
||||||
<Row>
|
<Row>
|
||||||
|
@ -254,6 +251,7 @@
|
||||||
:columns="orderColumns"
|
:columns="orderColumns"
|
||||||
:data="orderData"
|
:data="orderData"
|
||||||
ref="table"
|
ref="table"
|
||||||
|
class="mt_10"
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
@on-sort-change="orderChangeSort"
|
@on-sort-change="orderChangeSort"
|
||||||
>
|
>
|
||||||
|
@ -355,6 +353,7 @@
|
||||||
:columns="refundGoodsOrderColumns"
|
:columns="refundGoodsOrderColumns"
|
||||||
:data="refundGoodsOrderData"
|
:data="refundGoodsOrderData"
|
||||||
ref="table"
|
ref="table"
|
||||||
|
class="mt_10"
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
@on-sort-change="refundGoodsOrderChangeSort"
|
@on-sort-change="refundGoodsOrderChangeSort"
|
||||||
>
|
>
|
||||||
|
@ -478,6 +477,7 @@
|
||||||
:columns="refundGoodsOrderColumns"
|
:columns="refundGoodsOrderColumns"
|
||||||
:data="refundOrderData"
|
:data="refundOrderData"
|
||||||
ref="table"
|
ref="table"
|
||||||
|
class="mt_10"
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
@on-sort-change="refundOrderChangeSort"
|
@on-sort-change="refundOrderChangeSort"
|
||||||
>
|
>
|
||||||
|
|
Loading…
Reference in New Issue