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