Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
为 GitLab 提交贡献
登录
切换导航
S
shop-new
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
王天霸
shop-new
Commits
04922129
提交
04922129
authored
9月 09, 2021
作者:
huaxinzhu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
云仓售后
上级
0fabb976
显示空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
625 行增加
和
109 行删除
+625
-109
retreat.js
src/api/module/retreat.js
+18
-15
index.js
src/router/index.js
+6
-6
index.vue
src/views/system/order/index.vue
+4
-0
edit.vue
src/views/system/retreat/edit.vue
+488
-0
editOrder.vue
src/views/system/retreat/editOrder.vue
+0
-20
index.vue
src/views/system/retreat/retreat/index.vue
+109
-68
没有找到文件。
src/api/module/retreat.js
浏览文件 @
04922129
...
...
@@ -20,21 +20,6 @@ export function refundReject(data) {
}
// 查询retreat列表
export
function
listRetreat
(
query
)
{
return
request
({
...
...
@@ -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
})
}
src/router/index.js
浏览文件 @
04922129
...
...
@@ -216,12 +216,12 @@ export const constantRoutes = [
name
:
'modelFields'
,
meta
:
{
title
:
'商品导入'
}
},
{
path
:
'management'
,
component
:
(
resolve
)
=>
require
([
'@/views/system/goodsimport/goodsgement.vue'
],
resolve
),
name
:
'goodsgement'
,
meta
:
{
title
:
'商品管理'
}
}
//
{
//
path: 'management',
//
component: (resolve) => require(['@/views/system/goodsimport/goodsgement.vue'], resolve),
//
name: 'goodsgement',
//
meta: { title: '商品管理' }
//
}
]
}
/* 正式上线需要 注释 */
...
...
src/views/system/order/index.vue
浏览文件 @
04922129
...
...
@@ -213,6 +213,7 @@
},
data
()
{
return
{
sellerId
:
0
,
currentPage
:
1
,
pageSize
:
20
,
total
:
0
,
...
...
@@ -264,6 +265,8 @@
// })
},
mounted
()
{
/** 获取 seller_id*/
this
.
sellerId
=
this
.
$store
.
state
.
user
.
sellerid
;
// 获取 订单 状态对应数量
this
.
getOrderTab
()
// 订单列表 搜索
...
...
@@ -377,6 +380,7 @@
let
params
=
{
page
:
this
.
currentPage
,
limit
:
this
.
pageSize
,
seller_id
:
this
.
sellerId
,
status
:
this
.
goodsStatus
,
start_time
:
new
Date
(
this
.
form
.
dateTime
[
0
]).
getTime
()
/
1000
||
''
,
end_time
:
new
Date
(
this
.
form
.
dateTime
[
1
]).
getTime
()
/
1000
||
''
,
...
...
src/views/system/retreat/edit.vue
0 → 100644
浏览文件 @
04922129
<
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
>
src/views/system/retreat/editOrder.vue
deleted
100644 → 0
浏览文件 @
0fabb976
<
template
>
<div>
售后详情成功
</div>
</
template
>
<
script
>
export
default
{
name
:
"EditOrder"
,
data
()
{
return
{
}
},
}
</
script
>
<
style
scoped
>
</
style
>
src/views/system/retreat/retreat/index.vue
浏览文件 @
04922129
...
...
@@ -18,43 +18,44 @@
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
@
change=
"applyTimeChange"
:picker-options=
"pickerOptions"
>
</el-date-picker>
</el-form-item>
<el-form-item
label=
"商品ID"
prop=
"goods
I
d"
>
<el-form-item
label=
"商品ID"
prop=
"goods
_i
d"
>
<el-input
v-model=
"queryParams.goods
I
d"
v-model=
"queryParams.goods
_i
d"
placeholder=
"请输入商品id"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/></el-form-item>
<el-form-item
label=
"商品名称"
prop=
"goods
Nam
e"
>
<el-form-item
label=
"商品名称"
prop=
"goods
_titl
e"
>
<el-input
v-model=
"queryParams.goods
Nam
e"
v-model=
"queryParams.goods
_titl
e"
placeholder=
"请输入商品名称"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/></el-form-item>
<el-form-item
label=
"退换货类型"
prop=
"
userNeed
"
>
<el-select
v-model=
"queryParams.
userNeed
"
placeholder=
"全部类型"
clearable
>
<el-form-item
label=
"退换货类型"
prop=
"
refund_type
"
>
<el-select
v-model=
"queryParams.
refund_type
"
placeholder=
"全部类型"
clearable
>
<el-option
v-for=
"item in userNeedOptions"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"订单号"
prop=
"order_sn"
>
<el-form-item
label=
"订单号"
prop=
"
goods_
order_sn"
>
<el-input
v-model=
"queryParams.order_sn"
v-model=
"queryParams.
goods_
order_sn"
placeholder=
"请输入订单号"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/></el-form-item>
<el-form-item
label=
"退换货原因"
prop=
"
needMsg
"
>
<el-select
v-model=
"queryParams.
needMsg
"
placeholder=
"全部类型"
size=
"small"
clearable
>
<el-form-item
label=
"退换货原因"
prop=
"
reason
"
>
<el-select
v-model=
"queryParams.
reason
"
placeholder=
"全部类型"
size=
"small"
clearable
>
<el-option
v-for=
"item in needMsgOptions"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
...
...
@@ -67,26 +68,21 @@
</el-form>
<!-- 列表 -->
<el-table
class=
"after-sale-table"
:data=
"afterSaleList"
:height=
"afterSaleHeight"
>
<el-table-column
label=
"商品ID"
align=
"center"
width=
"1
8
0"
prop=
"goodsId"
></el-table-column>
<el-table-column
label=
"商品名称"
align=
"center"
width=
"180"
prop=
"
goodsNam
e"
></el-table-column>
<el-table-column
label=
"订单号"
align=
"center"
width=
"
180"
prop=
"
order_sn"
></el-table-column>
<el-table-column
label=
"退换货类型"
width=
"180"
>
<el-table-column
label=
"商品ID"
align=
"center"
width=
"1
5
0"
prop=
"goodsId"
></el-table-column>
<el-table-column
label=
"商品名称"
align=
"center"
width=
"180"
prop=
"
titl
e"
></el-table-column>
<el-table-column
label=
"订单号"
align=
"center"
width=
"
240"
prop=
"goods_
order_sn"
></el-table-column>
<el-table-column
label=
"退换货类型"
align=
"center"
width=
"180"
>
<template
slot-scope=
"scope"
>
<span
v-if=
"scope.row.
userNeed
== 1"
>
仅退款
</span>
<span
v-if=
"scope.row.
userNeed
== 2"
>
退货退款
</span>
<span
v-if=
"scope.row.
refund_type
== 1"
>
仅退款
</span>
<span
v-if=
"scope.row.
refund_type
== 2"
>
退货退款
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"退换货原因"
align=
"center"
prop=
"reason"
>
<
template
slot-scope=
"scope"
>
<span
v-if=
"scope.row.reason==1"
>
协商一致退款
</span>
<span
v-if=
"scope.row.reason==2"
>
质量问题
</span>
<span
v-if=
"scope.row.reason==3"
>
物流问题
</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>
<span
v-if=
"scope.row.reason==1"
>
其他
</span>
<span
v-if=
"scope.row.reason==2"
>
漏发
</span>
<span
v-if=
"scope.row.reason==3"
>
协商一致
</span>
<span
v-if=
"scope.row.reason==4"
>
质量不符
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"申请时间"
align=
"center"
prop=
"created_time"
>
...
...
@@ -94,14 +90,14 @@
{{
formatter
(
scope
.
row
.
created_time
)
}}
</
template
>
</el-table-column>
<el-table-column
label=
"到期时间"
align=
"center"
prop=
"
created_tim
e"
>
<el-table-column
label=
"到期时间"
align=
"center"
prop=
"
deadlin
e"
>
<
template
slot-scope=
"scope"
>
{{
formatter
(
scope
.
row
.
created_tim
e
)
}}
{{
formatter
(
scope
.
row
.
deadlin
e
)
}}
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
width=
"140"
align=
"center"
>
<
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
>
</el-table-column>
</el-table>
...
...
@@ -122,21 +118,21 @@
</template>
<
script
>
import
{
getRetreatList
}
from
'@/api/module/retreat'
import
{
dateFormat
}
from
'@/utils'
export
default
{
name
:
"Index"
,
data
()
{
return
{
goodsStatus
:
0
,
goodsStatus
:
1
,
activeName
:
'first'
,
queryParams
:
{
page
:
1
,
limit
:
10
,
applyTime
:
''
,
// 申请时间
goodsId
:
0
,
// 商品Id
goodsName
:
''
,
// 商品名称
userNeed
:
''
,
// 退货退款类型
order_sn
:
''
,
// 订单号
applyTime
:
[],
goods_id
:
''
,
goods_title
:
''
,
refund_type
:
''
,
goods_order_sn
:
''
,
reason
:
''
,
},
pickerOptions
:
{
shortcuts
:
[{
...
...
@@ -174,34 +170,18 @@
// 退换货原因
needMsgOptions
:
[
{
value
:
-
1
,
label
:
'全部原因'
},
{
value
:
1
,
label
:
'协商一致退款'
},
{
value
:
2
,
label
:
'质量问题'
},
{
value
:
3
,
label
:
'物流问题'
},
{
value
:
4
,
label
:
'假冒品牌'
},
{
value
:
5
,
label
:
'少件/漏发/破损/污渍'
},
{
value
:
6
,
label
:
'7天无理由'
},
{
value
:
7
,
label
:
'拍错/多拍/不想要'
},
{
value
:
8
,
label
:
'其他'
},
{
value
:
3
,
label
:
'协商一致退款'
},
{
value
:
1
,
label
:
'其他'
},
{
value
:
2
,
label
:
'漏发'
},
{
value
:
4
,
label
:
'质量不符'
},
],
fullHeight
:
0
,
afterSaleHeight
:
200
,
currentPage
:
1
,
pageSize
:
2
0
,
pageSize
:
1
0
,
total
:
0
,
// 售后列表
afterSaleList
:
[
{
goodsId
:
1
},
{
goodsId
:
1
},
{
goodsId
:
1
},
{
goodsId
:
1
},
{
goodsId
:
1
},
{
goodsId
:
1
},
{
goodsId
:
1
},
{
goodsId
:
1
},
{
goodsId
:
1
},
{
goodsId
:
1
},
{
goodsId
:
1
},
],
afterSaleList
:
[],
}
},
// data end
...
...
@@ -222,7 +202,9 @@
},
methods
:
{
/** 顶部 状态页签切换 */
/** 顶部 状态页签切换
* 1-未处理;2-处理中;3-已完成
* */
handleClick
()
{
switch
(
this
.
activeName
)
{
case
'first'
:
...
...
@@ -242,9 +224,56 @@
// 列表 查询
this
.
getList
();
},
/** 时间格式处理 */
applyTimeChange
()
{
if
(
!
Array
.
isArray
(
this
.
queryParams
.
applyTime
)
)
{
this
.
queryParams
.
applyTime
=
[];
}
},
/** 列表查询 */
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
()
{
...
...
@@ -253,23 +282,35 @@
},
/** 售后 订单 详情 */
handleInfo
(
row
)
{
// 入参 为 未处理-1,处理中-2,已完成-3
let
type
=
row
.
type
?
row
.
type
:
0
;
let
id
=
row
.
refund_sn
?
row
.
refund_sn
:
0
;
this
.
$router
.
push
({
path
:
'/system/
goods/managemen
t'
,
query
:
{
goodsStatus
:
type
}
path
:
'/system/
repeat/edi
t'
,
query
:
{
refund_sn
:
id
}
});
},
/** 调整 列表当前页面 最大展示条数 */
handleSizeChange
(
val
)
{
this
.
pageSize
=
val
;
// this.getList();
},
/** 列表 跳转到 第 几 页 */
handleCurrentChange
(
val
)
{
this
.
currentPage
=
val
// this.getList();
},
/** 搜索条件初始化 */
resetSearchParams
()
{
this
.
pageSize
=
10
;
this
.
currentPage
=
1
;
// this.goodsStatus = 1;
this
.
queryParams
=
{
applyTime
:
[],
goods_id
:
''
,
goods_title
:
''
,
refund_type
:
''
,
goods_order_sn
:
''
,
reason
:
''
,
}
},
/** 搜索条件 键盘enter */
handleQuery
()
{
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论