Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
为 GitLab 提交贡献
登录
切换导航
S
shop-new
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
王天霸
shop-new
Commits
0fabb976
提交
0fabb976
authored
9月 07, 2021
作者:
huaxinzhu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
订单优化和售后列表静态页面
上级
ada37dee
隐藏空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
1076 行增加
和
740 行删除
+1076
-740
orderDetail.vue
src/views/system/order/components/orderDetail.vue
+37
-50
index.vue
src/views/system/order/index.vue
+34
-5
editOrder.vue
src/views/system/retreat/editOrder.vue
+20
-0
index.vue
src/views/system/retreat/retreat/index.vue
+204
-685
index0907.vue
src/views/system/retreat/retreat/index0907.vue
+781
-0
没有找到文件。
src/views/system/order/components/orderDetail.vue
浏览文件 @
0fabb976
...
...
@@ -137,13 +137,23 @@
<el-button
size=
"mini"
type=
"primary"
@
click=
"addRemark"
>
添加备注
</el-button>
</div>
<div
style=
"width: 75%; min-height: 100px; border: 1px solid #eee; padding: 10px;"
>
<dl
v-for=
"(item, index) in orderDetail.remark_list"
:key=
"index"
class=
"remark-con"
>
<dt>
{{item.date_time}}
</dt>
<dd>
{{item.content}}
</dd>
</dl>
<!-- <el-timeline-item-->
<!-- v-for="(remarkItem, index) in orderDetail.remark"-->
<!-- :key="index"-->
<!-- color="#0bbd87"-->
<!-- :timestamp="formatter(remarkItem.date_time)">-->
<!-- {{remarkItem.content}}-->
<!-- </el-timeline-item>-->
<!-- </el-timeline>-->
<!-- <div ">暂无留言备注</div>-->
<p
v-if=
"orderDetail.remark.length == 0"
style=
"color:#999;"
>
暂无备注
</p>
<div
v-for=
"(remarkItem, index) in orderDetail.remark"
:key=
"index"
class=
"remark-con"
>
<span
class=
"remark-time"
>
{{ formatter(remarkItem.date_time) }}
</span>
<span
class=
"remark-text"
>
{{ remarkItem.content }}
</span>
</div>
</div>
</div>
</div>
...
...
@@ -308,41 +318,9 @@ export default {
goods_ids
:
null
,
// 发货的商品订单 id
}
},
created
()
{
},
mounted
()
{
},
computed
:
{
// goodsFreight() {
// let freight = 0
// // if (this.orderDetail) {
// // this.orderDetail.item.map(item => {
// // freight += item.freight
// // })
// // }
// return freight
// },
// goodsPrice() {
// let price = 0
// if (this.orderDetail) {
// this.orderDetail.item.map(item => {
// price += item.goods_list[0].price
// })
// }
// return price
// },
// goodsNum() {
// let goodsNum = 0
// if (this.orderDetail) {
// this.orderDetail.item.map(item => {
// goodsNum += item.goods_list[0].num
// })
// }
// return goodsNum
// }
},
watch
:
{},
created
()
{},
mounted
()
{},
methods
:
{
/** 商品 发货状态 */
goodsStatusFormatter
(
status
)
{
...
...
@@ -589,13 +567,8 @@ export default {
// 订单详情
handleInfo
()
{
this
.
detailDialog
=
true
let
order_id
=
this
.
orderDetail
.
id
orderInfo
({
order_id
:
order_id
}).
then
(
res
=>
{
if
(
res
.
code
==
1
&&
res
.
data
)
{
this
.
orderDetail
=
res
.
data
.
order
this
.
orderGoodsDetail
=
res
.
data
.
order_goods_detail
?
res
.
data
.
order_goods_detail
:
[];
}
})
let
id
=
this
.
orderDetail
.
id
this
.
$emit
(
'updateOrder'
,
id
);
},
// 选中的表格
handleSelectionChange
(
val
)
{
...
...
@@ -861,6 +834,20 @@ export default {
/* 留言框样式 */
.remark-con
{
border
:
1px
solid
#eee
;
line-height
:
28px
;
color
:
#333
;
box-shadow
:
0
2px
10px
0
rgba
(
0
,
0
,
0
,
0.05
);
margin
:
10px
;
padding
:
10px
;
}
.remark-con
>
p
{
margin
:
0
;
padding
:
10px
;
}
.remark-con
.remark-time
{
padding
:
0
20px
;
}
.remark-con
.remark-text
{
}
</
style
>
src/views/system/order/index.vue
浏览文件 @
0fabb976
...
...
@@ -146,7 +146,7 @@
<el-dialog
title=
"订单详情"
width=
"85%"
:close-on-click-modal=
"false"
:destroy-on-close=
"true"
:visible
.
sync=
"detailDialog"
center
:before-close=
"handleClose"
>
<div
style=
"height:100%;"
>
<order-detail
:order-detail=
"order_detail"
:order-goods-detail=
"order_goods_detail"
:express-lists=
"expressLists"
/>
<order-detail
:order-detail=
"order_detail"
:order-goods-detail=
"order_goods_detail"
:express-lists=
"expressLists"
@
updateOrder=
"updateOrder"
/>
</div>
</el-dialog>
<!-- 批量发货 -->
...
...
@@ -205,6 +205,7 @@
import
{
dateFormat
}
from
'@/utils'
import
OrderDetail
from
'./components/orderDetail.vue'
import
XLSX
from
"xlsx"
import
{
isArray
}
from
"../../../utils/validate"
;
export
default
{
components
:
{
...
...
@@ -230,7 +231,9 @@
detailDialog
:
false
,
isDeliveryOpen
:
false
,
excelList
:
[],
order_detail
:
null
,
// 订单信息
order_detail
:
{
remark
:
[]
},
// 订单信息
order_goods_detail
:
[],
// 订单商品信息
expressLists
:
[],
fullHeight
:
''
,
...
...
@@ -510,14 +513,40 @@
let
order_id
=
row
.
order_id
orderInfo
({
order_id
:
order_id
}).
then
(
res
=>
{
if
(
res
.
code
==
1
&&
res
.
data
)
{
// order 对象 订单信息 order_goods_detail-订单商品信息数组
this
.
order_detail
=
res
.
data
.
order
// 留言备注,需要单独处理
let
remarkList
=
[]
// res.data.order.remark 返回数据格式比较多,不判断了
try
{
remarkList
=
JSON
.
parse
(
res
.
data
.
order
.
remark
)
}
catch
(
e
)
{
remarkList
=
[]
console
.
log
(
99
,
e
);
}
res
.
data
.
order
.
remark
=
remarkList
this
.
order_detail
=
res
.
data
.
order
;
// let isArray = Array.isArray(remarkList)
//
// if(isArray) {
// res.data.order.remark = remarkList
// this.order_detail = res.data.order;
// }else {
//
// }
this
.
order_goods_detail
=
res
.
data
.
order_goods_detail
?
res
.
data
.
order_goods_detail
:
[];
//console.log("详情数据",this.order_goods_detail);
//console.log('备注留言返回原始数据',res.data.order.remark);
// this.$router.push({path: '/system/goods/management'});
}
})
},
/** 更新 订单备注 */
updateOrder
(
id
)
{
let
row
=
{
order_id
:
id
}
this
.
handleInfo
(
row
);
},
// 获取物流信息
getExpressList
()
{
expressList
().
then
(
res
=>
{
...
...
src/views/system/retreat/editOrder.vue
0 → 100644
浏览文件 @
0fabb976
<
template
>
<div>
售后详情成功
</div>
</
template
>
<
script
>
export
default
{
name
:
"EditOrder"
,
data
()
{
return
{
}
},
}
</
script
>
<
style
scoped
>
</
style
>
src/views/system/retreat/retreat/index.vue
浏览文件 @
0fabb976
<
template
>
<div
class=
"app-container"
>
<el-card
class=
"box-card"
>
<div
slot=
"header"
class=
"clearfix"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
:inline=
"true"
v-show=
"showSearch"
label-width=
"82px"
class=
"queryFormInline"
>
<el-form-item
label=
"申请时间"
prop=
"applyTime"
>
<el-date-picker
size=
"small"
v-model=
"queryParams.applyTime"
type=
"daterange"
align=
"left"
unlink-panels
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
:picker-options=
"pickerOptions"
>
</el-date-picker>
</el-form-item>
<el-form-item
label=
"商品ID"
prop=
"goodsId"
>
<el-input
v-model=
"queryParams.goodsId"
placeholder=
"请输入商品id"
clearable
size=
"small"
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"商品名称"
prop=
"goodsName"
>
<el-input
v-model=
"queryParams.goodsName"
placeholder=
"请输入商品名称"
clearable
size=
"small"
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<!-- 状态页签 -->
<el-tabs
v-model=
"activeName"
@
tab-click=
"handleClick"
class=
"after-sale-tabs"
>
<el-tab-pane
label=
"未处理"
name=
"first"
></el-tab-pane>
<el-tab-pane
label=
"处理中"
name=
"second"
></el-tab-pane>
<el-tab-pane
label=
"已完成"
name=
"third"
></el-tab-pane>
</el-tabs>
<!-- 搜索条件 -->
<el-form
class=
"form-params"
:model=
"queryParams"
label-width=
"auto"
:inline=
"true"
size=
"small"
>
<el-form-item
label=
"申请时间"
prop=
"applyTime"
>
<el-date-picker
v-model=
"queryParams.applyTime"
type=
"daterange"
align=
"left"
unlink-panels
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
:picker-options=
"pickerOptions"
>
</el-date-picker>
</el-form-item>
<el-form-item
label=
"退换货类型"
prop=
"userNeed"
>
<el-select
v-model=
"queryParams.userNeed"
placeholder=
"全部原因"
size=
"small"
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=
"商品ID"
prop=
"goodsId"
>
<el-input
v-model=
"queryParams.goodsId"
placeholder=
"请输入商品id"
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-option
v-for=
"item in needMsgOptions"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"商品名称"
prop=
"goodsName"
>
<el-input
v-model=
"queryParams.goodsName"
placeholder=
"请输入商品名称"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/></el-form-item>
<el-form-item
label=
"处理状态"
prop=
"processDes
"
>
<el-select
v-model=
"queryParams.processDes"
placeholder=
"全部状态"
size=
"small"
clearable
>
<el-option
v-for=
"item in processDes
Options"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"退换货类型"
prop=
"userNeed
"
>
<el-select
v-model=
"queryParams.userNeed"
placeholder=
"全部类型"
clearable
>
<el-option
v-for=
"item in userNeed
Options"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"handleQuery"
>
搜索
</el-button>
<el-button
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"resetQuery"
>
重置
</el-button>
</el-form-item>
</el-form>
</div>
<el-table
v-loading=
"loading"
:data=
"retreatList"
:height=
"tableHeight"
>
<el-table-column
label=
"序号"
align=
"center"
prop=
"id"
/>
<el-table-column
label=
"商品名称"
align=
"center"
prop=
"goods_title"
/>
<el-table-column
label=
"订单号"
align=
"center"
prop=
"refund_sn"
/>
<el-table-column
label=
"订单手机号"
align=
"center"
prop=
"UPhone"
/>
<el-form-item
label=
"订单号"
prop=
"order_sn"
>
<el-input
v-model=
"queryParams.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-option
v-for=
"item in needMsgOptions"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"getList"
>
搜索
</el-button>
<el-button
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"resetQuery"
>
重置
</el-button>
</el-form-item>
</el-form>
<!-- 列表 -->
<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=
"商品名称"
align=
"center"
width=
"180"
prop=
"goodsName"
></el-table-column>
<el-table-column
label=
"订单号"
align=
"center"
width=
"180"
prop=
"order_sn"
></el-table-column>
<el-table-column
label=
"退换货类型"
width=
"180"
>
<template
slot-scope=
"scope"
>
<span
v-if=
"scope.row.userNeed == 1"
>
仅退款
</span>
<span
v-if=
"scope.row.userNeed == 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>
...
...
@@ -77,347 +86,58 @@
<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
>
</el-table-column>
<el-table-column
label=
"
退换货类型"
align=
"center"
prop=
"refund_typ
e"
>
<el-table-column
label=
"
申请时间"
align=
"center"
prop=
"created_tim
e"
>
<
template
slot-scope=
"scope"
>
<span
v-if=
"scope.row.refund_type==1"
>
退款
</span>
<span
v-if=
"scope.row.refund_type==2"
>
退货
</span>
<span
v-if=
"scope.row.refund_type==3"
>
换货
</span>
{{
formatter
(
scope
.
row
.
created_time
)
}}
</
template
>
</el-table-column>
<el-table-column
label=
"处理状态"
align=
"center"
prop=
"status"
>
<
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==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"
>
重新发货
</span>
<span
v-if=
"scope.row.reason==7"
>
重新收货
</span>
<span
v-if=
"scope.row.reason==8"
>
待打款
</span>
<span
v-if=
"scope.row.reason==9"
>
已完成
</span>
</
template
>
</el-table-column>
<!-- <el-table-column label="到期时间" align="center" prop="TaskEndtime"/> -->
<el-table-column
label=
"申请时间"
align=
"center"
prop=
"created_time"
>
<
template
slot-scope=
"scope"
>
<el-table-column
label=
"到期时间"
align=
"center"
prop=
"created_time"
>
<
template
slot-scope=
"scope"
>
{{
formatter
(
scope
.
row
.
created_time
)
}}
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width
"
>
<el-table-column
label=
"操作"
width=
"140"
align=
"center
"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
@
click=
"handleInfo(scope.row)"
>
详情
</el-button>
<el-button
type=
"text"
@
click=
"handleInfo(scope.row)"
>
详情
</el-button>
</
template
>
</el-table-column>
</el-table>
<pagination
v-show=
"total>0"
:total=
"total"
:page
.
sync=
"queryParams.page"
:limit
.
sync=
"queryParams.limit"
@
pagination=
"getList"
/>
<!-- 售后申请信息对话框 -->
<el-dialog
:title=
"title"
:visible
.
sync=
"open"
width=
"80%"
class=
"after-sales-details"
:modal-append-to-body=
"false"
:close-on-click-modal=
'false'
>
<el-col
:span=
"24"
class=
"card-box"
>
<el-card>
<div
slot=
"header"
>
<span>
订单信息
</span>
</div>
<div
class=
"el-table el-table--enable-row-hover el-table--medium"
>
<el-row>
<el-col
:span=
"12"
><div
class=
"cells"
>
订单编号: {{form.order.order_sn}}
</div></el-col>
<el-col
:span=
"12"
><div
class=
"cells"
>
下单时间: {{form.order.order_create_time}}
</div></el-col>
<el-col
:span=
"12"
><div
class=
"cells"
>
订单金额: {{form.order.order_money/100}} 元
</div></el-col>
<el-col
:span=
"12"
><div
class=
"cells"
>
运费: {{form.order.dispatch_price/100}}元
</div></el-col>
<el-col
:span=
"12"
><div
class=
"cells"
>
数量: x {{form.order.order_goods_total}}
</div></el-col>
<el-col
:span=
"12"
><div
class=
"cells"
>
订单来源: xxxxxxxx
</div></el-col>
<el-col
:span=
"12"
><div
class=
"cells"
>
支付时间: {{form.order.order_pay_time}}
</div></el-col>
<el-col
:span=
"12"
><div
class=
"cells"
>
支付方式: xxxxxx
</div></el-col>
<el-col
:span=
"24"
><div
class=
"cells"
>
订单状态: {{goodsStatus(form.order.order_status)}}
</div></el-col>
</el-row>
</div>
</el-card>
</el-col>
<el-col
:span=
"24"
class=
"card-box"
>
<el-card>
<div
slot=
"header"
>
<span>
商品信息
</span>
</div>
<div
class=
"el-table el-table--enable-row-hover el-table--medium"
>
<el-row>
<el-col
:span=
"24"
><div
class=
"cells"
>
商品名称: {{form.order.goods_title}}
</div></el-col>
<el-col
:span=
"24"
><div
class=
"cells"
>
商品ID: {{form.order.goods_id}}
</div></el-col>
<el-col
:span=
"24"
><div
class=
"cells"
>
商品数量: x {{form.order.goods_total}}
</div></el-col>
<el-col
:span=
"24"
><div
class=
"cells"
>
商品规格: {{form.order.goods_option_title}}
</div></el-col>
</el-row>
</div>
</el-card>
</el-col>
<el-col
:span=
"24"
class=
"card-box"
>
<el-card>
<div
slot=
"header"
>
<span>
退换货信息
</span>
</div>
<div
class=
"el-table el-table--enable-row-hover el-table--medium"
>
<el-row>
<el-col
:span=
"24"
><div
class=
"cells"
>
退换货类型: {{userNeed(form.order.refund_type)}}
</div></el-col>
<el-col
:span=
"24"
><div
class=
"cells"
>
退货数量: {{form.order.refund_goods_total}}
</div></el-col>
<el-col
:span=
"24"
><div
class=
"cells"
>
联系电话: {{form.order.receiver_phone}}
</div></el-col>
<el-col
:span=
"24"
><div
class=
"cells"
>
申请原因: {{userMsg(form.order.reason)}}
</div></el-col>
<el-col
:span=
"24"
><div
class=
"cells"
>
问题描述: {{form.order.content}}
</div></el-col>
<el-col
:span=
"24"
><div
class=
"cells"
>
申请金额: {{form.order.goods_option_title}}
</div></el-col>
<el-col
:span=
"24"
><div
class=
"cells"
>
退款金额: {{form.order.goods_option_title}}
</div></el-col>
</el-row>
</div>
</el-card>
</el-col>
<!-- 退款 同意,拒绝 -->
<!-- 退货退换 同意,拒绝 -->
<!-- 同意 确认收货 退款 -->
<!-- 同意 拒绝收货 拒绝 -->
<el-row>
<!-- refundtype//退款类型 1退款2退货3换货-->
<!-- refundstatus//退款状态 退款状态-1关闭1用户取消2待审核3驳回4待退货5待收货6重新发货7重新收货8待打款9已完成 -->
<el-button
type=
"primary"
v-if=
'refundstatus==2'
@
click=
refundagree()
>
同意申请
</el-button>
<el-button
type=
"warning"
v-if=
'refundstatus==2'
>
拒绝申请
</el-button>
<el-button
type=
"info"
v-if=
'refundstatus==3'
disabled
>
拒绝申请
</el-button>
<el-button
type=
"warning"
disabled
v-if=
'refundstatus==8'
>
退款
</el-button>
</el-row>
<el-col
:span=
"24"
class=
"card-box"
v-if=
"reject"
>
<el-card>
<div
slot=
"header"
>
<span>
拒绝信息
</span>
</div>
<div
class=
"el-table el-table--enable-row-hover el-table--medium"
>
<el-form
:model=
"submitParam"
ref=
"queryForm"
label-width=
"68px"
>
<el-form-item
label=
"拒绝原因"
>
<el-select
v-model=
"submitParam.act_cause"
placeholder=
"拒绝原因"
>
<el-option
v-for=
"item in actCause"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"详细说明"
prop=
"goods_name"
>
<el-input
v-model=
"submitParam.des"
placeholder=
"请输入商品名称"
clearable
size=
"small"
/>
</el-form-item>
<el-form-item>
<el-button
type=
"cyan"
size=
"mini"
@
click=
"handleReject"
>
确定提交
</el-button>
<el-button
size=
"mini"
@
click=
"handleRejectCancel"
>
取消
</el-button>
</el-form-item>
</el-form>
</div>
</el-card>
</el-col>
<el-col
:span=
"24"
class=
"card-box"
v-if=
"reback"
>
<el-card>
<div
slot=
"header"
>
<span>
退货地址
</span>
</div>
<div
class=
"el-table el-table--enable-row-hover el-table--medium"
>
<el-form
:model=
"submitParam"
ref=
"queryForm"
label-width=
"68px"
>
<el-form-item
label=
"退货地址"
>
<el-select
v-model=
"submitParam.address"
placeholder=
"退货地址"
style=
"width:500px;"
>
<el-option
v-for=
"(item,index) in form.address"
:key=
"item.value"
:label=
"item.label"
v-if=
"item != '' "
:value=
"item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"退货说明"
prop=
"des"
>
<el-input
v-model=
"submitParam.des"
placeholder=
"可以详细说明原因"
clearable
size=
"small"
/>
</el-form-item>
</el-form>
</div>
</el-card>
</el-col>
</el-form>
<!-- 退货退款弹窗 -->
<el-dialog
title=
"退货退款"
width=
"500px"
center
:visible
.
sync=
"dialogTableVisible"
:modal-append-to-body=
"false"
:append-to-body=
"true"
:close-on-click-modal=
'false'
>
<el-form
style=
'width:400px; margin:0 auto;'
>
<el-form-item>
确定同意买家的退货退款申请吗?请确认您已收到买家寄回的商品后,再同意退款!
</el-form-item>
<el-form-item
label=
"选择售后收货地址"
>
<el-select
v-model=
"restaddress"
placeholder=
"售后收货地址"
style=
"width:260px;"
>
<el-option
v-for=
"(item,index) in address"
:key=
"index"
:label=
"item.address"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
@
click=
"digrefundagree"
>
确定
</el-button>
<el-button
@
click=
"dialogTableVisible = false"
>
取消
</el-button>
</el-form-item>
</el-form>
</el-dialog>
<!-- 拒绝申请弹窗 -->
<el-dialog
title=
"拒绝申请"
width=
"500px"
center
:visible
.
sync=
"dialogTableVisible"
:modal-append-to-body=
"false"
:append-to-body=
"true"
:close-on-click-modal=
'false'
>
<el-form
style=
'width:400px; margin:0 auto;'
>
<el-form-item>
确定同意买家的退货退款申请吗?请确认您已收到买家寄回的商品后,再同意退款!
</el-form-item>
<el-form-item
label=
"拒绝原因"
>
<el-select
v-model=
"restaddress"
placeholder=
"拒绝原因"
style=
"width:260px;"
>
<el-option
v-for=
"(item,index) in address"
:key=
"index"
:label=
"item.address"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
@
click=
"digrefundagree"
>
确定
</el-button>
<el-button
@
click=
"dialogTableVisible = false"
>
取消
</el-button>
</el-form-item>
</el-form>
</el-dialog>
</el-dialog>
<!-- 分页 -->
<div
class=
"pagination-con"
>
<el-pagination
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page=
"currentPage"
:page-sizes=
"[20, 40, 60, 80, 100]"
:page-size=
"pageSize"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"total"
>
</el-pagination>
</div>
</el-card>
</div>
</template>
<
script
>
import
{
listRetreat
,
getRetreat
,
refundagreeat
,
refundReject
,
getSearchParams
}
from
'@/api/module/retreat'
import
{
getAddressList
}
from
'@/api/module/retreat/address'
import
{
dateFormat
}
from
'@/utils'
import
{
dateFormat
}
from
'@/utils'
export
default
{
name
:
"
retreat
"
,
name
:
"
Index
"
,
data
()
{
return
{
// 遮罩层
loading
:
false
,
fullHeight
:
0
,
tableHeight
:
0
,
//退货地址
address
:
[],
//提交信息
submitParam
:
{
event_id
:
0
,
act
:
""
,
act_cause
:
0
,
des
:
""
,
address
:
""
,
imgObj
:
[]
},
//拒绝原因 1:,2:,3:,4:,5,6:,7:,8:,9:,10:,11:,12:,13:,14:
actCause
:
[
{
label
:
'请选择拒绝原因'
,
value
:
0
},
{
label
:
"买家要求退款金额过高"
,
value
:
1
},
{
label
:
"买家举证无效,商品没问题"
,
value
:
2
},
{
label
:
"买家未举证,商品没问题"
,
value
:
3
},
{
label
:
"商品已超售后服务时限"
,
value
:
4
},
{
label
:
"退回商品后才能退款"
,
value
:
5
},
{
label
:
"过期未操作"
,
value
:
6
},
{
label
:
"退回的商品影响2次销售"
,
value
:
7
},
{
label
:
"已经协商好换货或维修"
,
value
:
8
},
{
label
:
"买家家退回的商品不是我店铺的"
,
value
:
9
},
{
label
:
"买家填写的退货单号无记录"
,
value
:
10
},
{
label
:
"没收到退货,快递还在途中"
,
value
:
11
},
{
label
:
"买家擅自使用到货付款"
,
value
:
12
},
{
label
:
"买家退回的商品不全"
,
value
:
13
},
{
label
:
"其他"
,
value
:
14
},
],
// 售后类型/退换货类型
userNeedOptions
:
[
{
value
:
-
1
,
label
:
'全部类型'
},
{
value
:
1
,
label
:
'仅退款'
},
{
value
:
2
,
label
:
'退货退款'
},
{
value
:
3
,
label
:
'客服仲裁'
}
],
// 退换货原因
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
:
'其他'
},
],
// 处理状态
processDesOptions
:
[
{
value
:
-
1
,
label
:
'全部状态'
},
{
value
:
1
,
label
:
'未处理'
},
{
value
:
2
,
label
:
'处理中'
},
{
value
:
3
,
label
:
'已处理'
},
{
value
:
4
,
label
:
'客服介入'
},
],
//状态
orderInfo
:
true
,
//拒绝框
reject
:
false
,
//退货地址
reback
:
false
,
// 选中数组
ids
:
[],
// 非单个禁用
single
:
true
,
// 非多个禁用
multiple
:
true
,
// 显示搜索条件
showSearch
:
true
,
// 总条数
total
:
0
,
// 售后申请信息表格数据
retreatList
:
[],
// 弹出层标题
title
:
""
,
// 是否显示弹出层
open
:
false
,
// 查询参数
goodsStatus
:
0
,
activeName
:
'first'
,
queryParams
:
{
page
:
1
,
limit
:
10
,
applyTime
:
[],
beginTime
:
''
,
endTime
:
''
,
goodsId
:
null
,
goodsName
:
null
,
userNeed
:
null
,
needMsg
:
null
,
processDes
:
null
applyTime
:
''
,
// 申请时间
goodsId
:
0
,
// 商品Id
goodsName
:
''
,
// 商品名称
userNeed
:
''
,
// 退货退款类型
order_sn
:
''
,
// 订单号
},
data
:
{},
// 表单参数
form
:
{
retreat
:
{
info
:
{
needMsg
:
0
}},
order
:
{},
},
orderrefundid
:
''
,
//订单号
refundtype
:
''
,
//退款类型
refundstatus
:
''
,
//退款状态
dialogTableVisible
:
false
,
//退货退款弹窗
restaddress
:
''
,
//退货地址id
pickerOptions
:
{
shortcuts
:
[{
text
:
'最近一周'
,
...
...
@@ -445,338 +165,137 @@ import {dateFormat} from '@/utils'
}
}]
},
};
// 退换货类型
userNeedOptions
:
[
{
value
:
-
1
,
label
:
'全部类型'
},
{
value
:
1
,
label
:
'仅退款'
},
{
value
:
2
,
label
:
'退货退款'
},
],
// 退换货原因
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
:
'其他'
},
],
fullHeight
:
0
,
afterSaleHeight
:
200
,
currentPage
:
1
,
pageSize
:
20
,
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
},
],
}
},
// data end
watch
:
{
fullHeight
(
val
)
{
let
formHeight
=
document
.
getElementsByClassName
(
'form-params'
)[
0
].
clientHeight
;
let
tabsHeight
=
document
.
getElementsByClassName
(
'after-sale-tabs'
)[
0
].
clientHeight
;
this
.
afterSaleHeight
=
val
-
formHeight
-
tabsHeight
-
40
-
40
}
},
created
()
{
this
.
getParams
();
this
.
getList
();
this
.
getgetAddressList
()
this
.
$nextTick
(()
=>
{
this
.
fullHeight
=
document
.
getElementsByClassName
(
'box-card'
)[
0
].
clientHeight
})
},
watch
:
{
fullHeight
(
val
)
{
let
formHeight
=
document
.
getElementsByClassName
(
'clearfix'
)[
0
].
clientHeight
this
.
tableHeight
=
val
-
formHeight
-
120
},
'queryParams.applyTime'
()
{
// select组件,clear的时候,将addTimeInterval的值,初始化为null,判断当其值为null时,赋值为数组
if
(
!
this
.
queryParams
.
applyTime
&&
typeof
(
this
.
queryParams
.
applyTime
)
!==
"undefined"
)
{
this
.
queryParams
.
applyTime
=
[];
this
.
queryParams
.
beginTime
=
''
;
this
.
queryParams
.
endTime
=
''
;
}
}
mounted
()
{
},
methods
:
{
// 获取售后地址
getgetAddressList
(){
let
data
=
{
limit
:
10
,
page
:
1
/** 顶部 状态页签切换 */
handleClick
()
{
switch
(
this
.
activeName
)
{
case
'first'
:
this
.
goodsStatus
=
1
break
case
'second'
:
this
.
goodsStatus
=
2
break
case
'third'
:
this
.
goodsStatus
=
3
break
default
:
break
}
getAddressList
(
data
).
then
(
res
=>
{
if
(
res
.
code
==
1
){
this
.
address
=
res
.
data
.
data
}
})
},
/** 查看售后详情 */
handleInfo
(
row
)
{
const
id
=
row
.
refund_sn
getRetreat
(
id
).
then
(
response
=>
{
this
.
loading
=
false
;
this
.
form
.
order
=
response
.
data
;
this
.
orderrefundid
=
response
.
data
.
order_refund_sn
// this.refundtype= response.data.refund_type//退款类型
// this.refundstatus= response.data.status//退款状态
this
.
refundtype
=
2
//退款类型
this
.
refundstatus
=
2
//退款状态
this
.
open
=
true
;
this
.
title
=
"售后申请信息详情"
;
});
// 搜索条件初始化
this
.
resetSearchParams
();
// 列表 查询
this
.
getList
();
},
// 售后star
// refundtype//退款类型 1退款2退货3换货
// refundstatus//退款状态 退款状态-1关闭1用户取消2待审核3驳回4待退货5待收货6重新发货7重新收货8待打款9已完成
refundagree
(){
if
(
this
.
refundtype
==
1
){
//退款
this
.
$msgbox
({
title
:
'确认同意买家的仅退款申请吗?'
,
message
:
'如果您同意,将直接退款给买家,买家不用寄回商品!'
,
center
:
true
,
showCancelButton
:
true
,
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
beforeClose
:
(
action
,
instance
,
done
)
=>
{
if
(
action
===
'confirm'
)
{
done
();
let
data
=
{
order_refund_id
:
this
.
orderrefundid
}
refundagreeat
(
data
).
then
(
res
=>
{
if
(
res
.
code
==
1
){
done
();
this
.
$message
({
type
:
'success'
,
message
:
'操作成功!'
});
}
else
{
done
();
this
.
$message
({
type
:
'warning'
,
message
:
res
.
message
});
}
})
}
else
{
done
();
}
}
}).
then
(
action
=>
{
});
}
else
if
(
this
.
refundtype
==
2
){
//退货
this
.
dialogTableVisible
=
true
}
},
digrefundagree
(){
let
data
=
{
order_refund_id
:
this
.
orderrefundid
,
order_refund_address
:
this
.
restaddress
}
refundagreeat
(
data
).
then
(
res
=>
{
if
(
res
.
code
==
1
){
this
.
dialogTableVisible
=
false
this
.
$message
({
type
:
'success'
,
message
:
'操作成功!'
});
}
else
{
this
.
$message
({
type
:
'warning'
,
message
:
res
.
message
});
}
})
/** 列表查询 */
getList
()
{
console
.
log
(
'参数:'
,
this
.
queryParams
);
},
// 售后over
formatter
(
time
)
{
return
dateFormat
(
time
,
'Y-m-d H:i:s'
)
/** 重置 操作 */
resetQuery
()
{
this
.
resetSearchParams
();
this
.
getList
();
},
getParams
()
{
getSearchParams
().
then
(
res
=>
{
if
(
res
.
userNeed
&&
res
.
userNeed
.
length
>
0
)
{
this
.
userNeedOptions
=
res
.
userNeed
;
}
if
(
res
.
needMsg
&&
res
.
needMsg
.
length
>
0
)
{
this
.
needMsgOptions
=
res
.
needMsg
;
}
if
(
res
.
processDes
&&
res
.
processDes
.
length
>
0
)
{
this
.
processDesOptions
=
res
.
processDes
;
}
/** 售后 订单 详情 */
handleInfo
(
row
)
{
// 入参 为 未处理-1,处理中-2,已完成-3
let
type
=
row
.
type
?
row
.
type
:
0
;
this
.
$router
.
push
({
path
:
'/system/goods/management'
,
query
:
{
goodsStatus
:
type
}
});
},
//原因 卖家拒绝(1:买家要求退款金额过高2:买家举证无效,商品没问题3:买家未举证,商品没问题4:商品已超售后服务时限5:退回商品后才能退款6:过期未操作,7:其他)
actCauses
(
actCause
)
{
if
(
actCause
==
1
)
{
return
"买家要求退款金额过高"
}
else
if
(
actCause
==
2
)
{
return
"买家举证无效,商品没问题"
}
else
if
(
actCause
==
3
)
{
return
"买家未举证,商品没问题"
}
else
if
(
actCause
==
4
)
{
return
"商品已超售后服务时限"
}
else
if
(
actCause
==
5
)
{
return
"退回商品后才能退款"
}
else
if
(
actCause
==
6
)
{
return
"过期未操作"
}
else
if
(
actCause
==
7
)
{
return
"其他"
}
else
{
return
"未知"
}
},
//行为1:同意:2拒绝3:客服介入4:撤销 5:发送收货地址 6:同意收货 7:买家上传物流信息
act
(
act
)
{
if
(
act
==
1
)
{
return
"同意"
}
else
if
(
act
==
2
)
{
return
"拒绝"
}
else
if
(
act
==
3
)
{
return
"客服介入"
}
else
if
(
act
==
4
)
{
return
"撤销"
}
else
if
(
act
==
5
)
{
return
"发送收货地址"
}
else
if
(
act
==
6
)
{
return
"同意收货"
}
else
if
(
act
==
7
)
{
return
"买家上传物流信息"
}
else
{
return
"未知"
}
},
//角色 1:2:3:客服 4:系统
role
(
id
)
{
if
(
id
==
1
)
{
return
"商家操作"
}
else
if
(
id
==
2
)
{
return
"用户操作"
}
else
if
(
id
==
3
)
{
return
"客服操作"
}
else
if
(
id
==
4
)
{
return
"系统操作"
}
else
{
return
"未知"
}
},
// //获取地址后缀id
// getIndex(index) {
// index = index.slice(14);
// return index
// },
//商品状态 0:,1:,2:,3
goodsStatus
(
status
)
{
if
(
status
==
0
)
{
return
"待付款"
}
else
if
(
status
==
1
)
{
return
"待发货"
}
else
if
(
status
==
2
)
{
return
"待收货"
}
else
if
(
status
==
3
)
{
return
"已完成"
}
else
if
(
status
==
4
){
return
"已结算"
}
else
if
(
status
==
-
1
){
return
"订单取消"
}
},
userNeed
(
ids
)
{
//1::2:3:
if
(
ids
==
1
)
{
return
"仅退款"
}
else
if
(
ids
==
2
)
{
return
"退款退货"
}
else
if
(
ids
==
3
)
{
return
"换货"
}
else
{
return
"未知"
}
},
userMsg
(
typs
)
{
if
(
typs
==
1
)
{
return
"协商一致退款"
}
else
if
(
typs
==
2
)
{
return
"质量问题"
}
else
if
(
typs
==
3
)
{
return
"物流问题"
}
else
if
(
typs
==
4
)
{
return
"假冒品牌"
}
else
if
(
typs
==
5
)
{
return
"少件/漏发/破损/污渍"
}
else
if
(
typs
==
6
)
{
return
"7天无理由"
}
else
if
(
typs
==
7
)
{
return
"拍错/多拍/不想要"
}
else
{
return
"其他"
}
},
handleSizeChange
(
val
)
{
/** 查询售后申请信息列表 */
getList
()
{
listRetreat
(
this
.
queryParams
).
then
(
res
=>
{
if
(
res
.
data
)
{
this
.
retreatList
=
res
.
data
.
data
;
this
.
total
=
res
.
data
.
count
;
}
});
},
// 取消按钮
cancel
()
{
this
.
open
=
false
;
this
.
reset
();
handleCurrentChange
(
val
)
{
},
// 表单重置
reset
()
{
this
.
form
=
{
"order"
:
[],
"retreat"
:
[]
/** 搜索条件初始化 */
resetSearchParams
()
{
};
this
.
resetForm
(
"form"
);
},
/** 搜索
按钮操作
*/
/** 搜索
条件 键盘enter
*/
handleQuery
()
{
if
(
this
.
queryParams
.
applyTime
.
length
===
2
)
{
this
.
queryParams
.
beginTime
=
new
Date
(
this
.
queryParams
.
applyTime
[
0
]).
getTime
()
/
1000
;
this
.
queryParams
.
endTime
=
new
Date
(
this
.
queryParams
.
applyTime
[
1
]).
getTime
()
/
1000
;
}
this
.
queryParams
.
page
=
1
;
this
.
getList
();
},
/** 重置按钮操作 */
resetQuery
()
{
this
.
resetForm
(
"queryForm"
);
this
.
queryParams
.
beginTime
=
''
;
this
.
queryParams
.
endTime
=
''
;
this
.
handleQuery
();
},
//同意申请并发货
handleAddress
()
{
this
.
orderInfo
=
false
this
.
reject
=
false
this
.
reback
=
true
},
// 多选框选中数据
handleSelectionChange
(
selection
)
{
this
.
ids
=
selection
.
map
(
item
=>
item
.
id
)
this
.
single
=
selection
.
length
!==
1
this
.
multiple
=
!
selection
.
length
},
handleRejectCancel
()
{
this
.
orderInfo
=
true
this
.
reject
=
false
},
handleRejectPre
()
{
this
.
orderInfo
=
false
this
.
reject
=
true
},
handleRebackCancel
()
{
this
.
reject
=
false
this
.
reback
=
false
this
.
orderInfo
=
true
},
},
//methods结束
};
/** 时间戳转化 格式化 */
formatter
(
time
)
{
return
dateFormat
(
time
*
1000
,
'Y-m-d H:i:s'
)
},
}
// methods end
}
</
script
>
<
style
scoped
lang=
"scss"
type=
"text/stylus"
>
/
deep
/
.queryFormInline
{
.el-form-item
{
margin-bottom
:
5px
;
}
<
style
scoped
>
/
deep
/
.el-dialog__body
{
height
:
100%
;
overflow
:
hidden
;
}
/
deep
/
.after-sales-details
.el-dialog
{
height
:
80%
;
overflow
:
hidden
;
/
deep
/
.after-sale-tabs
.el-tabs__item
{
line-height
:
30px
;
}
/
deep
/
.el-dialog__body
{
height
:calc
(
100
%
-
50px
)
;
overflow-y
:
scroll
;
/
deep
/
.el-form--inline
.el-form-item
{
margin-right
:
15px
;
}
.cells
{
line-height
:
32px
;
.pagination-con
{
text-align
:
center
;
margin-top
:
15px
;
}
</
style
>
src/views/system/retreat/retreat/index0907.vue
0 → 100644
浏览文件 @
0fabb976
<
template
>
<div
class=
"app-container"
>
<el-card
class=
"box-card"
>
<div
slot=
"header"
class=
"clearfix"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
:inline=
"true"
v-show=
"showSearch"
label-width=
"82px"
class=
"queryFormInline"
>
<el-form-item
label=
"申请时间"
prop=
"applyTime"
>
<el-date-picker
size=
"small"
v-model=
"queryParams.applyTime"
type=
"daterange"
align=
"left"
unlink-panels
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
:picker-options=
"pickerOptions"
>
</el-date-picker>
</el-form-item>
<el-form-item
label=
"商品ID"
prop=
"goodsId"
>
<el-input
v-model=
"queryParams.goodsId"
placeholder=
"请输入商品id"
clearable
size=
"small"
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"商品名称"
prop=
"goodsName"
>
<el-input
v-model=
"queryParams.goodsName"
placeholder=
"请输入商品名称"
clearable
size=
"small"
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"退换货类型"
prop=
"userNeed"
>
<el-select
v-model=
"queryParams.userNeed"
placeholder=
"全部原因"
size=
"small"
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=
"needMsg"
>
<el-select
v-model=
"queryParams.needMsg"
placeholder=
"全部类型"
size=
"small"
clearable
>
<el-option
v-for=
"item in needMsgOptions"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"处理状态"
prop=
"processDes"
>
<el-select
v-model=
"queryParams.processDes"
placeholder=
"全部状态"
size=
"small"
clearable
>
<el-option
v-for=
"item in processDesOptions"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"handleQuery"
>
搜索
</el-button>
<el-button
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"resetQuery"
>
重置
</el-button>
</el-form-item>
</el-form>
</div>
<el-table
v-loading=
"loading"
:data=
"retreatList"
:height=
"tableHeight"
>
<el-table-column
label=
"序号"
align=
"center"
prop=
"id"
/>
<el-table-column
label=
"商品名称"
align=
"center"
prop=
"goods_title"
/>
<el-table-column
label=
"订单号"
align=
"center"
prop=
"refund_sn"
/>
<el-table-column
label=
"订单手机号"
align=
"center"
prop=
"UPhone"
/>
<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>
</
template
>
</el-table-column>
<el-table-column
label=
"退换货类型"
align=
"center"
prop=
"refund_type"
>
<
template
slot-scope=
"scope"
>
<span
v-if=
"scope.row.refund_type==1"
>
退款
</span>
<span
v-if=
"scope.row.refund_type==2"
>
退货
</span>
<span
v-if=
"scope.row.refund_type==3"
>
换货
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"处理状态"
align=
"center"
prop=
"status"
>
<
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==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"
>
重新发货
</span>
<span
v-if=
"scope.row.reason==7"
>
重新收货
</span>
<span
v-if=
"scope.row.reason==8"
>
待打款
</span>
<span
v-if=
"scope.row.reason==9"
>
已完成
</span>
</
template
>
</el-table-column>
<!-- <el-table-column label="到期时间" align="center" prop="TaskEndtime"/> -->
<el-table-column
label=
"申请时间"
align=
"center"
prop=
"created_time"
>
<
template
slot-scope=
"scope"
>
{{
formatter
(
scope
.
row
.
created_time
)
}}
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
@
click=
"handleInfo(scope.row)"
>
详情
</el-button>
</
template
>
</el-table-column>
</el-table>
<pagination
v-show=
"total>0"
:total=
"total"
:page
.
sync=
"queryParams.page"
:limit
.
sync=
"queryParams.limit"
@
pagination=
"getList"
/>
<!-- 售后申请信息对话框 -->
<el-dialog
:title=
"title"
:visible
.
sync=
"open"
width=
"80%"
class=
"after-sales-details"
:modal-append-to-body=
"false"
:close-on-click-modal=
'false'
>
<el-col
:span=
"24"
class=
"card-box"
>
<el-card>
<div
slot=
"header"
>
<span>
订单信息
</span>
</div>
<div
class=
"el-table el-table--enable-row-hover el-table--medium"
>
<el-row>
<el-col
:span=
"12"
><div
class=
"cells"
>
订单编号: {{form.order.order_sn}}
</div></el-col>
<el-col
:span=
"12"
><div
class=
"cells"
>
下单时间: {{form.order.order_create_time}}
</div></el-col>
<el-col
:span=
"12"
><div
class=
"cells"
>
订单金额: {{form.order.order_money/100}} 元
</div></el-col>
<el-col
:span=
"12"
><div
class=
"cells"
>
运费: {{form.order.dispatch_price/100}}元
</div></el-col>
<el-col
:span=
"12"
><div
class=
"cells"
>
数量: x {{form.order.order_goods_total}}
</div></el-col>
<el-col
:span=
"12"
><div
class=
"cells"
>
订单来源: xxxxxxxx
</div></el-col>
<el-col
:span=
"12"
><div
class=
"cells"
>
支付时间: {{form.order.order_pay_time}}
</div></el-col>
<el-col
:span=
"12"
><div
class=
"cells"
>
支付方式: xxxxxx
</div></el-col>
<el-col
:span=
"24"
><div
class=
"cells"
>
订单状态: {{goodsStatus(form.order.order_status)}}
</div></el-col>
</el-row>
</div>
</el-card>
</el-col>
<el-col
:span=
"24"
class=
"card-box"
>
<el-card>
<div
slot=
"header"
>
<span>
商品信息
</span>
</div>
<div
class=
"el-table el-table--enable-row-hover el-table--medium"
>
<el-row>
<el-col
:span=
"24"
><div
class=
"cells"
>
商品名称: {{form.order.goods_title}}
</div></el-col>
<el-col
:span=
"24"
><div
class=
"cells"
>
商品ID: {{form.order.goods_id}}
</div></el-col>
<el-col
:span=
"24"
><div
class=
"cells"
>
商品数量: x {{form.order.goods_total}}
</div></el-col>
<el-col
:span=
"24"
><div
class=
"cells"
>
商品规格: {{form.order.goods_option_title}}
</div></el-col>
</el-row>
</div>
</el-card>
</el-col>
<el-col
:span=
"24"
class=
"card-box"
>
<el-card>
<div
slot=
"header"
>
<span>
退换货信息
</span>
</div>
<div
class=
"el-table el-table--enable-row-hover el-table--medium"
>
<el-row>
<el-col
:span=
"24"
><div
class=
"cells"
>
退换货类型: {{userNeed(form.order.refund_type)}}
</div></el-col>
<el-col
:span=
"24"
><div
class=
"cells"
>
退货数量: {{form.order.refund_goods_total}}
</div></el-col>
<el-col
:span=
"24"
><div
class=
"cells"
>
联系电话: {{form.order.receiver_phone}}
</div></el-col>
<el-col
:span=
"24"
><div
class=
"cells"
>
申请原因: {{userMsg(form.order.reason)}}
</div></el-col>
<el-col
:span=
"24"
><div
class=
"cells"
>
问题描述: {{form.order.content}}
</div></el-col>
<el-col
:span=
"24"
><div
class=
"cells"
>
申请金额: {{form.order.goods_option_title}}
</div></el-col>
<el-col
:span=
"24"
><div
class=
"cells"
>
退款金额: {{form.order.goods_option_title}}
</div></el-col>
</el-row>
</div>
</el-card>
</el-col>
<!-- 退款 同意,拒绝 -->
<!-- 退货退换 同意,拒绝 -->
<!-- 同意 确认收货 退款 -->
<!-- 同意 拒绝收货 拒绝 -->
<el-row>
<!-- refundtype//退款类型 1退款2退货3换货-->
<!-- refundstatus//退款状态 退款状态-1关闭1用户取消2待审核3驳回4待退货5待收货6重新发货7重新收货8待打款9已完成 -->
<el-button
type=
"primary"
v-if=
'refundstatus==2'
@
click=
refundagree()
>
同意申请
</el-button>
<el-button
type=
"warning"
v-if=
'refundstatus==2'
>
拒绝申请
</el-button>
<el-button
type=
"info"
v-if=
'refundstatus==3'
disabled
>
拒绝申请
</el-button>
<el-button
type=
"warning"
disabled
v-if=
'refundstatus==8'
>
退款
</el-button>
</el-row>
<el-col
:span=
"24"
class=
"card-box"
v-if=
"reject"
>
<el-card>
<div
slot=
"header"
>
<span>
拒绝信息
</span>
</div>
<div
class=
"el-table el-table--enable-row-hover el-table--medium"
>
<el-form
:model=
"submitParam"
ref=
"queryForm"
label-width=
"68px"
>
<el-form-item
label=
"拒绝原因"
>
<el-select
v-model=
"submitParam.act_cause"
placeholder=
"拒绝原因"
>
<el-option
v-for=
"item in actCause"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"详细说明"
prop=
"goods_name"
>
<el-input
v-model=
"submitParam.des"
placeholder=
"请输入商品名称"
clearable
size=
"small"
/>
</el-form-item>
<el-form-item>
<el-button
type=
"cyan"
size=
"mini"
@
click=
"handleReject"
>
确定提交
</el-button>
<el-button
size=
"mini"
@
click=
"handleRejectCancel"
>
取消
</el-button>
</el-form-item>
</el-form>
</div>
</el-card>
</el-col>
<el-col
:span=
"24"
class=
"card-box"
v-if=
"reback"
>
<el-card>
<div
slot=
"header"
>
<span>
退货地址
</span>
</div>
<div
class=
"el-table el-table--enable-row-hover el-table--medium"
>
<el-form
:model=
"submitParam"
ref=
"queryForm"
label-width=
"68px"
>
<el-form-item
label=
"退货地址"
>
<el-select
v-model=
"submitParam.address"
placeholder=
"退货地址"
style=
"width:500px;"
>
<el-option
v-for=
"(item,index) in form.address"
:key=
"item.value"
:label=
"item.label"
v-if=
"item != '' "
:value=
"item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"退货说明"
prop=
"des"
>
<el-input
v-model=
"submitParam.des"
placeholder=
"可以详细说明原因"
clearable
size=
"small"
/>
</el-form-item>
</el-form>
</div>
</el-card>
</el-col>
</el-form>
<!-- 退货退款弹窗 -->
<el-dialog
title=
"退货退款"
width=
"500px"
center
:visible
.
sync=
"dialogTableVisible"
:modal-append-to-body=
"false"
:append-to-body=
"true"
:close-on-click-modal=
'false'
>
<el-form
style=
'width:400px; margin:0 auto;'
>
<el-form-item>
确定同意买家的退货退款申请吗?请确认您已收到买家寄回的商品后,再同意退款!
</el-form-item>
<el-form-item
label=
"选择售后收货地址"
>
<el-select
v-model=
"restaddress"
placeholder=
"售后收货地址"
style=
"width:260px;"
>
<el-option
v-for=
"(item,index) in address"
:key=
"index"
:label=
"item.address"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
@
click=
"digrefundagree"
>
确定
</el-button>
<el-button
@
click=
"dialogTableVisible = false"
>
取消
</el-button>
</el-form-item>
</el-form>
</el-dialog>
<!-- 拒绝申请弹窗 -->
<el-dialog
title=
"拒绝申请"
width=
"500px"
center
:visible
.
sync=
"dialogTableVisible"
:modal-append-to-body=
"false"
:append-to-body=
"true"
:close-on-click-modal=
'false'
>
<el-form
style=
'width:400px; margin:0 auto;'
>
<el-form-item>
确定同意买家的退货退款申请吗?请确认您已收到买家寄回的商品后,再同意退款!
</el-form-item>
<el-form-item
label=
"拒绝原因"
>
<el-select
v-model=
"restaddress"
placeholder=
"拒绝原因"
style=
"width:260px;"
>
<el-option
v-for=
"(item,index) in address"
:key=
"index"
:label=
"item.address"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
@
click=
"digrefundagree"
>
确定
</el-button>
<el-button
@
click=
"dialogTableVisible = false"
>
取消
</el-button>
</el-form-item>
</el-form>
</el-dialog>
</el-dialog>
</el-card>
</div>
</template>
<
script
>
import
{
listRetreat
,
getRetreat
,
refundagreeat
,
refundReject
,
getSearchParams
}
from
'@/api/module/retreat'
import
{
getAddressList
}
from
'@/api/module/retreat/address'
import
{
dateFormat
}
from
'@/utils'
export
default
{
name
:
"retreat"
,
data
()
{
return
{
// 遮罩层
loading
:
false
,
fullHeight
:
0
,
tableHeight
:
0
,
//退货地址
address
:
[],
//提交信息
submitParam
:
{
event_id
:
0
,
act
:
""
,
act_cause
:
0
,
des
:
""
,
address
:
""
,
imgObj
:
[]
},
//拒绝原因 1:,2:,3:,4:,5,6:,7:,8:,9:,10:,11:,12:,13:,14:
actCause
:
[
{
label
:
'请选择拒绝原因'
,
value
:
0
},
{
label
:
"买家要求退款金额过高"
,
value
:
1
},
{
label
:
"买家举证无效,商品没问题"
,
value
:
2
},
{
label
:
"买家未举证,商品没问题"
,
value
:
3
},
{
label
:
"商品已超售后服务时限"
,
value
:
4
},
{
label
:
"退回商品后才能退款"
,
value
:
5
},
{
label
:
"过期未操作"
,
value
:
6
},
{
label
:
"退回的商品影响2次销售"
,
value
:
7
},
{
label
:
"已经协商好换货或维修"
,
value
:
8
},
{
label
:
"买家家退回的商品不是我店铺的"
,
value
:
9
},
{
label
:
"买家填写的退货单号无记录"
,
value
:
10
},
{
label
:
"没收到退货,快递还在途中"
,
value
:
11
},
{
label
:
"买家擅自使用到货付款"
,
value
:
12
},
{
label
:
"买家退回的商品不全"
,
value
:
13
},
{
label
:
"其他"
,
value
:
14
},
],
// 售后类型/退换货类型
userNeedOptions
:
[
{
value
:
-
1
,
label
:
'全部类型'
},
{
value
:
1
,
label
:
'仅退款'
},
{
value
:
2
,
label
:
'退货退款'
},
{
value
:
3
,
label
:
'客服仲裁'
}
],
// 退换货原因
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
:
'其他'
},
],
// 处理状态
processDesOptions
:
[
{
value
:
-
1
,
label
:
'全部状态'
},
{
value
:
1
,
label
:
'未处理'
},
{
value
:
2
,
label
:
'处理中'
},
{
value
:
3
,
label
:
'已处理'
},
{
value
:
4
,
label
:
'客服介入'
},
],
//状态
orderInfo
:
true
,
//拒绝框
reject
:
false
,
//退货地址
reback
:
false
,
// 选中数组
ids
:
[],
// 非单个禁用
single
:
true
,
// 非多个禁用
multiple
:
true
,
// 显示搜索条件
showSearch
:
true
,
// 总条数
total
:
0
,
// 售后申请信息表格数据
retreatList
:
[],
// 弹出层标题
title
:
""
,
// 是否显示弹出层
open
:
false
,
// 查询参数
queryParams
:
{
page
:
1
,
limit
:
10
,
applyTime
:
[],
beginTime
:
''
,
endTime
:
''
,
goodsId
:
null
,
goodsName
:
null
,
userNeed
:
null
,
needMsg
:
null
,
processDes
:
null
},
data
:
{},
// 表单参数
form
:
{
retreat
:
{
info
:
{
needMsg
:
0
}},
order
:
{},
},
orderrefundid
:
''
,
//订单号
refundtype
:
''
,
//退款类型
refundstatus
:
''
,
//退款状态
dialogTableVisible
:
false
,
//退货退款弹窗
restaddress
:
''
,
//退货地址id
pickerOptions
:
{
shortcuts
:
[{
text
:
'最近一周'
,
onClick
(
picker
)
{
const
end
=
new
Date
();
const
start
=
new
Date
();
start
.
setTime
(
start
.
getTime
()
-
3600
*
1000
*
24
*
7
);
picker
.
$emit
(
'pick'
,
[
start
,
end
]);
}
},
{
text
:
'最近一个月'
,
onClick
(
picker
)
{
const
end
=
new
Date
();
const
start
=
new
Date
();
start
.
setTime
(
start
.
getTime
()
-
3600
*
1000
*
24
*
30
);
picker
.
$emit
(
'pick'
,
[
start
,
end
]);
}
},
{
text
:
'最近三个月'
,
onClick
(
picker
)
{
const
end
=
new
Date
();
const
start
=
new
Date
();
start
.
setTime
(
start
.
getTime
()
-
3600
*
1000
*
24
*
90
);
picker
.
$emit
(
'pick'
,
[
start
,
end
]);
}
}]
},
};
},
created
()
{
this
.
getParams
();
this
.
getList
();
this
.
getgetAddressList
()
this
.
$nextTick
(()
=>
{
this
.
fullHeight
=
document
.
getElementsByClassName
(
'box-card'
)[
0
].
clientHeight
})
},
watch
:
{
fullHeight
(
val
)
{
let
formHeight
=
document
.
getElementsByClassName
(
'clearfix'
)[
0
].
clientHeight
this
.
tableHeight
=
val
-
formHeight
-
120
},
'queryParams.applyTime'
()
{
// select组件,clear的时候,将addTimeInterval的值,初始化为null,判断当其值为null时,赋值为数组
if
(
!
this
.
queryParams
.
applyTime
&&
typeof
(
this
.
queryParams
.
applyTime
)
!==
"undefined"
)
{
this
.
queryParams
.
applyTime
=
[];
this
.
queryParams
.
beginTime
=
''
;
this
.
queryParams
.
endTime
=
''
;
}
}
},
methods
:
{
// 获取售后地址
getgetAddressList
(){
let
data
=
{
limit
:
10
,
page
:
1
}
getAddressList
(
data
).
then
(
res
=>
{
if
(
res
.
code
==
1
){
this
.
address
=
res
.
data
.
data
}
})
},
/** 查看售后详情 */
handleInfo
(
row
)
{
const
id
=
row
.
refund_sn
getRetreat
(
id
).
then
(
response
=>
{
this
.
loading
=
false
;
this
.
form
.
order
=
response
.
data
;
this
.
orderrefundid
=
response
.
data
.
order_refund_sn
// this.refundtype= response.data.refund_type//退款类型
// this.refundstatus= response.data.status//退款状态
this
.
refundtype
=
2
//退款类型
this
.
refundstatus
=
2
//退款状态
this
.
open
=
true
;
this
.
title
=
"售后申请信息详情"
;
});
},
// 售后star
// refundtype//退款类型 1退款2退货3换货
// refundstatus//退款状态 退款状态-1关闭1用户取消2待审核3驳回4待退货5待收货6重新发货7重新收货8待打款9已完成
refundagree
(){
if
(
this
.
refundtype
==
1
){
//退款
this
.
$msgbox
({
title
:
'确认同意买家的仅退款申请吗?'
,
message
:
'如果您同意,将直接退款给买家,买家不用寄回商品!'
,
center
:
true
,
showCancelButton
:
true
,
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
beforeClose
:
(
action
,
instance
,
done
)
=>
{
if
(
action
===
'confirm'
)
{
done
();
let
data
=
{
order_refund_id
:
this
.
orderrefundid
}
refundagreeat
(
data
).
then
(
res
=>
{
if
(
res
.
code
==
1
){
done
();
this
.
$message
({
type
:
'success'
,
message
:
'操作成功!'
});
}
else
{
done
();
this
.
$message
({
type
:
'warning'
,
message
:
res
.
message
});
}
})
}
else
{
done
();
}
}
}).
then
(
action
=>
{
});
}
else
if
(
this
.
refundtype
==
2
){
//退货
this
.
dialogTableVisible
=
true
}
},
digrefundagree
(){
let
data
=
{
order_refund_id
:
this
.
orderrefundid
,
order_refund_address
:
this
.
restaddress
}
refundagreeat
(
data
).
then
(
res
=>
{
if
(
res
.
code
==
1
){
this
.
dialogTableVisible
=
false
this
.
$message
({
type
:
'success'
,
message
:
'操作成功!'
});
}
else
{
this
.
$message
({
type
:
'warning'
,
message
:
res
.
message
});
}
})
},
// 售后over
formatter
(
time
)
{
return
dateFormat
(
time
,
'Y-m-d H:i:s'
)
},
getParams
()
{
getSearchParams
().
then
(
res
=>
{
if
(
res
.
userNeed
&&
res
.
userNeed
.
length
>
0
)
{
this
.
userNeedOptions
=
res
.
userNeed
;
}
if
(
res
.
needMsg
&&
res
.
needMsg
.
length
>
0
)
{
this
.
needMsgOptions
=
res
.
needMsg
;
}
if
(
res
.
processDes
&&
res
.
processDes
.
length
>
0
)
{
this
.
processDesOptions
=
res
.
processDes
;
}
});
},
//原因 卖家拒绝(1:买家要求退款金额过高2:买家举证无效,商品没问题3:买家未举证,商品没问题4:商品已超售后服务时限5:退回商品后才能退款6:过期未操作,7:其他)
actCauses
(
actCause
)
{
if
(
actCause
==
1
)
{
return
"买家要求退款金额过高"
}
else
if
(
actCause
==
2
)
{
return
"买家举证无效,商品没问题"
}
else
if
(
actCause
==
3
)
{
return
"买家未举证,商品没问题"
}
else
if
(
actCause
==
4
)
{
return
"商品已超售后服务时限"
}
else
if
(
actCause
==
5
)
{
return
"退回商品后才能退款"
}
else
if
(
actCause
==
6
)
{
return
"过期未操作"
}
else
if
(
actCause
==
7
)
{
return
"其他"
}
else
{
return
"未知"
}
},
//行为1:同意:2拒绝3:客服介入4:撤销 5:发送收货地址 6:同意收货 7:买家上传物流信息
act
(
act
)
{
if
(
act
==
1
)
{
return
"同意"
}
else
if
(
act
==
2
)
{
return
"拒绝"
}
else
if
(
act
==
3
)
{
return
"客服介入"
}
else
if
(
act
==
4
)
{
return
"撤销"
}
else
if
(
act
==
5
)
{
return
"发送收货地址"
}
else
if
(
act
==
6
)
{
return
"同意收货"
}
else
if
(
act
==
7
)
{
return
"买家上传物流信息"
}
else
{
return
"未知"
}
},
//角色 1:2:3:客服 4:系统
role
(
id
)
{
if
(
id
==
1
)
{
return
"商家操作"
}
else
if
(
id
==
2
)
{
return
"用户操作"
}
else
if
(
id
==
3
)
{
return
"客服操作"
}
else
if
(
id
==
4
)
{
return
"系统操作"
}
else
{
return
"未知"
}
},
// //获取地址后缀id
// getIndex(index) {
// index = index.slice(14);
// return index
// },
//商品状态 0:,1:,2:,3
goodsStatus
(
status
)
{
if
(
status
==
0
)
{
return
"待付款"
}
else
if
(
status
==
1
)
{
return
"待发货"
}
else
if
(
status
==
2
)
{
return
"待收货"
}
else
if
(
status
==
3
)
{
return
"已完成"
}
else
if
(
status
==
4
){
return
"已结算"
}
else
if
(
status
==
-
1
){
return
"订单取消"
}
},
userNeed
(
ids
)
{
//1::2:3:
if
(
ids
==
1
)
{
return
"仅退款"
}
else
if
(
ids
==
2
)
{
return
"退款退货"
}
else
if
(
ids
==
3
)
{
return
"换货"
}
else
{
return
"未知"
}
},
userMsg
(
typs
)
{
if
(
typs
==
1
)
{
return
"协商一致退款"
}
else
if
(
typs
==
2
)
{
return
"质量问题"
}
else
if
(
typs
==
3
)
{
return
"物流问题"
}
else
if
(
typs
==
4
)
{
return
"假冒品牌"
}
else
if
(
typs
==
5
)
{
return
"少件/漏发/破损/污渍"
}
else
if
(
typs
==
6
)
{
return
"7天无理由"
}
else
if
(
typs
==
7
)
{
return
"拍错/多拍/不想要"
}
else
{
return
"其他"
}
},
/** 查询售后申请信息列表 */
getList
()
{
listRetreat
(
this
.
queryParams
).
then
(
res
=>
{
if
(
res
.
data
)
{
this
.
retreatList
=
res
.
data
.
data
;
this
.
total
=
res
.
data
.
count
;
}
});
},
// 取消按钮
cancel
()
{
this
.
open
=
false
;
this
.
reset
();
},
// 表单重置
reset
()
{
this
.
form
=
{
"order"
:
[],
"retreat"
:
[]
};
this
.
resetForm
(
"form"
);
},
/** 搜索按钮操作 */
handleQuery
()
{
if
(
this
.
queryParams
.
applyTime
.
length
===
2
)
{
this
.
queryParams
.
beginTime
=
new
Date
(
this
.
queryParams
.
applyTime
[
0
]).
getTime
()
/
1000
;
this
.
queryParams
.
endTime
=
new
Date
(
this
.
queryParams
.
applyTime
[
1
]).
getTime
()
/
1000
;
}
this
.
queryParams
.
page
=
1
;
this
.
getList
();
},
/** 重置按钮操作 */
resetQuery
()
{
this
.
resetForm
(
"queryForm"
);
this
.
queryParams
.
beginTime
=
''
;
this
.
queryParams
.
endTime
=
''
;
this
.
handleQuery
();
},
//同意申请并发货
handleAddress
()
{
this
.
orderInfo
=
false
this
.
reject
=
false
this
.
reback
=
true
},
// 多选框选中数据
handleSelectionChange
(
selection
)
{
this
.
ids
=
selection
.
map
(
item
=>
item
.
id
)
this
.
single
=
selection
.
length
!==
1
this
.
multiple
=
!
selection
.
length
},
handleRejectCancel
()
{
this
.
orderInfo
=
true
this
.
reject
=
false
},
handleRejectPre
()
{
this
.
orderInfo
=
false
this
.
reject
=
true
},
handleRebackCancel
()
{
this
.
reject
=
false
this
.
reback
=
false
this
.
orderInfo
=
true
},
},
//methods结束
};
</
script
>
<
style
scoped
lang=
"scss"
type=
"text/stylus"
>
/
deep
/
.queryFormInline
{
.el-form-item
{
margin-bottom
:
5px
;
}
}
/
deep
/
.after-sales-details
.el-dialog
{
height
:
80%
;
overflow
:
hidden
;
}
/
deep
/
.el-dialog__body
{
height
:calc
(
100
%
-
50px
)
;
overflow-y
:
scroll
;
}
.cells
{
line-height
:
32px
;
}
</
style
>
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论