管理端售后,添加跳转链接

master
mabo 2021-07-22 18:05:55 +08:00
parent 2f8946f372
commit 80d070bb67
8 changed files with 361 additions and 465 deletions

View File

@ -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="搜索优惠券" />

View File

@ -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'

View File

@ -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>

View File

@ -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}`)
}

View File

@ -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",

View File

@ -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>

View File

@ -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() {

View File

@ -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"
> >