|
@@ -8,7 +8,13 @@
|
|
style="position: relative;margin-top: 30px">
|
|
style="position: relative;margin-top: 30px">
|
|
<el-tabs v-model="activeName" @tab-click="handleClick" type="border-card">
|
|
<el-tabs v-model="activeName" @tab-click="handleClick" type="border-card">
|
|
<el-tab-pane label="提成比例" name="first">
|
|
<el-tab-pane label="提成比例" name="first">
|
|
- <y-page-list-layout :get-page-list="getMarketerRatioList" :page-list="marketerRatioRecord">
|
|
|
|
|
|
+ <el-alert
|
|
|
|
+ title="客户经理下单时选择的项目类型和业务来源确定的提成比例,用于计算客户经理的提成金额。"
|
|
|
|
+ type="info"
|
|
|
|
+ show-icon
|
|
|
|
+ :closable="false">
|
|
|
|
+ </el-alert>
|
|
|
|
+ <y-page-list-layout :get-page-list="getMarketerRatioList" :page-list="marketerRatioRecord" :page-para="listQuery1">
|
|
<el-table
|
|
<el-table
|
|
size="medium"
|
|
size="medium"
|
|
slot="table"
|
|
slot="table"
|
|
@@ -22,17 +28,17 @@
|
|
>
|
|
>
|
|
<el-table-column label="项目类型" min-width="150" align="center">
|
|
<el-table-column label="项目类型" min-width="150" align="center">
|
|
<template slot-scope="{row}">
|
|
<template slot-scope="{row}">
|
|
- <span>{{ row.itemCate }}</span>
|
|
|
|
|
|
+ <span>{{ row.itemCateName }}</span>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column label="项目来源" min-width="150" align="center">
|
|
|
|
|
|
+ <el-table-column label="业务来源" min-width="150" align="center">
|
|
<template slot-scope="{row}">
|
|
<template slot-scope="{row}">
|
|
- <span>{{ row.itemSource }}</span>
|
|
|
|
|
|
+ <span>{{ row.itemSourceName }}</span>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column label="提成比例" min-width="30" align="center">
|
|
<el-table-column label="提成比例" min-width="30" align="center">
|
|
<template slot-scope="{row}">
|
|
<template slot-scope="{row}">
|
|
- <el-input v-model="row.ratio" placeholder="请输入内容">
|
|
|
|
|
|
+ <el-input v-model="row.ratio" placeholder="请输入数字">
|
|
<i slot="suffix" style="font-size:normal;margin-right: 10px;line-height: 30px">%</i>
|
|
<i slot="suffix" style="font-size:normal;margin-right: 10px;line-height: 30px">%</i>
|
|
</el-input>
|
|
</el-input>
|
|
</template>
|
|
</template>
|
|
@@ -50,8 +56,63 @@
|
|
</el-table>
|
|
</el-table>
|
|
</y-page-list-layout>
|
|
</y-page-list-layout>
|
|
</el-tab-pane>
|
|
</el-tab-pane>
|
|
|
|
+ <el-tab-pane label="岗位抽成率" >
|
|
|
|
+ <el-alert
|
|
|
|
+ title="根据不同的管理层岗位确定该岗位人员抽成比例,用于计算客户经理的直接或间接领导提成金额。"
|
|
|
|
+ type="info"
|
|
|
|
+ show-icon
|
|
|
|
+ :closable="false">
|
|
|
|
+ </el-alert>
|
|
|
|
+ <y-page-list-layout :get-page-list="getPostRatio" :page-list="postRatioRecord" :page-para="listQuery2">
|
|
|
|
+ <el-table
|
|
|
|
+ size="medium"
|
|
|
|
+ slot="table"
|
|
|
|
+ row-key="id"
|
|
|
|
+ v-loading="listLoading"
|
|
|
|
+ :data="postRatioRecord.records"
|
|
|
|
+ fit
|
|
|
|
+ highlight-current-row
|
|
|
|
+ :header-row-style="{color: '#333333'}"
|
|
|
|
+ style="border-left: 1px solid #EBECED;border-right: 1px solid #EBECED;color: #333333;"
|
|
|
|
+ >
|
|
|
|
+ <el-table-column label="部门" min-width="150" align="center">
|
|
|
|
+ <template slot-scope="{row}">
|
|
|
|
+ <span>{{ row.departmentName }}</span>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column label="岗位" min-width="150" align="center">
|
|
|
|
+ <template slot-scope="{row}">
|
|
|
|
+ <span>{{ row.postName }}</span>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column label="抽成率" min-width="30" align="center">
|
|
|
|
+ <template slot-scope="{row}">
|
|
|
|
+ <el-input v-model="row.brokerageRatio" placeholder="请输入数字">
|
|
|
|
+ <i slot="suffix" style="font-size:normal;margin-right: 10px;line-height: 30px">%</i>
|
|
|
|
+ </el-input>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column label="操作" align="center" width="250" class-name="small-padding fixed-width">
|
|
|
|
+ <template slot-scope="{row}">
|
|
|
|
+ <el-button
|
|
|
|
+ class-name="filter-item"
|
|
|
|
+ type="primary"
|
|
|
|
+ @click="updatePostRatio(row)"
|
|
|
|
+ round
|
|
|
|
+ >保存</el-button>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ </el-table>
|
|
|
|
+ </y-page-list-layout>
|
|
|
|
+ </el-tab-pane>
|
|
<el-tab-pane label="预提金额">
|
|
<el-tab-pane label="预提金额">
|
|
- <y-page-list-layout :get-page-list="getBaseAmount" :page-list="baseAmount">
|
|
|
|
|
|
+ <el-alert
|
|
|
|
+ title="一般用于非市场人员每月固定预提成金额,此处未设置则采用[配置项]中[土规部非市场人员每月默认预提金额]进行每月提成计算。"
|
|
|
|
+ type="info"
|
|
|
|
+ show-icon
|
|
|
|
+ :closable="false">
|
|
|
|
+ </el-alert>
|
|
|
|
+ <y-page-list-layout :get-page-list="getBaseAmount" :page-list="baseAmount" :page-para="listQuery3">
|
|
<el-table
|
|
<el-table
|
|
size="medium"
|
|
size="medium"
|
|
slot="table"
|
|
slot="table"
|
|
@@ -81,9 +142,9 @@
|
|
</span>
|
|
</span>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column label="默认提成金额" align="center" width="360">
|
|
|
|
|
|
+ <el-table-column label="默认提成金额" align="center" width="300">
|
|
<template slot-scope="{row}">
|
|
<template slot-scope="{row}">
|
|
- <el-input v-model="row.baseAmount">
|
|
|
|
|
|
+ <el-input v-model="row.baseAmount" placeholder="请输入数字">
|
|
<i slot="suffix" style="font-size:normal;margin-right: 10px;line-height: 30px">¥</i>
|
|
<i slot="suffix" style="font-size:normal;margin-right: 10px;line-height: 30px">¥</i>
|
|
</el-input>
|
|
</el-input>
|
|
</template>
|
|
</template>
|
|
@@ -215,12 +276,22 @@
|
|
value:null
|
|
value:null
|
|
},
|
|
},
|
|
},
|
|
},
|
|
- listLoading: false,
|
|
|
|
- listQuery: {
|
|
|
|
- current: 1,
|
|
|
|
|
|
+ postRatioRecord:{ records: [] },
|
|
|
|
+ listLoading: true,
|
|
|
|
+ listQuery1: {
|
|
|
|
+ page: 1,
|
|
|
|
+ size: 10,
|
|
|
|
+ descs: 'id',
|
|
|
|
+ },
|
|
|
|
+ listQuery2: {
|
|
|
|
+ page: 1,
|
|
|
|
+ size: 10,
|
|
|
|
+ descs: 'id',
|
|
|
|
+ },
|
|
|
|
+ listQuery3: {
|
|
|
|
+ page: 1,
|
|
size: 10,
|
|
size: 10,
|
|
descs: 'id',
|
|
descs: 'id',
|
|
- me: false
|
|
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
},
|
|
@@ -228,6 +299,34 @@
|
|
this.getMarketerRatioList();
|
|
this.getMarketerRatioList();
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
|
|
+ updateBaseAmount(row){
|
|
|
|
+ this.$api.baseAmount.edit(row).then(res => {
|
|
|
|
+ if (res.code === 200) {
|
|
|
|
+ this.$notify({
|
|
|
|
+ title: '成功',
|
|
|
|
+ message: '修改成功',
|
|
|
|
+ type: 'success',
|
|
|
|
+ duration: 2000
|
|
|
|
+ })
|
|
|
|
+ this.getBaseAmount();
|
|
|
|
+ }
|
|
|
|
+ }).catch(() => {
|
|
|
|
+ });
|
|
|
|
+ },
|
|
|
|
+ updatePostRatio(row){
|
|
|
|
+ this.$api.postRatio.edit(row).then(res => {
|
|
|
|
+ if (res.code === 200) {
|
|
|
|
+ this.$notify({
|
|
|
|
+ title: '成功',
|
|
|
|
+ message: '修改成功',
|
|
|
|
+ type: 'success',
|
|
|
|
+ duration: 2000
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ this.getPostRatio();
|
|
|
|
+ }).catch(() => {
|
|
|
|
+ });
|
|
|
|
+ },
|
|
doSave(config) {
|
|
doSave(config) {
|
|
if (!config.value) {
|
|
if (!config.value) {
|
|
this.$notify({
|
|
this.$notify({
|
|
@@ -247,6 +346,7 @@
|
|
duration: 2000
|
|
duration: 2000
|
|
})
|
|
})
|
|
}
|
|
}
|
|
|
|
+ this.getGlobalConfig();
|
|
}).catch(() => {
|
|
}).catch(() => {
|
|
this.listLoading = false
|
|
this.listLoading = false
|
|
});
|
|
});
|
|
@@ -254,7 +354,7 @@
|
|
getBaseAmount(){
|
|
getBaseAmount(){
|
|
const that = this;
|
|
const that = this;
|
|
this.listLoading = true;
|
|
this.listLoading = true;
|
|
- this.$api.baseAmount.list(that.listQuery).then(res => {
|
|
|
|
|
|
+ this.$api.baseAmount.list(that.listQuery3).then(res => {
|
|
that.baseAmount = res.data;
|
|
that.baseAmount = res.data;
|
|
setTimeout(() => {
|
|
setTimeout(() => {
|
|
that.listLoading = false
|
|
that.listLoading = false
|
|
@@ -271,7 +371,8 @@
|
|
message: '修改成功',
|
|
message: '修改成功',
|
|
type: 'success',
|
|
type: 'success',
|
|
duration: 2000
|
|
duration: 2000
|
|
- })
|
|
|
|
|
|
+ });
|
|
|
|
+ this.getMarketerRatioList();
|
|
}
|
|
}
|
|
}).catch(() => {
|
|
}).catch(() => {
|
|
});
|
|
});
|
|
@@ -281,10 +382,24 @@
|
|
this.getBaseAmount();
|
|
this.getBaseAmount();
|
|
}else if (tab.label==='配置项') {
|
|
}else if (tab.label==='配置项') {
|
|
this.getGlobalConfig();
|
|
this.getGlobalConfig();
|
|
- }else {
|
|
|
|
- this.getMarketerRatioList()
|
|
|
|
|
|
+ }else if (tab.label === '岗位抽成率'){
|
|
|
|
+ this.getPostRatio();
|
|
|
|
+ } else {
|
|
|
|
+ this.getMarketerRatioList();
|
|
}
|
|
}
|
|
},
|
|
},
|
|
|
|
+ getPostRatio(){
|
|
|
|
+ const that = this;
|
|
|
|
+ this.listLoading = true;
|
|
|
|
+ this.$api.postRatio.list(that.listQuery2).then(res => {
|
|
|
|
+ that.postRatioRecord = res.data;
|
|
|
|
+ setTimeout(() => {
|
|
|
|
+ that.listLoading = false
|
|
|
|
+ }, 200)
|
|
|
|
+ }).catch(() => {
|
|
|
|
+ that.listLoading = false
|
|
|
|
+ });
|
|
|
|
+ },
|
|
getGlobalConfig(){
|
|
getGlobalConfig(){
|
|
const that = this;
|
|
const that = this;
|
|
this.listLoading = true;
|
|
this.listLoading = true;
|
|
@@ -311,7 +426,7 @@
|
|
getMarketerRatioList() {
|
|
getMarketerRatioList() {
|
|
const that = this;
|
|
const that = this;
|
|
this.listLoading = true;
|
|
this.listLoading = true;
|
|
- this.$api.marketerRatio.list(that.listQuery).then(res => {
|
|
|
|
|
|
+ this.$api.marketerRatio.list(that.listQuery1).then(res => {
|
|
that.marketerRatioRecord = res.data;
|
|
that.marketerRatioRecord = res.data;
|
|
setTimeout(() => {
|
|
setTimeout(() => {
|
|
that.listLoading = false
|
|
that.listLoading = false
|