Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
confucius
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
罗超
confucius
Commits
72c300d0
Commit
72c300d0
authored
Jul 01, 2021
by
罗超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1
parent
f28105ab
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
2410 additions
and
466 deletions
+2410
-466
activeOrder-form.vue
src/components/sale/activeOrder-form.vue
+17
-419
activeOrder-item.vue
src/components/sale/activeOrder-item.vue
+1606
-0
activeOrderList.vue
src/pages/sale/activeOrderList.vue
+119
-0
activeOrderStatistics.vue
src/pages/sale/activeOrderStatistics.vue
+348
-0
activityList.vue
src/pages/sale/activityList.vue
+15
-46
myActiveOrder.vue
src/pages/sale/myActiveOrder.vue
+289
-0
routes.js
src/router/routes.js
+16
-1
No files found.
src/components/sale/activeOrder-form.vue
View file @
72c300d0
This diff is collapsed.
Click to expand it.
src/components/sale/activeOrder-item.vue
0 → 100644
View file @
72c300d0
This diff is collapsed.
Click to expand it.
src/pages/sale/activeOrderList.vue
View file @
72c300d0
<
template
>
<div
class=
"page-body myOrder"
>
<div
class=
"row col"
style=
"height: 40px"
>
<div
class=
"row col"
style=
"justify-content: space-between;align-items: center;margin-bottom: 10px"
>
<div>
<template
v-if=
"data&& data.ClassInfo"
>
{{
data
.
ClassInfo
.
ClassName
}}
</
template
>
</div>
<div
class=
"row"
style=
"align-items: center"
>
<span>
带班老师
</span>
<q-avatar
size=
"sm"
style=
"margin:0 5px;"
v-if=
"data.ClassInfo&&data.ClassInfo.TeacherIcon"
>
<img
:src=
"data.ClassInfo.TeacherIcon"
/>
</q-avatar>
<q-avatar
style=
"margin:0 5px;"
size=
"sm"
color=
"teal-10"
text-color=
"white"
v-else
>
<
template
v-if=
"data.ClassInfo&&data.ClassInfo.TeacherName"
>
{{
data
.
ClassInfo
.
TeacherName
.
substring
(
0
,
1
)
}}
</
template
>
</q-avatar>
<span
v-if=
"data&& data.ClassInfo"
style=
"color:#2961FE;font-weight: bold"
>
{{data.ClassInfo.TeacherName}}
</span>
</div>
</div>
</div>
<div
class=
"page-content"
>
<OrderItem
:dataList=
"dataList"
ref=
"orderL"
:authObj=
"authObj"
:modityOrderType=
"2"
:cancelList=
"CancelList"
@
success=
"refreshClassOrder"
></OrderItem>
</div>
</div>
</template>
<
script
>
import
{
quertClassOrderList
}
from
'../../api/sale/sale'
;
import
OrderItem
from
'../../components/sale/activeOrder-item.vue'
export
default
{
components
:
{
OrderItem
},
data
()
{
return
{
data
:
{},
msg
:
{
Id
:
0
},
//正常订单
dataList
:
[],
//取消订单
CancelList
:
[],
//权限判断
authObj
:
{
isShowName
:
true
,
//不显示班级名称
isShowEditSale
:
true
,
//显示修改销售按钮
isShowEducationRemark
:
true
,
//显示修改教务备注
isShowPrincipalRemark
:
true
,
//显示校长备注
isShowManagerRemark
:
true
,
//显示总经理备注
isShowCommissionEdit
:
true
,
//显示修改提成按钮
isShowRewardEdit
:
true
,
//显示修改额外提成按钮
}
}
},
created
()
{
if
(
this
.
$route
.
query
.
Id
)
{
this
.
msg
.
Id
=
this
.
$route
.
query
.
Id
}
// this.getList();
},
mounted
()
{
},
methods
:
{
//获取菜单分页列表
getList
()
{
this
.
loading
=
true
;
quertClassOrderList
(
this
.
msg
).
then
(
res
=>
{
this
.
data
=
res
.
Data
;
if
(
this
.
data
&&
this
.
data
.
OrderList
&&
this
.
data
.
OrderList
.
NorList
)
{
this
.
dataList
=
this
.
data
.
OrderList
.
NorList
;
let
OrderIds
=
[]
this
.
dataList
.
forEach
(
x
=>
{
OrderIds
.
push
(
x
.
OrderId
)
})
if
(
OrderIds
.
length
>
0
)
{
OrderIds
=
OrderIds
.
join
(
','
)
if
(
this
.
dataList
.
length
>
0
)
{
this
.
$refs
.
orderL
.
getOrderFinanceList
(
OrderIds
,
1
)
}
}
}
if
(
this
.
data
&&
this
.
data
.
OrderList
&&
this
.
data
.
OrderList
.
CancelList
)
{
this
.
CancelList
=
this
.
data
.
OrderList
.
CancelList
;
let
OrderIds
=
[]
this
.
CancelList
.
forEach
(
x
=>
{
OrderIds
.
push
(
x
.
OrderId
)
})
if
(
OrderIds
.
length
>
0
)
{
OrderIds
=
OrderIds
.
join
(
','
)
if
(
this
.
CancelList
.
length
>
0
)
{
this
.
$refs
.
orderL
.
getOrderFinanceList
(
OrderIds
,
2
)
}
}
}
this
.
loading
=
false
}).
catch
(()
=>
{
this
.
loading
=
false
})
},
//刷新页面
refreshClassOrder
()
{
this
.
getList
();
}
}
}
</
script
>
<
style
>
</
style
>
src/pages/sale/activeOrderStatistics.vue
0 → 100644
View file @
72c300d0
This diff is collapsed.
Click to expand it.
src/pages/sale/activityList.vue
View file @
72c300d0
...
...
@@ -190,7 +190,7 @@
<div
class=
"col-2 q-table__title"
>
活动列表
</div>
<q-space
/>
<div
class=
"page-option"
>
<
q-btn
color=
"accent"
size=
"sm"
class=
"q-mr-md"
icon=
"add"
label=
"新增"
@
click=
"editQuotation(null)"
/
>
<
!--
<q-btn
color=
"accent"
size=
"sm"
class=
"q-mr-md"
icon=
"add"
label=
"新增"
@
click=
"editQuotation(null)"
/>
--
>
</div>
</
template
>
<
template
v-slot:body-cell-activeName=
"props"
>
...
...
@@ -247,9 +247,10 @@
<
template
v-slot:body-cell-optioned=
"props"
>
<q-td
:props=
"props"
>
<div>
<q-btn
flat
size=
"xs"
icon=
"edit"
color=
"accent"
style=
"font-weight:400"
label=
"订单"
@
click=
''
/>
<q-btn
size=
"xs"
class=
"q-mb-xs"
color=
"accent"
style=
"font-weight:400;display:block;"
label=
"立即下单"
@
click=
'editQuotation(props.row)'
/>
<q-btn
size=
"xs"
color=
"accent"
style=
"font-weight:400"
label=
"订单中心"
@
click=
'goUrl(props.row)'
/>
</div>
</q-td>
</
template
>
...
...
@@ -260,8 +261,7 @@
</q-table>
</div>
<!-- 新增修改活动类型 -->
<ActiveOrderForm
v-if=
"showForm"
:save-obj=
"orderObj"
:orderType=
"1"
:modityOrderType=
"1"
:isChaBan=
"isChaBan"
@
close=
"closeOrderSaveForm"
@
success=
"refreshOrder"
>
<ActiveOrderForm
v-if=
"showForm"
:save-obj=
"orderObj"
@
close=
"closeruleset"
@
success=
"refreshPage"
>
</ActiveOrderForm>
</div>
...
...
@@ -369,15 +369,6 @@ import ActiveOrderForm from '../../components/sale/activeOrder-form.vue'
align
:
"left"
}
],
// //报名列表
// dialogTableVisible: false, //是否显示弹窗
// joinData: [], //报名信息
// joinMsg: {
// LinkMan: '',
// EnrollState: 1,
// ActivityId: 0
// },
showForm
:
false
,
typeObj
:{}
}
...
...
@@ -388,12 +379,6 @@ import ActiveOrderForm from '../../components/sale/activeOrder-form.vue'
this
.
getActiveTypeList
();
},
methods
:
{
// getItem(item) {
// this.joinMsg.ActivityId = item.Id;
// this.getJoinData();
// },
//获取活动类型下拉
getActiveTypeList
(){
this
.
apipostDS
(
"/api/Education/GetCommerceActivityTypeList"
,{},(
res
)
=>
{
...
...
@@ -440,14 +425,10 @@ import ActiveOrderForm from '../../components/sale/activeOrder-form.vue'
this
.
showForm
=
false
;
this
.
getList
();
},
//显示
修改
//显示
下单
editQuotation
(
item
)
{
this
.
showForm
=
true
;
if
(
item
)
{
this
.
typeObj
=
item
;
}
else
{
this
.
typeObj
=
{};
}
this
.
orderObj
=
item
},
//重新查询
resetSearch
()
{
...
...
@@ -463,29 +444,17 @@ import ActiveOrderForm from '../../components/sale/activeOrder-form.vue'
closeruleset
()
{
this
.
showForm
=
false
;
},
goUrl
(
url
,
item
,
type
=
0
){
if
(
type
===
1
){
//跳转到订单中心
goUrl
(
item
)
{
var
tempStr
=
'/sale/activeOrderList?Id='
+
item
.
Id
;
this
.
$router
.
push
({
path
:
url
,
query
:{
name
:
item
.
ActivityName
}
})
}
else
{
this
.
$router
.
push
({
path
:
url
,
query
:{
Id
:
item
.
Id
}
})
}
}
path
:
tempStr
});
},
}
}
</
script
>
<
style
lang=
"sass"
>
@import
url('~assets/css/table.sass')
</
style
>
src/pages/sale/myActiveOrder.vue
0 → 100644
View file @
72c300d0
<
template
>
<div
class=
"page-body myOrder"
>
<div
style=
"width: 100%;display: flex;justify-content: space-between"
>
<span
style=
"font-size: 20px;font-weight: 400; "
>
活动报名订单
</span>
</div>
<div
class=
"page-search row items-center"
>
<div
class=
"col row wrap q-mr-lg q-col-gutter-md"
>
<div
class=
"col-3"
>
<q-input
@
change=
"resetSearch"
clearable
standout=
"bg-primary text-white"
v-model=
"msg.ActivityName"
label=
"活动名称"
@
clear=
"resetSearch"
maxlength=
"20"
/>
</div>
<div
class=
"col-3"
>
<q-input
@
change=
"resetSearch"
clearable
standout=
"bg-primary text-white"
type=
"number"
v-model=
"msg.Id"
label=
"订单号"
@
clear=
"resetSearch"
maxlength=
"20"
/>
</div>
<div
class=
"col-3"
>
<q-input
@
change=
"resetSearch"
clearable
standout=
"bg-primary text-white"
v-model=
"msg.LinkMan"
label=
"联系人"
@
clear=
"resetSearch"
maxlength=
"20"
/>
</div>
<div
class=
"col-3"
>
<q-select
@
input=
"resetSearch"
standout=
"bg-primary text-white"
option-value=
"Id"
option-label=
"Name"
v-model=
"msg.EnrollState"
:options=
"EnrollStateOpt"
emit-value
map-options
label=
"报名状态"
/>
</div>
<div
class=
"col-3"
>
<q-field
filled
>
<template
v-slot:control
>
<el-date-picker
v-model=
"dateList"
@
change=
"resetSearch()"
value-format=
"yyyy-MM-dd"
type=
"daterange"
style=
"border:none;"
range-separator=
"至"
start-placeholder=
"报名开始时间"
end-placeholder=
"报名结束时间"
>
</el-date-picker>
</
template
>
</q-field>
</div>
<div
class=
"col-3"
>
<q-field
filled
>
<
template
v-slot:control
>
<el-date-picker
v-model=
"dateList2"
@
change=
"resetSearch()"
value-format=
"yyyy-MM-dd"
type=
"daterange"
style=
"border:none;"
range-separator=
"至"
start-placeholder=
"活动开始时间"
end-placeholder=
"活动结束时间"
>
</el-date-picker>
</
template
>
</q-field>
</div>
</div>
</div>
<div
class=
"col row wrap q-gutter-x-md"
v-if=
"data.Statistics"
>
<div
class=
"col stics"
>
<span
class=
"stics-name"
>
应收款
</span>
<span>
{{data.Statistics.PreferPrice?data.Statistics.PreferPrice:0}}
</span>
</div>
<div
class=
"col stics"
>
<span
class=
"stics-name"
>
实收款
</span>
<span>
{{data.Statistics.Income}}
</span>
</div>
<div
class=
"col stics"
>
<span
class=
"stics-name"
>
待收款
</span>
<span
style=
"color: #F72E52"
>
{{data.Statistics.DueInMoney}}
</span>
</div>
<div
class=
"col stics"
>
<span
class=
"stics-name"
>
收客人数
</span>
<span
style=
"color:#2961FE;"
>
{{data.Statistics.GuestNum}}人
</span>
</div>
<div
class=
"col stics"
>
<span
class=
"stics-name"
>
取消人数
</span>
<span>
{{data.Statistics.CancelNum}}人
</span>
</div>
<div
class=
"col stics"
>
<span
class=
"stics-name"
>
提成金额
</span>
<span>
{{data.Statistics.CommissionMoney}}
</span>
</div>
<div
class=
"col stics"
>
<span
class=
"stics-name"
>
额外奖励
</span>
<span>
{{data.Statistics.ExtraRewardMoney}}
</span>
</div>
</div>
<div
class=
"row col"
style=
"justify-content: flex-end"
>
<div
class=
"row tis"
>
<div
class=
"tis-k"
style=
"background: #2961FE"
></div>
<span>
已打单
</span>
</div>
<div
class=
"row tis"
>
<div
class=
"tis-k"
style=
"background: #02C499"
></div>
<span>
平台出纳已审核
</span>
</div>
<div
class=
"row tis"
>
<div
class=
"tis-k"
style=
"background: #F28C1D"
></div>
<span>
银行出纳已审核
</span>
</div>
<div
class=
"row tis"
>
<div
class=
"tis-k"
style=
"background: #3FC4FF"
></div>
<span>
已通过
</span>
</div>
</div>
<div
class=
"page-content"
>
<activeOrder
:dataList=
"data.List"
:authObj=
"authObj"
@
success=
"refreshClassOrder"
:modityOrderType=
"1"
ref=
"orderL"
>
</activeOrder>
<div
class=
"row"
style=
"justify-content: flex-end;padding: 5px 20px"
>
<q-pagination
v-model=
"msg.pageIndex"
:max=
"pageCount"
@
input=
"changePage"
class=
"full-width justify-end"
color=
"primary"
:input=
"true"
>
</q-pagination>
</div>
</div>
</div>
</template>
<
script
>
// import myOrderForm from '../../components/sale/myOrder-form'
import
activeOrder
from
'../../components/sale/activeOrder-item'
export
default
{
meta
:
{
title
:
"我的活动订单"
},
components
:
{
// myOrderForm,
activeOrder
},
data
()
{
return
{
dialog
:
false
,
data
:
{},
loading
:
false
,
dateList
:
[],
//报名时间
dateList2
:
[],
//开班时间
msg
:
{
pageIndex
:
1
,
pageSize
:
8
,
Id
:
""
,
//活动id
ActivityName
:
""
,
//活动名称
EduUserId
:
0
,
//销售id
CreateStartTime
:
""
,
//报名开始时间
CreateEndTime
:
""
,
//报名结束时间
StartTime
:
""
,
//活动开始时间
EndTime
:
""
,
//活动结束时间
EnrollState
:
3
,
//报名状态
LinkMan
:
""
,
//联系人
},
EnrollStateOpt
:
[
//报名状态列表
{
Name
:
"正常"
,
Id
:
1
},
{
Name
:
"取消"
,
Id
:
2
},
{
Name
:
"查询所有"
,
Id
:
3
},
],
pageCount
:
1
,
showone
:
false
,
//权限判断
authObj
:
{
isShowGuestBtn
:
1
,
//显示新增学员名单按钮
isShowFinanceBtn
:
true
,
//显示财务单据按钮
isShowTransOrder
:
true
,
//显示转交订单按钮
isShowSaleRemark
:
true
,
//显示修改销售备注
isShowBackClass
:
true
,
//显示退课按钮
isShowRenewClass
:
true
,
//显示续课按钮
}
}
},
created
()
{
let
data
=
JSON
.
parse
(
localStorage
.
getItem
(
"loginUserInfo"
)).
data
this
.
msg
.
EduUserId
=
data
.
Id
},
mounted
()
{
this
.
getList
();
},
methods
:
{
//翻页
changePage
(
val
)
{
if
(
this
.
showone
==
true
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
getList
()
}
else
{
this
.
showone
=
true
}
},
resetSearch
()
{
this
.
msg
.
pageIndex
=
1
;
this
.
getList
()
},
//获取订单列表
getList
()
{
if
(
this
.
dateList
&&
this
.
dateList
.
length
>
0
)
{
this
.
msg
.
CreateStartTime
=
this
.
dateList
[
0
];
this
.
msg
.
CreateEndTime
=
this
.
dateList
[
1
];
}
else
{
this
.
msg
.
CreateStartTime
=
''
;
this
.
msg
.
CreateEndTime
=
''
;
}
if
(
this
.
dateList2
&&
this
.
dateList2
.
length
>
0
)
{
this
.
msg
.
StartTime
=
this
.
dateList2
[
0
];
this
.
msg
.
EndTime
=
this
.
dateList2
[
1
];
}
else
{
this
.
msg
.
StartTime
=
''
;
this
.
msg
.
EndTime
=
''
;
}
let
msg
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
msg
));
if
(
msg
.
Id
==
''
||
msg
.
Id
==
null
)
{
msg
.
Id
=
0
}
this
.
loading
=
true
;
this
.
apipostDS
(
"/api/Education/GetConsultOrderStatisticsPage"
,
msg
,
(
res
)
=>
{
this
.
loading
=
false
if
(
res
.
data
.
resultCode
===
1
)
{
console
.
log
(
319
,
res
.
data
)
this
.
data
=
res
.
data
.
pageData
;
let
OrderIds
=
[]
// this.data.forEach(x => {
// OrderIds.push(x.Id)
// })
// OrderIds = OrderIds.join(',')
// if (this.data.length > 0) {
// this.$refs.orderL.getOrderFinanceList(OrderIds, 1)
// }
this
.
pageCount
=
res
.
data
.
pageCount
;
}
})
},
//刷新页面
refreshClassOrder
()
{
this
.
getList
();
},
}
}
</
script
>
<
style
>
li
{
list-style-type
:
none
;
}
.myOrder
ul
{
padding
:
0px
}
.myOrder
.price-popup
{
border-radius
:
4px
;
}
.myOrder
.el-range-editor
.el-range-input
{
background
:
transparent
;
}
.myOrder
.el-range-editor.el-input__inner
{
background-color
:
transparent
;
}
.myOrder
.q-mb-md
{
margin-bottom
:
0
;
}
.myOrder
.stics
{
padding
:
10px
20px
;
background
:
#DDDEE0
;
border-radius
:
4px
;
font-size
:
14px
;
color
:
#000000
;
font-weight
:
bold
}
.myOrder
.stics
.stics-name
{
color
:
#2D2D2D
;
font-weight
:
600
;
margin-right
:
10px
}
.myOrder
.tis
{
margin
:
10px
0
;
align-items
:
center
}
.myOrder
.tis
.tis-k
{
width
:
10px
;
height
:
10px
;
margin-right
:
8px
}
.myOrder
.tis
span
{
font-size
:
14px
;
color
:
#2D2D2D
;
font-weight
:
600
;
margin-right
:
20px
}
</
style
>
src/router/routes.js
View file @
72c300d0
...
...
@@ -676,6 +676,21 @@ const routes = [{
component
:
()
=>
import
(
"pages/sale/activityList.vue"
)
},
{
path
:
"/sale/activeOrderList"
,
//销售 活动订单中心
component
:
()
=>
import
(
"pages/sale/activeOrderList.vue"
)
},
{
path
:
"/sale/myActiveOrder"
,
//销售 我的活动订单
component
:
()
=>
import
(
"pages/sale/myActiveOrder.vue"
)
},
{
path
:
"/sale/activeOrderStatistics"
,
//销售 活动订单统计
component
:
()
=>
import
(
"pages/sale/activeOrderStatistics.vue"
)
},
{
path
:
"/activity/activeType"
,
//活动 活动类型
component
:
()
=>
...
...
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