Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
O
op-web-service
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
bp
op-web-service
Commits
0738ebd6
Commit
0738ebd6
authored
Jul 27, 2021
by
your yuchenglong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update:接口调整
parent
55586c23
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
435 additions
and
39 deletions
+435
-39
groupmeal.js
server/controllers/groupmeal.js
+51
-1
router.js
server/router.js
+6
-3
index.less
src/pages/Groupmeal/orderManagement/index.less
+10
-0
index.vue
src/pages/Groupmeal/orderManagement/index.vue
+328
-35
groupmeal.js
src/service/Groupmeal/groupmeal.js
+40
-0
No files found.
server/controllers/groupmeal.js
View file @
0738ebd6
...
...
@@ -81,3 +81,53 @@ exports.getSubShopList = async ctx => {
ctx
.
body
=
await
req
(
ctx
,
opts
);
};
// 导出订单
exports
.
orderExport
=
async
ctx
=>
{
const
url
=
`
${
GROUPMEAL_URI
}
/order/background/order_export`
;
const
opts
=
{
url
,
method
:
"GET"
};
ctx
.
body
=
await
req
(
ctx
,
opts
);
};
// 打印订单
exports
.
orderPrint
=
async
ctx
=>
{
const
url
=
`
${
GROUPMEAL_URI
}
/order/background/print`
;
const
opts
=
{
url
,
method
:
"GET"
};
ctx
.
body
=
await
req
(
ctx
,
opts
);
};
// 订单退款列表
exports
.
orderItemList
=
async
ctx
=>
{
const
url
=
`
${
GROUPMEAL_URI
}
/order/background/order_item_list`
;
const
opts
=
{
url
,
method
:
"GET"
};
ctx
.
body
=
await
req
(
ctx
,
opts
);
};
// 订单退款列表
exports
.
orderRefund
=
async
ctx
=>
{
const
url
=
`
${
GROUPMEAL_URI
}
/order/background/order_refundt`
;
const
opts
=
{
url
,
method
:
"GET"
};
ctx
.
body
=
await
req
(
ctx
,
opts
);
};
// 订单驳回
exports
.
orderRefundReject
=
async
ctx
=>
{
const
url
=
`
${
GROUPMEAL_URI
}
/order/background/order_refund_reject`
;
const
opts
=
{
url
,
method
:
"GET"
};
ctx
.
body
=
await
req
(
ctx
,
opts
);
};
server/router.js
View file @
0738ebd6
...
...
@@ -73,8 +73,11 @@ router.get(`${API_VERSION}/order/background/order_list`, groupmeal.getOrderList)
router
.
get
(
`
${
API_VERSION
}
/order/background/marketing_list`
,
groupmeal
.
getMarketingList
);
router
.
get
(
`
${
API_VERSION
}
/order/background/goods_list`
,
groupmeal
.
getGoodsList
);
router
.
get
(
`
${
API_VERSION
}
/order/background/sub_shop_list`
,
groupmeal
.
getSubShopList
);
router
.
get
(
`
${
API_VERSION
}
/order/background/order_export`
,
groupmeal
.
orderExport
);
router
.
get
(
`
${
API_VERSION
}
/order/background/order_export`
,
groupmeal
.
orderExport
);
router
.
get
(
`
${
API_VERSION
}
/order/background/print`
,
groupmeal
.
orderPrint
);
router
.
get
(
`
${
API_VERSION
}
/order/background/order_item_list`
,
groupmeal
.
orderItemList
);
router
.
get
(
`
${
API_VERSION
}
/order/background/order_refund_reject`
,
groupmeal
.
orderRefundReject
);
router
.
get
(
`
${
API_VERSION
}
/order/background/order_refundt`
,
groupmeal
.
orderRefund
);
module
.
exports
=
router
;
src/pages/Groupmeal/orderManagement/index.less
View file @
0738ebd6
...
...
@@ -11,3 +11,13 @@
text-align:center;
}
.refundBtnGroup {
display: block;
text-align: center;
}
.refundCon /deep/ .el-row {
margin-bottom: 15px;
display: flex;
align-items: center;
}
\ No newline at end of file
src/pages/Groupmeal/orderManagement/index.vue
View file @
0738ebd6
...
...
@@ -8,9 +8,9 @@
ref=
"ruleForm"
class=
"demo-form-inline"
>
<el-form-item
label=
"活动名称:"
prop=
"
activity_name
"
>
<el-form-item
label=
"活动名称:"
prop=
"
marketing_id
"
>
<el-select
v-model=
"orderQueryObj.
activity_name
"
v-model=
"orderQueryObj.
marketing_id
"
placeholder=
"请选择"
@
change=
"activityNameSel"
>
...
...
@@ -29,11 +29,12 @@
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
:disabled=
"item.disabled"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"商品名称:"
prop=
"
trade_name
"
>
<el-select
v-model=
"orderQueryObj.
trade_name
"
placeholder=
"请选择"
>
<el-form-item
label=
"商品名称:"
prop=
"
goods_id
"
>
<el-select
v-model=
"orderQueryObj.
goods_id
"
placeholder=
"请选择"
>
<el-option
v-for=
"item in tradeNameArr"
:key=
"item.goods_id"
...
...
@@ -42,25 +43,22 @@
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"收货人:"
prop=
"c
onsignee
"
>
<el-form-item
label=
"收货人:"
prop=
"c
ust_user
"
>
<el-input
placeholder=
"请输入收货人姓名或手机号"
prefix-icon=
"el-icon-search"
v-model=
"orderQueryObj.c
onsignee
"
v-model=
"orderQueryObj.c
ust_user
"
></el-input>
</el-form-item>
<el-form-item
label=
"订单编号:"
prop=
"order_
no
"
>
<el-form-item
label=
"订单编号:"
prop=
"order_
id
"
>
<el-input
placeholder=
"请输入订单号"
prefix-icon=
"el-icon-search"
v-model=
"orderQueryObj.order_
no
"
v-model=
"orderQueryObj.order_
id
"
></el-input>
</el-form-item>
<el-form-item
label=
"自提点:"
prop=
"self_lifting_point"
>
<el-select
v-model=
"orderQueryObj.self_lifting_point"
placeholder=
"请选择"
>
<el-form-item
label=
"自提点:"
prop=
"sub_shop_id"
>
<el-select
v-model=
"orderQueryObj.sub_shop_id"
placeholder=
"请选择"
>
<el-option
v-for=
"item in selLiftPoinArr"
:key=
"item.sub_shop_id"
...
...
@@ -86,10 +84,115 @@
</el-col>
</el-row>
<el-tab-pane
label=
"全部"
name=
"all"
>
<TabList
/>
<el-table
:data=
"orderTableData"
border
stripe
style=
"width: 100%"
>
<el-table-column
prop=
"marketing_name"
label=
"活动名称"
width
></el-table-column>
<el-table-column
prop=
"order_id"
label=
"订单号"
width
></el-table-column>
<el-table-column
prop=
"order_status_text"
label=
"订单状态"
></el-table-column>
<el-table-column
prop=
"order_item"
label=
"商品信息"
>
<!--
<template
#
default=
"scope"
>
{{
scope
}}
</
template
>
-->
</el-table-column>
<el-table-column
prop=
"user_name"
label=
"收货人"
></el-table-column>
<el-table-column
prop=
"sub_shop_name"
label=
"自提点"
></el-table-column>
<el-table-column
prop=
"comment"
label=
"备注"
></el-table-column>
<el-table-column
prop=
"pay_time"
label=
"支付时间"
></el-table-column>
<el-table-column
prop=
"payment"
label=
"支付金额"
></el-table-column>
<el-table-column
prop=
"discount_fee"
label=
"优惠金额"
></el-table-column>
<el-table-column
fixed=
"right"
label=
"操作"
width=
"100"
>
<
template
#
default=
"scope"
>
<el-button
type=
"text"
size=
"small"
@
click=
"refund(scope.row)"
v-show=
"scope.row.order_status_text == '已支付'"
>
退款
</el-button
>
<el-button-group
v-show=
"scope.row.order_status_text == '待退款'"
>
<el-button
type=
"text"
size=
"small"
@
click=
"agree(scope.row)"
>
同意
</el-button
>
<el-button
type=
"text"
size=
"small"
@
click=
"refuse(scope.row)"
>
拒绝
</el-button
>
</el-button-group>
</
template
>
</el-table-column>
</el-table>
<page
:totalNum=
"totalNum"
@
update=
"update"
style=
"float: right"
/>
</el-tab-pane>
<el-tab-pane
label=
"售后"
name=
"afterSale"
>
<TabList
/>
<!-- start -->
<el-table
:data=
"orderTableData"
border
stripe
style=
"width: 100%"
>
<el-table-column
prop=
"marketing_name"
label=
"活动名称"
width
></el-table-column>
<el-table-column
prop=
"order_id"
label=
"订单号"
width
></el-table-column>
<el-table-column
prop=
"order_status_text"
label=
"订单状态"
></el-table-column>
<el-table-column
prop=
"order_item"
label=
"商品信息"
></el-table-column>
<el-table-column
prop=
"user_name"
label=
"收货人"
></el-table-column>
<el-table-column
prop=
"sub_shop_name"
label=
"自提点"
></el-table-column>
<el-table-column
prop=
"comment"
label=
"备注"
></el-table-column>
<el-table-column
prop=
"pay_time"
label=
"支付时间"
></el-table-column>
<el-table-column
prop=
"payment"
label=
"支付金额"
></el-table-column>
<el-table-column
prop=
"discount_fee"
label=
"优惠金额"
></el-table-column>
<el-table-column
fixed=
"right"
label=
"操作"
width=
"100"
>
<
template
#
default=
"scope"
>
<!-- v-if="scope.row.order_status_text == '已支付'" -->
<el-button
type=
"text"
size=
"small"
@
click=
"refund(scope.row)"
>
退款
</el-button
>
<!-- v-else -->
<el-button-group>
<el-button
type=
"text"
size=
"small"
@
click=
"agree(scope.row)"
>
同意
</el-button
>
<el-button
type=
"text"
size=
"small"
@
click=
"refuse(scope.row)"
>
拒绝
</el-button
>
</el-button-group>
</
template
>
</el-table-column>
</el-table>
<page
:totalNum=
"totalNum"
@
update=
"update"
style=
"float: right"
/>
<!-- end -->
</el-tab-pane>
</el-tabs>
<!-- 导出弹窗 -->
...
...
@@ -107,37 +210,91 @@
<el-button
type=
"primary"
@
click=
"confirmExport"
>
确定导出
</el-button>
</el-form-item>
</el-dialog>
<!-- 退款弹窗 -->
<el-dialog
title=
"退款"
width=
"30%"
top=
"10%"
v-model=
"refundShow"
>
<el-checkbox
:indeterminate=
"isIndeterminate"
v-model=
"checkAll"
@
change=
"handleCheckAllChange"
style=
"margin-bottom: 15px"
>
全选
</el-checkbox>
<div
class=
"refundCon"
v-for=
"(item, index) in refundGoods"
:key=
"index"
>
<el-row>
<el-checkbox
v-model=
"item.refundedGoodsSel"
:label=
"item.goods_name"
name=
"type"
></el-checkbox>
</el-row>
<el-row>
<el-col
:span=
"6"
>
单价:{{ item.price }}
</el-col>
<el-col
:span=
"6"
>
数量:{{ item.goods_num }}
</el-col>
<el-col
:span=
"6"
>
实付:{{ item.payment }}
</el-col>
</el-row>
<el-row>
可退数量:
<el-input-number
v-model=
"item.refundableQuantity"
@
change=
"handleChange"
:min=
"1"
:max=
"10"
label=
"描述文字"
></el-input-number>
</el-row>
<el-row>
退款金额(可退金额{{ item.refundAmount }}元):
<el-input
v-model=
"item.ipt"
style=
"width: 150px"
></el-input>
</el-row>
</div>
<
template
#
footer
>
<span
class=
"dialog-footer refundBtnGroup"
>
<el-button
@
click=
"refundShow = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"refundConfirm"
>
退款
</el-button>
</span>
</
template
>
</el-dialog>
</div>
</Layout>
</template>
<
script
>
import
Layout
from
"../layout/index.vue"
;
import
TabList
from
"./tab/tabList.vue"
;
import
{
getOrderList
,
getMarketingList
,
getGoodsList
,
getSubShopList
,
orderExport
,
orderPrint
,
orderItemList
,
orderRefundReject
,
orderRefund
,
}
from
"@/service/Groupmeal/groupmeal"
;
import
page
from
"../../components/Pagination.vue"
;
export
default
{
name
:
"orderManagement"
,
components
:
{
Layout
,
TabList
,
page
,
},
data
()
{
return
{
// 查询
orderQueryObj
:
{
activity_name
:
""
,
// 活动名称
marketing_id
:
""
,
// 活动名称
order_status
:
"0"
,
// 订单状态
trade_name
:
""
,
// 商品名称
c
onsignee
:
""
,
// 收货人
order_
no
:
""
,
// 订单编号
s
elf_lifting_point
:
""
,
// 自提点
goods_id
:
""
,
// 商品名称
c
ust_user
:
""
,
// 收货人
order_
id
:
""
,
// 订单编号
s
ub_shop_id
:
""
,
// 自提点
},
// 下拉框数据
// 活动名称
activityNameArr
:
[],
...
...
@@ -149,24 +306,25 @@ export default {
},
{
value
:
"1"
,
label
:
"
已
支付"
,
label
:
"
未
支付"
,
},
{
value
:
"2"
,
label
:
"
未
支付"
,
label
:
"
已
支付"
,
},
{
value
:
"3"
,
label
:
"
已
退款"
,
label
:
"
待
退款"
,
},
{
value
:
"4"
,
label
:
"
待
退款"
,
label
:
"
已
退款"
,
},
{
value
:
"5"
,
label
:
"退款中"
,
},
{
value
:
"6"
,
label
:
"已拒绝"
,
...
...
@@ -178,7 +336,7 @@ export default {
selLiftPoinArr
:
[],
activeName
:
"all"
,
// Tabs标签页
goodsNum
:
"
2
"
,
// 商品总计
goodsNum
:
""
,
// 商品总计
// 导出
exportShow
:
false
,
...
...
@@ -186,6 +344,31 @@ export default {
exportSel
:
{
type
:
[],
},
// 表格数据
orderTableData
:
[],
params
:
{
page
:
1
,
page_size
:
10
,
},
totalNum
:
null
,
//总条数
// 退款
refundShow
:
false
,
// 退款状态
checkAll
:
false
,
// 全选
isIndeterminate
:
false
,
refundGoods
:
[
{
refundedGoodsSel
:
false
,
goods_name
:
""
,
price
:
""
,
// 单价
goods_num
:
""
,
// 数量
payment
:
""
,
// 实付
refundableQuantity
:
""
,
refundAmount
:
""
,
ipt
:
""
,
},
],
};
},
methods
:
{
...
...
@@ -202,7 +385,7 @@ export default {
// 获取商品名称
async
activityNameSel
(
val
)
{
this
.
orderQueryObj
.
trade_name
=
""
;
this
.
orderQueryObj
.
goods_id
=
""
;
const
params
=
{
marketing_id
:
val
,
};
...
...
@@ -225,32 +408,142 @@ export default {
// 重置
resetOrder
(
formName
)
{
this
.
$refs
[
formName
].
resetFields
();
this
.
params
.
page
=
1
;
this
.
params
.
page_size
=
10
;
Object
.
assign
(
this
.
params
,
this
.
orderQueryObj
);
this
.
getOrderListMet
(
this
.
params
);
},
// 搜索
searchOrder
()
{
console
.
log
(
this
.
orderQueryObj
);
this
.
params
.
page
=
1
;
this
.
params
.
page_size
=
10
;
Object
.
assign
(
this
.
params
,
this
.
orderQueryObj
);
this
.
getOrderListMet
(
this
.
orderQueryObj
);
},
// 标签页切换
handleClick
(
targetName
,
action
)
{
console
.
log
(
targetName
,
action
);
handleClick
(
targetName
)
{
if
(
targetName
.
props
.
name
==
"all"
)
{
this
.
orderQueryObj
.
order_status
=
"0"
;
this
.
orderStatusArr
[
1
].
disabled
=
true
;
this
.
orderStatusArr
[
2
].
disabled
=
true
;
}
else
{
this
.
orderQueryObj
.
order_status
=
"7"
;
this
.
orderStatusArr
[
1
].
disabled
=
true
;
this
.
orderStatusArr
[
2
].
disabled
=
true
;
}
Object
.
assign
(
this
.
params
,
this
.
orderQueryObj
);
this
.
getOrderListMet
(
this
.
orderQueryObj
);
},
// 导出
exportOrder
()
{
this
.
exportShow
=
true
;
},
// 确认导出
confirmExport
()
{},
async
confirmExport
()
{
console
.
log
(
this
.
exportSel
.
type
);
const
params
=
{
type
:
this
.
exportSel
.
type
,
};
const
res
=
await
orderExport
(
params
);
console
.
log
(
res
);
},
// 打印
printOrder
()
{},
async
printOrder
()
{
const
params
=
{
marketing_id
:
this
.
orderQueryObj
.
marketing_id
,
};
const
res
=
await
orderPrint
(
params
);
console
.
log
(
res
);
},
// 获取订单列表
async
getOrderListMet
()
{
try
{
const
res
=
await
getOrderList
(
this
.
params
);
console
.
log
(
res
);
this
.
goodsNum
=
res
.
count
;
this
.
totalNum
=
res
.
count
;
this
.
orderTableData
=
res
.
result
;
}
catch
(
error
)
{
this
.
$message
.
error
(
"发生未知错误,请稍后再试一下吧~~~"
);
console
.
error
(
error
);
}
},
//列表分页
update
(
obj
)
{
Object
.
assign
(
this
.
params
,
obj
);
// let { page, page_size } = this.parmas;
this
.
getOrderListMet
(
this
.
parmas
);
},
// 拒绝
refuse
(
val
)
{
console
.
log
(
val
);
this
.
$confirm
(
"确定要拒绝退款么?"
,
"拒绝"
,
{
cancelButtonText
:
"取消"
,
confirmButtonText
:
"确定"
,
})
.
then
(()
=>
{
const
params
=
{
order_id
:
val
.
order_id
,
};
const
res
=
orderRefundReject
(
params
);
console
.
log
(
res
);
this
.
$message
({
type
:
"success"
,
message
:
"退款成功!"
,
});
})
.
catch
(()
=>
{
this
.
$message
({
type
:
"info"
,
message
:
"已取消"
,
});
});
},
// 同意
agree
(
val
)
{
console
.
log
(
val
);
},
// 全选
handleCheckAllChange
(
val
)
{
console
.
log
(
val
);
this
.
refundGoods
.
refundedGoodsSel
=
val
;
this
.
isIndeterminate
=
false
;
},
// 退款
async
refund
(
val
)
{
this
.
refundShow
=
true
;
const
params
=
{
order_id
:
val
.
order_id
,
};
const
res
=
await
orderItemList
(
params
);
console
.
log
(
res
.
result
);
this
.
refundGoods
=
res
.
result
;
},
// 退款确认
async
refundConfirm
()
{
const
params
=
{
order_id
:
""
,
refund_list
:
""
,
order_item_id
:
""
,
refund_num
:
""
,
refund_amount
:
""
,
};
const
res
=
await
orderRefund
(
params
);
console
.
log
(
res
);
},
},
created
()
{
this
.
getMarketingListMet
();
this
.
getSubShopListMet
();
this
.
getOrderListMet
();
},
};
</
script
>
...
...
src/service/Groupmeal/groupmeal.js
View file @
0738ebd6
...
...
@@ -48,3 +48,43 @@ export async function getSubShopList() {
const
res
=
await
axios
.
get
(
"/api/v1/order/background/sub_shop_list"
);
return
res
;
}
// 导出订单
export
async
function
orderExport
(
params
)
{
const
res
=
await
axios
.
get
(
"/api/v1/order/background/order_export"
,{
params
});
return
res
;
}
// 打印订单
export
async
function
orderPrint
(
params
)
{
const
res
=
await
axios
.
get
(
"/api/v1/order/background/print"
,{
params
});
return
res
;
}
// 订单退款列表
export
async
function
orderItemList
(
params
)
{
const
res
=
await
axios
.
get
(
"/api/v1/order/background/order_item_list"
,{
params
});
return
res
;
}
// 订单退款
export
async
function
orderRefund
(
params
)
{
const
res
=
await
axios
.
get
(
"/api/v1/order/background/order_refund"
,{
params
});
return
res
;
}
// 订单驳回
export
async
function
orderRefundReject
(
params
)
{
const
res
=
await
axios
.
get
(
"/api/v1/order/background/order_refund_reject"
,{
params
});
return
res
;
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment