Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
SuperMan
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
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
罗超
SuperMan
Commits
b2b19e8e
Commit
b2b19e8e
authored
May 22, 2023
by
youjie
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
销售 预期销售提成
parent
4af9e597
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
1048 additions
and
54 deletions
+1048
-54
Saleshomepage_1920.css
src/assets/css/home/Saleshomepage_1920.css
+9
-4
ServiceCommissionUser.vue
...nancialModule/ServiceCommission/ServiceCommissionUser.vue
+17
-9
TicketUserDetails.vue
...nts/FinancialModule/TradeCommission/TicketUserDetails.vue
+25
-25
domesticCommissionUser.vue
src/components/FinancialModule/domesticCommissionUser.vue
+17
-7
ExpectedCommission.vue
src/components/sale/ExpectedCommission.vue
+474
-0
OrderList.vue
src/components/sale/components/OrderList.vue
+122
-0
notification.vue
src/components/sale/components/notification.vue
+101
-0
progressComm.vue
src/components/sale/components/progressComm.vue
+209
-0
sale.vue
src/components/sale/sale.vue
+64
-7
config.js
src/router/config.js
+10
-2
No files found.
src/assets/css/home/Saleshomepage_1920.css
View file @
b2b19e8e
...
...
@@ -8,15 +8,20 @@
.saleChartCont
{
width
:
100%
;
height
:
95%
;
box-sizing
:
border-box
;}
.personal
{
width
:
100%
;
height
:
100%
;}
.PersonalData
{
width
:
100%
;
height
:
350px
;
background
:
white
;
margin-top
:
10px
}
.PersonalData_l
{
width
:
100%
;
height
:
3
50
px
;
overflow-x
:
auto
;
padding
:
20px
}
.PersonalData_l
.l_top
{
width
:
700px
;
height
:
1
00
px
;}
.PersonalData_l
{
width
:
100%
;
height
:
3
68
px
;
overflow-x
:
auto
;
padding
:
20px
}
.PersonalData_l
.l_top
{
width
:
700px
;
height
:
1
18
px
;}
.l_top
.tx_img
{
width
:
94px
;
height
:
94px
;
border-radius
:
50%
;
overflow
:
hidden
;
float
:
left
}
.l_top
.img
{
width
:
80px
;
height
:
70px
;
margin-left
:
90px
;
float
:
left
;
margin-top
:
15px
}
.l_top
.img
{
width
:
60px
;
height
:
60px
;
margin-left
:
10px
;
/* margin-left: 90px; */
float
:
left
;
margin-top
:
15px
}
.p_name
{
margin-left
:
17px
;
margin-top
:
25px
;
float
:
left
}
.p_name
span
:nth-child
(
1
)
{
font-size
:
18px
;
color
:
#333333
;
display
:
block
}
.p_name
span
:nth-child
(
2
)
{
font-size
:
12px
;
color
:
#333333
;
margin-top
:
5px
;
display
:
block
}
.l_top
.royalty
{
margin-left
:
30px
;
float
:
left
;
margin-top
:
17px
;
display
:
flex
;
flex-direction
:
column
}
.l_top
.royalty
.tc
{
display
:
flex
;
flex-direction
:
row
;
align-items
:
flex-start
}
.l_top
.royalty
.tc
{
display
:
flex
;
flex-direction
:
column
;
align-items
:
flex-start
}
.l_top
.royalty
.tc
span
:nth-child
(
1
)
{
font-size
:
14px
;
color
:
#333333
;
margin-top
:
8px
;
margin-right
:
5px
}
.l_top
.royalty
.tc
span
:nth-child
(
2
)
{
font-size
:
36px
;
color
:
#333333
;
font-weight
:
bold
}
.order
{
width
:
700px
;
height
:
205px
;
background
:
#F5F5F5
;
margin-top
:
5px
;
padding
:
20px
}
...
...
src/components/FinancialModule/ServiceCommission/ServiceCommissionUser.vue
View file @
b2b19e8e
...
...
@@ -26,7 +26,14 @@
<div
class=
"flexOne domesticCommissionUser"
>
<div>
<ul
class=
"opUl"
>
<li>
<em>
期数
</em>
<el-select
v-model=
"msg.PeriodId"
size=
"mini"
@
change=
"handleCurrentChange(1)"
>
<el-option
label=
"不限"
:value=
"0"
></el-option>
<el-option
v-for=
"(item,index) in PeriodsList"
:key=
"item.index"
:label=
"item.Name"
:value=
"item.Id"
>
</el-option>
</el-select>
</li>
<li>
<em>
人员
</em>
<el-select
v-model=
"msg.UserId"
size=
"mini"
@
change=
"handleCurrentChange(1)"
filterable
:disabled=
'disabled'
>
...
...
@@ -68,7 +75,7 @@
</el-select>
</li>
-->
</ul>
</div>
<table
v-loading=
"loading"
class=
"singeRowTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
...
...
@@ -157,8 +164,7 @@
if
(
this
.
$route
.
query
&&
this
.
$route
.
query
.
Type
)
{
this
.
msg
.
Type
=
this
.
$route
.
query
.
Type
}
this
.
getList
();
// this.getqishilist()
this
.
getqishilist
()
this
.
getCompanyList
()
//获取公司
this
.
getEmployee
()
//人员
this
.
getDerpartMent
()
//部门
...
...
@@ -218,15 +224,17 @@
},
getqishilist
()
{
this
.
apipost
(
"sellcommission_Get
GN
CommissionPeriodsList"
,
"sellcommission_Get
Dx
CommissionPeriodsList"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
PeriodsList
=
res
.
data
.
data
;
if
(
this
.
PeriodsList
&&
this
.
PeriodsList
.
length
>
0
)
{
// this.msg.Periods = Number(this.PeriodsList[0].Id)
if
(
!
this
.
$route
.
query
.
PeriodId
||
this
.
$route
.
query
.
isSale
){
this
.
msg
.
PeriodId
=
this
.
PeriodsList
[
0
].
Id
}
}
this
.
getList
()
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
...
...
@@ -247,7 +255,7 @@
PeriodId
:
this
.
$route
.
query
.
PeriodId
,
UserId
:
item
.
UserId
,
RB_Branch_Id
:
item
.
RB_Branch_Id
,
RB_Department_Id
:
item
.
RB_Department_Id
,
RB_Department_Id
:
item
.
RB_Department_Id
,
blank
:
'y'
,
Type
:
this
.
msg
.
Type
,
tab
:
'单项服务提现详情'
,
...
...
@@ -275,4 +283,4 @@
}
}
</
script
>
\ No newline at end of file
</
script
>
src/components/FinancialModule/TradeCommission/TicketUserDetails.vue
View file @
b2b19e8e
...
...
@@ -58,7 +58,7 @@
flex
:
1
;
display
:
flex
;
flex-direction
:
row
;
}
.relative-position
{
flex
:
1
;
...
...
@@ -89,7 +89,7 @@
display
:
flex
;
flex-wrap
:
wrap
;
justify-content
:
center
;
}
.sanjiao
{
width
:
0
;
...
...
@@ -128,13 +128,13 @@
<ul
class=
"opUl"
>
<li>
<em>
出团公司
</em>
<el-select
filterable
size=
"mini"
v-model=
'msg.OutBranchId'
<el-select
filterable
size=
"mini"
v-model=
'msg.OutBranchId'
@
change=
'handleCurrentChange(1)'
:disabled=
"disabled"
>
<el-option
label=
"不限"
:value=
"-1"
:key=
"-1"
></el-option>
<el-option
v-for=
"item in companyList"
:label=
'item.BName'
:value=
'item.Id'
:label=
'item.BName'
:value=
'item.Id'
:key=
'item.Id'
></el-option>
</el-select>
...
...
@@ -149,24 +149,24 @@
</li>
<li>
<em>
所属公司
</em>
<el-select
filterable
size=
"mini"
v-model=
'msg.RB_Branch_Id'
<el-select
filterable
size=
"mini"
v-model=
'msg.RB_Branch_Id'
@
change=
'getDepartment();handleCurrentChange(1)'
:disabled=
"disabled"
>
<el-option
label=
"不限"
:value=
"-1"
:key=
"-1"
></el-option>
<el-option
v-for=
"item in companyList"
:label=
'item.BName'
:value=
'item.Id'
:label=
'item.BName'
:value=
'item.Id'
:key=
'item.Id'
></el-option>
</el-select>
</li>
<li>
<em>
部门
</em>
<el-select
filterable
size=
"mini"
v-model=
'msg.RB_Department_Id'
<el-select
filterable
size=
"mini"
v-model=
'msg.RB_Department_Id'
@
change=
'getEmployee();handleCurrentChange(1)'
>
<el-option
label=
"不限"
:value=
"-1"
></el-option>
<el-option
v-for=
'item in departmentList'
<el-option
v-for=
'item in departmentList'
:label=
'item.DepartmentName'
:value=
'item.DepartmentID'
:key=
'item.DepartmentID'
>
...
...
@@ -175,7 +175,7 @@
</li>
<li>
<em>
人员
</em>
<el-select
v-model=
"msg.UserId"
size=
"mini"
<el-select
v-model=
"msg.UserId"
size=
"mini"
@
change=
"handleCurrentChange(1)"
:disabled=
"disabled"
filterable
>
<el-option
label=
"不限"
:value=
"-1"
></el-option>
<el-option
label=
"微途"
:value=
"-2"
></el-option>
...
...
@@ -183,12 +183,12 @@
:value=
"item.empId"
></el-option>
</el-select>
</li>
<!--
<li
style=
"position: fixed;right: 0;top: 51px;"
>
<input
type=
"button"
class=
"normalBtn"
value=
"导出"
@
click=
"exportExcel"
>
</li>
-->
</ul>
</div>
<table
v-loading=
"loading"
class=
"singeRowTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
...
...
@@ -240,7 +240,7 @@
import
moment
from
"moment"
export
default
{
components
:{
},
data
()
{
return
{
...
...
@@ -256,7 +256,7 @@
RB_Branch_Id
:
-
1
,
//公司ID
OutBranchId
:
-
1
,
//出团公司ID
},
loading
:
false
,
//数据源
dataList
:
[],
...
...
@@ -299,10 +299,10 @@
mounted
()
{
let
userInfo
=
this
.
getLocalStorage
();
let
ActionMenuCode
=
userInfo
.
ActionMenuCode
;
this
.
msg
.
PeriodId
=
this
.
$route
.
query
.
PeriodId
?
Number
(
this
.
$route
.
query
.
PeriodId
):
-
1
this
.
msg
.
OutBranchId
=
this
.
$route
.
query
.
RB_Branch_Id
>-
1
?
Number
(
this
.
$route
.
query
.
RB_Branch_Id
):
Number
(
userInfo
.
RB_Branch_id
)
this
.
msg
.
UserId
=
this
.
$route
.
query
.
UserId
?
Number
(
this
.
$route
.
query
.
UserId
):
Number
(
userInfo
.
EmployeeId
)
this
.
msg
.
UserId
=
this
.
$route
.
query
.
UserId
?
Number
(
this
.
$route
.
query
.
UserId
):
Number
(
userInfo
.
EmployeeId
)
if
(
ActionMenuCode
.
indexOf
(
'S_CheckBranchOrder'
)
!=
-
1
||
ActionMenuCode
.
indexOf
(
'S_CheckAllOrder'
)
!=-
1
||
ActionMenuCode
.
indexOf
(
'F_Query_AllIncomPay'
)
!=-
1
)
{
//是否有看所有人的权限
...
...
@@ -314,8 +314,8 @@
}
else
{
this
.
disabled
=
true
;
}
},
methods
:
{
getDepartment
()
{
...
...
@@ -325,7 +325,7 @@
this
.
departmentList
=
res
.
data
.
data
;
}
},
err
=>
{})
},
getCompany
(){
this
.
apipost
(
'admin_get_BranchGetList'
,
this
.
getCompanyMsg
,
res
=>
{
...
...
@@ -339,7 +339,7 @@
"sellcommission_GetTYSaleCommissionPeriodsList"
,{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
PeroidsList
=
res
.
data
.
data
;
if
(
!
this
.
$route
.
query
.
PeriodId
){
if
(
!
this
.
$route
.
query
.
PeriodId
||
this
.
$route
.
query
.
isSale
){
this
.
msg
.
PeriodId
=
this
.
PeroidsList
[
0
].
Id
}
this
.
getList
()
...
...
@@ -378,7 +378,7 @@
query
:
{
PeriodId
:
this
.
$route
.
query
.
PeriodId
,
// OutBranchId: item.RB_Branch_Id,
UserId
:
item
.
UserId
,
UserId
:
item
.
UserId
,
blank
:
'y'
,
tab
:
'同业提现详情'
}
...
...
@@ -409,4 +409,4 @@
}
}
</
script
>
\ No newline at end of file
</
script
>
src/components/FinancialModule/domesticCommissionUser.vue
View file @
b2b19e8e
...
...
@@ -26,7 +26,14 @@
<div
class=
"flexOne domesticCommissionUser"
>
<div>
<ul
class=
"opUl"
>
<li>
<em>
期数
</em>
<el-select
v-model=
"msg.PeriodId"
size=
"mini"
@
change=
"handleCurrentChange(1)"
>
<el-option
label=
"不限"
:value=
"0"
></el-option>
<el-option
v-for=
"(item,index) in PeriodsList"
:key=
"item.index"
:label=
"item.Name"
:value=
"item.Id"
>
</el-option>
</el-select>
</li>
<li>
<em>
人员
</em>
<el-select
v-model=
"msg.UserId"
size=
"mini"
@
change=
"handleCurrentChange(1)"
filterable
:disabled=
'disabled'
>
...
...
@@ -60,7 +67,7 @@
</el-select>
</li>
</ul>
</div>
<table
v-loading=
"loading"
class=
"singeRowTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
...
...
@@ -150,8 +157,8 @@
if
(
this
.
$route
.
query
&&
this
.
$route
.
query
.
PeriodId
)
{
this
.
msg
.
PeriodId
=
this
.
$route
.
query
.
PeriodId
}
this
.
get
List
();
// this.getqishilist()
this
.
get
qishilist
()
this
.
getCompanyList
()
//获取公司
this
.
getEmployee
()
//人员
this
.
getDerpartMent
()
//部门
...
...
@@ -217,8 +224,11 @@
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
PeriodsList
=
res
.
data
.
data
;
if
(
this
.
PeriodsList
&&
this
.
PeriodsList
.
length
>
0
)
{
// this.msg.Periods = Number(this.PeriodsList[0].Id)
if
(
!
this
.
$route
.
query
.
PeriodId
||
this
.
$route
.
query
.
isSale
){
this
.
msg
.
PeriodId
=
this
.
PeriodsList
[
0
].
Id
}
}
this
.
getList
();
}
else
{
this
.
Error
(
res
.
data
.
message
);
...
...
@@ -240,7 +250,7 @@
PeriodId
:
this
.
$route
.
query
.
PeriodId
,
UserId
:
item
.
UserId
,
RB_Branch_Id
:
item
.
RB_Branch_Id
,
RB_Department_Id
:
item
.
RB_Department_Id
,
RB_Department_Id
:
item
.
RB_Department_Id
,
blank
:
'y'
,
tab
:
'国内提现详情'
}
...
...
@@ -267,4 +277,4 @@
}
}
</
script
>
\ No newline at end of file
</
script
>
src/components/sale/ExpectedCommission.vue
0 → 100644
View file @
b2b19e8e
<
style
scoped
>
.ExpectedCommission-form
{
padding
:
10px
20px
0
20px
;
}
.groupTourOrder
{
display
:
flex
;
flex-wrap
:
nowrap
;
flex-grow
:
1
;
}
.groupTourOrder
span
{
/* width: 50%; */
white-space
:
nowrap
;
font-size
:
14px
;
background
:
#DEE1E6
;
color
:
#333333
;
border-radius
:
5px
;
padding
:
5px
10px
;
margin-left
:
20px
;
/* #333333 */
}
.CommissionLadder-form
{
display
:
flex
;
flex-wrap
:
wrap
;
margin
:
0
20px
;
/* margin-bottom: 10px; */
}
.CommissionLadder
{
flex
:
1
;
padding
:
16px
20px
20px
20px
;
background
:
#ffffff
;
}
.CommissionLadder.Line
{
margin
:
0
0
10px
0
;
}
.CommissionLadder
p
{
padding
:
0
0
10px
0
;
}
.CommissionLadder
:last-child
{
margin-right
:
0
;
}
.OpenOrder
{
background
:
#ffffff
;
padding
:
10px
20px
20px
20px
;
}
.OpenOrderMore
{
display
:
flex
;
justify-content
:
space-between
;
align-items
:
center
;
padding
:
0
0
10px
0
;
cursor
:
0
;
font-size
:
16px
;
font-weight
:
400
;
color
:
#333333
;
}
.OpenOrderMore
span
{
color
:
#999999
;
font-size
:
14px
;
}
</
style
>
<
template
>
<div>
<div
class=
"query-box HotelWorkInput"
style=
"border-bottom: none;height: 0;padding: 20px 0;"
>
<ul>
<li>
<div
style=
"display: flex;align-items: center;"
>
<!--
<i
class=
"el-icon-chat-dot-square"
style=
"cursor: pointer;color: #33B3FF;font-size: 31px;margin-right: 10px;"
@
click=
"rightOpen=true"
></i>
-->
<template
v-for=
"(item ,index) in MonthList"
>
<input
type=
"button"
:key=
"index"
:class=
"
{'normalBtn':Month==item.Id,'hollowFixedBtn':Month!=item.Id}"
:value="item.Name"
@click="clickActive(item)">
</input>
</
template
>
</div>
</li>
</ul>
</div>
<div
class=
"CommissionLadder-form"
style=
"margin: 0;margin-bottom: 10px;"
>
<div
class=
"CommissionLadder"
style=
"background: none;display: flex;align-items: center;padding: 0px 20px 10px 20px;"
>
<p
style=
"padding: 0;flex-shrink: 0;padding: 0 20px 0 0;"
>
统计
</p>
<div
class=
"groupTourOrder"
>
<span>
销售额:
<span>
{{OrderList.SalesMoney}}
</span></span>
<span>
订单数:
<span>
{{OrderList.SalesOrderNum}}
</span></span>
<span>
人头数:
<span>
{{OrderList.SalesPeopleNum}}
</span></span>
<span>
提成比例:
<span>
{{OrderList.SalesRate}}
</span></span>
<span>
预期提成:
<span>
{{OrderList.SalesCommission}}
</span></span>
<span>
总提成:
<span>
{{OrderList.TotalCMoney}}
</span></span>
</div>
</div>
</div>
<div
class=
"CommissionLadder-form"
>
<div
style=
"display: flex;justify-content: space-between; width: 100%;"
>
<div
class=
"CommissionLadder Line"
>
<p>
国内线提成
</p>
<div>
<el-table
border
ref=
"multipleTable"
:data=
"DomesticLine.Rlist"
>
<el-table-column
width=
"80"
prop=
"RuleName"
label=
"团队类型"
show-overflow-tooltip
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
RuleName
}}
</
template
>
</el-table-column>
<el-table-column
width=
"70"
prop=
"OrderNum"
label=
"订单数"
><
template
slot-scope=
"scope"
>
{{
scope
.
row
.
OrderNum
?
scope
.
row
.
OrderNum
:
'-'
}}
</
template
></el-table-column>
<el-table-column
width=
"70"
prop=
"PeopleNum"
label=
"报名数"
><
template
slot-scope=
"scope"
>
{{
scope
.
row
.
PeopleNum
?
scope
.
row
.
PeopleNum
:
'-'
}}
</
template
></el-table-column>
<el-table-column
prop=
"Way"
label=
"提成方式"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
Way
==
2
?
'利润提成'
:
'人头奖励'
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"ProfitRate"
label=
"提成比例"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
Way
==
2
?
scope
.
row
.
ProfitRate
:
'-'
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"Money"
label=
"提成"
show-overflow-tooltip
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
Money
?
scope
.
row
.
Money
:
'-'
}}
<template
v-if=
"scope.row.Money"
>
{{
scope
.
row
.
Way
==
2
?
'%'
:
'/人'
}}
</
template
>
</template>
</el-table-column>
<el-table-column
prop=
"Profit"
label=
"预期利润"
show-overflow-tooltip
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
Way
==
2
&&
scope
.
row
.
Profit
?
scope
.
row
.
Profit
:
'-'
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"Commission"
label=
"预期提成"
show-overflow-tooltip
><
template
slot-scope=
"scope"
>
{{
scope
.
row
.
Commission
?
scope
.
row
.
Commission
:
'-'
}}
</
template
></el-table-column>
</el-table>
</div>
</div>
<div
style=
"display: flex;flex-direction: column;flex-grow: 2;"
>
<div
style=
"display: flex;"
>
<div
class=
"CommissionLadder Line"
style=
"margin: 0 10px 10px 10px;"
>
<p>
日本线及其他人头奖励
<span
style=
"font-size: 13px;color: red;"
v-if=
"JapaneseLine.Commission>0"
>
<!-- 预期利润:{{JapaneseLine.CommissionProfit}} -->
<!-- 预期提成:{{JapaneseLine.Commission}} -->
</span>
</p>
<div>
<progressComm
:commissionratioList=
"JapaneseLine"
></progressComm>
</div>
</div>
<div
class=
"CommissionLadder Line"
>
<p>
欧洲线及其他人头奖励
<span
style=
"font-size: 13px;color: red;"
v-if=
"EuropeLine.Commission>0"
>
<!-- 预期利润:{{EuropeLine.CommissionProfit}} -->
<!-- 预期提成:{{EuropeLine.Commission}} -->
</span>
</p>
<div>
<progressComm
:commissionratioList=
"EuropeLine"
></progressComm>
</div>
</div>
</div>
<div
style=
"display: flex;"
>
<div
class=
"CommissionLadder Line"
style=
"margin: 0 10px 10px 10px;"
>
<p>
日本线及其他利润比
<span
style=
"font-size: 13px;color: red;"
v-if=
"JapaneseProfit.Commission>0"
>
<!-- 预期利润:{{JapaneseProfit.CommissionProfit}} -->
<!-- 预期提成:{{JapaneseProfit.Commission}} -->
</span>
</p>
<div>
<progressComm
:commissionratioList=
"JapaneseProfit"
></progressComm>
</div>
</div>
<div
class=
"CommissionLadder Line"
>
<p>
欧洲线及其他利润比
<span
style=
"font-size: 13px;color: red;"
v-if=
"EuropeProfit.Commission>0"
>
<!-- 预期利润:{{EuropeProfit.CommissionProfit}} -->
<!-- 预期提成:{{EuropeProfit.Commission}} -->
</span>
</p>
<div>
<progressComm
:commissionratioList=
"EuropeProfit"
></progressComm>
</div>
</div>
</div>
<div
style=
"display: flex;"
>
<div
class=
"CommissionLadder Line"
style=
"margin: 0 0 0 10px;"
>
<p>
年终奖
</p>
<div>
<progressComm
:commissionratioList=
"AnnualBonus"
></progressComm>
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"CommissionLadder-form"
>
</div>
<div
class=
"ExpectedCommission-form"
>
<!-- 统计版块 -->
<!-- <div class="groupTourOrder_count">
<el-row :gutter="20">
<el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="6">
<div class="groupTourOrder_count_item HT_total">
<div style="display: flex;justify-content: space-between;"><span>统计</span></div>
<p style="margin-top: 10px;">
<span>销售额:11</span>
<span style="margin-left: 20px;">订单数量:22</span>
<span style="margin-left: 20px;">人头数量:11</span>
<span style="margin-left: 20px;">提成比例:22</span>
<span style="">预期提成:22</span>
</p>
</div>
</el-col>
</el-row>
</div> -->
<!-- 未平账单 -->
<div
class=
"OpenOrder"
>
<div
class=
"OpenOrderMore"
>
<div>
帐未平订单
</div>
<span
@
click=
"goMore"
style=
"cursor: pointer;"
>
更多
<i
class=
"el-icon-d-arrow-right"
></i>
</span>
</div>
<OrderList
:OrderList=
"OrderList"
></OrderList>
</div>
<div
style=
"padding: 10px 0 0 0;color: #E95252;line-height: 30px;"
>
<p>
备注:
</p>
1.日本线.韩国线.东南亚线.南亚线散拚.与单团提成保持1%提成不变
</br>
2.增加境外散拚提成(日本线.欧洲线分别奖励计算)
</br>
3.增加人头奖励(日本线与其他.欧洲线2种)
</br>
4.所有业绩结算皆以出发日.尾款收齐为基准
</br>
5.人头奖励包含归属各线所有产品(散拚.一日游.多日游.签证等)
</br>
6.人头奖励每月至少20条方可进行奖励!
</br>
7.以上所有核算皆以月为单位.核算基础为出发日或签证收取日算起!
</br>
8.直客部门归属直客业务编制.不参与同业部门业务销售!
</br>
9.单项服务每月人头数与年终人头奖励接按0.5计算
</br>
10.以上制度公司会因市场变动与业务实际情况採取适当因应或调整,敬请注意!!
</div>
</div>
<!-- 消息通知 -->
<notification
v-if=
"rightOpen"
@
close=
"rightOpen = false"
></notification>
</div>
</template>
<
script
>
import
notification
from
'./components/notification'
import
OrderList
from
'./components/OrderList'
// import OrderList from '../myOrdersAllType/components/OrderList'
import
progressComm
from
'./components/progressComm'
export
default
{
components
:
{
notification
,
OrderList
,
progressComm
,
},
data
()
{
return
{
DomesticLine
:{
type
:
4
,
AvgLureNum
:
0
,
AvfOrderNum
:
0
,
CommissionRate
:
0
,
Commission
:
0
,
CommissionProfit
:
0
,
CommissionRateList
:[]
},
AnnualBonus
:{
type
:
3
,
AvgLureNum
:
0
,
AvfOrderNum
:
0
,
CommissionRate
:
0
,
Commission
:
0
,
CommissionProfit
:
0
,
CommissionRateList
:[]
},
EuropeProfit
:{
type
:
2
,
AvgLureNum
:
0
,
AvfOrderNum
:
0
,
CommissionRate
:
0
,
Commission
:
0
,
CommissionProfit
:
0
,
CommissionRateList
:[]
},
EuropeLine
:{
type
:
1
,
AvgLureNum
:
0
,
AvfOrderNum
:
0
,
CommissionRate
:
0
,
Commission
:
0
,
CommissionProfit
:
0
,
CommissionRateList
:[]
},
JapaneseProfit
:{
type
:
2
,
AvgLureNum
:
0
,
AvfOrderNum
:
0
,
CommissionRate
:
0
,
Commission
:
0
,
CommissionProfit
:
0
,
CommissionRateList
:[]
},
JapaneseLine
:{
type
:
1
,
AvgLureNum
:
0
,
AvfOrderNum
:
0
,
CommissionRate
:
0
,
Commission
:
0
,
CommissionProfit
:
0
,
CommissionRateList
:[]
},
dataRuleList
:[],
rightOpen
:
false
,
msg
:{
Month
:
''
},
Month
:
1
,
MonthList
:[
{
Name
:
'上月'
,
Id
:
'0'
},
{
Name
:
'当月'
,
Id
:
'1'
},
],
CommissionInfor
:{},
OrderList
:
[],
loading
:
true
,
YearTime
:
''
,
LastMonthTime
:
''
,
MonthTime
:
''
,
commissionMsg
:{
pageIndex
:
1
,
pageSize
:
6
,
OrderId
:
""
,
//订单id
GuestId
:
0
,
//客人id
EnterId
:
0
,
//业务员id
OrderState
:
'1'
,
//订单状态
Q_IsCollect
:
"2"
,
//收款状态
StartTime
:
""
,
//报名开始日期
EndTime
:
""
,
//报名结束日期
FinishSTime
:
""
,
//完结开始时间
FinishETime
:
""
,
//完结结束时间
DepartSTime
:
""
,
//出发开始
DepartETime
:
""
,
//出发结束
TCNUM
:
""
,
//团号
ProductName
:
""
,
//商品名称
CustomerName
:
""
,
//客户名称
LureEmpId
:
0
,
//引流人员
LineId
:
0
,
//线路
TravelType
:
0
,
//跟团类型 1跟团 2当地游
OrderType
:
"0"
,
//订单类型
IsSelectCRM
:
0
,
//1来源crm
IsMyOrder
:
1
,
//1我的订单
},
};
},
mounted
()
{
this
.
getList
()
},
created
()
{
let
nowdays
=
new
Date
()
this
.
Year
=
new
Date
().
getFullYear
()
this
.
LastMonthTime
=
new
Date
().
getMonth
()
this
.
MonthTime
=
new
Date
().
getMonth
()
+
1
this
.
msg
.
Month
=
this
.
Year
+
'-'
+
(
this
.
MonthTime
>
10
?
this
.
MonthTime
:
'0'
+
this
.
MonthTime
)
this
.
MonthList
[
0
].
Name
=
this
.
MonthList
[
0
].
Name
+
'('
+
this
.
LastMonthTime
+
'月)'
this
.
MonthList
[
1
].
Name
=
this
.
MonthList
[
1
].
Name
+
'('
+
this
.
MonthTime
+
'月)'
this
.
commissionMsg
.
DepartSTime
=
this
.
Year
+
'-'
+
(
this
.
MonthTime
>
10
?
this
.
MonthTime
:
'0'
+
this
.
MonthTime
)
+
'-01'
//出发开始
var
MonthDayNum
=
new
Date
(
this
.
Year
,
this
.
msg
.
Month
,
0
).
getDate
();
//计算当月的天数
this
.
commissionMsg
.
DepartETime
=
this
.
Year
+
'-'
+
(
this
.
MonthTime
>
10
?
this
.
MonthTime
:
'0'
+
this
.
MonthTime
)
+
(
MonthDayNum
>
10
?
MonthDayNum
:
'0'
+
MonthDayNum
)
//出发结束
},
methods
:
{
goMore
(){
this
.
$router
.
push
({
name
:
'erpMyCustomerOrder'
,
query
:
{
blank
:
'y'
}
});
},
clickActive
(
item
){
this
.
Month
=
item
.
Id
if
(
item
.
Id
==
1
){
this
.
msg
.
Month
=
this
.
Year
+
'-'
+
(
this
.
MonthTime
>
10
?
this
.
MonthTime
:
'0'
+
this
.
MonthTime
)
}
else
{
this
.
msg
.
Month
=
this
.
Year
+
'-'
+
(
this
.
LastMonthTime
>
10
?
this
.
LastMonthTime
:
'0'
+
this
.
LastMonthTime
)
}
this
.
getList
()
// this.getData()
},
// 获取规则列表数据
getList
()
{
this
.
apipost
(
"sellcommission_GetTYSaleCommissionRuleList"
,
{},
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
dataRuleList
=
res
.
data
.
data
[
0
];
this
.
JapaneseLine
.
CommissionRateList
=
this
.
dataRuleList
.
AwardRuleList
this
.
JapaneseProfit
.
CommissionRateList
=
this
.
dataRuleList
.
ProfitRuleList
this
.
EuropeLine
.
CommissionRateList
=
this
.
dataRuleList
.
EuropeAwardRuleList
this
.
EuropeProfit
.
CommissionRateList
=
this
.
dataRuleList
.
EuropeProfitRuleList
this
.
AnnualBonus
.
CommissionRateList
=
this
.
dataRuleList
.
BonusRuleList
this
.
getData
()
}
else
{
this
.
Error
(
res
.
data
.
message
)
}
});
},
// 获取预期数据
getData
(){
this
.
apipost
(
'sellcommission_GetTYSaleExpectCommission'
,
this
.
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
let
data
=
res
.
data
.
data
this
.
CommissionInfor
=
data
;
// 日本及其他人头奖励
this
.
JapaneseLine
.
AvgLureNum
=
this
.
CommissionInfor
.
PeopleNum
this
.
JapaneseLine
.
Commission
=
this
.
CommissionInfor
.
PeopleMoney
// 日本及其他提成比例
this
.
JapaneseProfit
.
AvgLureNum
=
this
.
CommissionInfor
.
JapanCommission
this
.
JapaneseProfit
.
AvfOrderNum
=
this
.
CommissionInfor
.
JapanOrderNum
this
.
JapaneseProfit
.
CommissionRate
=
this
.
CommissionInfor
.
JapanRate
this
.
JapaneseProfit
.
Commission
=
this
.
CommissionInfor
.
JapanCommission
this
.
JapaneseProfit
.
CommissionProfit
=
this
.
CommissionInfor
.
JapanProfit
// 欧洲人头奖励
this
.
EuropeLine
.
AvgLureNum
=
this
.
CommissionInfor
.
EuropePNum
this
.
EuropeLine
.
Commission
=
this
.
CommissionInfor
.
EuropeMoney
// 欧洲及其他提成比例
this
.
EuropeProfit
.
AvgLureNum
=
this
.
CommissionInfor
.
EuropeCommission
this
.
EuropeProfit
.
AvfOrderNum
=
this
.
CommissionInfor
.
EuropeOrderNum
this
.
EuropeProfit
.
CommissionRate
=
this
.
CommissionInfor
.
EuropeRate
this
.
EuropeProfit
.
Commission
=
this
.
CommissionInfor
.
EuropeCommission
this
.
EuropeProfit
.
CommissionProfit
=
this
.
CommissionInfor
.
EuropeProfit
// 年终奖
this
.
AnnualBonus
.
AvfOrderNum
=
this
.
CommissionInfor
.
BonusNum
this
.
AnnualBonus
.
Commission
=
this
.
CommissionInfor
.
BonusPeriods
// console.log(this.OrderList,'----')
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
this
.
loading
=
false
},
err
=>
{
this
.
loading
=
false
}
);
this
.
apipost
(
'sellcommission_Post_GetGNSaleExpectCommission'
,
this
.
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
DomesticLine
=
res
.
data
.
data
}
})
this
.
commissionMsg
.
IsMyOrder
=
'1'
this
.
apipost
(
'CarSingle_post_GetGuestOrderStatisticsPageList'
,
this
.
commissionMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
let
data
=
res
.
data
.
data
.
pageData
if
(
data
.
length
>
5
){
for
(
let
i
=
0
;
i
<
6
;
i
++
){
this
.
OrderList
.
push
(
data
[
i
])
}
}
else
{
this
.
OrderList
=
data
}
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
this
.
loading
=
false
},
err
=>
{
this
.
loading
=
false
}
)
}
}
};
</
script
>
src/components/sale/components/OrderList.vue
0 → 100644
View file @
b2b19e8e
<
template
>
<div>
<el-table
border
ref=
"multipleTable"
:data=
"OrderList"
:default-sort=
"
{prop: 'null', order: 'null'}"
:sort-by="['Money','Income','PreferTipAmount','PlatformTax','Refund','CostMoney','OrderProfit','DueInMoney']">
<el-table-column
width=
"200"
prop=
"CreateTimeStr"
label=
"订单Id"
show-overflow-tooltip
>
<template
slot-scope=
"scope"
>
<div>
<p
class=
"cursor-pointer c059FF6 fz18 row-c"
@
click=
"goDetails(scope.row)"
>
<el-tag
style=
"margin-right: 5px;"
size=
"mini"
>
{{
scope
.
row
.
OrderTypeName
}}
</el-tag>
<span>
{{
scope
.
row
.
OrderId
}}
</span>
</p>
<p>
{{
scope
.
row
.
CreateTimeStr
}}
</p>
</div>
</
template
>
</el-table-column>
<el-table-column
width=
"200"
prop=
"CreateTimeStr"
label=
"团号"
show-overflow-tooltip
>
<
template
slot-scope=
"scope"
>
<div>
<p
class=
" fz14"
:class=
"
{'cursor-pointer c059FF6':scope.row.OrderType==2}"
@click="scope.row.OrderType==2?goTuanDetails(scope.row):''">
{{
scope
.
row
.
TCNUM
}}
</p>
<p>
出发日期:
{{
scope
.
row
.
StartDate
}}
</p>
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"客人"
show-overflow-tooltip
>
<
template
slot-scope=
"scope"
>
<span
:class=
"
{'colorblue font-color-link':pagesTitle!='详情'}"
@click="pagesTitle!='详情'?openNameDetails(scope.row):''">
{{
scope
.
row
.
GuestName
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"SaleName"
label=
"销售"
>
</el-table-column>
<el-table-column
prop=
"LureEmpName"
label=
"引流"
>
</el-table-column>
<el-table-column
label=
"商品名称"
show-overflow-tooltip
>
<
template
slot-scope=
"scope"
>
<div
style=
"max-width: 100px;overflow: hidden;text-overflow: ellipsis"
>
{{
scope
.
row
.
Name
}}
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"商品详情"
show-overflow-tooltip
>
<
template
slot-scope=
"scope"
>
<div
style=
"max-width: 100px;overflow: hidden;text-overflow: ellipsis"
>
{{
scope
.
row
.
Description
}}
</div>
</
template
>
</el-table-column>
<el-table-column
sortable
prop=
"Money"
label=
"总金额"
min-width=
"100"
show-overflow-tooltip
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
Money
}}
 
