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
14d55027
Commit
14d55027
authored
Jun 01, 2023
by
youjie
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
no message
parent
a2beed92
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
1101 additions
and
92 deletions
+1101
-92
sale.vue
src/components/sale/sale.vue
+242
-1
OrderList.vue
src/components/temp/components/OrderList.vue
+76
-0
details.vue
src/components/temp/components/details.vue
+81
-0
progressComm.vue
src/components/temp/components/progressComm.vue
+169
-0
operation.vue
src/components/temp/operation.vue
+533
-91
No files found.
src/components/sale/sale.vue
View file @
14d55027
...
...
@@ -53,8 +53,81 @@
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<div
class=
"el-col-div ownScrollbarStyle PersonalData_l"
>
<rightHead
:pagesTitle=
"1"
></rightHead>
<!--
<rightHead
:pagesTitle=
"1"
></rightHead>
-->
<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"
>
<div
class=
"p_name"
>
<span>
{{
data
.
emName
}}
</span>
<span>
{{
data
.
postName
}}
</span>
<div
@
click=
"goAnticipate(5)"
style=
"cursor: pointer;"
>
<div
v-if=
"SumPreferPrice"
style=
"padding: 2px 0 0 0;"
><a
style=
"color: #666666;font-size: 14px;font-weight: bold;"
>
{{
SumPreferPrice
}}
</a></div>
<div
style=
"font-size: 14px;color: #333333;"
v-if=
"rankingNum"
>
第
<a
style=
"color: #FF8C00;margin-left: 3px;margin-right: 3px;
font-size: 18px;font-weight: bold;"
>
{{
rankingNum
}}
</a
>
名
</div>
</div>
</div>
<div
style=
"display: flex;justify-content: space-between;"
>
<!--
<img
style=
"cursor: pointer;"
src=
"../../assets/img/jinbin@2x.png"
alt=
""
class=
"img"
@
click=
"goAnticipate(1)"
>
-->
<div
style=
"cursor: pointer;cursor: pointer;position: relative;"
class=
"royalty"
@
click=
"goAnticipate(1)"
>
<div
class=
"tc"
>
<p>
<span>
¥
</span>
<span>
{{
data
.
totalCommission
}}
</span>
</p>
<p
style=
"color: #BDBDBD;font-size: 13px;padding: 0 0 5px 0;"
>
{{
data
.
periodsName
}}
期
<el-tag
v-if=
"data.peopelBonus"
size=
"mini"
type=
"danger"
effect=
"dark"
style=
"color: #ffff;position: absolute;left: 70px;bottom: 23px;font-size: 11px;"
>
奖+
{{
data
.
peopelBonus
}}
</el-tag></p>
</div>
<div
stye=
"font-size: 16px;color: #666666;display: block;display: inline-block;"
>
<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"
:class=
"
{'ShareDisClick':!isSubmit}">分享并确认
</span>
</
template
>
</div>
</div>
<div
style=
"border-left: 1px solid #eeeeee;width: 1px;"
>
</div>
<!-- <img style="cursor: pointer;" src="../../assets/img/jinbin@2x.png" alt="" class="img" @click="goAnticipate(2)"> -->
<div
style=
"cursor: pointer;margin-left: 0;"
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>
<div
style=
"border-left: 1px solid #eeeeee;width: 1px;"
>
</div>
<!-- <img style="cursor: pointer;" src="../../assets/img/jinbin@2x.png" alt="" class="img" @click="goAnticipate(3)"> -->
<div
style=
"cursor: pointer;margin-left: 0;"
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"
>
<img
src=
"../../assets/img/xiaosouYQ.png"
@
click=
"goAnticipate(4)"
style=
"width: 20px;height: auto; position: absolute;right: -0;top: -13px;cursor: pointer;color: #33B3FF;"
></img>
</el-tooltip>
</div>
</div>
<div
class=
"order"
>
<div
class=
"l_title"
>
<span
style=
"font-size: 14px;color: #333333;float: left"
>
近十日发团订单
</span>
...
...
@@ -508,6 +581,22 @@
</div>
</div>
</div>
<!-- 分享业绩 -->
<el-dialog
custom-class=
'w500'
title=
"分享提成"
:visible
.
sync=
"tichengDialog"
center
:before-close=
"resetCommission"
>
<el-form
:model=
"shareMsg"
:rules=
"rules"
ref=
"shareMsg"
label-width=
"80px"
>
<el-form-item
label=
"个人宣言"
style=
"margin-bottom:0;"
prop=
"ShareContent"
>
<el-input
type=
"textarea"
rows=
"6"
resize=
"none"
maxlength=
"100"
v-model=
"shareMsg.ShareContent"
placeholder=
""
></el-input>
</el-form-item>
</el-form>
<span
class=
"Sale_UnlessWords"
>
不能少于10个字
</span>
<div
slot=
"footer"
class=
"dialog-footer"
>
<button
class=
"hollowFixedBtn"
@
click=
"tichengDialog=false"
>
取消
</button>
<button
class=
"normalBtn"
@
click=
"shareCommission"
>
确定
</button>
</div>
</el-dialog>
</div>
</template>
<
script
>
...
...
@@ -517,6 +606,18 @@
export
default
{
data
()
{
return
{
tichengDialog
:
false
,
PMMsg
:
{
RB_Branch_Id
:
-
1
,
RB_Department_Id
:
0
,
EnterID
:
0
,
tStartDates
:
[],
qStartDates
:
[],
GroupBy
:
"EnterID"
,
QueryType
:
0
,
},
SumPreferPrice
:
0
,
rankingNum
:
0
,
type
:
1
,
defaultHeadImg
:
'this.src="'
+
require
(
"../../assets/img/default_head_img.jpg"
)
+
'"'
,
style
:
{
...
...
@@ -530,6 +631,11 @@
NotDealCount
:
0
,
//
zoom
:
1
,
OrderList
:
[],
shareMsg
:
{
ShareContent
:
''
,
PeriodsId
:
0
,
totalCommission
:
0
},
rules
:
{
ShareContent
:
[{
required
:
true
,
...
...
@@ -565,6 +671,140 @@
}
},
methods
:
{
// 销售预期提成
goAnticipate
(
type
){
let
userInfo
=
this
.
getLocalStorage
();
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'
}
else
if
(
type
==
5
){
//排名
name
=
'salesVolumeRank'
this
.
$router
.
push
({
path
:
name
,
query
:
{
tStartDates
:
this
.
PMMsg
.
tStartDates
,
blank
:
'y'
}
});
}
if
(
type
!=
5
&&
name
){
this
.
$router
.
push
({
name
:
name
,
query
:
{
UserId
:
Number
(
userInfo
.
EmployeeId
),
isSale
:
1
,
blank
:
'y'
}
});
}
},
settStartDates
()
{
let
nowdays
=
new
Date
()
let
Year
=
new
Date
().
getFullYear
()
let
MonthTime
=
new
Date
().
getMonth
()
+
1
let
MonthDayNum
=
new
Date
(
Year
,
12
,
0
).
getDate
();
let
date
=
Year
+
'-12-'
+
(
MonthDayNum
>
10
?
MonthDayNum
:
'0'
+
MonthDayNum
)
let
start
=
Year
+
'-01-01'
this
.
PMMsg
.
tStartDates
=
[
start
,
date
]
},
initData
()
{
let
userInfo
=
this
.
getLocalStorage
();
let
param
=
{
RB_Branch_Id
:
this
.
PMMsg
.
RB_Branch_Id
==
-
1
?
null
:
this
.
PMMsg
.
RB_Branch_Id
,
RB_Department_Id
:
this
.
PMMsg
.
RB_Department_Id
==
0
?
null
:
this
.
PMMsg
.
RB_Department_Id
,
EnterID
:
this
.
PMMsg
.
EnterID
==
0
?
null
:
this
.
PMMsg
.
EnterID
,
//Number(userInfo.EmployeeId)
QStartDate
:
this
.
PMMsg
.
tStartDates
&&
this
.
PMMsg
.
tStartDates
.
length
==
2
?
this
.
PMMsg
.
tStartDates
[
0
]
:
null
,
QEndDate
:
this
.
PMMsg
.
tStartDates
&&
this
.
PMMsg
.
tStartDates
.
length
==
2
?
this
.
PMMsg
.
tStartDates
[
1
]
:
null
,
CStartDate
:
this
.
PMMsg
.
qStartDates
&&
this
.
PMMsg
.
qStartDates
.
length
==
2
?
this
.
PMMsg
.
qStartDates
[
0
]
:
null
,
CEndDate
:
this
.
PMMsg
.
qStartDates
&&
this
.
PMMsg
.
qStartDates
.
length
==
2
?
this
.
PMMsg
.
qStartDates
[
1
]
:
null
,
GroupBy
:
this
.
PMMsg
.
GroupBy
,
QueryType
:
this
.
PMMsg
.
QueryType
,
};
if
(
!
param
.
QStartDate
)
{
param
.
QStartDate
=
"2019-01-01"
;
}
let
tableData
=
[]
this
.
apipost
(
"sellorder_get_sellvolumerankNew"
,
param
,
(
r
)
=>
{
r
.
data
.
data
.
forEach
((
x
)
=>
{
x
.
incomeVal
=
parseFloat
(
x
.
income
);
x
.
avgPrice
=
parseFloat
(
x
.
avgPrice
);
});
tableData
=
r
.
data
.
data
;
tableData
.
forEach
((
item
,
index
)
=>
{
if
(
item
.
EnterID
==
Number
(
userInfo
.
EmployeeId
)){
this
.
rankingNum
=
index
+
1
this
.
SumPreferPrice
=
item
.
SumPreferPrice
}
})
});
},
//锅炉除开标点符号的字数
getFilteredNum
(
val
)
{
//var pattern=new RegExp("[`~%!@#$^=''?~!@#¥……&——‘”“'?*()(),,。.、
<>
《》\\
[
\\
]
【】\\“\\”
{}
=+-|
\
/
:;
;:
]
");
var pattern = new RegExp("
[
`~%!@#$^=''?~!@#¥……&——‘”“'?*()(),,。.、<>《》:;; +-=\\s]");
//[]内输入你要过滤的字符,这里基本包含全部的标点符号,\\是转义字符
var rs = "";
for (var i = 0; i < val.length; i++) {
rs += val.substr(i, 1).replace(pattern, '');
}
return rs
},
//确定分享业绩
shareCommission() {
if (this.shareMsg.ShareContent == '') {
this.Error('请填写个人宣言');
return;
}
let FilterNum = this.getFilteredNum(this.shareMsg.ShareContent);
if (FilterNum.length < 10) {
this.Error('字数太少了,再多说点吧!');
return;
} else {
this.shareMsg.PeriodsId = this.data.comissionGeneralId;
this.shareMsg.totalCommission = this.data.totalCommission;
if (this.isSubmit) {
this.isSubmit = false;
this.apipost('customerIndex_post_SetSellComissionGeneralSure', this.shareMsg, res => {
this.isSubmit = true;
if (res.data.resultCode == 1) {
this.Success(res.data.message);
this.iWorkbench();
this.resetCommission();
this.MsgBus.$emit('reSetMSG');
} else {
this.Error(res.data.message);
}
}, err => {})
}
}
},
//关闭重置输入框
resetCommission() {
this.tichengDialog = false;
this.shareMsg.ShareContent = ''
},
iWorkbench() {
this.apipost('customerIndex_post_GetMySelfSellInfo', {}, res => {
if (res.data.resultCode == 1) {
...
...
@@ -811,6 +1051,7 @@
this.screenWidth = window.screenWidth
})()
}
this.initData()
this.iWorkbench() //销售个人工作台接口
this.grouplist() //销售首页小组工作台
this.Financial_post_GetNotDealCount(); //待处理财务单据的个数
...
...
src/components/temp/components/OrderList.vue
0 → 100644
View file @
14d55027
<
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
prop=
"Title"
label=
"团名"
>
</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
}}
(
{{
scope
.
row
.
TCID
}}
)
</p>
<p>
出团日期:
{{
scope
.
row
.
StartDate
}}
</p>
</div>
</
template
>
</el-table-column>
<el-table-column
prop=
"GuestNum"
label=
"收客人数"
>
</el-table-column>
<el-table-column
label=
"类型"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
TeamTypeName
}}
/
{{
scope
.
row
.
PriceTeamTypeName
}}
</
template
>
</el-table-column>
<el-table-column
label=
"线路/系列"
show-overflow-tooltip
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
LineName
}}
/
{{
scope
.
row
.
LtName
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"StateName"
label=
"状态"
show-overflow-tooltip
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
Status
}}
</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/temp/components/details.vue
0 → 100644
View file @
14d55027
<
style
scoped
>
</
style
>
<
template
>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"type==1?'出境提成详情':type==3?'提成明细':type==2?'国内提成详情':''"
placement=
"top"
>
<!--
<img
src=
"../../../assets/img/xiaosouYQ.png"
@
click=
"goDetails"
style=
"width: 12px;height: auto; cursor: pointer;color: #33B3FF;"
></img>
-->
<i
class=
"el-icon-document"
style=
"font-size: 18px;color: red;cursor: pointer;"
@
click=
"goDetails"
></i>
</el-tooltip>
</
template
>
<
script
>
export
default
{
props
:[
'type'
,
'obj'
,
'Month'
],
data
()
{
return
{
};
},
watch
:
{
obj
:{
handler
(
val
,
oldVal
){
this
.
obj
=
val
},
deep
:
true
,
immediate
:
true
}
},
mounted
()
{
},
created
()
{
},
methods
:
{
goDetails
(){
let
nowdays
=
new
Date
()
let
Year
=
new
Date
().
getFullYear
()
let
LastMonthTime
=
new
Date
().
getMonth
()
let
MonthTime
=
new
Date
().
getMonth
()
+
1
let
userInfo
=
this
.
getLocalStorage
();
let
MonthDayNum
let
name
if
(
this
.
type
!=
3
){
let
DepartSTime
let
DepartETime
if
(
this
.
Month
==
1
){
DepartSTime
=
Year
+
'-'
+
(
MonthTime
>
10
?
MonthTime
:
'0'
+
MonthTime
)
+
'-01'
MonthDayNum
=
new
Date
(
Year
,
MonthTime
,
0
).
getDate
();
DepartETime
=
Year
+
'-'
+
(
MonthTime
>
10
?
MonthTime
:
'0'
+
MonthTime
)
+
'-'
+
(
MonthDayNum
>
10
?
MonthDayNum
:
'0'
+
MonthDayNum
)
}
else
{
DepartSTime
=
Year
+
'-'
+
(
LastMonthTime
>
10
?
LastMonthTime
:
'0'
+
LastMonthTime
)
+
'-01'
MonthDayNum
=
new
Date
(
Year
,
LastMonthTime
,
0
).
getDate
();
DepartETime
=
Year
+
'-'
+
(
LastMonthTime
>
10
?
LastMonthTime
:
'0'
+
LastMonthTime
)
+
'-'
+
(
MonthDayNum
>
10
?
MonthDayNum
:
'0'
+
MonthDayNum
)
}
name
=
'erpMyCustomerOrder'
this
.
$router
.
push
({
name
:
name
,
query
:
{
DepartSTime
:
DepartSTime
,
DepartETime
:
DepartETime
,
CommissionType
:
String
(
this
.
type
),
blank
:
'y'
}
});
}
else
{
name
=
'TradeTicketUserDetails'
this
.
$router
.
push
({
name
:
name
,
query
:
{
UserId
:
Number
(
userInfo
.
EmployeeId
),
blank
:
'y'
}
});
}
}
}
};
</
script
>
src/components/temp/components/progressComm.vue
0 → 100644
View file @
14d55027
<
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
:
left
;
text-indent
:
10px
;
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"
>
<div
v-for=
"(item,index) in CommissionRateList"
:key=
"index"
class=
"relative-position"
>
<el-progress
:text-inside=
"true"
:stroke-width=
"20"
:percentage=
"setItemProgress(item)"
:status=
"setItemStatus(item)"
:format=
"setItemText(item)"
:text-color=
"'#666666'"
:color=
"customColor[0]"
>
</el-progress>
<div
class=
"rate-box"
>
<div
class=
"sanjiao"
:style=
"
{'border-bottom-color':Profit>item.StartValue
&&
Profit
<item
.
EndValue
?'#
33B3FF
'
:
'#
CACACA
'}"
></div>
<div
class=
"rate full-width"
:class=
"
{'active-rate':Profit>item.StartValue
&&
Profit
<item
.
EndValue
}"
>
<i
v-if=
"Profit>item.StartValue&&Profit
<item
.
EndValue
"
class=
"el-icon-check"
style=
"font-size:8px"
></i>
{{
item
.
Rate
}}{{
type
==
2
?
'%'
:
''
}}
</div>
</div>
</div>
</div>
</div>
</
template
>
<
script
>
export
default
{
props
:[
'CommissionRateList'
,
'Profit'
,
'type'
],
data
()
{
return
{
customColor
:
[
'rgba(51,179,255,1)'
,
'rgba(222,225,230,1)'
],
};
},
watch
:
{
CommissionRateList
:{
handler
(
val
,
oldVal
){
this
.
CommissionRateList
=
val
},
deep
:
true
,
immediate
:
true
}
},
mounted
()
{
},
created
()
{
},
methods
:
{
// 设置进度
setItemProgress
(
data
)
{
if
(
this
.
Profit
&&
this
.
Profit
>=
data
.
StartValue
&&
this
.
Profit
<=
data
.
EndValue
){
return
data
.
EndValue
<
999999
?
this
.
Profit
/
data
.
StartValue
:
this
.
Profit
/
data
.
EndValue
}
else
{
return
0
}
},
// 自定义进度条文字
setItemText
(
row
)
{
if
(
this
.
type
==
2
){
this
.
formatProgress
(
row
)
return
()
=>
{
return
`
${
row
.
EndValue2
>
99
?
'>'
+
row
.
StartValue2
:
row
.
StartValue2
+
' - '
+
row
.
EndValue2
}
w`
}
}
else
if
(
this
.
type
==
1
){
return
()
=>
{
return
`
${
row
.
EndValue
>
999
?
'>'
+
row
.
StartValue
:
row
.
StartValue
+
' - '
+
row
.
EndValue
}
人`
}
}
},
// 设置当前进度条状态,显示不同颜色
setItemStatus
(
data
)
{
if
(
this
.
AvgLureNum
>=
data
.
StartValue
&&
this
.
AvfOrderNum
>=
data
.
EndValue
){
return
'exception'
}
},
formatProgress
(
data
){
let
obj
=
JSON
.
parse
(
JSON
.
stringify
(
data
))
if
(
obj
.
StartValue
>=
10000
)
{
data
.
StartValue2
=
(
obj
.
StartValue
/
1000
).
toFixed
(
1
)
>
0
?(
obj
.
StartValue
/
10000
).
toFixed
(
1
):
0
//Math.floor(obj.StartValue/10000)
if
(
data
.
StartValue2
>=
10
&&
data
.
StartValue2
.
indexOf
(
'.0'
)
!=-
1
){
data
.
StartValue2
=
data
.
StartValue2
.
slice
(
0
,
2
)
}
else
if
(
data
.
StartValue2
.
indexOf
(
'.0'
)
!=-
1
){
data
.
StartValue2
=
data
.
StartValue2
.
slice
(
0
,
1
)
}
}
else
{
data
.
StartValue2
=
(
obj
.
StartValue
/
10000
).
toFixed
(
1
)
>
0
?(
obj
.
StartValue
/
10000
).
toFixed
(
1
):
0
}
if
(
obj
.
EndValue
>=
10000
)
{
data
.
EndValue2
=
obj
.
EndValue
/
10000
}
else
{
data
.
EndValue2
=
(
obj
.
EndValue
/
1000
).
toFixed
(
1
)
>
0
?(
obj
.
EndValue
/
10000
).
toFixed
(
1
):
0
}
},
}
};
</
script
>
src/components/temp/operation.vue
View file @
14d55027
...
...
@@ -38,42 +38,229 @@
.title-Month{
text-align: right;
}
.groupTourOrder{
display: flex;
flex-wrap: wrap;
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 */
}
.groupTourOrder span:first-child{
margin-left: 0;
}
.groupTourOrder span span{
color: red;
}
.CommissionLadder-form{
display: flex;
flex-wrap: wrap;
margin: 10px 0;
overflow: hidden;
}
.CommissionLadder{
flex: 1;
padding: 16px 20px 20px 20px;
background: #ffffff;
}
.CommissionLadder.Line{
margin: 0 0 10px 0;
}
.CommissionLadder .title{
font-size: 19px;
font-weight: bold;
padding: 0 0 5px 0;
display: flex;
justify-content: space-between;
}
.CommissionLadder p {
padding: 5px 0 0px 0;
font-size: 15px;
display: flex;
justify-content: space-between;
}
.CommissionLadder p span:last-child{
color: red;
}
.CommissionInfor{
padding: 0 0 10px 0;
}
.CommissionInfor span{
margin-left: 5px;
font-size: 13px;
}
.CommissionInfor span:first-child{
margin-left: 0;
}
.CommissionInfor span span{
color: red;
}
.CommissionLadder:last-child{
margin-right: 0;
}
.commissionProject>div{
margin-right: 40px;
margin-top: 10px;
}
.commissionProject>div:last-child{
margin-right: 0;
}
.commissionProject>div>div:first-child{
display: flex;
align-items: center;
justify-content: space-between;
padding: 10px 0 5px 0;
}
.commissionProjectZL{
display: flex;align-items: center;justify-content: space-between;
padding: 0 0 5px 0;
}
.commissionProject>div>div{
}
.ProjectTitle{
font-size: 16px;font-weight: bold;
}
.ProjectTitle>span{
margin-left: 5px; font-size: 15px;font-weight: 100;
}
.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;
}
.headerTitle{
margin-bottom: 40px;
display: flex;
flex-wrap: wrap;
}
.headerTitle p{
font-weight: bold;
flex-wrap: nowrap;
}
.headerTitle span{
.headerTitle span
:last-child
{
font-weight: 100;
color: red;
margin-right: 20px;
}
.ladder-form{
width: 100%;
max-width: 1526px;
overflow-x: auto;
display: flex;
flex-wrap: nowrap;
}
.ladder-form-box{
height: 92px;
overflow: auto;
display: flex;
flex-wrap: nowrap;
}
.ladder-list{
flex: 1;
min-width: 450px;
display: flex;
flex-direction: column;
margin-right: 40px;
}
.ladder-list:last-child{
margin-right: 0;
}
.ladder-title{
width: 100%;
font-size: 13px;
padding: 0 0 5px 0;
color: black;
font-weight: bold;
}
</
style
>
<
template
>
<div>
<leftNav></leftNav>
<div
class=
"sale_cont"
v-if=
"CurrentUserInfo.RB_Group_id==2 || EditBtn"
>
<!--
<div
class=
"Sale_menu"
>
<ul>
<template
v-for=
"(item ,index) in MonthList"
>
<li
:class=
"
{active:Month==item.Id}" @click="Month=item.Id">
{{
item
.
Name
}}
</li>
</
template
>
</ul>
</div>
-->
<div
class=
"saleChartCont"
:style=
"{zoom:zoom}"
>
<div
class=
"saleChartCont"
:style=
"
{zoom:zoom}" style="overflow-y: scroll;" v-loading="loading">
<div
class=
"personal"
>
<div
class=
"PersonalData"
style=
"height: auto;margin-top: 0;background: none;"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-row
:gutter=
"20"
style=
"margin-right: 0;"
>
<el-col
:span=
"12"
style=
"padding-right: 0;"
>
<div
class=
"el-col-div ownScrollbarStyle PersonalData_l"
style=
"height: auto;background: #fff;"
>
<rightHead
:pagesTitle=
"2"
></rightHead>
<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"
>
<div
class=
"p_name"
style=
"margin-top:20px"
>
<span>
{{
data
.
emName
}}
</span>
<span>
{{
data
.
postName
}}
</span>
</div>
<div
style=
"display: flex;justify-content: space-between;"
>
<div
style=
"cursor: pointer;cursor: pointer;position: relative;"
class=
"royalty"
@
click=
"goAnticipate(1)"
>
<div
class=
"tc"
>
<p>
<span>
¥
</span>
<span>
{{
data
.
OPCommission
}}
</span>
</p>
<p
style=
"color: #BDBDBD;font-size: 13px;padding: 0 0 5px 0;"
>
{{
data
.
PeriodsName
}}
期
<el-tag
v-if=
"data.peopelBonus"
size=
"mini"
type=
"danger"
effect=
"dark"
style=
"color: #ffff;position: absolute;left: 70px;bottom: 23px;font-size: 11px;"
>
奖+
{{
data
.
PeopelBonus
}}
</el-tag></p>
</div>
<div
stye=
"font-size: 16px;color: #666666;display: block;display: inline-block;"
>
<span>
出境提成
</span>
</div>
</div>
<div
style=
"border-left: 1px solid #eeeeee;width: 1px;"
>
</div>
<div
style=
"cursor: pointer;margin-left: 0;"
class=
"royalty"
@
click=
"goAnticipate(2)"
>
<div
class=
"tc"
>
<p>
<span>
¥
</span>
<span>
{{
data
.
GNOPCommission
}}
</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>
<div
style=
"border-left: 1px solid #eeeeee;width: 1px;"
>
</div>
<div
style=
"cursor: pointer;margin-left: 0;"
class=
"royalty"
@
click=
"goAnticipate(3)"
>
<div
class=
"tc"
>
<p>
<span>
¥
</span>
<span>
{{
data
.
DXOPCommission
}}
</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>
</div>
</div>
</div>
</el-col>
<el-col
:span=
"12"
style=
"
background: #fff
;"
>
<div
class=
"el-col-div ownScrollbarStyle PersonalData_l"
style=
"height: 158px;"
>
<el-col
:span=
"12"
style=
"
padding-right: 0
;"
>
<div
class=
"el-col-div ownScrollbarStyle PersonalData_l"
style=
"height: 158px;
background: #fff;
"
>
<div
class=
"title-Month"
>
<template
v-for=
"(item ,index) in MonthList"
>
<input
type=
"button"
:key=
"index"
...
...
@@ -82,21 +269,250 @@
@click="clickActive(item)">
</input>
</
template
>
</div>
<div
style=
"display: flex;align-items: center; justify-content: space-between;
height: 40px;padding: 0 20px;"
>
<div
style=
"display: flex;align-items: center; justify-content: space-between;padding: 20px 20px 0 20px;"
>
<div
class=
"headerTitle"
>
<p>
总订单数:
<span></span></p>
<p>
总人头数:
<span></span></p>
<p>
总预期奖金:
<span>
{{CommissionJJ}}
</span></p>
<p>
总预期提成:
<span>
{{CommissionTC}}
</span></p>
<p>
<span>
总订单数:
</span>
<span></span></p>
<p>
<span>
总人头数:
</span>
<span></span></p>
<p>
<span>
总预期奖金:
</span>
<span>
{{CommissionJJ}}
</span></p>
<p>
<span>
总预期提成:
</span>
<span>
{{CommissionTC}}
</span></p>
</div>
</div>
</div>
</el-col>
</el-row>
</div>
<
template
v-for=
"(item,index) in dataRlueList"
>
<div
class=
"CommissionLadder-form"
style=
"flex-direction: column;"
>
<div
class=
"CommissionLadder Line"
:style=
"
{'margin': index>0?'10px 0 0 0':'0 0 0 0'}">
<div
class=
"title"
>
<span>
{{
item
.
RuleName
}}
</span>
<div>
<!--
<detailsButtom
:type=
"1"
:obj=
"commissionMsg"
:Month=
"Month"
/>
-->
</div>
</div>
<p
style=
"font-size: 16px;font-weight: bold;"
>
小包团、落地团以及单项提成
</p>
<template
v-for=
"(s,indes) in item.BranchList"
>
<div
class=
"CommissionInfor"
>
<span>
当月团数:
<span>
{{
s
.
TravelNum
}}
</span>
</span>
<span>
预期利润:
<span>
{{
s
.
Profit
}}
</span>
</span>
<span>
预期比例:
<span>
{{
s
.
Rate
}}{{
s
.
Way
==
1
?
'元/人'
:
'%'
}}
</span>
</span>
<span>
预期提成:
<span>
{{
s
.
Commission
}}
</span>
</span>
</div>
<div
class=
"ladder-form"
>
<div
class=
"ladder-form-box"
>
<div
class=
"ladder-list"
>
<div
class=
"ladder-title"
>
{{
s
.
BranchName
}}
</div>
<progressComm
:type=
"2"
:CommissionRateList=
"s.GradeRuleList"
:Profit=
"s.Profit"
></progressComm>
</div>
</div>
</div>
</
template
>
<div
class=
"commissionProject"
style=
"display: flex;flex-wrap: wrap;"
>
<div
style=
"width: 450px;"
>
<div>
<span
class=
"ProjectTitle"
>
额外奖励
<span>
<span>
当月团数:
<span
style=
"color: red;"
>
{{item.TravelAward.TravelNum}}
</span>
</span>
<span
style=
"margin-left: 10px;"
>
奖励:
<span
style=
"color: red;"
>
{{item.TravelAward.AwardMoney}}
</span>
</span></span>
</span>
</div>
<div>
<progressComm
:type=
"1"
:CommissionRateList=
"item.TravelAward.GradeRuleList"
:Profit=
"item.TravelAward.TravelNum"
></progressComm>
</div>
</div>
<div>
<div>
<span
class=
"ProjectTitle"
>
单项签证
</span>
</div>
<div
class=
"groupTourOrder"
>
<span>
报名单数:
<span>
{{item.SingleVisa.OrderNum}}
</span></span>
<span>
预期利润:
<span>
{{item.SingleVisa.Profit}}
</span></span>
<span>
提成比例:
<span>
{{item.SingleVisa.Rate}}{{item.SingleVisa.Way==1?'元/人':'%'}}
</span></span>
<span>
预期提成:
<span>
{{item.SingleVisa.Commission}}
</span></span>
</div>
</div>
<div>
<div>
<span
class=
"ProjectTitle"
>
团队签证
</span>
</div>
<div
class=
"groupTourOrder"
>
<span>
签证人数:
<span>
{{item.TravelVisa.VisaNum}}
</span></span>
<span>
单价:
<span>
{{item.TravelVisa.Rate}}{{item.TravelVisa.Way==1?'元/人':'%'}}
</span></span>
<span>
预期提成:
<span>
{{item.TravelVisa.Commission}}
</span></span>
</div>
</div>
<div>
<div>
<span
class=
"ProjectTitle"
>
人头奖励
<span>
公司所有国内出发线路(单团.散拚)
</span></span>
</div>
<div
class=
"groupTourOrder"
>
<span>
订单数:
<span>
{{item.PeopleAward.TravelNum}}
</span></span>
<span>
人头数:
<span>
{{item.PeopleAward.PeopelNum}}
</span></span>
<span>
提成方式:
<span>
{{item.PeopleAward.Rate}}{{item.PeopleAward.Way==1?'元/人':'%'}}
</span></span>
<span>
预期提成:
<span>
{{item.PeopleAward.Commission}}
</span></span>
</div>
</div>
<div>
<div
style=
"display: flex;"
>
<div>
<div
class=
"commissionProjectZL"
>
<span
class=
"ProjectTitle"
>
助理奖励
<span>
系列团助理op人头提成
</span></span>
</div>
<div
class=
"groupTourOrder"
>
<span>
报名人数:
<span>
{{ZLOPAward.TravelPeopleNum}}
</span></span>
<span>
单价:
<span>
{{ZLOPAward.TravelUnitPrice}}元/人
</span></span>
<span>
预期提成:
<span>
{{ZLOPAward.TravelCommission}}
</span></span>
</div>
</div>
<div
style=
"margin-left: 40px;"
>
<div
class=
"commissionProjectZL"
>
<span
class=
"ProjectTitle"
>
助理奖励
<span>
落地散、单项人头奖励
</span></span>
</div>
<div
class=
"groupTourOrder"
>
<span>
报名人数:
<span>
{{ZLOPAward.SinglePeopleNum}}
</span></span>
<span>
单价:
<span>
{{ZLOPAward.SingleUnitPrice}}元/人
</span></span>
<span>
预期提成:
<span>
{{ZLOPAward.SingleCommission}}
</span></span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
<div
style=
"display: flex;margin: 10px 0 10px 0;"
>
<div
class=
"CommissionLadder Line"
style=
"width: 100%;margin: 0 0 0 0;padding: 16px 20px 0 20px;flex-shrink: 0;"
>
<div
style=
"display: flex;justify-content: space-between;"
>
<span
style=
"font-weight: bold;font-size: 16px;"
>
国内提成
<span
style=
"font-size: 13px;color: red;margin-left: 20px;"
>
注:国内提成需结团后方可发放提成,以实际结团为准,此处只提供参考
</span>
</span>
<div>
<!-- <detailsButtom :type="2" :obj="commissionMsg" :Month="Month"/> -->
</div>
</div>
<p
style=
"padding: 0 0 10px 0;text-align: left;"
></p>
<div
class=
"ExpectedCommission-table"
>
<el-table
border
ref=
"multipleTable"
:data=
"isExpansion?newRlistAll:newRlist"
>
<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
:
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
:
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=
"提成"
width=
"60"
>
<
template
slot-scope=
"scope"
>
<template
v-if=
"scope.row.Way==1"
>
{{
scope
.
row
.
Money
+
'/人'
}}
</
template
>
<
template
v-if=
"scope.row.Way==2"
>
{{
scope
.
row
.
ProfitRate
+
'%'
}}
</
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
}}
</
template
>
</el-table-column>
</el-table>
<div
style=
"color: red;font-size: 12px;text-align: right;padding: 0;"
>
<span
style=
"cursor: pointer;display: inline-block;padding: 10px 5px;"
@
click=
"isExpansion=!isExpansion"
>
{{isExpansion?'收起':'展开'}}
<i
:class=
"[isExpansion?'el-icon-arrow-up':'el-icon-arrow-down']"
></i>
</span>
</div>
</div>
</div>
</div>
<div
class=
"ExpectedCommission-form"
>
<!-- 未平账单 -->
<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=
"display: flex;justify-content: space-between;"
>
<div
style=
"padding: 10px 0 0 0;color: #E95252;line-height: 30px;width: 50%;white-space: wrap;"
>
<p
style=
"font-weight: bold;"
>
出境提成提醒:
</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
style=
"padding: 10px 0 0 0;color: #E95252;line-height: 30px;width: 50%;white-space: wrap;"
>
<p
style=
"font-weight: bold;"
>
关于提成发放流程的补充通知:
</p>
<p>
提成按时发放是公司所有人的期盼,同时也是公司重视的一部份,202
3年04月27日发布文件编号:2023-A-19“关于提成发放流程的通知”文件,在实际
操作过程中还是有部份人员不重视、无公德心,未在规定时间内及时改价或成本录入
未完成,导致5月提成未正常发放,为不影响其他销售的提成,特对提成规则做以下补充:
</p>
1.从2023年5月18日起,行政部会按提成规定对已平账订单进行制单;
</br>
2.未在规定时间内改价平账订单,违反提成规则,该订单报名当事人提成金额为0。
</br>
3.未平账订单继续追溯至下个月,直到全部帐平为止,再放发上月其他订单提成
</br>
4.未结团团期或成本遗漏补录等原因,造成团队利润变动,销售提成会在次月再次验证此团利润,多退少补;
</br>
5.提成工作环环相扣,请所有人员务必有公德心,同时遵守工作流程,尊重他人。
</br>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
...
...
@@ -104,14 +520,29 @@
<
script
>
import
leftNav
from
'../public/leftNav.vue'
import
rightHead
from
'../public/rightHead.vue'
import
progressComm
from
'./components/progressComm'
import
OrderList
from
'./components/OrderList'
import
detailsButtom
from
'./components/details'
export
default
{
data
(){
return
{
defaultHeadImg
:
'this.src="'
+
require
(
"../../assets/img/default_head_img.jpg"
)
+
'"'
,
data
:{},
loading
:
true
,
ZLOPAward
:{},
dataRlueList
:[],
EditBtn
:
false
,
CurrentUserInfo
:
{},
zoom
:
1
,
CommissionJJ
:
0
,
CommissionTC
:
0
,
isExpansion
:
false
,
CommissionJJ
:
0
,
CommissionTC
:
0
,
GNOrderNum
:
0
,
GNEopleNum
:
0
,
GNCommission
:
0
,
newRlist
:[],
newRlistAll
:[],
DomesticLine
:{},
msg
:{
Month
:
''
},
...
...
@@ -120,7 +551,8 @@
{
Name
:
'上月'
,
Id
:
'0'
},
{
Name
:
'当月'
,
Id
:
'1'
},
],
CommissionInfor
:{},
CommissionInfor
:
{},
OrderList
:
[],
YearTime
:
''
,
LastMonthTime
:
''
,
MonthTime
:
''
,
...
...
@@ -153,9 +585,48 @@
},
components
:{
leftNav
,
rightHead
rightHead
,
progressComm
,
OrderList
,
detailsButtom
},
methods
:{
// 销售预期提成
goAnticipate
(
type
){
let
userInfo
=
this
.
getLocalStorage
();
let
name
if
(
type
==
1
){
//出境
name
=
'OPCommissionDetail'
}
else
if
(
type
==
2
){
//国内
name
=
'OPsalesCommissionUser'
}
else
if
(
type
==
3
){
//历史单项
name
=
'ServiceCommissionUser'
}
if
(
type
!=
5
&&
name
){
this
.
$router
.
push
({
name
:
name
,
query
:
{
UserId
:
Number
(
userInfo
.
EmployeeId
),
Type
:
2
,
isSale
:
1
,
blank
:
'y'
}
});
}
},
goMore
(){
this
.
$router
.
push
({
name
:
'TravelControlList'
,
query
:
{
blank
:
'y'
,
// Q_IsCollect: "2",
// DepartSTime: this.commissionMsg.DepartSTime,
// DepartETime: this.commissionMsg.DepartETime
}
});
},
clickActive
(
item
){
this
.
Month
=
item
.
Id
if
(
item
.
Id
==
1
){
...
...
@@ -163,79 +634,26 @@
}
else
{
this
.
msg
.
Month
=
this
.
Year
+
'-'
+
(
this
.
LastMonthTime
>
10
?
this
.
LastMonthTime
:
'0'
+
this
.
LastMonthTime
)
}
// this.getList()
this
.
getList
()
this
.
GetGNSaleExpectCommission
()
},
// 获取规则列表数据
getList
()
{
this
.
apipost
(
"sellcommission_GetTYSaleCommissionRuleList"
,
{},
res
=>
{
this
.
loading
=
false
;
this
.
loading
=
true
this
.
apipost
(
"opcommission_GetOPExpectCommission"
,
this
.
msg
,
res
=>
{
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
.
OtherLine
.
CommissionRateList
=
this
.
dataRuleList
.
OtherAwardRuleList
this
.
OtherProfit
.
CommissionRateList
=
this
.
dataRuleList
.
OtherProfitRuleList
this
.
AnnualBonus
.
CommissionRateList
=
this
.
dataRuleList
.
BonusRuleList
this
.
getData
()
this
.
dataRlueList
=
res
.
data
.
data
.
RlueList
this
.
ZLOPAward
=
res
.
data
.
data
.
ZLOPAward
// console.log(res.data.data,'---')
}
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
.
CommissionInfor
.
PeopleNum
:
0
this
.
JapaneseLine
.
Commission
=
this
.
CommissionInfor
.
PeopleMoney
?
this
.
CommissionInfor
.
PeopleMoney
:
0
// 日本及其他提成比例
this
.
JapaneseProfit
.
AvgLureNum
=
this
.
CommissionInfor
.
JapanCommission
?
this
.
CommissionInfor
.
JapanCommission
:
0
this
.
JapaneseProfit
.
AvfOrderNum
=
this
.
CommissionInfor
.
JapanOrderNum
?
this
.
CommissionInfor
.
JapanOrderNum
:
0
this
.
JapaneseProfit
.
CommissionRate
=
this
.
CommissionInfor
.
JapanRate
?
this
.
CommissionInfor
.
JapanRate
:
0
this
.
JapaneseProfit
.
Commission
=
this
.
CommissionInfor
.
JapanCommission
?
this
.
CommissionInfor
.
JapanCommission
:
0
this
.
JapaneseProfit
.
CommissionProfit
=
this
.
CommissionInfor
.
JapanProfit
?
this
.
CommissionInfor
.
JapanProfit
:
0
// 欧洲人头奖励
this
.
EuropeLine
.
AvgLureNum
=
this
.
CommissionInfor
.
EuropePNum
?
this
.
CommissionInfor
.
EuropePNum
:
0
this
.
EuropeLine
.
Commission
=
this
.
CommissionInfor
.
EuropeMoney
?
this
.
CommissionInfor
.
EuropeMoney
:
0
// 欧洲及其他提成比例
this
.
EuropeProfit
.
AvgLureNum
=
this
.
CommissionInfor
.
EuropeCommission
?
this
.
CommissionInfor
.
EuropeCommission
:
0
this
.
EuropeProfit
.
AvfOrderNum
=
this
.
CommissionInfor
.
EuropeOrderNum
?
this
.
CommissionInfor
.
EuropeOrderNum
:
0
this
.
EuropeProfit
.
CommissionRate
=
this
.
CommissionInfor
.
EuropeRate
?
this
.
CommissionInfor
.
EuropeRate
:
0
this
.
EuropeProfit
.
Commission
=
this
.
CommissionInfor
.
EuropeCommission
?
this
.
CommissionInfor
.
EuropeCommission
:
0
this
.
EuropeProfit
.
CommissionProfit
=
this
.
CommissionInfor
.
EuropeProfit
?
this
.
CommissionInfor
.
EuropeProfit
:
0
// 其他人头奖励
this
.
OtherLine
.
AvgLureNum
=
this
.
CommissionInfor
.
OtherPNum
?
this
.
CommissionInfor
.
OtherPNum
:
0
this
.
OtherLine
.
Commission
=
this
.
CommissionInfor
.
OtherMoney
?
this
.
CommissionInfor
.
OtherMoney
:
0
// 其他提成比例
this
.
OtherProfit
.
AvgLureNum
=
this
.
CommissionInfor
.
OtherCommission
?
this
.
CommissionInfor
.
OtherCommission
:
0
this
.
OtherProfit
.
AvfOrderNum
=
this
.
CommissionInfor
.
OtherOrderNum
?
this
.
CommissionInfor
.
OtherOrderNum
:
0
this
.
OtherProfit
.
CommissionRate
=
this
.
CommissionInfor
.
OtherRate
?
this
.
CommissionInfor
.
OtherRate
:
0
this
.
OtherProfit
.
Commission
=
this
.
CommissionInfor
.
OtherCommission
?
this
.
CommissionInfor
.
OtherCommission
:
0
this
.
OtherProfit
.
CommissionProfit
=
this
.
CommissionInfor
.
OtherProfit
?
this
.
CommissionInfor
.
OtherProfit
:
0
// 年终奖
this
.
AnnualBonus
.
AvfOrderNum
=
this
.
CommissionInfor
.
BonusNum
?
this
.
CommissionInfor
.
BonusNum
:
0
this
.
AnnualBonus
.
Commission
=
this
.
CommissionInfor
.
BonusPeriods
?
this
.
CommissionInfor
.
BonusPeriods
:
0
this
.
GetGNSaleExpectCommission
()
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
this
.
loading
=
false
},
err
=>
{
this
.
loading
=
false
}
);
this
.
loading
=
false
;
})
},
GetGNSaleExpectCommission
(){
// 国内提成
this
.
apipost
(
'
sellcommission_Post_GetGNSale
ExpectCommission'
,
this
.
msg
,
this
.
apipost
(
'
opcommission_Post_GetGNOP
ExpectCommission'
,
this
.
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
DomesticLine
=
res
.
data
.
data
...
...
@@ -263,8 +681,7 @@
})
},
GetOrderPageList
(){
this
.
commissionMsg
.
IsMyOrder
=
'1'
this
.
apipost
(
'CarSingle_post_GetGuestOrderStatisticsPageList'
,
this
.
commissionMsg
,
this
.
apipost
(
'opcommission_GetOPNotGroupOutTravelList'
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
let
data
=
res
.
data
.
data
.
pageData
...
...
@@ -283,6 +700,28 @@
err
=>
{
this
.
loading
=
false
}
)
},
iWorkbench
()
{
let
Info
this
.
apipost
(
'customerIndex_post_GetMySelfSellInfo'
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
data
=
res
.
data
.
data
;
Info
=
res
.
data
.
data
this
.
apipost
(
'opcommission_GetLatelyOPCommission'
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
data
=
res
.
data
.
data
;
this
.
data
.
icon
=
Info
.
icon
this
.
data
.
emName
=
Info
.
emName
this
.
data
.
postName
=
Info
.
postName
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
)
}
},
err
=>
{})
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
)
}
},
err
=>
{})
},
//计算总成本
CalculatePrice
(
arr1
,
num
)
{
...
...
@@ -331,11 +770,14 @@
this
.
MonthList
[
0
].
Name
=
this
.
MonthList
[
0
].
Name
+
'('
+
this
.
LastMonthTime
+
'月)'
this
.
MonthList
[
1
].
Name
=
this
.
MonthList
[
1
].
Name
+
'('
+
this
.
MonthTime
+
'月)'
//this.Year+'-'+(this.MonthTime>10?this.MonthTime:'0'+this.MonthTime)+'-01'//出发开始
this
.
commissionMsg
.
DepartSTime
=
this
.
getBeforeDate
(
93
,
this
.
getBeforeDate
(
0
,
new
Date
().
Format
(
"yyyy-MM-dd"
)))
var
MonthDayNum
=
new
Date
(
this
.
Year
,
this
.
MonthTime
,
0
).
getDate
();
//计算当月的天数
this
.
commissionMsg
.
DepartETime
=
this
.
Year
+
'-'
+
(
this
.
MonthTime
>
10
?
this
.
MonthTime
:
'0'
+
this
.
MonthTime
)
+
'-'
+
(
MonthDayNum
>
10
?
MonthDayNum
:
'0'
+
MonthDayNum
)
//出发结束
},
this
.
iWorkbench
()
this
.
GetOrderPageList
()
this
.
getList
()
this
.
GetGNSaleExpectCommission
()
},
}
...
...
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