Commit e116ecf5 authored by Mac's avatar Mac

1

parent 7da1b269
<template>
<q-dialog
v-model="persistent"
full-height
maximized
position="right"
persistent
@hide="closeCutomer"
transition-show="slide-left"
>
<div class="customMain">
<div class="cycle_Title">市场顾问教师提成规则</div>
<div style="margin-top: 10px;">
<q-input
filled
stack-label
:dense="false"
v-model="addMsg.Name"
ref="Name"
class="col-12 q-pb-lg"
label="方案名称"
:rules="[val => !!val || '请填写平台名称']"
/>
</div>
<div style="display: flex;align-items: center;">
类型:
<q-radio v-model="addMsg.Type" val="1" label="市场" />
<q-radio v-model="addMsg.Type" val="2" label="顾问" />
<q-radio v-model="addMsg.Type" val="3" label="教师" />
</div>
<div style="display: flex;align-items: center;">
课程类型:
<q-radio v-model="addMsg.CourseType" val="1" label="包含" />
<q-radio v-model="addMsg.CourseType" val="2" label="不包含" />
</div>
<q-select filled stack-label option-value="CourseId" option-label="CourseName" v-model="addMsg.CourseList"
ref="CouseId" :options="CourseList" label="课程" :dense="false" class="col-6 q-pr-lg q-pb-lg" emit-value multiple use-input
map-options />
<q-btn
label="确认"
color="accent q-px-md"
size="sm"
style="font-weight:400 !important"
@click="setCheckStatus()"
/>
<div class="dialog-out-close" @click="closeCutomer">
<i class="iconfont icon-close" style="font-size:26px;" />
</div>
</div>
</q-dialog>
</template>
<script>
import {
queryEmployee
} from '../../api/users/user'
export default {
components: {
},
props: {
saveObj: {
type: Object,
default: null
},
isAdd: {// true新增 false修改
type: Boolean,
default: true
},
loyeeList: {//人员列表
type: Array,
default: []
},
CourseList: {//课程下拉列表
type: Array,
default: []
}
},
data() {
return {
persistent: true,
addMsg: null,
//员工列表
employeeList: [],
myEmployeeList: [],
}
},
created() {
this.employeeList = JSON.parse(JSON.stringify(this.loyeeList))
this.myEmployeeList = JSON.parse(JSON.stringify(this.loyeeList))
if (this.isAdd == true) {//新增
this.addMsg = {
Id: 0,
Name: '',
Type: '1',
SchoolIds: '',
CourseType: 1,
CourseIds: '',
SchoolIds: '',
CourseList: [],//课程列表
CommissionType: 1,
EmpIds: '',
EmpList: [],
ChildEmpIds: '',
ChildEmpList: [],
CourseRate: '',
RateList: [
{ StartValue: '', EndValue: '', Rate: '' }
]
}
} else {//修改
}
},
mounted() {
},
methods: {
closeCutomer() {
this.$emit('close')
},
//筛选员工
filterEmployee(val, update, abort) {
update(() => {
this.myEmployeeList = this.employeeList.filter(
v => v.EmployeeName.indexOf(val) > -1
);
});
},
changeCourse(){
},
},
}
</script>
<style scoped>
.cycle_Title {
font-size: 20px;
font-weight: 500;
color: #1f2329;
}
.customMain {
width: 700px !important;
display: flex;
flex-direction: column;
height: 100 vh;
padding: 15px 17px 0 17px;
background-color: #fff;
}
</style>
\ No newline at end of file
...@@ -39,7 +39,13 @@ ...@@ -39,7 +39,13 @@
<div class="col row wrap q-mr-lg q-col-gutter-md"></div> <div class="col row wrap q-mr-lg q-col-gutter-md"></div>
</div> </div>
<template> <template>
<div class="cm_content" style="width: 100%;"> <div>市场顾问提成规则</div>
<div
class="cm_content"
style="width: 100%;"
v-for=" ( item , index ) in dataList "
:key="index"
>
<table <table
class="po_content singeRowTable" class="po_content singeRowTable"
style="border:1px solid #E6E6E6;" style="border:1px solid #E6E6E6;"
...@@ -48,27 +54,16 @@ ...@@ -48,27 +54,16 @@
v-loading="loading" v-loading="loading"
> >
<tr> <tr>
<th colspan="12">市场顾问提成规则</th> <th>方案名称</th>
<th>类型</th>
<th>课程类型</th>
<th>课程</th>
<th>提成方式</th>
<th>提成人员</th>
<th>部门人员</th>
<th width="100">操作</th>
</tr> </tr>
<tr> <tr>
<th rowspan="2">方案名称</th>
<th rowspan="2">类型</th>
<th rowspan="2">课程类型</th>
<th rowspan="2">课程</th>
<th rowspan="2">提成方式</th>
<th rowspan="2">提成人员</th>
<th rowspan="2">部门人员</th>
<th rowspan="2">课程比例</th>
<th colspan="3">业绩比例</th>
<th rowspan="2" width="100">操作</th>
</tr>
<tr>
<th>初始值</th>
<th>结束值</th>
<th>提成比例</th>
</tr>
<tr v-for=" ( item , index ) in dataList ">
<td> <td>
<span>{{ item.Name }}</span> <span>{{ item.Name }}</span>
</td> </td>
...@@ -87,7 +82,7 @@ ...@@ -87,7 +82,7 @@
<td> <td>
<span v-if="item.CommissionType == 1">课耗提成</span> <span v-if="item.CommissionType == 1">课耗提成</span>
<span v-if="item.CommissionType == 2">次月全提</span> <span v-if="item.CommissionType == 2">次月全提</span>
<span v-if="item.CommissionType == 3">课程比例</span> <span v-if="item.CommissionType == 3">课程比例:{{ item.CourseRate + '%' }}</span>
</td> </td>
<td> <td>
<p v-for="( son , sIndex ) in item.EmpList">{{ son.EmployeeName }}</p> <p v-for="( son , sIndex ) in item.EmpList">{{ son.EmployeeName }}</p>
...@@ -95,12 +90,10 @@ ...@@ -95,12 +90,10 @@
<td> <td>
<p v-for="( son , sIndex ) in item.ChildEmpList">{{ son.EmployeeName }}</p> <p v-for="( son , sIndex ) in item.ChildEmpList">{{ son.EmployeeName }}</p>
</td> </td>
<td>
<span>{{ item.CourseRate }}</span> <!-- <td v-for="( son , sIndex ) in item.RateList">{{ son.StartValue }}</td>
</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.EndValue }}</td>
<td v-for="( son , sIndex ) in item.RateList">{{ son.Rate }}</td> <td v-for="( son , sIndex ) in item.RateList">{{ son.Rate }}</td>-->
<td> <td>
<q-btn <q-btn
flat flat
...@@ -123,34 +116,76 @@ ...@@ -123,34 +116,76 @@
</td> </td>
</tr> </tr>
</table> </table>
<div <div></div>
v-if="dataList.length == 0" <table
style="width: 100%;border:1px solid #E6E6E6;display: flex;align-items: center;justify-content: center;height: 60px;" class="po_content singeRowTable"
>暂无数据</div> style="border:1px solid #E6E6E6;"
<div style="width: 100%;display: flex;justify-content: flex-end;margin-top: 10px;"> cellspacing="0"
<q-btn color="accent" size="sm" icon="add" label="新增规则" @click="AddMsg()" /> cellpadding="0"
<q-btn color="accent" size="sm" label="保存" @click="setMsg()" style="margin-left: 15px;" /> v-loading="loading"
</div> >
<tr>
<th :rowspan="item.RateList.length">业绩比例</th>
</tr>
<tr>
<th
v-for="( son , sIndex ) in item.RateList"
:key="sIndex"
>{{ son.StartValue }}{{ '<业绩<=' }}{{ son.EndValue }}</th>
</tr>
<tr>
<td v-for="( son , sIndex ) in item.RateList" :key="sIndex">{{ son.Rate }}%</td>
</tr>
</table>
</div>
<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 style="width: 100%;display: flex;justify-content: flex-end;margin-top: 10px;">
<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>
</template> </template>
<marketCommissionfrom
v-if="persistent"
:isAdd="isAdd"
:loyeeList='loyeeList'
:CourseList='CourseList'
@close="closeForm"
@success="refreshList"
></marketCommissionfrom>
</div> </div>
</template> </template>
<script> <script>
import {
queryEmployee
} from '../../../api/users/user'
import {
queryCourseDropdownList,
} from '../../../api/course/index'
import { import {
getSellAchievementsRuleList, getSellAchievementsRuleList,
} from '../../../api/finance/index' } from '../../../api/finance/index'
import marketCommissionfrom from "../../../components/finance/marketCommissionfrom";
export default { export default {
meta: { meta: {
title: "销售提成规则" title: "销售提成规则"
}, },
components: {
marketCommissionfrom
},
props: {}, props: {},
components: {},
data() { data() {
return { return {
persistent: false,
loading: false, loading: false,
dataList: [], //列表数据 dataList: [], //列表数据
isSalerule_preserve: false, isSalerule_preserve: false,
isAdd: false,
loyeeList: [],//人员列表
CourseList:[],//课程列表
} }
}, },
created() { created() {
...@@ -165,6 +200,8 @@ export default { ...@@ -165,6 +200,8 @@ export default {
mounted() { mounted() {
this.getSellAchievementsRuleList(); //获取规则 this.getSellAchievementsRuleList(); //获取规则
this.getEmployeeList();
this.getCourseList();//获取课程下拉
}, },
methods: { methods: {
...@@ -179,38 +216,40 @@ export default { ...@@ -179,38 +216,40 @@ export default {
this.loading = false this.loading = false
}) })
}, },
//获取员工列表
getEmployeeList() {
queryEmployee({
IsLeave: 1
}).then(res => {
this.loyeeList = res.Data;
})
},
//获取课程
getCourseList() {
queryCourseDropdownList({
IsQPrice: 1
}).then(res => {
if (res.Code == 1) {
this.CourseList = res.Data;
}
})
},
preservation() { //保存规则 preservation() { //保存规则
// setSellAchievementsRule(addMsg).then(res => {
// if (res.Code == 1) {
// this.$q.notify({
// icon: 'iconfont icon-chenggong',
// color: 'accent',
// timeout: 2000,
// message: '数据保存成功!',
// position: 'top'
// })
// }
// })
}, },
AddMsg() { AddMsg() {
let obj = { this.persistent = true;
Id:0, this.isAdd = true;
Name:'', },
Type:1, closeForm() {
CourseType:1, this.persistent = false;
CourseIds:'',
CourseList:[],//课程列表 },
CommissionType:1, refreshList() {//成功之后返回
EmpIds:'',
EmpList:[],
ChildEmpIds:'',
ChildEmpList:[],
CourseRate:'',
}
} }
}, },
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment