提交 04922129 authored 作者: huaxinzhu's avatar huaxinzhu

云仓售后

上级 0fabb976
...@@ -20,21 +20,6 @@ export function refundReject(data) { ...@@ -20,21 +20,6 @@ export function refundReject(data) {
} }
// 查询retreat列表 // 查询retreat列表
export function listRetreat(query) { export function listRetreat(query) {
return request({ return request({
...@@ -88,3 +73,21 @@ export function getSearchParams(query) { ...@@ -88,3 +73,21 @@ export function getSearchParams(query) {
// }) // })
// } // }
// 列表
export function getRetreatList(query) {
return request({
url: '/system/retreat/list',
method: 'get',
params: query
})
}
// 详情
export function getASOrderDetail(query) {
return request({
url: '/system/retreat/edit',
method: 'get',
params: query
})
}
...@@ -216,12 +216,12 @@ export const constantRoutes = [ ...@@ -216,12 +216,12 @@ export const constantRoutes = [
name: 'modelFields', name: 'modelFields',
meta: { title: '商品导入' } meta: { title: '商品导入' }
}, },
{ // {
path: 'management', // path: 'management',
component: (resolve) => require(['@/views/system/goodsimport/goodsgement.vue'], resolve), // component: (resolve) => require(['@/views/system/goodsimport/goodsgement.vue'], resolve),
name: 'goodsgement', // name: 'goodsgement',
meta: { title: '商品管理' } // meta: { title: '商品管理' }
} // }
] ]
} }
/* 正式上线需要 注释 */ /* 正式上线需要 注释 */
......
...@@ -213,6 +213,7 @@ ...@@ -213,6 +213,7 @@
}, },
data() { data() {
return { return {
sellerId: 0,
currentPage: 1, currentPage: 1,
pageSize: 20, pageSize: 20,
total: 0, total: 0,
...@@ -264,6 +265,8 @@ ...@@ -264,6 +265,8 @@
// }) // })
}, },
mounted() { mounted() {
/** 获取 seller_id*/
this.sellerId = this.$store.state.user.sellerid;
// 获取 订单 状态对应数量 // 获取 订单 状态对应数量
this.getOrderTab() this.getOrderTab()
// 订单列表 搜索 // 订单列表 搜索
...@@ -377,6 +380,7 @@ ...@@ -377,6 +380,7 @@
let params = { let params = {
page: this.currentPage, page: this.currentPage,
limit: this.pageSize, limit: this.pageSize,
seller_id: this.sellerId,
status: this.goodsStatus, status: this.goodsStatus,
start_time: new Date(this.form.dateTime[0]).getTime() / 1000 || '', start_time: new Date(this.form.dateTime[0]).getTime() / 1000 || '',
end_time: new Date(this.form.dateTime[1]).getTime() / 1000 || '', end_time: new Date(this.form.dateTime[1]).getTime() / 1000 || '',
......
<template>
<div class="app-container after-sale-detail">
<el-card>
<!-- <p class="as-detail-title">售后详情</p>-->
<!-- 仅退款 -->
<div v-if="asOrderType == 1" class="as-step-info">
<el-steps :active="step" align-center>
<el-step title="买家提出售后申请"></el-step>
<el-step :title="onlyStep2"></el-step>
<el-step :title="onlyStep3"></el-step>
</el-steps>
</div>
<!-- 退货退款 -->
<div v-if="asOrderType == 2" class="as-step-info">
<el-steps :active="step" align-center>
<el-step title="买家提出售后申请"></el-step>
<el-step :title="refundStep2"></el-step>
<el-step :title="refundStep3"></el-step>
<el-step :title="refundStep4" v-if="has45 === 4"></el-step>
<el-step :title="refundStep5" v-if="has45 > 4"></el-step>
</el-steps>
</div>
</el-card>
<el-card class="as-order-details">
<!-- 倒计时 提示 -->
<p class="count-down-con" v-if="asOrderType == 1">剩余处理时间: 25小时46分 请在72小时内处理,逾期不处理,系统将自动退款到买家账户</p>
<p class="count-down-con" v-if="asOrderType == 2">222剩余处理时间: 25小时46分 请在72小时内处理,逾期不处理,系统将自动退款到买家账户222</p>
<!-- 售后信息 -->
<div>
<p>售后信息</p>
<div>
<el-row class="row-title">
<el-col :span="3" class="text-r">售后类型</el-col>
<el-col :span="9" class="text-l">{{ refundTypeFormatter(asOrderDetail.refund_type) }}</el-col>
</el-row>
<el-row class="row-title">
<el-col :span="3" class="text-r">申请金额</el-col>
<el-col :span="9" class="text-l">{{ asOrderDetail.apply_price }}</el-col>
</el-row>
<el-row class="row-title">
<el-col :span="3" class="text-r">申请原因</el-col>
<el-col :span="9" class="text-l">{{ reasonFormatter(asOrderDetail.reason) }}</el-col>
</el-row>
<el-row class="row-title">
<el-col :span="3" class="text-r">申请说明</el-col>
<el-col :span="9" class="text-l">{{ asOrderDetail.content }}</el-col>
</el-row>
<el-row class="row-title-pic">
<el-col :span="3" class="text-r">申请图片</el-col>
<el-col :span="9" class="text-l">
<!-- {{ asOrderDetail.images }}-->
<div v-if="asSrcList.length > 0">
<el-image
style="width: 70px; height: 70px;border:1px solid #eee;"
v-for="(itemSrc,index) in asSrcList"
:src="itemSrc"
:preview-src-list="asSrcList">
</el-image>
</div>
<p v-else style="color:#666">暂无图片</p>
</el-col>
</el-row>
</div>
</div>
<!-- 订单信息 -->
<div>
<p>订单信息</p>
<div>
<el-row class="row-title">
<el-col :span="3" class="text-r">订单状态</el-col>
<el-col :span="6" class="text-l">{{ GDSFormatter(goodsOrderDetail.goods_status) }}</el-col>
<el-col :span="3" class="text-r">商品名称</el-col>
<el-col :span="6" class="text-l">{{ goodsOrderDetail.title }}</el-col>
</el-row>
<el-row class="row-title">
<el-col :span="3" class="text-r">订单编号</el-col>
<el-col :span="6" class="text-l">{{ goodsOrderDetail.goods_order_sn }}</el-col>
<el-col :span="3" class="text-r">商品规格</el-col>
<el-col :span="6" class="text-l">{{ goodsOrderDetail.goods_option_title }}</el-col>
</el-row>
<el-row class="row-title">
<el-col :span="3" class="text-r">商品金额</el-col>
<el-col :span="6" class="text-l">{{ goodsOrderDetail.price }}</el-col>
<el-col :span="3" class="text-r">商品数量</el-col>
<el-col :span="6" class="text-l">{{ goodsOrderDetail.total }}</el-col>
</el-row>
</div>
</div>
<!-- 历史售后申请 -->
<div>
<p>历史售后申请</p>
<el-table :data="asApplyList">
<el-table-column label="申请时间" align="center" prop="tabapply_time">
<template slot-scope="scope">
{{formatter(scope.row.tabapply_time)}}
</template>
</el-table-column>
<el-table-column label="退换货类型" align="center" width="180" prop="refund_type">
<template slot-scope="scope">
{{ refundTypeFormatter(scope.row.refund_type) }}
</template>
</el-table-column>
<el-table-column label="申请金额" align="center" prop="apply_price">
<template slot-scope="scope">
{{scope.row.apply_price/100 }}
</template>
</el-table-column>
<el-table-column label="申请原因" align="center" prop="reason">
<template slot-scope="scope">
{{ reasonFormatter(scope.row.reason) }}
</template>
</el-table-column>
<el-table-column label="申请说明" align="center" prop="content"></el-table-column>
<el-table-column label="处理结果" align="center">
<template slot-scope="scope">
{{ ASResult(scope.row) }}
</template>
</el-table-column>
<el-table-column label="申请图片" align="center">
<template slot-scope="scope">
{{scope.row.apply_price/100 }}
</template>
</el-table-column>
</el-table>
</div>
<!-- 售后 操作按钮 -->
<div class="as-handle-btn" v-if="asOrderType == 1">
<el-button class="as-btn" type="primary">同意退款</el-button>
<el-button class="as-btn" type="primary">拒绝退款</el-button>
</div>
</el-card>
<!-- 仅退款 同意退款 对话框 -->
<!-- 仅退款 拒绝退款 对话框 -->
</div>
</template>
<script>
import { getASOrderDetail } from '@/api/module/retreat'
import { dateFormat } from '@/utils' //getASOrderDetail
export default {
name: "Edit",
data() {
return {
// Refund only 仅退款
// Return refund 退货退款
asGoodId: 0, // 当前 售后订单的 id
asOrderType: 1, // 售后类型 1-仅退款; 2-退货退款
// 仅退款 流程,每个步骤文字提示
step: 1, // 激活 当前步骤
onlyStep2: '卖家处理中',
onlyStep3: '售后结束',
// 退货退款 流程 每个步骤文字提示
has45: 3, // 此值,控制步骤数量,是 3 步,4 步,还是 5 步
refundStep2: '卖家处理中',
refundStep3: '售后完成',
refundStep4: '',
refundStep5: '',
// 售后订单 信息
asOrderDetail: {
status: 0, // 退款状态
refund_type: 1, // 退换货类型
apply_price: 0, // 申请金额
reason: 0, // 申请原因
content: '', // 申请说明
images: '', // 申请图片
},
// 商品订单信息
goodsOrderDetail: {
goods_status: 0, // 订单状态
goods_order_sn: '', // 订单编号
price: '', // 商品金额
title: '',// 商品名称
goods_option_title: '', // 商品规格
total: '', // 商品数量
},
// 售后申请 图片 list
asSrcList: [],
asApplyList: [
{ data1:1256332213,data2: 1,data3: 3,data4: 4,data5:5, data6: 6,data7: 7 }
],
} // return end
},
watch: {},
created() {
/** 获取 当前售后 订单的id */
this.asGoodId = this.$route.query.refund_sn;
/** 查询 售后订单详情 */
this.getDetail();
},
mounted() {},
methods: {
/** Only 代表 仅退款
* 售后步骤和对应文案提示,
* 在售后订单详情 查询时,需要同步调用
* */
returnOnlyStatus(status,close_status) {
// 步骤和步骤文字提示的初始化
this.step = 1;
this.onlyStep2 = '卖家处理中'
this.onlyStep3 = '售后完成'
// 卖家超时未处理,和卖家主动同意退款
if(status === 5){
this.step = 3
this.onlyStep2 = '卖家同意退款'
this.onlyStep3 = '退款完成,售后完成'
}else if(status === -1) { // 1、卖家拒绝退款;2、买家取消售后
if(close_status === 1) {
this.step = 3
this.onlyStep2 = '卖家拒绝退款'
this.onlyStep3 = '卖家拒绝,售后关闭'
} else if(close_status === 6) {
this.step = 3
this.onlyStep2 = '买家取消售后申请'
this.onlyStep3 = '买家取消,售后关闭'
}
}
},
/** Refund 代表 退货退款
* 售后步骤和对应文案提示,
* 在售后订单详情 查询时,需要同步调用
* */
returnRefundStatus(status,close_status) {
// 步骤和步骤文字提示的初始化
this.has45 = 3; // 当前售后流程有 3/4/5 步
this.step = 1; // 当前激活是第 几 步
this.refundStep2 = '卖家处理中' // 第2步 对应提示
this.refundStep3 = '售后完成' // 第3步 对应提示
this.refundStep4 = '' // 第4步 对应提示
this.refundStep5 = '' // 第5步 对应提示
if( status === 2 ) {
this.has45 = 5;
this.refundStep2 = '卖家同意退货退款'
this.refundStep3 = '买家回填物流单号'
this.refundStep4 = '卖家收货,确定退款'
this.refundStep5 = '退款完成,售后完成'
this.step = 2
}else if (status === 3) {
this.has45 = 5;
this.refundStep2 = '卖家同意退货退款'
this.refundStep3 = '买家回填物流单号'
this.refundStep4 = '卖家收货,确定退款'
this.refundStep5 = '退款完成,售后完成'
this.step = 3
}else if ( status === 4 ) {
this.has45 = 5;
this.refundStep2 = '卖家同意退货退款'
this.refundStep3 = '买家回填物流单号'
this.refundStep4 = '卖家收货,确定退款'
this.refundStep5 = '退款完成,售后完成'
this.step = 4
}else if ( status === 5 ) {
this.has45 = 5;
this.refundStep2 = '卖家同意退货退款'
this.refundStep3 = '买家回填物流单号'
this.refundStep4 = '卖家收货,确定退款'
this.refundStep5 = '退款完成,售后完成'
this.step = 5
}else if ( status === -1 ) {
if( close_status === 1 ) {
this.has45 = 3;
this.refundStep2 = '卖家拒绝退货退款'
this.refundStep3 = '卖家拒绝,售后关闭'
this.refundStep4 = ''
this.refundStep5 = ''
this.step = 3
}else if (close_status === 2) {
this.has45 = 5;
this.refundStep2 = '卖家同意退货退款'
this.refundStep3 = '买家回填物流单号'
this.refundStep4 = '卖家拒绝,包裹退回'
this.refundStep5 = '卖家拒绝,售后关闭'
this.step = 5
}else if(close_status === 3) {
this.has45 = 4
this.refundStep2 = '卖家同意退货退款'
this.refundStep3 = '买家超时未退货'
this.refundStep4 = '买家未退货,售后关闭'
this.refundStep5 = ''
this.step = 5
}else if (close_status === 6) {
this.has45 = 3
this.refundStep2 = '买家取消售后申请'
this.refundStep3 = '买家取消,售后关闭'
this.refundStep4 = ''
this.refundStep5 = ''
this.step = 3
}
}
// return step
},
/** 查询订单详情*/
getDetail() {
//console.log("售后单号",this.asGoodId);
getASOrderDetail({order_refund_sn: this.asGoodId}).then(res=> {
//console.log("296",res);
if( res.code === 1 && res.data ) {
// 售后订单详情
if( res.data.order_refund ) {
this.asOrderDetail = res.data.order_refund;
//----- 测试数据 ---
this.asOrderDetail.refund_type = 1;
//--------
// 先确定 售后类型
this.asOrderType = this.asOrderDetail.refund_type
// 金额处理
this.asOrderDetail.apply_price = this.asOrderDetail.apply_price / 100
this.asOrderDetail.price = this.asOrderDetail.price / 100
// 售后图片 处理
this.asSrcList = []
if(this.asOrderDetail.images) {
this.asSrcList = this.asOrderDetail.images.split(',')
}
// 更新 售后订单 流程和状态
// 仅退款
if(this.asOrderDetail.refund_type == 1) {
this.returnOnlyStatus(this.asOrderDetail.status,this.asOrderDetail.close_reason);
}
// 退货退款
if(this.asOrderDetail.refund_type == 2) {
this.returnRefundStatus(this.asOrderDetail.status,this.asOrderDetail.close_reason);
}
}
// 订单 详情
if(res.data.order_goods) {
this.goodsOrderDetail = res.data.order_goods;
}
// 售后历史
if(res.data.order_refund_history) {
this.asApplyList = res.data.order_refund_history
}
}
});
},
/** 订单发货状态 goodsDeliveryStatus Formatter*/
GDSFormatter(status) {
let statusText = ''
if(status == 0) {
statusText = '未发货';
}else if(status == 1) {
statusText = '已发货';
}else if(status == 2) {
statusText = '已收货';
}else if(status == 3) {
statusText = '配货中';
}else if(status == 4) {
statusText = '拒收';
}
return statusText
},
/** 售后结果 */
ASResult(row) {
let result = ''
if(row.status == 5) {
result = '退款完成,售后完成'
}else if(row.status == -1) {
if( row.close_reason == 1 || row.close_reason == 2) {
result = '卖家拒绝,售后关闭'
}else if ( row.close_reason == 3 ) {
result = '买家未退货,售后关闭'
}else if ( row.close_reason == 4 ) {
}
}
return result
},
/** 售后 申请原因 */
reasonFormatter(type) {
let reasonText = ''
if ( type == 1 ) {
reasonText = '其他'
} else if( type == 2 ) {
reasonText = '漏发'
}else if( type == 3 ) {
reasonText = '协商一致'
}else if( type == 4 ) {
reasonText = '质量不符'
}
return reasonText
},
/** 售后类型 */
refundTypeFormatter(type) {
let typeText = ''
if (type == 1) {
typeText = '仅退款'
} else if(type == 2) {
typeText = '退货退款'
}
return typeText
},
/** 时间戳转化 格式化 */
formatter(time) {
return dateFormat(time * 1000, 'Y-m-d H:i:s')
},
}
}
</script>
<style scoped>
.after-sale-detail {
overflow: auto;
}
.as-detail-title {
text-align: center;
margin: 10px 0 20px;
padding: 0 0 20px;
font-size: 18px;
border-bottom: 1px solid #eee;
}
.as-order-details {
margin-top: 20px;
}
/* 售后信息 表格 样式 */
/deep/.el-col {
/*border: 1px solid #eee;*/
/*padding: 0 10px;*/
/*height: 38px;*/
/*display: flex;*/
/*align-items: center;*/
}
.row-title,.row-title-pic {
font-size: 14px;
color: #333;
}
.row-title .text-r,.row-title .text-l {
border: 1px solid #eee;
padding: 0 10px;
height: 38px;
display: flex;
align-items: center;
}
.row-title-pic .text-r,.row-title-pic .text-l{
border: 1px solid #eee;
padding: 0 10px;
height: 98px;
display: flex;
align-items: center;
}
.text-r {
justify-content: flex-end;
background: #F7F8FA;
}
.text-l {
text-align: left;
}
.as-handle-btn {
display: flex;
align-items: center;
justify-content: center;
}
.as-btn {
margin: 40px 20px 20px;
}
.no-bd-t {
border-top: 0!important;
}
.no-bd-r {
border-right: 0!important;
}
.no-bd-b {
border-bottom: 0!important;
}
.no-bd-l {
border-left: 0!important;
}
</style>
<template>
<div>
售后详情成功
</div>
</template>
<script>
export default {
name: "EditOrder",
data() {
return {
}
},
}
</script>
<style scoped>
</style>
...@@ -18,43 +18,44 @@ ...@@ -18,43 +18,44 @@
range-separator="至" range-separator="至"
start-placeholder="开始日期" start-placeholder="开始日期"
end-placeholder="结束日期" end-placeholder="结束日期"
@change="applyTimeChange"
:picker-options="pickerOptions"> :picker-options="pickerOptions">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="商品ID" prop="goodsId"> <el-form-item label="商品ID" prop="goods_id">
<el-input <el-input
v-model="queryParams.goodsId" v-model="queryParams.goods_id"
placeholder="请输入商品id" placeholder="请输入商品id"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/></el-form-item> /></el-form-item>
<el-form-item label="商品名称" prop="goodsName"> <el-form-item label="商品名称" prop="goods_title">
<el-input <el-input
v-model="queryParams.goodsName" v-model="queryParams.goods_title"
placeholder="请输入商品名称" placeholder="请输入商品名称"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/></el-form-item> /></el-form-item>
<el-form-item label="退换货类型" prop="userNeed"> <el-form-item label="退换货类型" prop="refund_type">
<el-select v-model="queryParams.userNeed" placeholder="全部类型" clearable > <el-select v-model="queryParams.refund_type" placeholder="全部类型" clearable >
<el-option v-for="item in userNeedOptions" :key="item.value" :label="item.label" <el-option v-for="item in userNeedOptions" :key="item.value" :label="item.label"
:value="item.value"></el-option> :value="item.value"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="订单号" prop="order_sn"> <el-form-item label="订单号" prop="goods_order_sn">
<el-input <el-input
v-model="queryParams.order_sn" v-model="queryParams.goods_order_sn"
placeholder="请输入订单号" placeholder="请输入订单号"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/></el-form-item> /></el-form-item>
<el-form-item label="退换货原因" prop="needMsg"> <el-form-item label="退换货原因" prop="reason">
<el-select v-model="queryParams.needMsg" placeholder="全部类型" size="small" clearable > <el-select v-model="queryParams.reason" placeholder="全部类型" size="small" clearable >
<el-option v-for="item in needMsgOptions" :key="item.value" :label="item.label" <el-option v-for="item in needMsgOptions" :key="item.value" :label="item.label"
:value="item.value"></el-option> :value="item.value"></el-option>
</el-select> </el-select>
...@@ -67,26 +68,21 @@ ...@@ -67,26 +68,21 @@
</el-form> </el-form>
<!-- 列表 --> <!-- 列表 -->
<el-table class="after-sale-table" :data="afterSaleList" :height="afterSaleHeight"> <el-table class="after-sale-table" :data="afterSaleList" :height="afterSaleHeight">
<el-table-column label="商品ID" align="center" width="180" prop="goodsId"></el-table-column> <el-table-column label="商品ID" align="center" width="150" prop="goodsId"></el-table-column>
<el-table-column label="商品名称" align="center" width="180" prop="goodsName"></el-table-column> <el-table-column label="商品名称" align="center" width="180" prop="title"></el-table-column>
<el-table-column label="订单号" align="center" width="180" prop="order_sn"></el-table-column> <el-table-column label="订单号" align="center" width="240" prop="goods_order_sn"></el-table-column>
<el-table-column label="退换货类型" width="180"> <el-table-column label="退换货类型" align="center" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.userNeed == 1">仅退款</span> <span v-if="scope.row.refund_type == 1">仅退款</span>
<span v-if="scope.row.userNeed == 2">退货退款</span> <span v-if="scope.row.refund_type == 2">退货退款</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="退换货原因" align="center" prop="reason"> <el-table-column label="退换货原因" align="center" prop="reason">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.reason==1">协商一致退款</span> <span v-if="scope.row.reason==1">其他</span>
<span v-if="scope.row.reason==2">质量问题</span> <span v-if="scope.row.reason==2">漏发</span>
<span v-if="scope.row.reason==3">物流问题</span> <span v-if="scope.row.reason==3">协商一致</span>
<span v-if="scope.row.reason==4">假冒品牌</span> <span v-if="scope.row.reason==4">质量不符</span>
<span v-if="scope.row.reason==5">少件/漏发/破损/污渍</span>
<span v-if="scope.row.reason==6">7天无理由</span>
<span v-if="scope.row.reason==7">拍错/多拍/不想要</span>
<span v-if="scope.row.reason==8">其他</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="申请时间" align="center" prop="created_time"> <el-table-column label="申请时间" align="center" prop="created_time">
...@@ -94,14 +90,14 @@ ...@@ -94,14 +90,14 @@
{{formatter(scope.row.created_time)}} {{formatter(scope.row.created_time)}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="到期时间" align="center" prop="created_time"> <el-table-column label="到期时间" align="center" prop="deadline">
<template slot-scope="scope"> <template slot-scope="scope">
{{formatter(scope.row.created_time)}} {{formatter(scope.row.deadline)}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" width="140" align="center"> <el-table-column label="操作" width="140" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="text" @click="handleInfo(scope.row)">详情</el-button> <el-button size="small" type="text" @click="handleInfo(scope.row)">详情</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -122,21 +118,21 @@ ...@@ -122,21 +118,21 @@
</template> </template>
<script> <script>
import { getRetreatList } from '@/api/module/retreat'
import { dateFormat } from '@/utils' import { dateFormat } from '@/utils'
export default { export default {
name: "Index", name: "Index",
data() { data() {
return { return {
goodsStatus: 0, goodsStatus: 1,
activeName: 'first', activeName: 'first',
queryParams: { queryParams: {
page: 1, applyTime: [],
limit: 10, goods_id: '',
applyTime: '', // 申请时间 goods_title: '',
goodsId: 0, // 商品Id refund_type: '',
goodsName: '', // 商品名称 goods_order_sn: '',
userNeed: '', // 退货退款类型 reason: '',
order_sn: '', // 订单号
}, },
pickerOptions: { pickerOptions: {
shortcuts: [{ shortcuts: [{
...@@ -174,34 +170,18 @@ ...@@ -174,34 +170,18 @@
// 退换货原因 // 退换货原因
needMsgOptions: [ needMsgOptions: [
{value: -1,label: '全部原因'}, {value: -1,label: '全部原因'},
{value: 1,label: '协商一致退款'}, {value: 3,label: '协商一致退款'},
{value: 2,label: '质量问题'}, {value: 1,label: '其他'},
{value: 3,label: '物流问题'}, {value: 2,label: '漏发'},
{value: 4,label: '假冒品牌'}, {value: 4,label: '质量不符'},
{value: 5,label: '少件/漏发/破损/污渍'},
{value: 6,label: '7天无理由'},
{value: 7,label: '拍错/多拍/不想要'},
{value: 8,label: '其他'},
], ],
fullHeight: 0, fullHeight: 0,
afterSaleHeight: 200, afterSaleHeight: 200,
currentPage: 1, currentPage: 1,
pageSize: 20, pageSize: 10,
total: 0, total: 0,
// 售后列表 // 售后列表
afterSaleList: [ afterSaleList: [],
{goodsId: 1},
{goodsId: 1},
{goodsId: 1},
{goodsId: 1},
{goodsId: 1},
{goodsId: 1},
{goodsId: 1},
{goodsId: 1},
{goodsId: 1},
{goodsId: 1},
{goodsId: 1},
],
} }
}, // data end }, // data end
...@@ -222,7 +202,9 @@ ...@@ -222,7 +202,9 @@
}, },
methods: { methods: {
/** 顶部 状态页签切换 */ /** 顶部 状态页签切换
* 1-未处理;2-处理中;3-已完成
* */
handleClick() { handleClick() {
switch (this.activeName) { switch (this.activeName) {
case 'first': case 'first':
...@@ -242,9 +224,56 @@ ...@@ -242,9 +224,56 @@
// 列表 查询 // 列表 查询
this.getList(); this.getList();
}, },
/** 时间格式处理 */
applyTimeChange() {
if( !Array.isArray(this.queryParams.applyTime) ) {
this.queryParams.applyTime = [];
}
},
/** 列表查询 */ /** 列表查询 */
getList() { getList() {
console.log('参数:',this.queryParams); let params = {
page: this.currentPage,
limit: this.pageSize,
status: this.goodsStatus,
apply_start_time: '',
apply_end_time: '',
goods_id: this.queryParams.goods_id,
goods_title: this.queryParams.goods_title,
refund_type: '',
goods_order_sn: '',
reason: ''
}
// console.log('queryParams:',this.queryParams);
//console.log('传向后台的参数:',params);
if( this.queryParams.applyTime.length === 2) {
params.apply_start_time = new Date(this.queryParams.applyTime[0]).getTime() / 1000
params.apply_end_time = new Date(this.queryParams.applyTime[1]).getTime() / 1000
}else {
params.apply_start_time = ''
params.apply_end_time = ''
}
if (this.queryParams.refund_type === -1) {
params.refund_type = ''
}else {
params.refund_type = this.queryParams.refund_type;
}
if (this.queryParams.reason === -1) {
params.reason = ''
}else {
params.reason = this.queryParams.reason;
}
getRetreatList(params).then(res=> {
if(res.code === 1) {
this.afterSaleList = res.data.data;
this.total = res.data.count;
}
});
}, },
/** 重置 操作 */ /** 重置 操作 */
resetQuery() { resetQuery() {
...@@ -253,23 +282,35 @@ ...@@ -253,23 +282,35 @@
}, },
/** 售后 订单 详情 */ /** 售后 订单 详情 */
handleInfo(row) { handleInfo(row) {
// 入参 为 未处理-1,处理中-2,已完成-3 let id = row.refund_sn ? row.refund_sn : 0;
let type = row.type ? row.type : 0;
this.$router.push({ this.$router.push({
path: '/system/goods/management', path: '/system/repeat/edit',
query: { goodsStatus: type } query: { refund_sn: id }
}); });
}, },
/** 调整 列表当前页面 最大展示条数 */
handleSizeChange(val) { handleSizeChange(val) {
this.pageSize = val;
// this.getList();
}, },
/** 列表 跳转到 第 几 页 */
handleCurrentChange(val) { handleCurrentChange(val) {
this.currentPage = val
// this.getList();
}, },
/** 搜索条件初始化 */ /** 搜索条件初始化 */
resetSearchParams() { resetSearchParams() {
this.pageSize = 10;
this.currentPage = 1;
// this.goodsStatus = 1;
this.queryParams = {
applyTime: [],
goods_id: '',
goods_title: '',
refund_type: '',
goods_order_sn: '',
reason: '',
}
}, },
/** 搜索条件 键盘enter */ /** 搜索条件 键盘enter */
handleQuery() { handleQuery() {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论