(
{{
scope
.
row
.
CurrencyName
}}
)
</
template
>
</el-table-column>
<el-table-column
sortable
prop=
"Income"
label=
"实收"
>
</el-table-column>
<el-table-column
sortable
prop=
"PreferTipAmount"
label=
"人头小费"
min-width=
"101"
>
</el-table-column>
<el-table-column
sortable
prop=
"PlatformTax"
label=
"手续费"
min-width=
"100"
>
</el-table-column>
<el-table-column
sortable
prop=
"Refund"
label=
"退款"
>
</el-table-column>
<el-table-column
sortable
prop=
"CostMoney"
label=
"成本"
>
</el-table-column>
<el-table-column
sortable
prop=
"DueInMoney"
label=
"待收"
>
<
template
slot-scope=
"scope"
>
<span
:class=
"
{'red':scope.row.DueInMoney>0}">
{{
scope
.
row
.
DueInMoney
}}
</span>
</
template
>
</el-table-column>
<el-table-column
sortable
prop=
"OrderProfit"
label=
"预期利润"
min-width=
"100"
>
<
template
slot-scope=
"scope"
>
<span
:class=
"
{'red':scope.row.OrderProfit>0}">
{{
scope
.
row
.
OrderProfit
}}
</span>
</
template
>
</el-table-column>
<el-table-column
sortable
prop=
"DiscountsMoney"
label=
"优惠"
>
</el-table-column>
<el-table-column
prop=
"StateName"
label=
"状态"
show-overflow-tooltip
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
StateName
}}
</span>
</
template
>
</el-table-column>
</el-table>
</div>
</template>
<
script
>
export
default
{
props
:
{
OrderList
:
{
type
:
Array
,
require
:
false
},
},
data
()
{
return
{
loading
:
false
,
};
},
watch
:
{
OrderList
:
{
handler
(
val
,
oldVal
)
{
},
deep
:
true
}
},
created
()
{
},
mounted
()
{
},
methods
:
{
}
};
</
script
>
<
style
scoped
>
</
style
>
src/components/sale/components/notification.vue
0 → 100644
View file @
b2b19e8e
<
template
>
<div>
<div
class=
"ListCar-form"
></div>
<div
class=
"ListCar-form-box"
>
<div
class=
"ListCar-box"
>
<div
class=
"normalBtn ListCar-close"
@
click=
"close"
>
<i
class=
"el-icon-close"
></i>
</div>
</div>
</div>
</div>
</
template
>
<
script
>
export
default
{
props
:
{
parameters
:
{
type
:
Object
,
require
:
false
},
},
data
()
{
return
{
loading
:
false
,
sysMsgList
:
[],
};
},
watch
:
{
parameters
:
{
handler
:
function
(
val
,
oldVal
)
{
},
deep
:
true
}
},
created
()
{
},
mounted
()
{
},
methods
:
{
// 关闭
close
(){
this
.
$emit
(
'close'
)
},
}
};
</
script
>
<
style
scoped
>
.ListCar-form
{
position
:
fixed
;
top
:
0
;
left
:
0
;
right
:
0
;
bottom
:
0
;
background
:
rgba
(
23
,
23
,
23
,
.5
);
z-index
:
3
;
}
.ListCar-form-box
{
position
:
fixed
;
top
:
0
;
right
:
0
;
bottom
:
0
;
width
:
550px
;
background
:
#ffffff
;
z-index
:
100
;
}
.ListCar-box
{
width
:
100%
;
height
:
100%
;
position
:
relative
;
padding
:
15px
0
;
}
.ListCar-close
{
position
:
absolute
;
left
:
-47px
;
top
:
20%
;
line-height
:
26px
;
}
.ListCar-close
i
{
margin-left
:
3px
;
}
.normalBtn.ListCar-close
{
border-top-right-radius
:
0
;
border-bottom-right-radius
:
0
;
padding
:
0
8px
!important
;
}
.ListCar-header
{
border-bottom
:
-
;
}
.ListCar-header-right
{
border-radius
:
3px
;
padding
:
5px
8px
;
background
:
#fff3e0
;
}
</
style
>
src/components/sale/components/progressComm.vue
0 → 100644
View file @
b2b19e8e
<
style
scoped
>
.progress-box
{
flex
:
1
;
display
:
flex
;
margin-bottom
:
25px
;
}
.relative-position
{
/* min-width: 80px; */
flex
:
1
;
margin-right
:
0
;
position
:
relative
;
}
.rate-box
{
position
:
absolute
;
top
:
30px
;
left
:
50%
;
transform
:
translateX
(
-50%
);
color
:
#000
;
z-index
:
9
;
display
:
flex
;
flex-wrap
:
wrap
;
justify-content
:
center
;
}
.sanjiao
{
width
:
0
;
height
:
0
;
margin-left
:
5%
;
border-right
:
4px
solid
transparent
;
border-left
:
4px
solid
transparent
;
border-bottom
:
3px
solid
#CACACA
;
}
.rate
{
min-width
:
20px
;
padding
:
2px
6px
;
background-color
:
#CACACA
!important
;
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
color
:
#666666
;
font-size
:
0.62vw
;
font-family
:
PingFang
SC
;
border-radius
:
7px
;
line-height
:
12px
;
white-space
:
nowrap
;
}
.active-rate
{
background-color
:
#33B3FF
!important
;
color
:
#FFFFFF
!important
;
}
/
deep
/
.relative-position
.el-progress-bar__outer
{
border-radius
:
0
!important
;
}
/
deep
/
.relative-position
.el-progress-bar__inner
{
text-align
:
center
;
border-radius
:
0
!important
;
}
/
deep
/
.relative-position
:first-child
.el-progress
{
border-top-left-radius
:
15px
!important
;
border-bottom-left-radius
:
15px
!important
;
overflow
:
hidden
!important
}
/
deep
/
.relative-position
:last-child
.el-progress
{
border-top-right-radius
:
15px
!important
;
border-bottom-right-radius
:
15px
!important
;
overflow
:
hidden
!important
}
</
style
>
<
template
>
<div>
<div
class=
"progress-box"
>
<!--
{{
commissionratioList
.
AvgLureNum
}}
-
{{
commissionratioList
.
AvfOrderNum
}}
-
{{
commissionratioList
.
CommissionRate
}}
-
{{
commissionratioList
.
Commission
}}
-
{{
commissionratioList
.
CommissionProfit
}}
-->
<div
v-for=
"(item,index) in commissionratioList.CommissionRateList"
:key=
"index"
class=
"relative-position"
>
<!-- :color="commissionratioList.CommissionRate>=item.Rate?colorlists[Math.floor(Math.random()*10)]:colors[Math.floor(Math.random()*10)]" -->
<el-progress
:text-inside=
"true"
:stroke-width=
"20"
:percentage=
"setItemProgress(item)"
:status=
"setItemStatus(item)"
:format=
"setItemText(item)"
:color=
"commissionratioList.AvgLureNum>item.StartValue?customColor[0]:customColor[1]"
>
</el-progress>
<div
class=
"rate-box"
>
<div
class=
"sanjiao"
:style=
"
{'border-bottom-color':commissionratioList.AvgLureNum>item.StartValue?'#33B3FF':'#CACACA'}">
</div>
<div
class=
"rate full-width"
:class=
"
{'active-rate':commissionratioList.AvgLureNum>item.StartValue}">
<i
class=
"el-icon-check"
style=
"font-size:8px"
></i>
{{
item
.
Rate
}}{{
commissionratioList
.
type
==
2
?
'%'
:
''
}}
</div>
</div>
</div>
</div>
</div>
</
template
>
<
script
>
export
default
{
props
:[
'commissionratioList'
],
data
()
{
return
{
customColor
:
[
'rgba(51,179,255,1)'
,
'rgba(222,225,230,1)'
],
colors
:
[
'rgba(42, 48, 54,.2)'
,
'rgba(138, 24, 48,.2)'
,
'rgba(200, 138, 131,.2)'
,
'rgba(84, 221, 226,.2)'
,
'rgba(178, 199, 168,.2)'
,
'rgba(16, 195, 195,.2)'
,
'rgba(0, 21, 68,.2)'
,
'rgba(226, 166, 198,.2)'
,
'rgba(278,17,66,.2)'
,
'rgba(153, 199, 235,.2)'
,
'rgba(34,184,221,.2)'
,
'rgba(221,72,34,.2)'
,
'rgba(204,51,204,.2)'
,
'rgba(255,204,0,.2)'
,
'rgba(77,179,179,.2)'
,
'rgba(196,60,141,.2)'
,
'rgba(195,90,141,.2)'
,
],
colorlists
:
[
'rgba(42, 48, 54, 1)'
,
'rgba(138, 24, 48, 1)'
,
'rgba(200, 138, 131, 1)'
,
'rgba(84, 221, 226, 1)'
,
'rgba(178, 199, 168, 1)'
,
'rgba(16, 195, 195, 1)'
,
'rgba(0, 21, 68, 1)'
,
'rgba(226, 166, 198, 1)'
,
'rgba(278,17,66, 1)'
,
'rgba(153, 199, 235,1)'
,
'rgba(34,184,221,1)'
,
'rgba(221,72,34,1)'
,
'rgba(204,51,204,1)'
,
'rgba(255,204,0,1)'
,
'rgba(77,179,179,1)'
,
'rgba(196,60,141,1)'
,
'rgba(195,90,141,1)'
,
],
};
},
watch
:
{
commissionratioList
:{
handler
(
val
,
oldVal
){
this
.
commissionratioList
=
val
},
deep
:
true
,
immediate
:
true
}
},
mounted
()
{
},
created
()
{
},
methods
:
{
// 设置进度
setItemProgress
(
data
)
{
if
(
this
.
commissionratioList
.
AvgLureNum
>=
data
.
StartValue
&&
this
.
commissionratioList
.
AvfOrderNum
>=
data
.
EndValue
){
return
100
}
else
{
return
100
}
},
// 自定义进度条文字
setItemText
(
row
)
{
if
(
this
.
commissionratioList
.
type
==
2
){
this
.
formatProgress
(
row
)
return
()
=>
{
return
row
.
StartValue2
+
' - '
+
row
.
EndValue2
+
`
${
row
.
StartValue
>=
10000
||
row
.
EndValue
>=
10000
?
'w'
:
''
}
`
}
}
else
if
(
this
.
commissionratioList
.
type
==
1
){
return
()
=>
{
return
`
${
row
.
StartValue
+
' - '
+
row
.
EndValue
}
人`
}
}
else
{
return
()
=>
{
return
`连续
${
row
.
StartValue
}
月`
}
}
},
// 设置当前进度条状态,显示不同颜色
setItemStatus
(
data
)
{
if
(
this
.
commissionratioList
.
AvgLureNum
>=
data
.
StartValue
&&
this
.
commissionratioList
.
AvfOrderNum
>=
data
.
EndValue
){
return
'exception'
}
},
formatProgress
(
data
){
let
obj
=
JSON
.
parse
(
JSON
.
stringify
(
data
))
if
(
obj
.
StartValue
>=
10000
)
{
data
.
StartValue2
=
obj
.
StartValue
/
10000
}
else
{
data
.
StartValue2
=
obj
.
StartValue
}
if
(
obj
.
EndValue
>=
10000
)
{
data
.
EndValue2
=
obj
.
EndValue
/
10000
}
else
{
data
.
EndValue2
=
obj
.
EndValue
}
},
}
};
</
script
>
src/components/sale/sale.vue
View file @
b2b19e8e
...
...
@@ -53,7 +53,7 @@
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<div
class=
"el-col-div ownScrollbarStyle PersonalData_l"
>
<div
class=
"l_top"
>
<div
class=
"l_top"
style=
"position: relative;"
>
<img
v-if=
"data.icon !=null && data.icon !='' "
:src=
"data.icon"
alt=
""
class=
"tx_img"
:onerror=
'defaultHeadImg'
>
<img
v-else
src=
"../../assets/img/default_head_img.jpg"
alt=
""
alt=
""
class=
"tx_img"
>
...
...
@@ -61,15 +61,20 @@
<span>
{{
data
.
emName
}}
</span>
<span>
{{
data
.
postName
}}
</span>
</div>
<img
s
rc=
"../../assets/img/jinbin@2x.png"
alt=
""
class=
"img
"
>
<div
class=
"royalty"
>
<img
s
tyle=
"cursor: pointer;"
src=
"../../assets/img/jinbin@2x.png"
alt=
""
class=
"img"
@
click=
"goAnticipate(1)
"
>
<div
class=
"royalty"
style=
"cursor: pointer;"
@
click=
"goAnticipate(1)"
>
<div
class=
"tc"
>
<span>
¥
</span>
<span>
{{
data
.
totalCommission
}}
</span>
<p>
<span>
¥
</span>
<span>
{{
data
.
totalCommission
}}
</span>
</p>
<p
v-if=
"data.peopelBonus"
>
{{
data
.
peopelBonus
}}
/人
</p>
<p
style=
"color: #BDBDBD;font-size: 13px;padding: 0 0 5px 0;"
>
{{
data
.
periodsName
}}
期
</p>
</div>
<!--
<span>
¥
<p
class=
"tc"
>
{{
data
.
totalCommission
}}
</p></span>
-->
<div
stye=
"font-size: 16px;color: #666666;display: block;display: inline-block;"
>
<span>
本月提成
</span>
<span>
出境提成
</span>
<template
v-if=
"data.comissionGeneralId>0"
>
<span
v-if=
"data.share==1"
class=
"Sale_Share"
style=
"color:#333;cursor:default;"
>
已确认
</span>
<span
v-if=
"data.share==0"
@
click=
"tichengDialog=true"
class=
"Sale_Share"
...
...
@@ -77,6 +82,37 @@
</
template
>
</div>
</div>
<img
style=
"cursor: pointer;"
src=
"../../assets/img/jinbin@2x.png"
alt=
""
class=
"img"
@
click=
"goAnticipate(2)"
>
<div
style=
"cursor: pointer;"
class=
"royalty"
@
click=
"goAnticipate(2)"
>
<div
class=
"tc"
>
<p>
<span>
¥
</span>
<span>
{{data.gnSaleCommission}}
</span>
</p>
<p
style=
"color: #BDBDBD;font-size: 13px;padding: 0 0 5px 0;"
>
{{data.gnPeriodsName}}期
</p>
</div>
<div
stye=
"font-size: 16px;color: #666666;display: block;display: inline-block;"
>
<span>
国内提成
</span>
</div>
</div>
<img
style=
"cursor: pointer;"
src=
"../../assets/img/jinbin@2x.png"
alt=
""
class=
"img"
@
click=
"goAnticipate(3)"
>
<div
style=
"cursor: pointer;"
class=
"royalty"
@
click=
"goAnticipate(3)"
>
<div
class=
"tc"
>
<p>
<span>
¥
</span>
<span>
{{data.dxSaleCommission}}
</span>
</p>
<p
style=
"color: #BDBDBD;font-size: 13px;padding: 0 0 5px 0;"
>
{{data.dxPeriodsName}}期
</p>
</div>
<div
stye=
"font-size: 16px;color: #666666;display: block;display: inline-block;"
>
<span>
历史单项提成
</span>
</div>
</div>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"预期提成"
placement=
"top"
>
<i
class=
"el-icon-document"
@
click=
"goAnticipate(4)"
style=
"position: absolute;right: -0;top: -10px;cursor: pointer;color: #33B3FF;"
></i>
</el-tooltip>
</div>
<div
class=
"order"
>
...
...
@@ -599,10 +635,31 @@
}
},
methods
:
{
// 销售预期提成
goAnticipate
(
type
){
let
name
if
(
type
==
1
){
name
=
'TradeTicketUserDetails'
}
else
if
(
type
==
2
){
name
=
'domesticCommissionUser'
}
else
if
(
type
==
3
){
name
=
'ServiceCommissionUser'
}
else
if
(
type
==
4
){
name
=
'saleExpectedCommission'
}
this
.
$router
.
push
({
name
:
name
,
query
:
{
isSale
:
1
,
blank
:
'y'
}
});
},
iWorkbench
()
{
this
.
apipost
(
'customerIndex_post_GetMySelfSellInfo'
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
data
=
res
.
data
.
data
;
console
.
log
(
this
.
data
,
'========'
)
this
.
myScore
=
res
.
data
.
data
.
taskCapacityList
;
this
.
myScore
.
forEach
(
item
=>
{
if
(
item
.
score
<
60
)
{
...
...
@@ -825,7 +882,7 @@
},
//锅炉除开标点符号的字数
getFilteredNum
(
val
)
{
//var pattern=new RegExp("[`~%!@#$^=''?~!@#¥……&——‘”“'?*()(),,。.、
<>
《》\\
[
\\
]
【】\\“\\”
{}
=+-|
\
/
:;
;:
]
");
//var pattern=new RegExp("[`~%!@#$^=''?~!@#¥……&——‘”“'?*()(),,。.、
<>
《》\\
[
\\
]
【】\\“\\”
{}
=+-|
\
/
:;
;:
]
");
var pattern = new RegExp("
[
`~%!@#$^=''?~!@#¥……&——‘”“'?*()(),,。.、<>《》:;; +-=\\s]");
//[]内输入你要过滤的字符,这里基本包含全部的标点符号,\\是转义字符
var rs = "";
...
...
src/router/config.js
View file @
b2b19e8e
...
...
@@ -8,7 +8,7 @@ import supplierIndex from '../components/SupplierIndex'
import
automaticLogin
from
'../components/automaticLogin'
export
default
{
routes
:
[{
path
:
'/'
,
path
:
'/'
,
name
:
'login'
,
component
:
login
},
...
...
@@ -2266,7 +2266,7 @@ export default {
meta
:
{
title
:
'签证已确认'
},
},
},
{
path
:
'/TravelManager'
,
//团控配置
name
:
'TravelManager'
,
...
...
@@ -5607,6 +5607,14 @@ export default {
title
:
'销售'
}
},
{
path
:
'/saleExpectedCommission'
,
name
:
'saleExpectedCommission'
,
component
:
resolve
=>
require
([
'@/components/sale/ExpectedCommission'
],
resolve
),
meta
:
{
title
:
'销售预期提成'
}
},
{
path
:
'/platformManagement'
,
name
:
'platformManagement'
,
...
...
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