Commit 25a1ad7a authored by youjie's avatar youjie

同业提成规则

parent b2e7d283
<template> <template>
<div class="page_FProcessManagement"> <div class="page_FProcessManagement">
<ul class="_nav clearfix"> <ul class="_nav clearfix">
<li style="color: red;">注:公司所有国内出发线路(单团.散拼)规则</li> <li style="color: red;"></li>
<!-- <button class="hollowFixedBtn" style="right: 185px;" @click="clickTheRules(1)">提成限制</button> <!-- <button class="hollowFixedBtn" style="right: 185px;" @click="clickTheRules(1)">提成限制</button>
<button class="normalBtn" style="position: absolute; right: 90px;top: 9px;" @click="clickTheRules()">提成规则</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="hollowFixedBtn" value="新增" @click="AddMsg"/>
...@@ -22,8 +22,7 @@ ...@@ -22,8 +22,7 @@
> >
<tr> <tr>
<th width="100" style="min-width: 100px;max-width: 100px;">方案名称</th> <th width="100" style="min-width: 100px;max-width: 100px;">方案名称</th>
<th width="100" class="left-text-indent">提成比例</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>
<th width="150" style="min-width: 150px;max-width: 150px;">操作</th> <th width="150" style="min-width: 150px;max-width: 150px;">操作</th>
</tr> </tr>
...@@ -32,10 +31,7 @@ ...@@ -32,10 +31,7 @@
<span>{{item.Name}}</span> <span>{{item.Name}}</span>
</td> </td>
<td style="padding: 0 10px;" class="left-text-indent"> <td style="padding: 0 10px;" class="left-text-indent">
{{item.SalesRate}} 销售额{{item.SalesRate}}%
</td>
<td>
{{item.BonusMinPNum}}
</td> </td>
<td style="padding: 0 10px;"> <td style="padding: 0 10px;">
<p>{{item.UpdateBy}}</p> <p>{{item.UpdateBy}}</p>
...@@ -50,6 +46,7 @@ ...@@ -50,6 +46,7 @@
</td> </td>
</tr> </tr>
</table> </table>
<div style="width:100%;overflow-x: auto;"> <div style="width:100%;overflow-x: auto;">
<table <table
class="po_content singeRowTable" class="po_content singeRowTable"
...@@ -57,18 +54,17 @@ ...@@ -57,18 +54,17 @@
cellspacing="0" cellspacing="0"
cellpadding="0" cellpadding="0"
> >
<tr> <tr>
<td rowspan="2" width="150" style="min-width: 150px;">日本及其他人头奖励</td> <td rowspan="2" width="150" style="min-width: 150px;">日本及其他提成比例<p>当月个人毛利润业绩金额</p> </td>
<th style="min-width: 220px;" <th style="min-width: 220px;"
v-for="( son , sIndex ) in item.AwardRuleList" v-for="( son , sIndex ) in item.ProfitRuleList"
:key="sIndex" :key="sIndex"
> >{{ son.StartValue }} <span>{{son.EndValue && son.EndValue!=-1?'<=当月毛利润<':'<=当月毛利润'}}</span>
{{ son.StartValue }}{{son.EndValue&&son.EndValue!=-1?' ~ '+son.EndValue+' 人 ':' 人以上'}} <span v-if="son.EndValue && son.EndValue!=-1">{{ son.EndValue }}</span>
</th> </th>
</tr> </tr>
<tr> <tr>
<td style="min-width: 220px;" v-for="( son , sIndex ) in item.AwardRuleList" :key="sIndex">{{ son.Rate }}</td> <td style="min-width: 220px;" v-for="( son , sIndex ) in item.ProfitRuleList" :key="sIndex"> {{ son.Rate }}%</td>
</tr> </tr>
</table> </table>
</div> </div>
...@@ -80,16 +76,16 @@ ...@@ -80,16 +76,16 @@
cellpadding="0" cellpadding="0"
> >
<tr> <tr>
<td rowspan="2" width="150" style="min-width: 150px;">日本及其他提成比例</td> <td rowspan="2" width="150" style="min-width: 150px;">欧洲及其他提成比例<p>当月个人毛利润业绩金额</p></td>
<th style="min-width: 220px;" <th style="min-width: 220px;"
v-for="( son , sIndex ) in item.ProfitRuleList" v-for="( son , sIndex ) in item.EuropeProfitRuleList"
:key="sIndex" :key="sIndex"
>{{ son.StartValue }} <span>{{son.EndValue && son.EndValue!=-1?'<=当月利润<':'<=当月利润'}}</span> >{{ son.StartValue }} <span>{{son.EndValue && son.EndValue!=-1?'<=当月毛利润<':'<=当月毛利润'}}</span>
<span v-if="son.EndValue && son.EndValue!=-1">{{ son.EndValue }}</span> <span v-if="son.EndValue && son.EndValue!=-1">{{ son.EndValue }}</span>
</th> </th>
</tr> </tr>
<tr> <tr>
<td style="min-width: 220px;" v-for="( son , sIndex ) in item.ProfitRuleList" :key="sIndex"> {{ son.Rate }}%</td> <td style="min-width: 220px;" v-for="( son , sIndex ) in item.EuropeProfitRuleList" :key="sIndex"> {{ son.Rate }}%</td>
</tr> </tr>
</table> </table>
</div> </div>
...@@ -100,16 +96,19 @@ ...@@ -100,16 +96,19 @@
cellspacing="0" cellspacing="0"
cellpadding="0" cellpadding="0"
> >
<tr> <tr>
<td rowspan="2" width="150" style="min-width: 150px;">欧洲及其他人头奖励</td> <td rowspan="2" width="150" style="min-width: 150px;">日本及其他人头奖励<p>成交人数</p></td>
<th style="min-width: 220px;" <th style="min-width: 220px;"
v-for="( son , sIndex ) in item.EuropeAwardRuleList" v-for="( son , sIndex ) in item.AwardRuleList"
:key="sIndex" :key="sIndex"
>{{ son.StartValue }}{{son.EndValue&&son.EndValue!=-1?' ~ '+son.EndValue+' 人 ':' 人以上'}} >
{{ son.StartValue }}{{son.EndValue&&son.EndValue!=-1?' ~ '+son.EndValue+' 人 ':' 人以上'}}
</th> </th>
</tr> </tr>
<tr> <tr>
<td style="min-width: 220px;" v-for="( son , sIndex ) in item.EuropeAwardRuleList" :key="sIndex"> {{ son.Rate }}</td> <td style="min-width: 220px;" v-for="( son , sIndex ) in item.AwardRuleList" :key="sIndex">{{ son.Rate }}</td>
</tr> </tr>
</table> </table>
</div> </div>
...@@ -121,19 +120,19 @@ ...@@ -121,19 +120,19 @@
cellpadding="0" cellpadding="0"
> >
<tr> <tr>
<td rowspan="2" width="150" style="min-width: 150px;">欧洲及其他提成比例</td> <td rowspan="2" width="150" style="min-width: 150px;">欧洲及其他人头奖励<p>成交人数</p></td>
<th style="min-width: 220px;" <th style="min-width: 220px;"
v-for="( son , sIndex ) in item.EuropeProfitRuleList" v-for="( son , sIndex ) in item.EuropeAwardRuleList"
:key="sIndex" :key="sIndex"
>{{ son.StartValue }} <span>{{son.EndValue && son.EndValue!=-1?'<=当月利润<':'<=当月利润'}}</span> >{{ son.StartValue }}{{son.EndValue&&son.EndValue!=-1?' ~ '+son.EndValue+' 人 ':' 人以上'}}
<span v-if="son.EndValue && son.EndValue!=-1">{{ son.EndValue }}</span>
</th> </th>
</tr> </tr>
<tr> <tr>
<td style="min-width: 220px;" v-for="( son , sIndex ) in item.EuropeProfitRuleList" :key="sIndex"> {{ son.Rate }}%</td> <td style="min-width: 220px;" v-for="( son , sIndex ) in item.EuropeAwardRuleList" :key="sIndex"> {{ son.Rate }}</td>
</tr> </tr>
</table> </table>
</div> </div>
<div style="width:100%;overflow-x: auto;"> <div style="width:100%;overflow-x: auto;">
<table <table
class="po_content singeRowTable" class="po_content singeRowTable"
...@@ -142,7 +141,7 @@ ...@@ -142,7 +141,7 @@
cellpadding="0" cellpadding="0"
> >
<tr> <tr>
<td rowspan="2" width="150" style="min-width: 150px;">年终奖励</td> <td rowspan="2" width="150" style="min-width: 150px;">年终奖励<p>每月人头{{item.BonusMinPNum}}人以上</p></td>
<th style="min-width: 220px;" <th style="min-width: 220px;"
v-for="( son , sIndex ) in item.BonusRuleList" v-for="( son , sIndex ) in item.BonusRuleList"
:key="sIndex" :key="sIndex"
...@@ -165,10 +164,13 @@ ...@@ -165,10 +164,13 @@
<el-input v-model="form.Name" clearable></el-input> <el-input v-model="form.Name" clearable></el-input>
</el-form-item> </el-form-item>
<el-form-item label="达标人数" prop="BonusMinPNum"> <el-form-item label="达标人数" prop="BonusMinPNum">
<el-input type="Number" v-model="form.BonusMinPNum" clearable></el-input> <el-input type="Number" v-model="form.BonusMinPNum" clearable></el-input>
</el-form-item> </el-form-item>
<el-form-item label="提成比例" prop="SalesRate"> <el-form-item label="提成比例" prop="SalesRate">
<el-input type="Number" v-model="form.SalesRate" clearable></el-input> <div class="Impression-ratio-box">
<el-input type="Number" v-model="form.SalesRate" clearable></el-input>
<span class="Impression-ratio-right">%</span>
</div>
</el-form-item> </el-form-item>
</div> </div>
<el-form-item class="ImpressionTicketing-OuterFrame" label-width="0px"> <el-form-item class="ImpressionTicketing-OuterFrame" label-width="0px">
......
...@@ -58,7 +58,7 @@ ...@@ -58,7 +58,7 @@
<tr v-for="item in dataList"> <tr v-for="item in dataList">
<td>{{item.Periods}}</td> <td>{{item.Periods}}</td>
<td> <td>
<p>+ {{item.SumWage}}</p> <p> {{item.SumWage>0?'+' + item.SumWage:item.SumWage}}</p>
</td> </td>
<td>{{item.SumPrice}}</td> <td>{{item.SumPrice}}</td>
...@@ -80,9 +80,10 @@ ...@@ -80,9 +80,10 @@
<td> <td>
<el-tooltip class="item" effect="dark" content="查看明细" placement="top"> <el-tooltip class="item" effect="dark" content="查看明细" placement="top">
<el-button type="primary" class="CM_look" @click="goUrl('ImpressionTicketUserDetails',item.Id)" <el-button type="primary" class="CM_look" @click="goUrl('TradeTicketUserDetails',item.Id)"
icon="iconfont icon-chakan" circle></el-button> icon="iconfont icon-chakan" circle></el-button>
</el-tooltip> </el-tooltip>
<!--
<el-tooltip v-if="cMaker==true" class="item" effect="dark" content="提成制单" placement="top"> <el-tooltip v-if="cMaker==true" class="item" effect="dark" content="提成制单" placement="top">
<el-button @click="YijianZD(item,1)" type="danger" class="CM_look" v-if="cMaker==true" <el-button @click="YijianZD(item,1)" type="danger" class="CM_look" v-if="cMaker==true"
icon="iconfont icon-mui-icon-add" circle></el-button> icon="iconfont icon-mui-icon-add" circle></el-button>
...@@ -94,7 +95,7 @@ ...@@ -94,7 +95,7 @@
<el-tooltip class="item" effect="dark" content="当期利润" placement="top"> <el-tooltip class="item" effect="dark" content="当期利润" placement="top">
<el-button @click="goUrl('ImpressionCurrentProfit',item.Id,1)" type="danger" class="CM_look" <el-button @click="goUrl('ImpressionCurrentProfit',item.Id,1)" type="danger" class="CM_look"
icon="iconfont icon-money" circle></el-button> icon="iconfont icon-money" circle></el-button>
</el-tooltip> </el-tooltip>-->
</td> </td>
</tr> </tr>
<tr v-if="dataList.length==0"> <tr v-if="dataList.length==0">
......
...@@ -40,15 +40,17 @@ ...@@ -40,15 +40,17 @@
@keyup.native.enter="handleCurrentChange(1)" :placeholder="$t('pub.pleaseImport')"></el-input> @keyup.native.enter="handleCurrentChange(1)" :placeholder="$t('pub.pleaseImport')"></el-input>
</li> </li>
<li> <li>
<em>类型</em> <em>订单类型</em>
<el-select v-model="msg.EmpType" size="mini" @change="handleCurrentChange(1)" filterable> <el-select v-model="msg.OrderType" class="w200 HworkInput"
<el-option v-for="(item,index) in titleList" :key="item.index" :label="item.name" @change="handleCurrentChange(1)">
:value="item.id"></el-option> <el-option label="不限" :value="-1"></el-option>
<el-option v-for="item in OrderTypeList" :key="item.Id" :label="item.Name" :value="item.Id"></el-option>
</el-select> </el-select>
</li> </li>
<li> <li>
<em>人员</em> <em>人员</em>
<el-select v-model="msg.EmpId" size="mini" @change="handleCurrentChange(1)" filterable> <el-select v-model="msg.UserId" size="mini" @change="handleCurrentChange(1)" filterable>
<el-option label="不限" :value="-1"></el-option> <el-option label="不限" :value="-1"></el-option>
<el-option label="微途" :value="-2"></el-option> <el-option label="微途" :value="-2"></el-option>
<el-option v-for="(item,index) in searchList" :key="item.index" :label="item.name" <el-option v-for="(item,index) in searchList" :key="item.index" :label="item.name"
...@@ -63,60 +65,91 @@ ...@@ -63,60 +65,91 @@
:value="item.Id"></el-option> :value="item.Id"></el-option>
</el-select> </el-select>
</li> </li>
<li>
<em>所属公司</em>
<el-select filterable v-model='msg.RB_Branch_Id'
@change='handleCurrentChange(1)'>
<el-option label="不限" :value="-1" :key="-1"></el-option>
<el-option
v-for="item in companyList"
:label='item.BName'
:value='item.Id'
:key='item.Id'
></el-option>
</el-select>
</li>
<li>
<em>出团公司</em>
<el-select filterable v-model='msg.OutBranchId'
@change='handleCurrentChange(1)'>
<el-option label="不限" :value="-1" :key="-1"></el-option>
<el-option
v-for="item in companyList"
:label='item.BName'
:value='item.Id'
:key='item.Id'
></el-option>
</el-select>
</li>
<li>
<em>部门</em>
<el-select filterable v-model='msg.RB_Department_Id'
@change='handleCurrentChange(1)'>
<el-option label="不限" :value="-1"></el-option>
<el-option v-for='item in departmentList'
:label='item.DepartmentName'
:value='item.DepartmentID'
:key='item.DepartmentID'>
</el-option>
</el-select>
</li>
<li style="position: fixed;right: 0;top: 51px;"><input type="button" class="normalBtn" value="导出" @click="exportExcel"></li>
</ul> </ul>
</div> </div>
<div style="display: flex;align-items: center;height: 50px;justify-content: space-between;">
<div style="display: flex;align-items: center;">
</div>
<input type="button" class="normalBtn" value="导出" @click="exportExcel">
</div>
<table v-loading="loading" class="singeRowTable" border="0" cellspacing="0" cellpadding="0" <table v-loading="loading" class="singeRowTable" border="0" cellspacing="0" cellpadding="0"
style="margin-top: 10px;"> style="margin-top: 10px;">
<tr> <tr>
<th>类型</th> <th>类型</th>
<th>公司</th> <th>所属公司</th>
<th>出团公司</th>
<th>部门</th> <th>部门</th>
<th>岗位</th>
<th>姓名</th> <th>姓名</th>
<th>线路</th>
<th>是否欧洲订单</th>
<th>订单号</th> <th>订单号</th>
<th>订单利润</th> <th>团号</th>
<th>应发</th> <th>订单人数</th>
<th>当期提成</th> <th>团队总人数</th>
<th>未达标提成</th> <th>提成方式</th>
<th>提成比例</th> <th>提成比例</th>
<th>依据类型</th> <th>订单业绩/利润</th>
<th>年终</th> <th>团队利润</th>
<th>年终比例</th>
<th>期数</th> <th>期数</th>
<th width='300'>备注</th> <th width='300'>备注</th>
<!-- <th>操作</th> --> <!-- <th>操作</th> -->
</tr> </tr>
<tr v-for="item in dataList"> <tr v-for="item in dataList">
<td>{{item.EmpType==1?'销售':item.EmpType==2?'引流':'-'}}</td> <td>{{item.OrderTypeName}}</td>
<td>{{item.BranchName}}</td> <td>{{item.BranchName}}</td>
<td>{{item.OutBranchName}}</td>
<td>{{item.DeptName}}</td> <td>{{item.DeptName}}</td>
<td>{{item.PostName?item.PostName:'-'}}</td> <td>{{item.UserName}}</td>
<td>{{item.EmName}}</td> <td>{{item.LineName}}</td>
<td>{{item.IsEurope==1?'是':'否'}}</td>
<td><span class="cursor-p" @click="clickUrl(item,1)">{{item.OrderId}}</span></td> <td><span class="cursor-p" @click="clickUrl(item,1)">{{item.OrderId}}</span></td>
<td>{{item.TCNUM}}({{item.TCID}})</td>
<td>{{item.PeopleNum}}</td>
<td>{{item.TCGuestNum}}</td>
<td>{{item.Way==1?'销售额':'利润比'}}</td>
<td>{{item.Rate?item.Rate+'%':'-'}}</td>
<td>{{item.OrderProfit}}</td> <td>{{item.OrderProfit}}</td>
<td>{{item.YCommission}}</td> <td>{{item.TCProfit}}</td>
<td>{{item.Commission}}</td> <td>{{item.Periods}}</td>
<td>{{item.LimitCommission != 0?item.LimitCommission:'-'}}</td> <td>{{item.Description?item.Description:'-'}}</td>
<td>{{item.CommissionRate}}%</td>
<td @click="GenerateScale(item)">
<span
:class="item.WageReId?'cursor-p':''">{{item.WageType==1?'新员工比例':item.WageType==2?'上季度定档':'-'}}</span>
</td>
<td>{{item.EmName!='微途'?item.BonusMoney:'-'}}</td>
<td>{{item.EmName!='微途'?item.BonusRate+'%':'-'}}</td>
<td>{{item.Month}}</td>
<td>{{item.Remark?item.Remark:'-'}}</td>
</tr> </tr>
<tr v-if="dataList.length==0"> <tr v-if="dataList.length==0">
<td style="text-align:center" colspan="16">暂无数据</td> <td style="text-align:center" colspan="17">暂无数据</td>
</tr> </tr>
</table> </table>
<!-- 分页 --> <!-- 分页 -->
...@@ -135,7 +168,7 @@ ...@@ -135,7 +168,7 @@
</template> </template>
<script> <script>
import inAccordanceWith from "./inAccordanceWithDialog" import inAccordanceWith from "../ImpressionTicketing/inAccordanceWithDialog"
import moment from "moment" import moment from "moment"
export default { export default {
components:{ components:{
...@@ -149,10 +182,14 @@ ...@@ -149,10 +182,14 @@
msg: { msg: {
pageIndex: 1, pageIndex: 1,
pageSize: 20, pageSize: 20,
EmpId: -1, UserId: -1,
PeriodsId: -1, PeriodsId: -1,
EmpType: '-1', OrderId:'',
OrderId:'' OrderType: -1,
TCNUM: '',
RB_Department_Id: -1,//部门ID
RB_Branch_Id: -1,//公司ID
OutBranchId: -1,//出团公司ID
}, },
loading: false, loading: false,
//数据源 //数据源
...@@ -169,13 +206,31 @@ ...@@ -169,13 +206,31 @@
{name:'引流',id:'2'}, {name:'引流',id:'2'},
{name:'销售',id:'1'} {name:'销售',id:'1'}
], ],
OrderTypeList:[],
departmentList:[],
companyList: [],
getCompanyMsg:{
RB_Group_Id:'0',
Status:'0',
},
departmentMsg: {
RB_Group_Id: '0',
RB_Branch_Id:'0',
Status:'0',
ParentId:'-1',
Tier:'0',
},
} }
}, },
mounted() { mounted() {
let userInfo = this.getLocalStorage(); let userInfo = this.getLocalStorage();
this.getCompanyMsg.RB_Group_Id=userInfo.RB_Group_id; //集团ID
this.departmentMsg.RB_Group_Id = userInfo.RB_Group_id; //集团
this.departmentMsg.RB_Branch_Id = userInfo.RB_Branch_Id;
this.getEmployee() //人员 this.getEmployee() //人员
this.getDepartment()
this.getCompany()
this.GetOrderTypeEnumList()
this.GetCommissionPeroidsList()//期数 this.GetCommissionPeroidsList()//期数
let ActionMenuCode = userInfo.ActionMenuCode; let ActionMenuCode = userInfo.ActionMenuCode;
if (this.$route.query) { //不大于0的话用默认值 if (this.$route.query) { //不大于0的话用默认值
...@@ -188,6 +243,30 @@ ...@@ -188,6 +243,30 @@
} }
}, },
methods: { methods: {
GetOrderTypeEnumList() {
this.apipost("CarSingle_post_GetOrderTypeEnumList", {}, (res) => {
if (res.data.resultCode == 1) {
this.OrderTypeList = res.data.data;
} else {
this.$message.error(res.data.message);
}
});
},
getDepartment() {
this.apipost('admin_get_DepartmentGetList', this.departmentMsg, res => {
if(res.data.resultCode == 1) {
this.departmentList = res.data.data;
}
}, err => {})
},
getCompany(){
this.apipost('admin_get_BranchGetList',this.getCompanyMsg,res=>{
if(res.data.resultCode==1){
this.companyList=res.data.data;
}else{}
},err=>{})
},
clickUrl(item,type){ clickUrl(item,type){
if(type==2){//线索 if(type==2){//线索
...@@ -273,14 +352,14 @@ ...@@ -273,14 +352,14 @@
msg.OrderId = 0 msg.OrderId = 0
} }
this.loading = true; this.loading = true;
this.crmapipost( this.apipost(
"/api/Commission/GetCommissionOrderDetialPageList", "sellcommission_GetTYSaleCommissionSingleDetailsList",
msg, msg,
res => { res => {
this.loading = false; this.loading = false;
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
this.dataList = res.data.data.pageData; this.dataList = res.data.data.pmodel.pageData;
this.total = res.data.data.count; this.total = res.data.data.pmodel.count;
} else { } else {
this.Error(res.data.message); this.Error(res.data.message);
} }
...@@ -288,8 +367,8 @@ ...@@ -288,8 +367,8 @@
); );
}, },
exportExcel() { //导出 exportExcel() { //导出
var fileName = "印象票务提成人员表.xls"; var fileName = "同业提成人员表.xls";
this.crmGetLocalFile("/api/Commission/GetCommissionOrderDetialToExcel", this.msg, fileName); this.GetLocalFile("sellcommission_GetTYSaleCommissionSingleDetailsListToExcel", this.msg, fileName);
} }
} }
......
...@@ -4935,6 +4935,22 @@ export default { ...@@ -4935,6 +4935,22 @@ export default {
title: '同业提成' title: '同业提成'
} }
}, },
{
path: '/TradeTicketUserDetails',
name: 'TradeTicketUserDetails',
component: resolve => require(['@/components/FinancialModule/TradeCommission/TicketUserDetails'], resolve),
meta: {
title: '同业提成明细'
}
},
{
path: '/TradeTicketDetails',
name: 'TradeTicketDetails',
component: resolve => require(['@/components/FinancialModule/TradeCommission/TicketDetails'], resolve),
meta: {
title: '同业提成详情'
}
},
{ {
path: '/ServiceTheRules', path: '/ServiceTheRules',
name: 'ServiceTheRules', name: 'ServiceTheRules',
......
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