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 @@
<div class="col row wrap q-mr-lg q-col-gutter-md"></div>
</div>
<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
class="po_content singeRowTable"
style="border:1px solid #E6E6E6;"
......@@ -48,27 +54,16 @@
v-loading="loading"
>
<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>
<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>
<span>{{ item.Name }}</span>
</td>
......@@ -87,7 +82,7 @@
<td>
<span v-if="item.CommissionType == 1">课耗提成</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>
<p v-for="( son , sIndex ) in item.EmpList">{{ son.EmployeeName }}</p>
......@@ -95,12 +90,10 @@
<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.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 v-for="( son , sIndex ) in item.RateList">{{ son.Rate }}</td>-->
<td>
<q-btn
flat
......@@ -123,34 +116,76 @@
</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 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></div>
<table
class="po_content singeRowTable"
style="border:1px solid #E6E6E6;"
cellspacing="0"
cellpadding="0"
v-loading="loading"
>
<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>
</template>
<marketCommissionfrom
v-if="persistent"
:isAdd="isAdd"
:loyeeList='loyeeList'
:CourseList='CourseList'
@close="closeForm"
@success="refreshList"
></marketCommissionfrom>
</div>
</template>
<script>
import {
queryEmployee
} from '../../../api/users/user'
import {
queryCourseDropdownList,
} from '../../../api/course/index'
import {
getSellAchievementsRuleList,
} from '../../../api/finance/index'
import marketCommissionfrom from "../../../components/finance/marketCommissionfrom";
export default {
meta: {
title: "销售提成规则"
},
components: {
marketCommissionfrom
},
props: {},
components: {},
data() {
return {
persistent: false,
loading: false,
dataList: [], //列表数据
isSalerule_preserve: false,
isAdd: false,
loyeeList: [],//人员列表
CourseList:[],//课程列表
}
},
created() {
......@@ -165,6 +200,8 @@ export default {
mounted() {
this.getSellAchievementsRuleList(); //获取规则
this.getEmployeeList();
this.getCourseList();//获取课程下拉
},
methods: {
......@@ -179,38 +216,40 @@ export default {
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() { //保存规则
// setSellAchievementsRule(addMsg).then(res => {
// if (res.Code == 1) {
// this.$q.notify({
// icon: 'iconfont icon-chenggong',
// color: 'accent',
// timeout: 2000,
// message: '数据保存成功!',
// position: 'top'
// })
// }
// })
},
AddMsg() {
let obj = {
Id:0,
Name:'',
Type:1,
CourseType:1,
CourseIds:'',
CourseList:[],//课程列表
CommissionType:1,
EmpIds:'',
EmpList:[],
ChildEmpIds:'',
ChildEmpList:[],
CourseRate:'',
}
this.persistent = true;
this.isAdd = true;
},
closeForm() {
this.persistent = false;
},
refreshList() {//成功之后返回
}
},
......
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