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
8969884e
Commit
8969884e
authored
Apr 23, 2023
by
youjie
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
no message
parent
b0054d14
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
891 additions
and
4 deletions
+891
-4
CommissionRule.vue
...onents/FinancialModule/TradeCommission/CommissionRule.vue
+879
-0
productQueryOne2.vue
src/components/SalesModule/productQueryOne2.vue
+1
-1
priceGroup.vue
src/components/TravelManager/TravelTeam/priceGroup.vue
+1
-1
config.js
src/router/config.js
+10
-2
No files found.
src/components/FinancialModule/TradeCommission/CommissionRule.vue
0 → 100644
View file @
8969884e
<
template
>
<div
class=
"page_FProcessManagement"
>
<ul
class=
"_nav clearfix"
>
<li
style=
"color: red;"
>
注:公司所有国内出发线路(单团.散拼)规则
</li>
<!--
<button
class=
"hollowFixedBtn"
style=
"right: 185px;"
@
click=
"clickTheRules(1)"
>
提成限制
</button>
<button
class=
"normalBtn"
style=
"position: absolute; right: 90px;top: 9px;"
@
click=
"clickTheRules()"
>
提成规则
</button>
-->
<input
type=
"button"
class=
"hollowFixedBtn"
value=
"新增"
@
click=
"AddMsg"
/>
<input
type=
"button"
class=
"normalBtn"
style=
"position: absolute; right: 90px;top: 9px;"
value=
"查询"
@
click=
"getList"
/>
</ul>
<div
class=
"cm_content"
style=
"width: 100%;margin-bottom: 35px;margin-top: 30px;"
v-for=
"(item,index ) in dataList "
:key=
"index"
>
<table
class=
"po_content singeRowTable"
style=
"border:1px solid #E6E6E6;"
cellspacing=
"0"
cellpadding=
"0"
v-loading=
"loading"
>
<tr>
<th
width=
"100"
style=
"min-width: 100px;max-width: 100px;"
>
方案名称
</th>
<th
width=
"100"
class=
"left-text-indent"
>
提成比例
</th>
<th
width=
"100"
style=
"min-width: 100px;max-width: 100px;"
>
达标人数
</th>
<th
width=
"150"
style=
"min-width: 150px;max-width: 150px;"
>
修改时间
</th>
<th
width=
"150"
style=
"min-width: 150px;max-width: 150px;"
>
操作
</th>
</tr>
<tr>
<td>
<span>
{{
item
.
Name
}}
</span>
</td>
<td
style=
"padding: 0 10px;"
class=
"left-text-indent"
>
{{
item
.
SalesRate
}}
</td>
<td>
{{
item
.
BonusMinPNum
}}
</td>
<td
style=
"padding: 0 10px;"
>
<p>
{{
item
.
UpdateBy
}}
</p>
<span>
{{
item
.
UpdateDate
}}
</span>
</td>
<td>
<el-button
@
click=
"SetRules(item)"
style=
"padding:4px"
type=
"primary"
icon=
"el-icon-edit"
circle
>
</el-button>
<el-button
@
click=
"Delete(item)"
style=
"padding:4px"
type=
"danger"
icon=
"el-icon-delete"
circle
></el-button>
</td>
</tr>
</table>
<div
style=
"width:100%;overflow-x: auto;"
>
<table
class=
"po_content singeRowTable"
style=
"border:1px solid #E6E6E6;"
cellspacing=
"0"
cellpadding=
"0"
>
<tr>
<td
rowspan=
"2"
width=
"150"
style=
"min-width: 150px;"
>
日本及其他人头奖励
</td>
<th
style=
"min-width: 220px;"
v-for=
"( son , sIndex ) in item.AwardRuleList"
:key=
"sIndex"
>
{{
son
.
StartValue
}}
~
{{
son
.
EndValue
&&
son
.
EndValue
!=-
1
?
son
.
EndValue
:
'以上'
}}
</th>
</tr>
<tr>
<td
style=
"min-width: 220px;"
v-for=
"( son , sIndex ) in item.AwardRuleList"
:key=
"sIndex"
>
{{
son
.
Rate
}}
元
</td>
</tr>
</table>
</div>
<div
style=
"width:100%;overflow-x: auto;"
>
<table
class=
"po_content singeRowTable"
style=
"border:1px solid #E6E6E6;"
cellspacing=
"0"
cellpadding=
"0"
>
<tr>
<td
rowspan=
"2"
width=
"150"
style=
"min-width: 150px;"
>
日本及其他提成比例
</td>
<th
style=
"min-width: 220px;"
v-for=
"( son , sIndex ) in item.ProfitRuleList"
:key=
"sIndex"
>
{{
son
.
StartValue
}}
<span>
{{
son
.
EndValue
&&
son
.
EndValue
!=-
1
?
'<=当月利润<'
:
'<=当月利润'
}}
</span>
<span
v-if=
"son.EndValue && son.EndValue!=-1"
>
{{
son
.
EndValue
}}
</span>
</th>
</tr>
<tr>
<td
style=
"min-width: 220px;"
v-for=
"( son , sIndex ) in item.ProfitRuleList"
:key=
"sIndex"
>
{{
son
.
Rate
}}
%
</td>
</tr>
</table>
</div>
<div
style=
"width:100%;overflow-x: auto;"
>
<table
class=
"po_content singeRowTable"
style=
"border:1px solid #E6E6E6;"
cellspacing=
"0"
cellpadding=
"0"
>
<tr>
<td
rowspan=
"2"
width=
"150"
style=
"min-width: 150px;"
>
欧洲及其他人头奖励
</td>
<th
style=
"min-width: 220px;"
v-for=
"( son , sIndex ) in item.EuropeAwardRuleList"
:key=
"sIndex"
>
{{
son
.
StartValue
}}
~
{{
son
.
EndValue
&&
son
.
EndValue
!=-
1
?
son
.
EndValue
:
'以上'
}}
</th>
</tr>
<tr>
<td
style=
"min-width: 220px;"
v-for=
"( son , sIndex ) in item.EuropeAwardRuleList"
:key=
"sIndex"
>
{{
son
.
Rate
}}
元
</td>
</tr>
</table>
</div>
<div
style=
"width:100%;overflow-x: auto;"
>
<table
class=
"po_content singeRowTable"
style=
"border:1px solid #E6E6E6;"
cellspacing=
"0"
cellpadding=
"0"
>
<tr>
<td
rowspan=
"2"
width=
"150"
style=
"min-width: 150px;"
>
欧洲及其他提成比例
</td>
<th
style=
"min-width: 220px;"
v-for=
"( son , sIndex ) in item.EuropeProfitRuleList"
:key=
"sIndex"
>
{{
son
.
StartValue
}}
<span>
{{
son
.
EndValue
&&
son
.
EndValue
!=-
1
?
'<=当月利润<'
:
'<=当月利润'
}}
</span>
<span
v-if=
"son.EndValue && son.EndValue!=-1"
>
{{
son
.
EndValue
}}
</span>
</th>
</tr>
<tr>
<td
style=
"min-width: 220px;"
v-for=
"( son , sIndex ) in item.EuropeProfitRuleList"
:key=
"sIndex"
>
{{
son
.
Rate
}}
%
</td>
</tr>
</table>
</div>
<div
style=
"width:100%;overflow-x: auto;"
>
<table
class=
"po_content singeRowTable"
style=
"border:1px solid #E6E6E6;"
cellspacing=
"0"
cellpadding=
"0"
>
<tr>
<td
rowspan=
"2"
width=
"150"
style=
"min-width: 150px;"
>
年终奖励
</td>
<th
style=
"min-width: 220px;"
v-for=
"( son , sIndex ) in item.BonusRuleList"
:key=
"sIndex"
>
连续
{{
son
.
StartValue
}}
个月达标
</th>
</tr>
<tr>
<td
style=
"min-width: 220px;"
v-for=
"( son , sIndex ) in item.BonusRuleList"
:key=
"sIndex"
>
{{
son
.
Rate
}}
元
</td>
</tr>
</table>
</div>
</div>
<div
v-if=
"dataList.length==0"
style=
"width: 100%;border:1px solid #E6E6E6;display: flex;align-items: center;justify-content: center;height: 60px;margin-top: 30px;"
>
暂无数据
</div>
<el-dialog
:title=
"titleName"
:visible
.
sync=
"ruleVisible"
width=
"750px"
@
close=
"resetForm('form')"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"100px"
>
<div
class=
"ImpressionTicketing-msgbox bottom0"
>
<el-form-item
label=
"规则名称"
prop=
"Name"
>
<el-input
v-model=
"form.Name"
clearable
></el-input>
</el-form-item>
<el-form-item
label=
"达标人数"
prop=
"BonusMinPNum"
>
<el-input
type=
"Number"
v-model=
"form.BonusMinPNum"
clearable
></el-input>
</el-form-item>
<el-form-item
label=
"提成比例"
prop=
"SalesRate"
>
<el-input
type=
"Number"
v-model=
"form.SalesRate"
clearable
></el-input>
</el-form-item>
</div>
<el-form-item
class=
"ImpressionTicketing-OuterFrame"
label-width=
"0px"
>
<p
class=
"ImpressionTicketing-title"
>
日本人头奖励(人)
</p>
<div
class=
"ImpressionTicketing-msgbox"
v-for=
"(item,index) in form.AwardRuleList"
:key=
"index"
>
<div>
<el-form-item
:label=
"form.AwardRuleList.length>0?`开始值 $
{index+1} `:` ` "
:prop="`AwardRuleList.${index}.StartValue`"
:rules="rules.StartValue"
label-width="100px"
label-position="left">
<el-input
onkeyup=
"this.value=this.value.replace(/[^\d.]/g,'');"
:min=
"0"
:max=
"99999999"
v-model=
"item.StartValue"
clearable
></el-input>
</el-form-item>
</div>
<div>
<el-form-item
:label=
"form.AwardRuleList.length>0?`结束值 $
{index+1} `:` ` "
:prop="`AwardRuleList.${index}.EndValue`"
:rules="rules.EndValue"
label-width="100px"
label-position="left">
<el-input-number
type=
"number"
:min=
"-1"
:max=
"99999999"
v-model=
"item.EndValue"
clearable
:controls=
"false"
></el-input-number>
</el-form-item>
</div>
<div>
<el-form-item
:label=
"form.AwardRuleList.length>0?`奖励 $
{index+1} `:` ` "
:prop="`AwardRuleList.${index}.Rate`"
:rules="rules.Rate"
label-width="100px"
label-position="left">
<el-input
onkeyup=
"this.value=this.value.replace(/[^\d.]/g,'');"
:min=
"0"
:max=
"99999999"
v-model=
"item.Rate"
></el-input>
</el-form-item>
</div>
<div
class=
"ImpressionTicketing-msg-but"
>
<span
@
click=
"addRule(item,index,1)"
v-if=
"index==0"
class=
"el-icon-circle-plus-outline itc-outline"
></span>
<span
@
click=
"deleteRule(item,index,1)"
v-else
class=
"el-icon-delete itc-delete"
></span>
</div>
</div>
</el-form-item>
<el-form-item
class=
"ImpressionTicketing-OuterFrame"
label-width=
"0px"
>
<p
class=
"ImpressionTicketing-title"
>
日本提成比例
</p>
<div
class=
"ImpressionTicketing-msgbox"
v-for=
"(item,index) in form.ProfitRuleList"
:key=
"index"
>
<div>
<el-form-item
:label=
"form.ProfitRuleList.length>0?`开始值 $
{index+1} `:` ` "
:prop="`ProfitRuleList.${index}.StartValue`"
:rules="rules.StartValue"
label-width="100px"
label-position="left">
<el-input
onkeyup=
"this.value=this.value.replace(/[^\d.]/g,'');"
:min=
"0"
:max=
"99999999"
v-model=
"item.StartValue"
clearable
></el-input>
</el-form-item>
</div>
<div>
<el-form-item
:label=
"form.ProfitRuleList.length>0?`结束值 $
{index+1} `:` ` "
:prop="`ProfitRuleList.${index}.EndValue`"
:rules="rules.EndValue"
label-width="100px"
label-position="left">
<el-input-number
type=
"number"
:min=
"-1"
:max=
"99999999"
v-model=
"item.EndValue"
clearable
:controls=
"false"
></el-input-number>
</el-form-item>
</div>
<div>
<el-form-item
:label=
"form.ProfitRuleList.length>0?`比例 $
{index+1} `:` ` "
:prop="`ProfitRuleList.${index}.Rate`"
:rules="rules.Rate2"
label-width="100px"
label-position="left">
<div
class=
"Impression-ratio-box"
>
<el-input
onkeyup=
"this.value=this.value.replace(/[^\d.]/g,'');"
:min=
"0"
:max=
"99999999"
v-model=
"item.Rate"
></el-input>
<span
class=
"Impression-ratio-right"
>
%
</span>
</div>
</el-form-item>
</div>
<div
class=
"ImpressionTicketing-msg-but"
>
<span
@
click=
"addRule(item,index,2)"
v-if=
"index==0"
class=
"el-icon-circle-plus-outline itc-outline"
></span>
<span
@
click=
"deleteRule(item,index,2)"
v-else
class=
"el-icon-delete itc-delete"
></span>
</div>
</div>
</el-form-item>
<el-form-item
class=
"ImpressionTicketing-OuterFrame"
label-width=
"0px"
>
<p
class=
"ImpressionTicketing-title"
>
欧洲人头奖励(人)
</p>
<div
class=
"ImpressionTicketing-msgbox"
v-for=
"(item,index) in form.EuropeAwardRuleList"
:key=
"index"
>
<div>
<el-form-item
:label=
"form.EuropeAwardRuleList.length>0?`开始值 $
{index+1} `:` ` "
:prop="`EuropeAwardRuleList.${index}.StartValue`"
:rules="rules.StartValue"
label-width="100px"
label-position="left">
<el-input
onkeyup=
"this.value=this.value.replace(/[^\d.]/g,'');"
:min=
"0"
:max=
"99999999"
v-model=
"item.StartValue"
clearable
></el-input>
</el-form-item>
</div>
<div>
<el-form-item
:label=
"form.EuropeAwardRuleList.length>0?`结束值 $
{index+1} `:` ` "
:prop="`EuropeAwardRuleList.${index}.EndValue`"
:rules="rules.EndValue"
label-width="100px"
label-position="left">
<el-input-number
type=
"number"
:min=
"-1"
:max=
"99999999"
v-model=
"item.EndValue"
clearable
:controls=
"false"
></el-input-number>
</el-form-item>
</div>
<div>
<el-form-item
:label=
"form.EuropeAwardRuleList.length>0?`奖励 $
{index+1} `:` ` "
:prop="`EuropeAwardRuleList.${index}.Rate`"
:rules="rules.Rate"
label-width="100px"
label-position="left">
<el-input
onkeyup=
"this.value=this.value.replace(/[^\d.]/g,'');"
:min=
"0"
:max=
"99999999"
v-model=
"item.Rate"
></el-input>
</el-form-item>
</div>
<div
class=
"ImpressionTicketing-msg-but"
>
<span
@
click=
"addRule(item,index,3)"
v-if=
"index==0"
class=
"el-icon-circle-plus-outline itc-outline"
></span>
<span
@
click=
"deleteRule(item,index,3)"
v-else
class=
"el-icon-delete itc-delete"
></span>
</div>
</div>
</el-form-item>
<el-form-item
class=
"ImpressionTicketing-OuterFrame"
label-width=
"0px"
>
<p
class=
"ImpressionTicketing-title"
>
欧洲提成比例
</p>
<div
class=
"ImpressionTicketing-msgbox"
v-for=
"(item,index) in form.EuropeProfitRuleList"
:key=
"index"
>
<div>
<el-form-item
:label=
"form.EuropeProfitRuleList.length>0?`开始值 $
{index+1} `:` ` "
:prop="`EuropeProfitRuleList.${index}.StartValue`"
:rules="rules.StartValue"
label-width="100px"
label-position="left">
<el-input
onkeyup=
"this.value=this.value.replace(/[^\d.]/g,'');"
:min=
"0"
:max=
"99999999"
v-model=
"item.StartValue"
clearable
></el-input>
</el-form-item>
</div>
<div>
<el-form-item
:label=
"form.EuropeProfitRuleList.length>0?`结束值 $
{index+1} `:` ` "
:prop="`EuropeProfitRuleList.${index}.EndValue`"
:rules="rules.EndValue"
label-width="100px"
label-position="left">
<el-input-number
type=
"number"
:min=
"-1"
:max=
"99999999"
v-model=
"item.EndValue"
clearable
:controls=
"false"
></el-input-number>
</el-form-item>
</div>
<div>
<el-form-item
:label=
"form.EuropeProfitRuleList.length>0?`比例 $
{index+1} `:` ` "
:prop="`EuropeProfitRuleList.${index}.Rate`"
:rules="rules.Rate"
label-width="100px"
label-position="left">
<div
class=
"Impression-ratio-box"
>
<el-input
onkeyup=
"this.value=this.value.replace(/[^\d.]/g,'');"
:min=
"0"
:max=
"99999999"
v-model=
"item.Rate"
></el-input>
<span
class=
"Impression-ratio-right"
>
%
</span>
</div>
</el-form-item>
</div>
<div
class=
"ImpressionTicketing-msg-but"
>
<span
@
click=
"addRule(item,index,4)"
v-if=
"index==0"
class=
"el-icon-circle-plus-outline itc-outline"
></span>
<span
@
click=
"deleteRule(item,index,4)"
v-else
class=
"el-icon-delete itc-delete"
></span>
</div>
</div>
</el-form-item>
<el-form-item
class=
"ImpressionTicketing-OuterFrame"
label-width=
"0px"
>
<p
class=
"ImpressionTicketing-title"
>
年终奖励
</p>
<div
class=
"ImpressionTicketing-msgbox"
v-for=
"(item,index) in form.BonusRuleList"
:key=
"index"
>
<div>
<el-form-item
:label=
"form.BonusRuleList.length>0?`连续 $
{index+1} `:` ` "
:prop="`BonusRuleList.${index}.StartValue`"
:rules="rules.StartValue"
label-width="100px"
label-position="left">
<div
class=
"Impression-ratio-box"
>
<el-input
onkeyup=
"this.value=this.value.replace(/[^\d.]/g,'');"
:min=
"0"
:max=
"99999999"
v-model=
"item.StartValue"
clearable
></el-input>
<span
class=
"Impression-ratio-right"
>
月
</span>
</div>
</el-form-item>
</div>
<div>
<el-form-item
:label=
"form.BonusRuleList.length>0?`奖励 $
{index+1} `:` ` "
:prop="`BonusRuleList.${index}.Rate`"
:rules="rules.Rate2"
label-width="100px"
label-position="left">
<el-input
onkeyup=
"this.value=this.value.replace(/[^\d.]/g,'');"
:min=
"0"
:max=
"99999999"
v-model=
"item.Rate"
></el-input>
</el-form-item>
</div>
<div
class=
"ImpressionTicketing-msg-but"
>
<span
@
click=
"addRule(item,index,5)"
v-if=
"index==0"
class=
"el-icon-circle-plus-outline itc-outline"
></span>
<span
@
click=
"deleteRule(item,index,5)"
v-else
class=
"el-icon-delete itc-delete"
></span>
</div>
</div>
</el-form-item>
</el-form>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
size=
"small"
@
click=
"ruleVisible = false,resetForm('form')"
>
取 消
</el-button>
<el-button
size=
"small"
type=
"danger"
@
click=
"RulesOk('form')"
:loading=
"ruleLoading"
>
确 定
</el-button>
</span>
</el-dialog>
<!-- 设置限制 -->
<el-dialog
:title=
"titleName"
:visible
.
sync=
"TheRulesVisible"
width=
"300px"
>
<el-form
ref=
"form"
:model=
"TheRulesForm"
:rules=
"rules"
:label-width=
"titleName.indexOf('限制')!=-1?'80px':'120px'"
>
<div
v-if=
"titleName.indexOf('限制')!=-1"
class=
"ImpressionTicketing-msgbox bottom0 line-heigh"
>
<el-form-item
:label=
"TheRulesForm.SNO =='1'?'限制金额':'限制条数'"
prop=
"Content"
>
<el-input-number
:min=
"0"
v-model=
"TheRulesForm.Content"
clearable
></el-input-number>
</el-form-item>
</div>
<div
v-else
class=
"ImpressionTicketing-msgbox bottom0"
v-for=
"(item,index) in TheRulesData"
>
<el-form-item
:label=
"item.Name+':'"
>
<span
style=
"margin-left: 10px;"
>
{{
item
.
Content
}}
<i
style=
"margin-left: 5px;"
>
{{
item
.
SNO
==
2
?
' RMB'
:
' 条'
}}
</i>
</span>
</el-form-item>
</div>
</el-form>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
size=
"small"
@
click=
"TheRulesVisible = false,ruleLoading = false"
>
取 消
</el-button>
<el-button
size=
"small"
type=
"danger"
@
click=
"titleName.indexOf('限制')!=-1?OkTheRules('form'):TheRulesVisible = false"
:loading=
"ruleLoading"
>
确 定
</el-button>
</span>
</el-dialog>
</div>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
value
:
""
,
EmployeeList
:[],
rules
:
{
Name
:
[{
required
:
true
,
message
:
'请输入规则名称'
,
trigger
:
"blur"
}],
BonusMinPNum
:
[{
required
:
true
,
message
:
'请输入达标人数'
,
trigger
:
"blur"
}],
SalesRate
:
[{
required
:
true
,
message
:
'请输入提成比例'
,
trigger
:
"blur"
}],
EmployeeId
:
[{
required
:
true
,
message
:
'请选择参与人员'
,
trigger
:
'change'
}],
StartValue
:
[{
required
:
true
,
message
:
"请输入开始值"
,
trigger
:
"blur"
}],
EndValue
:
[{
required
:
true
,
message
:
"请输入结束值"
,
trigger
:
"blur"
}],
Rate
:
[{
required
:
true
,
message
:
"请输入金额"
,
trigger
:
"blur"
}],
Rate2
:
[{
required
:
true
,
message
:
"请输入比例"
,
trigger
:
"blur"
}],
Content
:
[{
required
:
true
,
message
:
"请输入限制"
,
trigger
:
"blur"
}],
},
EmpList
:[
//参与人
{
EmployeeId
:
''
}
],
AwardRuleList
:
{
StartValue
:
0
,
EndValue
:
null
,
Rate
:
null
},
ProfitRuleList
:
{
StartValue
:
0
,
EndValue
:
null
,
Rate
:
null
},
EuropeAwardRuleList
:
{
StartValue
:
0
,
EndValue
:
null
,
Rate
:
null
},
EuropeProfitRuleList
:
{
StartValue
:
0
,
EndValue
:
null
,
Rate
:
null
},
BonusRuleList
:
{
StartValue
:
0
,
// EndValue:null,
Rate
:
null
}
,
form
:{
Id
:
0
,
Name
:
''
,
SalesRate
:
0
,
BonusMinPNum
:
0
,
AwardRuleList
:[
{
StartValue
:
0
,
EndValue
:
null
,
Rate
:
null
}
],
ProfitRuleList
:[
{
StartValue
:
0
,
EndValue
:
null
,
Rate
:
null
}
],
EuropeAwardRuleList
:[
{
StartValue
:
0
,
EndValue
:
null
,
Rate
:
null
}
],
EuropeProfitRuleList
:[
{
StartValue
:
0
,
EndValue
:
null
,
Rate
:
null
}
],
BonusRuleList
:[
{
StartValue
:
0
,
// EndValue:null,
Rate
:
null
}
],
},
ruleLoading
:
false
,
ruleVisible
:
false
,
titleName
:
'标题'
,
loading
:
false
,
titleList
:[
{
name
:
'引流规则'
,
id
:
'2'
},
{
name
:
'销售规则'
,
id
:
'1'
}
],
dataList
:[],
msg
:{
EmpType
:
'2'
},
hintStart
:
''
,
hintEnd
:
''
,
TheRulesVisible
:
false
,
TheRulesForm
:{
Name
:
''
,
SNO
:
2
,
Content
:
''
},
TheRulesData
:[
]
}
},
created
()
{},
mounted
()
{
this
.
form
.
EmpType
=
this
.
msg
.
EmpType
this
.
getList
()
this
.
getEmployeeList
()
},
methods
:
{
// 点击确定
OkTheRules
(
formName
)
{
this
.
$refs
[
formName
].
validate
((
valid
)
=>
{
if
(
valid
)
{
let
data
=
{
SNO
:
this
.
TheRulesForm
.
SNO
==
1
?
2
:
1
,
Content
:
this
.
TheRulesForm
.
Content
,
}
this
.
ruleLoading
=
true
this
.
crmapipost
(
'/api/commission/SetCommissionLimit'
,
data
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
resetForm
(
'form'
)
// this.getList();
this
.
TheRulesVisible
=
false
;
this
.
ruleLoading
=
false
this
.
Success
(
res
.
data
.
message
)
}
else
{
this
.
Error
(
res
.
data
.
message
)
}
},
err
=>
{}
)
}
});
},
GetCommissionLimit
()
{
this
.
crmapipost
(
'/api/commission/GetCommissionLimit'
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
TheRulesData
=
res
.
data
.
data
}
else
{
this
.
Error
(
res
.
data
.
message
)
}
},
err
=>
{}
)
},
clickTheRules
(
type
){
this
.
TheRulesVisible
=
true
if
(
type
==
1
){
this
.
titleName
=
this
.
TheRulesForm
.
SNO
==
1
?
'销售提成限制'
:
'引流提成限制'
}
else
{
this
.
titleName
=
'提成规则'
this
.
ruleLoading
=
false
this
.
GetCommissionLimit
()
}
},
// 添加规则
addRule
(
row
,
index
,
type
){
if
(
type
==
1
){
this
.
form
.
AwardRuleList
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
this
.
AwardRuleList
)))
}
else
if
(
type
==
2
){
this
.
form
.
ProfitRuleList
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
this
.
ProfitRuleList
)))
}
else
if
(
type
==
3
){
this
.
form
.
EuropeAwardRuleList
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
this
.
EuropeAwardRuleList
)))
}
else
if
(
type
==
4
){
this
.
form
.
EuropeProfitRuleList
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
this
.
EuropeProfitRuleList
)))
}
else
{
this
.
form
.
BonusRuleList
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
this
.
BonusRuleList
)))
}
},
// 删除规则
deleteRule
(
row
,
index
,
type
){
if
(
type
==
1
){
this
.
form
.
AwardRuleList
.
splice
(
index
,
1
)
}
else
if
(
type
==
2
){
this
.
form
.
ProfitRuleList
.
splice
(
index
,
1
)
}
else
if
(
type
==
3
){
this
.
form
.
EuropeAwardRuleList
.
splice
(
index
,
1
)
}
else
if
(
type
==
4
){
this
.
form
.
EuropeProfitRuleList
.
splice
(
index
,
1
)
}
else
{
this
.
form
.
BonusRuleList
.
splice
(
index
,
1
)
}
},
AddMsg
(){
//新增
this
.
ruleVisible
=
true
if
(
this
.
msg
.
EmpType
==
'1'
){
this
.
titleName
=
'销售规则'
this
.
hintStart
=
'开始值'
this
.
hintEnd
=
'结束值'
this
.
rules
.
StartValue
[
0
].
message
=
'请输入开始值'
this
.
rules
.
EndValue
[
0
].
message
=
'请输入结束值'
}
if
(
this
.
msg
.
EmpType
==
'2'
){
this
.
titleName
=
'引流规则'
this
.
hintStart
=
'引流条数'
this
.
hintEnd
=
'成交单数'
this
.
rules
.
StartValue
[
0
].
message
=
'请输入引流条数'
this
.
rules
.
EndValue
[
0
].
message
=
'请输入成交单数'
}
},
SetRules
(
item
){
//编辑
this
.
ruleVisible
=
true
;
item
=
JSON
.
parse
(
JSON
.
stringify
(
item
))
this
.
form
=
{
Id
:
item
.
Id
,
Name
:
item
.
Name
,
//规则名称
SalesRate
:
item
.
SalesRate
,
BonusMinPNum
:
item
.
BonusMinPNum
,
AwardRuleList
:
item
.
AwardRuleList
,
ProfitRuleList
:
item
.
ProfitRuleList
,
EuropeAwardRuleList
:
item
.
EuropeAwardRuleList
,
EuropeProfitRuleList
:
item
.
EuropeProfitRuleList
,
BonusRuleList
:
item
.
BonusRuleList
,
}
},
Delete
(
item
){
//删除
this
.
$confirm
(
"是否删除? 删除后不可恢复"
,
"提示"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
})
.
then
(()
=>
{
this
.
apipost
(
'sellcommission_DelTYSaleCommissionRule'
,
{
RuleId
:
item
.
Id
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
res
.
data
.
message
)
this
.
getList
()
}
else
{
this
.
Error
(
res
.
data
.
message
)
}
})
})
.
catch
(()
=>
{});
},
// 点击确定
RulesOk
(
formName
)
{
this
.
$refs
[
formName
].
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
ruleLoading
=
true
this
.
apipost
(
'sellcommission_SetTYSaleCommissionRule'
,
this
.
form
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
resetForm
(
'form'
)
this
.
getList
();
this
.
ruleVisible
=
false
;
this
.
ruleLoading
=
false
this
.
Success
(
res
.
data
.
message
)
}
else
{
this
.
Error
(
res
.
data
.
message
)
}
},
err
=>
{}
)
}
});
},
// 已选人员获取
personnel
(){
this
.
form
.
EmpList
=
[]
for
(
let
i
=
0
;
i
<
this
.
form
.
EmployeeId
.
length
;
i
++
){
let
data
=
{
EmployeeId
:
this
.
form
.
EmployeeId
[
i
],
}
this
.
form
.
EmpList
.
push
(
data
)
}
},
// 获取列表数据
getList
()
{
this
.
loading
=
true
;
this
.
apipost
(
"sellcommission_GetTYSaleCommissionRuleList"
,
{},
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
dataList
=
res
.
data
.
data
;
}
else
{
this
.
Error
(
res
.
data
.
message
)
}
});
},
// 获取人员列表
getEmployeeList
()
{
let
userInfo
=
this
.
getLocalStorage
()
let
msg
=
{
GroupId
:
userInfo
.
RB_Group_id
,
BranchId
:
'-1'
,
DepartmentId
:
'-1'
,
PostId
:
'-1'
,
IsLeave
:
'0'
}
this
.
apipost
(
'admin_get_EmployeeGetList'
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
EmployeeList
=
res
.
data
.
data
}
},
err
=>
{}
)
},
// 重置表单
resetForm
(
formName
)
{
this
.
ruleVisible
=
false
;
// 重置表单
this
.
form
=
{
id
:
0
,
Name
:
''
,
//规则名称
EmpType
:
''
,
//类型 1销售 2引流
EmployeeId
:
''
,
EmpList
:[
//参与人
{
EmployeeId
:
''
}
],
AwardRuleList
:[
//工资阶梯列表
{
StartValue
:
0
,
EndValue
:
null
,
Rate
:
null
}
],
ProfitRuleList
:[
//提成阶梯列表
{
StartValue
:
0
,
EndValue
:
null
,
Rate
:
null
}
],
BonusRuleList
:[
//年终奖阶梯列表
{
StartValue
:
0
,
EndValue
:
null
,
Rate
:
null
}
],
};
this
.
$refs
[
formName
].
resetFields
();
this
.
getList
()
},
}
}
</
script
>
<
style
scoped
>
.hollowFixedBtn
{
position
:
absolute
;
top
:
9px
;
right
:
20px
;
}
._nav
li
{
float
:
left
;
font-size
:
14px
;
color
:
#666666
;
padding
:
15px
10px
;
background-color
:
#F1F1F1
;
cursor
:
pointer
;
position
:
relative
;}
._nav
li
._active
{
background-color
:
#FFFFFF
;
color
:
#333333
}
._nav
li
._active
::after
{
content
:
""
;
width
:
20px
;
height
:
3px
;
background-color
:
#E95252
;
display
:
inline-block
;
position
:
absolute
;
bottom
:
0
;
left
:
38%
;}
.ImpressionTicketing-OuterFrame
{
padding
:
10px
20px
20px
20px
;
box-shadow
:
0
1px
8px
rgb
(
0
0
0
/
20%
),
0
3px
4px
rgb
(
0
0
0
/
14%
),
0
3px
3px
-2px
rgb
(
0
0
0
/
12%
);
}
.ImpressionTicketing-msgbox
{
display
:
flex
;
flex-direction
:
row
;
justify-content
:
space-between
;
margin-bottom
:
20px
;
}
.ImpressionTicketing-msgbox.bottom0
{
margin-bottom
:
0
;
}
.ImpressionTicketing-msgbox
div
{
flex
:
1
;
}
.ImpressionTicketing-msgbox
div
.ImpressionTicketing-msg-but
{
flex
:
0
0
auto
;
}
.itc-delete
{
color
:
#E95252
;
font-size
:
16px
;
cursor
:
pointer
;
display
:
inline-block
;
padding
:
10px
;
}
.itc-outline
{
color
:
#409EFF
;
font-size
:
16px
;
cursor
:
pointer
;
display
:
inline-block
;
padding
:
10px
;
}
.ImpressionTicketing-title
{
padding
:
0
;
}
.left-text-indent
{
text-align
:
left
;
text-indent
:
20px
}
/
deep
/
.el-input-number
{
width
:
inherit
;
}
/
deep
/
.el-input-number
.el-input__inner
{
text-align
:
left
;
height
:
34px
;
}
.Impression-ratio-box
{
display
:
flex
;
justify-content
:
space-between
;
}
.Impression-ratio-right
{
font-size
:
13px
;
margin-left
:
5px
;
}
/
deep
/
.line-heigh
.el-input-number
{
line-height
:
32px
;
}
</
style
>
src/components/SalesModule/productQueryOne2.vue
View file @
8969884e
...
...
@@ -1899,7 +1899,7 @@
}
if
(
this
.
msg
.
StartTime
===
""
)
{
let
nowDay
=
this
.
FormartDate
(
new
Date
());
//
this.msg.StartTime = nowDay;
this
.
msg
.
StartTime
=
nowDay
;
}
let
userInfo
=
this
.
getLocalStorage
()
this
.
CurrentUserInfo
=
userInfo
...
...
src/components/TravelManager/TravelTeam/priceGroup.vue
View file @
8969884e
...
...
@@ -946,7 +946,7 @@
</template>
<
script
>
//订单表单
import
orderForm
from
"../../orderCommon/order-form.vue"
;
import
orderForm
from
"../../orderCommon/order-form
2
.vue"
;
export
default
{
data
()
{
return
{
...
...
src/router/config.js
View file @
8969884e
...
...
@@ -3221,7 +3221,7 @@ export default {
{
// 销售 产品查询
path
:
'/productQuery'
,
name
:
'productQuery'
,
component
:
resolve
=>
require
([
'@/components/SalesModule/productQuery'
],
resolve
),
component
:
resolve
=>
require
([
'@/components/SalesModule/productQuery
2
'
],
resolve
),
meta
:
{
title
:
'产品查询'
},
...
...
@@ -3229,7 +3229,7 @@ export default {
{
// 销售 一日游产品查询
path
:
'/productQueryOne'
,
name
:
'productQueryOne'
,
component
:
resolve
=>
require
([
'@/components/SalesModule/productQueryOne'
],
resolve
),
component
:
resolve
=>
require
([
'@/components/SalesModule/productQueryOne
2
'
],
resolve
),
meta
:
{
title
:
'一日游产品查询'
},
...
...
@@ -4919,6 +4919,14 @@ export default {
title
:
'台湾提成详情'
}
},
{
path
:
'/TradeCommissionRule'
,
name
:
'TradeCommissionRule'
,
component
:
resolve
=>
require
([
'@/components/FinancialModule/TradeCommission/CommissionRule'
],
resolve
),
meta
:
{
title
:
'同业提成规则'
}
},
{
path
:
'/ServiceTheRules'
,
name
:
'ServiceTheRules'
,
...
...
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