Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
confucius
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
罗超
confucius
Commits
3cfc6a78
Commit
3cfc6a78
authored
Dec 20, 2021
by
zhengke
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1
parent
2ccb891c
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
267 additions
and
181 deletions
+267
-181
index.js
src/api/finance/index.js
+49
-0
courseConsultant.vue
src/pages/financial/market/courseConsultant.vue
+218
-181
No files found.
src/api/finance/index.js
View file @
3cfc6a78
...
...
@@ -596,6 +596,55 @@ export function getTeacherContributeConfig(data) {
});
}
/**
* 获取人头奖金配置分页列表
*/
export
function
GetBounsPlanPage
(
data
)
{
return
request
({
url
:
'/Bonus/GetBounsPlanPage'
,
method
:
'post'
,
data
});
}
/**
* 新增修改人头奖金配置
*/
export
function
SetBounsPlan
(
data
)
{
return
request
({
url
:
'/Bonus/SetBounsPlan'
,
method
:
'post'
,
data
});
}
/**
* 新增修改人头奖金配置
*/
export
function
RemoveBonusPlan
(
data
)
{
return
request
({
url
:
'/Bonus/RemoveBonusPlan'
,
method
:
'post'
,
data
});
}
/**
* 获取人头奖金配置
*/
export
function
GetBonusPlan
(
data
)
{
return
request
({
url
:
'/Bonus/GetBonusPlan'
,
method
:
'post'
,
data
});
}
...
...
src/pages/financial/market/courseConsultant.vue
View file @
3cfc6a78
<
style
>
@import
"../css/cssReset.css"
;
.baseSet_Title
{
width
:
120px
!important
;
padding
:
18px
0
0
16px
;
text-align
:
right
;
}
@import
"../css/cssReset.css"
;
.salesRules
.border-bottom
{
/* border-bottom: 1px dashed #EEE; */
padding-bottom
:
5
px
;
margin-bottom
:
5px
;
}
.baseSet_Title
{
width
:
120px
!important
;
padding
:
18px
0
0
16
px
;
text-align
:
right
;
}
.salesRules
.text
-bottom
{
height
:
32px
;
line-height
:
32
px
;
margin-bottom
:
10
px
;
}
.salesRules
.border
-bottom
{
/* border-bottom: 1px dashed #EEE; */
padding-bottom
:
5
px
;
margin-bottom
:
5
px
;
}
.marketRules
.border-bottom
{
padding-bottom
:
5px
;
margin-bottom
:
5px
;
}
.salesRules
.text-bottom
{
height
:
32px
;
line-height
:
32px
;
margin-bottom
:
10px
;
}
.marketRules
.text-bottom
{
height
:
32px
;
line-height
:
32px
;
margin-bottom
:
10px
;
}
.marketRules
.border-bottom
{
padding-bottom
:
5px
;
margin-bottom
:
5px
;
}
.marketRules
.text-bottom
{
height
:
32px
;
line-height
:
32px
;
margin-bottom
:
10px
;
}
.marketRules
.singeRowTable
tr
th
{
border
:
1px
solid
#d2d2d2
;
}
.marketRules
.singeRowTable
tr
th
{
border
:
1px
solid
#d2d2d2
;
}
</
style
>
<
template
>
<div
class=
"page-body marketRules"
>
<div
class=
"page-search row items-center"
>
<div
class=
"col row wrap q-mr-lg q-col-gutter-md"
></div>
</div>
<template>
<div
style=
"width: 100%;display: flex;justify-content: flex-end;margin: 10px 0;"
>
<q-btn
color=
"accent"
size=
"sm"
icon=
"add"
label=
"新增规则"
@
click=
"AddMsg()"
/>
<q-btn
color=
"accent"
size=
"sm"
label=
"保存"
@
click=
"setMsg()"
style=
"margin-left: 15px;"
/>
</div>
<div
class=
"cm_content"
style=
"width: 100%;"
>
<table
class=
"po_content singeRowTable"
style=
"border:1px solid #E6E6E6;"
cellspacing=
"0"
cellpadding=
"0"
v-loading=
"loading"
>
<tr>
<th
rowspan=
"2"
>
岗位
</th>
<th
rowspan=
"2"
>
基本工资
</th>
<th
rowspan=
"2"
>
开单奖金
</th>
<th
rowspan=
"2"
>
工龄工资(次年发放)
</th>
<th
rowspan=
"2"
>
条数奖金/5条
</th>
<th
colspan=
"5"
>
社会班招生人头达标奖金(不包含促销招生)
</th>
<th
colspan=
"1"
>
年终奖金
</th>
<th
rowspan=
"2"
width=
"100"
>
操作
</th>
</tr>
<tr>
<th
colspan=
"6"
></th>
</tr>
<tr>
<th>
5-7
</th>
<th>
8-10
</th>
<th>
11-15
</th>
<th>
16-20
</th>
<th>
20以上
</th>
<th>
12个月达标月份计算(达标月份即发放一次)
</th>
</tr>
<!--
<tr
v-for=
" ( item , index ) in dataList "
>
<td>
<span>
{{
item
.
Name
}}
</span>
</td>
<td>
<span
v-if=
"item.Type == 1"
>
市场
</span>
<span
v-if=
"item.Type == 2"
>
顾问
</span>
<span
v-if=
"item.Type == 3"
>
教师
</span>
</td>
<td>
<span
v-if=
"item.Type == 1"
>
包含
</span>
<span
v-if=
"item.Type == 2"
>
不包含
</span>
</td>
<td>
<p
v-for=
"( son , sIndex ) in item.CourseList"
>
{{
son
.
CourseName
}}
</p>
</td>
<td>
<span
v-if=
"item.CommissionType == 1"
>
课耗提成
</span>
<span
v-if=
"item.CommissionType == 2"
>
次月全提
</span>
<span
v-if=
"item.CommissionType == 3"
>
课程比例
</span>
</td>
<td>
<p
v-for=
"( son , sIndex ) in item.EmpList"
>
{{
son
.
EmployeeName
}}
</p>
</td>
<td>
<p
v-for=
"( son , sIndex ) in item.ChildEmpList"
>
{{
son
.
EmployeeName
}}
</p>
</td>
<td>
<span>
{{
item
.
CourseRate
}}
</span>
</td>
<td
v-for=
"( son , sIndex ) in item.RateList"
>
{{
son
.
StartValue
}}
</td>
<td
v-for=
"( son , sIndex ) in item.RateList"
>
{{
son
.
EndValue
}}
</td>
<td
v-for=
"( son , sIndex ) in item.RateList"
>
{{
son
.
Rate
}}
</td>
<td>
<q-btn
flat
size=
"xs"
icon=
"edit"
color=
"accent"
style=
"font-weight:400"
label=
"编辑"
@
click=
"EditTask(props.row)"
/>
<q-btn
flat
size=
"xs"
icon=
"delete"
color=
"negative"
style=
"font-weight:400"
label=
"删除"
@
click=
"RemoveTask(props.row.Id)"
/>
</td>
</tr>
-->
</table>
<div
v-if=
"dataList.length == 0"
style=
"width: 100%;border:1px solid #E6E6E6;display: flex;align-items: center;justify-content: center;height: 60px;"
>
暂无数据
</div>
<div
class=
"col row wrap q-col-gutter-md"
>
<div
class=
"col-3"
>
<q-input
@
input=
"resetSearch"
filled
clearable
v-model=
"msg.PlanName"
label=
"名称"
maxlength=
"20"
/>
</div>
</div>
</
template
>
</div>
<div
class=
"page-content"
>
<q-table
:pagination=
"msg"
:loading=
"loading"
no-data-label=
"暂无相关数据"
flat
class=
"sticky-tow-column-table"
separator=
"none"
:data=
"dataList"
:columns=
"columns"
row-key=
"name"
>
<template
v-slot:top=
"props"
>
<div
class=
"col-2 q-table__title"
>
人头奖金配置
</div>
<q-space
/>
<div
class=
"page-option"
>
<q-btn
color=
"accent"
size=
"sm"
class=
"q-mr-md"
icon=
"add"
label=
"新增规则"
@
click=
"AddMsg(null)"
/>
</div>
</
template
>
<
template
v-slot:body-cell-Id=
"props"
>
<q-td
:props=
"props"
>
<div>
<q-btn
flat
size=
"xs"
icon=
"edit"
color=
"accent"
style=
"font-weight:400"
label=
"编辑"
@
click=
"AddMsg(props.row)"
/>
<q-btn
flat
size=
"xs"
icon=
"delete"
color=
"negative"
class=
"q-mr-xs"
label=
"删除"
@
click=
"delConsult(props.row.Id)"
/>
</div>
</q-td>
</
template
>
<
template
v-slot:bottom
>
<q-pagination
class=
"full-width justify-end"
v-model=
"msg.pageIndex"
color=
"primary"
:max=
"pageCount"
:input=
"true"
@
input=
"changePage"
/>
</
template
>
</q-table>
</div>
<consult-form
v-if=
"isShowConsult"
:save-obj=
"objOption"
@
close=
"closeSaveForm"
@
success=
"resetSearch"
>
</consult-form>
</div>
</template>
<
script
>
import
{
getSellAchievementsRuleList
,
}
from
'../../../api/finance/index'
export
default
{
meta
:
{
title
:
"销售提成规则"
},
props
:
{},
components
:
{},
data
()
{
return
{
loading
:
false
,
dataList
:
[],
//列表数据
}
},
created
()
{
let
userinfo
=
this
.
getLocalStorage
();
userinfo
.
ActionMenuList
.
map
(
x
=>
{
//判断权限
if
(
x
.
FunctionCode
==
"Salerule_preserve"
)
{
//判断是否有保存的权限
return
}
})
},
mounted
()
{
this
.
getSellAchievementsRuleList
();
//获取规则
},
methods
:
{
getSellAchievementsRuleList
()
{
this
.
loading
=
true
;
getSellAchievementsRuleList
({}).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
dataList
=
res
.
Data
}
this
.
loading
=
false
})
import
{
GetBounsPlanPage
,
RemoveBonusPlan
}
from
'../../../api/finance/index'
import
consultForm
from
'../../../components/finance/consult-form'
export
default
{
meta
:
{
title
:
"人头奖金配置"
},
preservation
()
{
//保存规则
props
:
{},
components
:
{
consultForm
},
AddMsg
()
{
let
obj
=
{
Id
:
0
,
Name
:
''
,
Type
:
1
,
CourseType
:
1
,
CourseIds
:
''
,
CourseList
:[],
//课程列表
CommissionType
:
1
,
EmpIds
:
''
,
EmpList
:[],
ChildEmpIds
:
''
,
ChildEmpList
:[],
CourseRate
:
''
,
data
()
{
return
{
msg
:
{
pageIndex
:
1
,
pageSize
:
12
,
rowsPerPage
:
12
,
PlanName
:
""
},
columns
:
[{
name
:
"PlanName"
,
label
:
"方案名称"
,
field
:
"PlanName"
,
align
:
"left"
},
{
name
:
"BasicSalary"
,
label
:
"基本工资"
,
field
:
"BasicSalary"
,
align
:
"left"
},
{
name
:
"OpenBonus"
,
label
:
"开单奖金"
,
field
:
"OpenBonus"
,
align
:
"left"
},
{
name
:
"WorkAgeSalary"
,
required
:
true
,
label
:
"工龄工资"
,
align
:
"left"
,
field
:
'WorkAgeSalary'
},
{
name
:
"CustomerTel"
,
required
:
true
,
label
:
"客户电话"
,
align
:
"left"
,
field
:
row
=>
row
.
CustomerTel
},
{
name
:
"ClueNumSalary"
,
required
:
true
,
label
:
"线索奖金"
,
align
:
"left"
,
field
:
'ClueNumSalary'
},
{
name
:
"SaleIds"
,
required
:
true
,
label
:
"销售人员"
,
align
:
"left"
,
field
:
'SaleIds'
},
{
name
:
"UseCourseIds"
,
required
:
true
,
label
:
"学习课程"
,
align
:
"left"
,
field
:
'UseCourseIds'
},
{
name
:
"NotUseCourseIds"
,
label
:
"不适用课程"
,
field
:
"NotUseCourseIds"
,
align
:
"left"
,
},
{
name
:
'Id'
,
label
:
'操作'
,
field
:
'Id'
}
],
pageCount
:
0
,
loading
:
false
,
isShowConsult
:
false
,
dataList
:
[],
//列表数据
objOption
:
null
}
}
},
created
()
{},
mounted
()
{
this
.
getList
();
//获取规则
},
methods
:
{
resetSearch
()
{
this
.
msg
.
pageIndex
=
1
;
this
.
getList
();
},
//翻页
changePage
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
getList
()
},
getList
()
{
this
.
loading
=
true
;
GetBounsPlanPage
(
this
.
msg
).
then
(
res
=>
{
console
.
log
(
res
,
'数据'
);
if
(
res
.
Code
==
1
)
{
this
.
dataList
=
res
.
Data
.
PageData
;
this
.
pageCount
=
res
.
Data
.
PageCount
;
}
this
.
loading
=
false
})
},
AddMsg
(
obj
)
{
if
(
obj
)
{
this
.
objOption
=
obj
;
}
else
{
this
.
objOption
=
null
}
this
.
isShowConsult
=
true
},
closeSaveForm
()
{
this
.
isShowConsult
=
false
;
},
delConsult
(
Id
){
let
delMsg
=
{
Id
:
Id
};
this
.
$q
.
dialog
({
title
:
'提示信息'
,
message
:
'是否确定删除?'
,
cancel
:
true
,
persistent
:
true
,
ok
:
"确定"
,
cancel
:
"取消"
,
}).
onOk
(()
=>
{
RemoveBonusPlan
(
delMsg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
$q
.
notify
({
icon
:
'iconfont icon-chenggong'
,
color
:
'accent'
,
timeout
:
2000
,
message
:
'删除成功!'
,
position
:
'top'
})
this
.
getList
();
}
})
}).
onCancel
(()
=>
{
},
}
});
}
},
}
</
script
>
<
style
lang=
"sass"
>
@import
url('~assets/css/table.sass')
@import
url('~assets/css/table.sass')
</
style
>
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