Commit 63a7f42d authored by youjie's avatar youjie
parents 97f5fe4f 8cbea9e0
......@@ -5015,6 +5015,7 @@ export const obj = {
ribxrtjl: 'Japanese Line Head Reward ',
chengjrs: 'Number of transactions ',
renyishang: 'People above ',
ynnzffdw: 'Payment unit: sales basic salary',
ouzxrtjl: 'European Line Head Award ',
qitaxrtjl: 'Other line Head reward ',
nianzhongjl: 'Year-end reward ',
......@@ -5981,7 +5982,9 @@ export const obj = {
yuanfakuan: 'Yuan fine ',
zhuysyyrhjtde: 'Note: For small groups and landing groups formed after November 1, the filing commission ratio is based on the departure date. If the group cannot be formed in the month of departure, the filing proportion will be re-determined after the formation of the next month. If the group has been issued a commission, the latest proportion will be used to make up the commission; (Again, note that the number of people reward is divided into Japan, Europe, other lines three modules calculated independently) ',
ribenxxbtdxtc: 'Japanese Line small package, landing group and single commission ',
yntdtcyn: 'All lines scattered, single group commission',
dangyuegrmlr: 'Personal gross profit for the month ',
dangyuegrrtsl: 'Number of individual heads for the month',
rentouslian: 'Head count ',
yuqibili: 'Expected proportion ',
bufawanqitc: 'Retroactive delivery commission ',
......@@ -5989,6 +5992,7 @@ export const obj = {
qitxxblddxtic: 'Other line small package, landing group and single commission ',
dangyuertjlbhmp: 'Monthly head bonus/Excluding tickets, chartered buses, domestic Tours, small groups and single groups (independent groups)',
nianzjbhmp: 'Year-end bonus (excluding tickets, chartered bus, domestic tour)',
nianzjyn: 'Year-end bonus',
zhunianzmnsyyqi: 'Note: The year-end reward starts from November every year ',
geyuedcckan: 'Months (click to view)',
meiyuerens: 'People per month ',
......@@ -6017,6 +6021,14 @@ export const obj = {
'The above system company will take appropriate response or adjustment due to market changes and actual business conditions, please note!! ',
'Regarding the notice of Chengdu Sales Promotion European Route supplement, please refer to Administrative document No. 2024-A-019 ',
],
yntcguiz:[
'All above are calculated in Indonesian rupiah',
'All results are settled on the date of departure. The final payment is collected as the basis',
'Monthly head bonus and year-end bonus include all products of each line (scattered. Single group etc... But does not include a single service class)',
'All the above calculations are on a monthly basis. The accounting basis is calculated from the departure date!',
'If the annual settlement does not reach the standard (more than 3 months), the year-end bonus is issued according to national regulations!',
'The above system company will take appropriate response or adjustment due to market changes and actual business conditions, please pay attention!!',
],
guanyutcfflcbctz: 'Supplementary Notice on royalty Issuance Process ',
ticanffsgs: 'The timely release of royalty is the expectation of the companys owners, and it is also a part of the companys attention, issued on April 27, 2023 document number: 2023-A-19 "Notice on Royalty Issuance Process" document, in the actual operation process, there are still some personnel do not pay attention to, no public spirit, did not change the price within the specified time or the cost entry is not completed, resulting in the May royalty is not issued normally, in order not to affect other sales of the royalty rules to make the following supplement ',
fafangtcbcgz:[
......
......@@ -5015,6 +5015,7 @@ export const obj = {
ribxrtjl: '日本线人头奖励',
chengjrs: '成交人数',
renyishang: '人以上',
ynnzffdw: '发放单位:销售基本工資',
ouzxrtjl: '欧洲线人头奖励',
qitaxrtjl: '其他线人头奖励',
nianzhongjl: '年终奖励',
......@@ -5981,7 +5982,9 @@ export const obj = {
yuanfakuan: '元罚款',
zhuysyyrhjtde: '注:11月1日后结团的小包团、落地团以出团日期为标准定档提成比例,如出团当月无法结团,次月结团后重新定档比例,如已发提成的团则使用最新比例补发提成;(再次注意,人数奖励是分日本、欧洲、其他线三个模块独立计算)',
ribenxxbtdxtc: '日本线小包团、落地团以及单项提成',
yntdtcyn: '所有线路散拼、单团提成',
dangyuegrmlr: '当月个人毛利润',
dangyuegrrtsl: '当月个人人头数量',
rentouslian: '人头数量',
yuqibili: '预期比例',
bufawanqitc: '补发往期提成',
......@@ -5989,6 +5992,7 @@ export const obj = {
qitxxblddxtic: '其他线小包团、落地团以及单项提成',
dangyuertjlbhmp: '当月人头奖励/不含门票、包车、国内游、小包团以及单团(独立成团)',
nianzjbhmp: '年终奖(不含门票、包车、国内游)',
nianzjyn: '年终奖',
zhunianzmnsyyqi: '注:年终奖励从每年11月起始',
geyuedcckan: '个月(点击查看)',
meiyuerens: '每月人数',
......@@ -6017,6 +6021,14 @@ export const obj = {
'以上制度公司会因市场变动与业务实际情况採取适当因应或调整,敬请注意!!',
'关于成都销售推广欧洲路线补充的通知,请注意查看编号2024-A-019行政文件',
],
yntcguiz:[
'以上皆為印尼盾計算',
'所有業績結算皆以出發日.尾款收齊為基準',
'每月人頭獎勵與年終獎勵包含各線所有產品(散拚.單團等…但不含單項服務類)',
'以上所有核算皆以月為單位.核算基礎為出發日算起!',
'如年度結算未達標準(3個月以上),則年終獎金按國家規定發給!',
'以上制度公司會因市場變動與業務實際情況採取適當因應或調整,敬請注意!!',
],
guanyutcfflcbctz: '关于提成发放流程的补充通知',
ticanffsgs: '提成按时发放是公司所有人的期盼,同时也是公司重视的一部份,2023年04月27日发布文件编号:2023-A-19“关于提成发放流程的通知”文件,在实际操作过程中还是有部份人员不重视、无公德心,未在规定时间内及时改价或成本录入未完成,导致5月提成未正常发放,为不影响其他销售的提成,特对提成规则做以下补充',
fafangtcbcgz:[
......
......@@ -5015,6 +5015,7 @@ export const obj = {
ribxrtjl: '日本線人頭獎勵',
chengjrs: '成交人數',
renyishang: '人以上',
ynnzffdw: '发放单位:销售基本工資',
ouzxrtjl: '歐洲線人頭獎勵',
qitaxrtjl: '其他線人頭獎勵',
nianzhongjl: '年終獎勵',
......@@ -5981,7 +5982,9 @@ export const obj = {
yuanfakuan: '元罰款',
zhuysyyrhjtde: '注:11月1日後結團的小包團、落地團以出團日期爲標準定檔提成比例,如出團當月無法結團,次月結團後重新定檔比例,如已發提成的團則使用最新比例補發提成;(再次注意,人數獎勵是分日本、歐洲、其他線三個模塊獨立計算)',
ribenxxbtdxtc: '日本線小包團、落地團以及單項提成',
yntdtcyn: '所有线路散拼、单团提成',
dangyuegrmlr: '當月個人毛利潤',
dangyuegrrtsl: '當月個人人頭數量',
rentouslian: '人頭數量',
yuqibili: '預期比例',
bufawanqitc: '補發往期提成',
......@@ -5989,6 +5992,7 @@ export const obj = {
qitxxblddxtic: '其他線小包團、落地團以及單項提成',
dangyuertjlbhmp: '當月人頭獎勵/不含門票、包車、國內遊、小包團以及單團(獨立成團)',
nianzjbhmp: '年終獎(不含門票、包車、國內遊)',
nianzjyn: '年終獎',
zhunianzmnsyyqi: '注:年終獎勵從每年11月起始',
geyuedcckan: '個月(點擊查看)',
meiyuerens: '每月人數',
......@@ -6017,6 +6021,14 @@ export const obj = {
'以上制度公司會因市場變動與業務實際情況採取適當因應或調整,敬請注意!!',
'關於成都銷售推廣歐洲路線補充的通知,請注意查看編號2024-A-019行政文件',
],
yntcguiz:[
'以上皆為印尼盾計算',
'所有業績結算皆以出發日.尾款收齊為基準',
'每月人頭獎勵與年終獎勵包含各線所有產品(散拚.單團等…但不含單項服務類)',
'以上所有核算皆以月為單位.核算基礎為出發日算起!',
'如年度結算未達標準(3個月以上),則年終獎金按國家規定發給!',
'以上制度公司會因市場變動與業務實際情況採取適當因應或調整,敬請注意!!',
],
guanyutcfflcbctz: '關於提成發放流程的補充通知',
ticanffsgs: '提成按時發放是公司所有人的期盼,同時也是公司重視的一部份,2023年04月27日發佈文件編號:2023-A-19“關於提成發放流程的通知”文件,在實際操作過程中還是有部份人員不重視、無公德心,未在規定時間內及時改價或成本錄入未完成,導致5月提成未正常發放,爲不影響其他銷售的提成,特對提成規則做以下補充',
fafangtcbcgz:[
......
......@@ -853,7 +853,7 @@
<span
v-if="(GetDetail.OtherType&&(GetDetail.OtherType==43 || GetDetail.OtherType==48
|| GetDetail.OtherType==63 || GetDetail.OtherType==64 || GetDetail.OtherType==69
|| GetDetail.OtherType==70 || GetDetail.OtherType==72 || GetDetail.OtherType==76
|| GetDetail.OtherType==70 || GetDetail.OtherType==72 || GetDetail.OtherType==76 || GetDetail.OtherType==85 || GetDetail.OtherType==88
|| GetDetail.OtherType==73 || GetDetail.OtherType==77 || GetDetail.OtherType==78))
|| ((GetDetail.TemplateId==28 || GetDetail.TemplateId==30)
&& GetDetail.OtherType!=63 && GetDetail.OtherType!=64&&GetDetail.OtherType!=55&&GetDetail.OtherType!=56
......@@ -2904,7 +2904,17 @@ else if (Type==2) {
path = GetDetail.OtherType == 72 ? 'TradeTicketDetails' : 'TradeTicketUserDetails'
obj.RB_Branch_Id = String(GetDetail.RB_Branch_Id)
obj.OutBranchId = null
} else if (GetDetail.OtherType == 73 || GetDetail.OtherType == 77) { //OP提成详情
} else if (GetDetail.OtherType == 88) { //印尼出境提成详情
obj.tab = '出境提成详情'
path = 'YNTradeTicketDetails'
obj.RB_Branch_Id = String(GetDetail.RB_Branch_Id)
obj.OutBranchId = null
}else if (GetDetail.OtherType == 85) { //销售年终奖励
obj.tab = '年终奖励详情'
path = 'YearBonusDetails'
obj.RB_Branch_Id = String(GetDetail.RB_Branch_Id)
obj.Year = GetDetail.ReFinanceId
}else if (GetDetail.OtherType == 73 || GetDetail.OtherType == 77) { //OP提成详情
obj.tab = '出境OP提成详情'
path = GetDetail.OtherType == 73 ? 'OpComPersonDetails' : 'OPCommissionDetail'
} else if(GetDetail.OtherType == 78){//票务提成详情
......
......@@ -878,7 +878,7 @@
((GetDetail.TemplateId==28 || GetDetail.TemplateId==30) && GetDetail.OtherType!=63 && GetDetail.OtherType!=64) -->
<span v-if="(GetDetail.OtherType&&(GetDetail.OtherType==43 || GetDetail.OtherType==48
|| GetDetail.OtherType==63 || GetDetail.OtherType==64 || GetDetail.OtherType==69
|| GetDetail.OtherType==70 || GetDetail.OtherType==72 || GetDetail.OtherType==76 || GetDetail.OtherType==85
|| GetDetail.OtherType==70 || GetDetail.OtherType==72 || GetDetail.OtherType==76 || GetDetail.OtherType==85 || GetDetail.OtherType==88
|| GetDetail.OtherType==73 || GetDetail.OtherType==77 || GetDetail.OtherType==78))
|| ((GetDetail.TemplateId==28 || GetDetail.TemplateId==30)
&& GetDetail.OtherType!=63 && GetDetail.OtherType!=64&&GetDetail.OtherType!=55&&GetDetail.OtherType!=56
......@@ -2127,6 +2127,11 @@
path = GetDetail.OtherType == 72 ? 'TradeTicketDetails' : 'TradeTicketUserDetails'
obj.RB_Branch_Id = String(GetDetail.RB_Branch_Id)
obj.OutBranchId = null
}else if (GetDetail.OtherType == 88) { //印尼出境提成详情
obj.tab = '出境提成详情'
path = 'YNTradeTicketDetails'
obj.RB_Branch_Id = String(GetDetail.RB_Branch_Id)
obj.OutBranchId = null
}else if (GetDetail.OtherType == 85) { //销售年终奖励
obj.tab = '年终奖励详情'
path = 'YearBonusDetails'
......
<template>
<div class="page_FProcessManagement">
<ul class="_nav clearfix">
<li style="color: red;">印尼同业销售提成规则</li>
<input type="button" class="hollowFixedBtn" style="position: absolute; right: 90px;top: 9px;" :value="$t('pub.updateMsg')" @click="SetRules(dataList[0])"/>
</ul>
<div
class="cm_content"
style="width: 100%;margin-bottom: 35px;margin-top: 30px;"
v-for="(item,index ) in dataList "
:key="index"
>
<div style="width:100%;overflow-x: auto;">
<table
class="po_content singeRowTable"
style="border:1px solid #E6E6E6;"
cellspacing="0"
cellpadding="0"
>
<tr>
<td rowspan="2" width="150" style="min-width: 150px;"><p>{{$t('objFill.v101.FinancialModule.chengjrs')}}</p></td>
<th style="min-width: 220px;"
v-for="( son , sIndex ) in item.AwardRuleList"
:key="sIndex"
>
{{ son.StartValue }}{{son.EndValue&&son.EndValue!=-1?' ~ '+son.EndValue+' '+$t('hotel.hotel_people'):' '+$t('objFill.v101.FinancialModule.renyishang')}}
</th>
</tr>
<tr>
<td style="min-width: 220px;" v-for="( son , sIndex ) in item.AwardRuleList" :key="sIndex">{{ son.Rate }} 印尼盾</td>
</tr>
</table>
</div>
<div style="width:100%;overflow-x: auto;">
<table
class="po_content singeRowTable"
style="border:1px solid #E6E6E6;"
cellspacing="0"
cellpadding="0"
>
<tr>
<td rowspan="2" width="150" style="min-width: 150px;">{{$t('objFill.v101.FinancialModule.nianzhongjl')}}<p>{{$t('objFill.v101.FinancialModule.meiyuert')}}{{item.YNBonusMinPNum}}{{$t('objFill.v101.FinancialModule.renyishang')}}</p></td>
<th style="min-width: 220px;"
v-for="( son , sIndex ) in item.BonusRuleList"
:key="sIndex"
>{{ son.StartValue }} {{$t('objFill.v101.FinancialModule.geyuedb')}}
</th>
</tr>
<tr>
<td style="min-width: 220px;" v-for="( son , sIndex ) in item.BonusRuleList" :key="sIndex">{{ son.Rate }} 个月基本工资</td>
</tr>
</table>
</div>
</div>
<div v-if="dataList.length==0"
style="width: 100%;border:1px solid #E6E6E6;display: flex;align-items: center;justify-content: center;height: 60px;margin-top: 30px;"
>{{$t('system.content_noData')}}</div>
<el-dialog :title="titleName" :visible.sync="ruleVisible" width="750px" @close="resetForm('form')">
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<div class="ImpressionTicketing-msgbox bottom0">
<el-form-item :label="$t('objFill.v101.FinancialModule.dabiaors')" prop="YNBonusMinPNum">
<el-input type="Number" v-model="form.YNBonusMinPNum" clearable></el-input>
</el-form-item>
</div>
<el-form-item class="ImpressionTicketing-OuterFrame" label-width="0px">
<p class="ImpressionTicketing-title">{{$t('objFill.v101.FinancialModule.chengjrs')}}</p>
<div class="ImpressionTicketing-msgbox"
v-for="(item,index) in form.AwardRuleList" :key="index">
<div>
<el-form-item
:label="form.AwardRuleList.length>0?`${$t('objFill.v101.FinancialModule.kaishizhi')} ${index+1} `:` ` "
:prop="`AwardRuleList.${index}.StartValue`"
:rules="rules.StartValue"
label-width="100px"
label-position="left">
<el-input onkeyup="this.value=this.value.replace(/[^\d.]/g,'');" :min="0" :max="99999999"
v-model="item.StartValue" clearable></el-input>
</el-form-item>
</div>
<div>
<el-form-item
:label="form.AwardRuleList.length>0?`${$t('objFill.v101.FinancialModule.jishuzhi')} ${index+1} `:` ` "
:prop="`AwardRuleList.${index}.EndValue`"
:rules="rules.EndValue"
label-width="100px"
label-position="left">
<el-input-number type="number" :min="-1" :max="99999999"
v-model="item.EndValue" clearable :controls="false"></el-input-number>
</el-form-item>
</div>
<div>
<el-form-item
:label="form.AwardRuleList.length>0?`${$t('objFill.v101.FinancialModule.jiangli')} ${index+1} `:` ` "
:prop="`AwardRuleList.${index}.Rate`"
:rules="rules.Rate"
label-width="100px"
label-position="left">
<el-input onkeyup="this.value=this.value.replace(/[^\d.]/g,'');" :min="0" :max="99999999"
v-model="item.Rate"></el-input>
</el-form-item>
</div>
<div class="ImpressionTicketing-msg-but">
<span @click="addRule(item,index,1)" v-if="index==0" class="el-icon-circle-plus-outline itc-outline"></span>
<span @click="deleteRule(item,index,1)" v-else class="el-icon-delete itc-delete"></span>
</div>
</div>
</el-form-item>
<el-form-item class="ImpressionTicketing-OuterFrame" label-width="0px">
<p class="ImpressionTicketing-title">{{$t('objFill.v101.FinancialModule.nianzhongjl')}}</p>
<div class="ImpressionTicketing-msgbox" v-for="(item,index) in form.BonusRuleList" :key="index">
<div>
<el-form-item
:label="form.BonusRuleList.length>0?`${$t('objFill.v101.FinancialModule.lianxudb')} ${index+1} `:` ` "
:prop="`BonusRuleList.${index}.StartValue`"
:rules="rules.StartValue"
label-width="100px"
label-position="left">
<div class="Impression-ratio-box">
<el-input onkeyup="this.value=this.value.replace(/[^\d.]/g,'');" :min="0" :max="99999999"
v-model="item.StartValue" clearable></el-input>
<span class="Impression-ratio-right">{{$t('pub.month')}}</span>
</div>
</el-form-item>
</div>
<div>
<el-form-item
:label="form.BonusRuleList.length>0?`${$t('objFill.v101.FinancialModule.jiangli')} ${index+1} `:` ` "
:prop="`BonusRuleList.${index}.Rate`"
:rules="rules.Rate2"
label-width="100px"
label-position="left">
<el-input onkeyup="this.value=this.value.replace(/[^\d.]/g,'');" :min="0" :max="99999999"
v-model="item.Rate"></el-input>
</el-form-item>
</div>
<div class="ImpressionTicketing-msg-but">
<span @click="addRule(item,index,5)" v-if="index==0" class="el-icon-circle-plus-outline itc-outline"></span>
<span @click="deleteRule(item,index,5)" v-else class="el-icon-delete itc-delete"></span>
</div>
</div>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button size="small" @click="ruleVisible = false">{{$t('pub.cancelBtn')}}</el-button>
<el-button size="small" type="danger" @click="RulesOk('form')" :loading="ruleLoading">{{$t('pub.sureBtn')}}</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
export default {
data() {
return {
EmployeeList: [],
value:"",
rules: {
Name: [{ required: true, message: this.$t('rule.qsrgzmingcheng'), trigger: "blur"}],
YNBonusMinPNum: [{ required: true, message: this.$t('objFill.v101.FinancialModule.qingsrdbrs'), trigger: "blur"}],
SalesRate: [{ required: true, message: this.$t('objFill.v101.FinancialModule.qingsrtcbl'), trigger: "blur"}],
EmployeeId: [{ required: true, message: this.$t('objFill.v101.FinancialModule.qingxzcyrs'), trigger: 'change'}],
StartValue: [{ required: true, message: this.$t('objFill.v101.FinancialModule.qingsrksz'), trigger: "blur"}],
EndValue: [{ required: true, message: this.$t('objFill.v101.FinancialModule.qingsrksz'), trigger: "blur"}],
Rate: [{ required: true, message: this.$t('rule.qsrjine'), trigger: "blur"}],
Rate2: [{ required: true, message: this.$t('objFill.v101.FinancialModule.qingsrbl'), trigger: "blur"}],
Content: [{ required: true, message: this.$t('objFill.v101.FinancialModule.qingsrxz'), trigger: "blur"}],
Name: [{ required: true, message: this.$t('objFill.qsrgzmingcheng'), trigger: "blur"}],
PeopleNum: [{ required: true, message: this.$t('objFill.v101.FinancialModule.qingsrzdrs'), trigger: "blur"}],
Money: [{ required: true, message: this.$t('objFill.v101.FinancialModule.qiingsrmjje'), trigger: "blur"}],
EmpIdList: [{ required: true, message: this.$t('objFill.v101.FinancialModule.qingxzcyxs'), trigger: 'change'}],
EnableDate: [{ required: true, message: this.$t('objFill.v101.FinancialModule.qingxzcyrq'), trigger: 'change'}],
},
AwardRuleList:{ StartValue:0, EndValue:null, Rate:null},
BonusRuleList:{ StartValue:0, Rate:null},
form:{
Id:0,
AwardRuleList:[ { StartValue:0, EndValue:null, Rate:null }],
BonusRuleList:[ { StartValue:0, Rate:null }],
YNBonusMinPNum:0
},
ruleLoading: false,
ruleVisible:false,
titleName: this.$t('fnc.tcguize'),
loading: false,
dataList:[],
}
},
created() {},
mounted() {
this.getList()
},
methods: {
// 初始化表单
resetForm(formName) {
this.$refs[formName].resetFields();
},
// 添加规则
addRule(row,index,type){
if(type==1){
this.form.AwardRuleList.push(JSON.parse(JSON.stringify(this.AwardRuleList)))
}else{
this.form.BonusRuleList.push(JSON.parse(JSON.stringify(this.BonusRuleList)))
}
},
// 删除规则
deleteRule(row,index,type){
if(type==1){
this.form.AwardRuleList.splice(index,1)
}else{
this.form.BonusRuleList.splice(index,1)
}
},
AddMsg(){//新增
this.ruleVisible = true
this.titleName = this.$t('fnc.tcguize')
},
SetRules(item){//编辑
this.ruleVisible = true;
item = JSON.parse(JSON.stringify(item))
this.form = {
Id:item.Id,
AwardRuleList:item.AwardRuleList,
BonusRuleList:item.BonusRuleList,
YNBonusMinPNum:item.YNBonusMinPNum
}
},
// 点击确定
RulesOk(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
this.ruleLoading = true
this.apipost(
'sellcommission_SetYNSaleCommissionRule', this.form,
res => {
if (res.data.resultCode == 1) {
this.resetForm('form')
this.getList();
this.ruleVisible = false;
this.ruleLoading = false
this.Success(res.data.message)
} else {
this.Error(res.data.message)
}
},
err => {}
)
}
});
},
// 获取列表数据
getList() {
this.loading = true;
this.apipost("sellcommission_GetYNSaleCommissionRuleList", {}, res => {
this.loading = false;
if (res.data.resultCode == 1) {
this.dataList = res.data.data;
}else{
this.Error(res.data.message)
}
});
},
// 重置表单
resetForm(formName) {
this.ruleVisible = false;
// 重置表单
this.form = {
Id:0,
AwardRuleList:[
{
StartValue:0,
EndValue:null,
Rate:null
}
],
BonusRuleList:[
{
StartValue:0,
Rate:null
}
],
YNBonusMinPNum:0
};
this.$refs[formName].resetFields();
},
}
}
</script>
<style scoped>
.hollowFixedBtn{
position: absolute;
top: 9px;
right: 20px;
}
._nav li{float: left;font-size: 14px;color: #666666;padding: 15px 10px;background-color: #F1F1F1;cursor: pointer;position: relative;}
._nav li._active{background-color:#FFFFFF;color: #333333 }
._nav li._active::after{content: "";width: 20px;height: 3px;background-color: #E95252;display: inline-block;position: absolute;bottom: 0;left: 38%;}
.ImpressionTicketing-OuterFrame{
padding: 10px 20px 20px 20px;
box-shadow: 0 1px 8px rgb(0 0 0 / 20%), 0 3px 4px rgb(0 0 0 / 14%), 0 3px 3px -2px rgb(0 0 0 / 12%);
}
.ImpressionTicketing-msgbox{
display: flex;
flex-direction: row;
justify-content: space-between;
margin-bottom: 20px;
}
.ImpressionTicketing-msgbox.bottom0{
margin-bottom: 0;
}
.ImpressionTicketing-msgbox div{
flex: 1;
}
.ImpressionTicketing-msgbox div.ImpressionTicketing-msg-but{
flex: 0 0 36px !important;
}
.itc-delete{
color: #E95252;
font-size: 16px;
cursor: pointer;
display: inline-block;
padding: 10px;
}
.itc-outline{
color: #409EFF;
font-size: 16px;
cursor: pointer;
display: inline-block;
padding: 10px;
}
.ImpressionTicketing-title{
padding: 0;
}
.left-text-indent{
text-align: left;
text-indent: 20px
}
/deep/.el-input-number{
width: inherit;
}
/deep/.el-input-number .el-input__inner{
text-align: left;
height: 34px;
}
.Impression-ratio-box{
display: flex;
justify-content: space-between;
}
.Impression-ratio-right{
font-size: 13px;
margin-left: 5px;
}
/deep/.line-heigh .el-input-number{
line-height: 32px;
}
.ImpressionTicketing-msgbox.ImpressionTicketing-msgboxBC{
flex-wrap: wrap;
}
.ImpressionTicketing-msgbox.ImpressionTicketing-msgboxBC div{
flex: 0 0 220px;
}
.ImpressionTicketing-msgbox.ImpressionTicketing-msgboxBC div:last-child{
flex: 0 0 auto;
}
.EmpGroupListBox{
display: flex;flex-direction: row; flex-wrap: nowrap;
justify-content: space-between;
/* box-shadow: 0 1px 2px rgb(0 0 0 / 20%), 0 1px 4px rgb(0 0 0 / 14%), 0 1px 1px -1px rgb(0 0 0 / 12%); */
margin-bottom: 5px;
}
.EmpGroupListBox:last-child{
/* margin-bottom: 0; */
}
.EmpGroupListBox>div{
flex: 0 0 220px;
}
.EmpGroupListBox>div:nth-child(2){
/* margin-left: 50px; */
}
/deep/.EmpGroupListBox .el-form-item__content{
/* width: 100%; */
}
</style>
<style scoped>
.CM_look {
padding: 4px !important;
position: relative;
top: 1px;
}
.opUl li {
display: inline-block;
margin: 10px 15px 10px 0;
}
.domesticCommission .singeRowTable tr td {
padding: 8px 5px;
}
.domesticCommission .hoverSpan span:hover {
cursor: pointer;
text-decoration: underline;
color: red;
}
/deep/.el-checkbox__input.is-checked .el-checkbox__inner{
background-color: #E95252!important;
border-color:#E95252!important;
}
/deep/.el-checkbox__input.is-indeterminate .el-checkbox__inner{
background-color: #E95252!important;
border-color:#E95252!important;
}
</style>
<template>
<div class="flexOne domesticCommission">
<div>
<ul class="opUl">
<li style="display: none;">
<em>{{$t('scen.sc_cp')}}</em>
<el-select filterable v-model='msg.OutBranchId'
@change='handleCurrentChange(1)' :disabled="disabled">
<el-option :label="$t('pub.unlimitedSel')" :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>{{$t('objFill.v101.FinancialModule.xuanzheyf')}}</em>
<el-date-picker v-model="Month" value-format="yyyy-MM" type="month" :placeholder="$t('op.ChoiceMonth')">
</el-date-picker>
</li>
<li v-show="btnShow">
<el-button size="mini" type="danger" style="border-radius:14px" :loading="btnLoading"
@click="generateTable">{{$t('objFill.v101.FinancialModule.shengchengtc')}}</el-button>
</li>
</ul>
</div>
<table v-loading="loading" class="singeRowTable" border="0" cellspacing="0" cellpadding="0">
<tr>
<th>{{$t('tips.qishu')}}</th>
<th>{{$t('objFill.zongticeng')}}</th>
<th style="width: 30%;">{{$t('objFill.v101.FinancialModule.caiwtcdj')}}</th>
<th>{{$t('objFill.v101.FinancialModule.chaozuoxx')}}</th>
<th>{{$t('system.table_operation')}}</th>
</tr>
<tr v-for="item in dataList">
<td>{{item.Periods}}</td>
<td>{{item.SumPrice}}</td>
<td>
<template v-if="item.FinanceIdList.length>0">
<span v-for="(x,y) in item.FinanceIdList">
<span style="cursor: pointer;text-decoration: underline;" @click='gofinancialdetail(x)'>
{{x}}
</span>
{{item.FinanceIdList.length == y+1 ?'':'、'}}
</span>
<span style="float: right;">{{$t('objFill.v101.FinancialModule.yizhidje')}}{{item.FinanceMoney}}</span>
</template>
</td>
<td>
<div>{{item.CreateByStr}}</div>
<div>{{item.CreateStr}}</div>
</td>
<td>
<el-tooltip class="item" effect="dark" :content="$t('fnc.chakanmingxi')" placement="top">
<el-button type="primary" class="CM_look" @click="goUrl('YNTradeTicketUserDetails',item.Id)"
icon="iconfont icon-chakan" circle></el-button>
</el-tooltip>
<el-tooltip v-if="cMaker==true" class="item" effect="dark" :content="$t('objFill.v101.FinancialModule.tichengzd')" placement="top">
<el-button @click="YijianZD(item)" type="danger" class="CM_look" v-if="cMaker==true"
icon="iconfont icon-mui-icon-add" circle></el-button>
</el-tooltip>
</td>
</tr>
</table>
<div v-if="dataList.length==0">
<div style="text-align:center">{{$t('system.content_noData')}}</div>
</div>
<!-- 分页 -->
<el-pagination background @current-change="handleCurrentChange" :current-page.sync="msg.pageIndex"
layout="total,prev, pager, next, jumper" :page-size='msg.pageSize' :total='total'>
</el-pagination>
</div>
</template>
<script>
import moment from "moment"
export default {
data() {
return {
getCompanyMsg:{
RB_Group_Id:'0',
Status:'0',
},
companyList: [],
Month: moment().subtract(1, 'months').format("YYYY-MM"),
msg: {
pageIndex: 1,
pageSize: 20,
OutBranchId: -1,
BranchType:'1'
},
loading: false,
//数据源
dataList: [],
total: 0,
btnShow: false,
btnShow2: false,
btnLoading: false,
btnLoading2: false,
cMaker: false,//是否可以制单
disabled: true
}
},
mounted() {
let userInfo = this.getLocalStorage();
this.getCompanyMsg.RB_Group_Id=userInfo.RB_Group_id; //集团ID
let ActionMenuCode = userInfo.ActionMenuCode;
if(userInfo.RB_Group_id=2&&userInfo.EmployeeId==955){
this.btnShow2 = true;
}
if (ActionMenuCode.indexOf('F_DCommissionSend') != -1) {
this.btnShow = true;
}
if (ActionMenuCode.indexOf('home_DCommissionZD') != -1) {
this.cMaker = true;
}
if (ActionMenuCode.indexOf('S_CheckBranchOrder') != -1
||ActionMenuCode.indexOf('S_CheckAllOrder')!=-1
||ActionMenuCode.indexOf('F_Query_AllIncomPay')!=-1) {//是否有看所有人的权限
this.disabled = false;
}else{
this.disabled = true;
}
this.getCompany()
this.getList()
},
methods: {
getCompany(){
this.apipost('admin_get_BranchGetList',this.getCompanyMsg,res=>{
if(res.data.resultCode==1){
this.companyList=res.data.data;
}else{}
},err=>{})
},
handleCurrentChange(val) {
this.msg.pageIndex = val;
this.getList();
},
goUrl(path, id) {
let title = ''
title = '提成明细'
this.$router.push({
path: path,
query: {
PeriodId: id,
blank: 'y',
tab: title
}
});
},
//获取数据
getList() {
this.loading = true;
this.apipost(
'sellcommission_GetTYSaleCommissionPageList', this.msg,
res => {
if (res.data.resultCode == 1) {
this.loading = false;
this.dataList = res.data.data.pageData;
this.total = res.data.data.count;
} else {
this.loading = false;
this.Error(res.data.message)
}
},
err => {}
)
},
//生成提成报表
generateTable() {
if (!this.Month || this.Month == "") {
this.Error(this.$t('objFill.v101.FinancialModule.qingxayf'))
return;
}
this.btnLoading = true;
this.apipost(
"sellcommission_SetYNSaleCommissionSend", {
Month: this.Month,
IsForceSend:0
},
res => {
this.btnLoading = false;
if (res.data.resultCode == 1) {
this.handleCurrentChange(1);
this.Success(this.$t('objFill.v101.administrative.baobiaosccg'))
} else {
let buttomTitle
let buttomType = ''
if(res.data.message.indexOf('Warning')!=-1){
buttomTitle = this.$t('objFill.v101.FinancialModule.qiangzhiff')
buttomType = 1
}else{
buttomTitle = this.$t('pub.sureBtn')
buttomType = ''
}
this.$confirm(res.data.message, this.$t('tips.tips'), {
confirmButtonText: buttomTitle,
cancelButtonText: this.$t('pub.cancelBtn'),
type: "warning"
})
.then(() => {
if(buttomType==1){
this.btnLoading = true;
this.apipost(
"sellcommission_SetTYSaleCommissionSend", {
Month: this.Month,
IsForceSend: 1 },
res => {
this.btnLoading = false
if (res.data.resultCode == 1) {
this.handleCurrentChange(1);
this.Success(this.$t('objFill.v101.administrative.baobiaosccg'))
}
})
}
})
.catch(() => {
});
}
}
);
},
// 点击制单
YijianZD(item,type) {
let Money
if(type==1){
if(item.BranchWage>0){
Money = item.BranchWage
}else{
this.Error(this.$t('objFill.v101.FinancialModule.shusgszjgzwn'))
return;
}
}else{
if(item.SumPrice!=0){
Money=item.SumPrice
}else{
this.Error(this.$t('objFill.v101.FinancialModule.gongstcwnbnzd'))
return;
}
}
let obj = {
CostType: 16,
Money: Money,
CurrencyId: 55,
XSTC: 1,
OtherType: 88,
ReFinanceId:item.Id,
isRB_Branch_Id: true,
RB_Branch_Id: 1252,
StandCurrBranchId:1252
}
let query = {
blank: "y",
tab: "新增付款单据",
Type: 2,
IsUploadPic: 1,
orderObj: JSON.stringify(obj)
}
query.id = 291
query.Name = "分公司销售提成单"
this.$router.push({
path: "/addFinancialDocuments",
query
});
},
gofinancialdetail(item) {
let arr = item.split('-')
this.$router.push({
name: 'FinancialDocumentsDetail',
query: {
id: arr[0],
blank: 'y',
tab: '单据详情'
}
})
}
}
}
</script>
<style>
.CM_look {
padding: 4px !important;
position: relative;
top: 1px;
}
.opUl li {
display: inline-block;
margin: 10px 15px 10px 0;
}
.domesticCommissiondetails .opUl li input {
height: 34px !important;
}
.domesticCommissiondetails .singeRowTable tr td {
padding: 8px 5px;
}
.domesticCommissiondetails .hoverSpan span:hover {
cursor: pointer;
text-decoration: underline;
color: red;
}
.cursor-p{
cursor: pointer;
}
.cursor-p:hover{
color: #409EFF;
}
</style>
<template>
<div class="flexOne domesticCommissiondetails">
<div style="min-height: 70px;">
<ul class="opUl">
<li>
<em>{{$t('tips.qishu')}}</em>
<el-select v-model="msg.PeriodId" size="mini" @change="handleCurrentChange(1)" filterable>
<el-option :label="$t('pub.unlimitedSel')" :value="-1"></el-option>
<el-option v-for="(item,index) in PeroidsList" :key="item.index" :label="item.Periods"
:value="item.Id"></el-option>
</el-select>
</li>
<li>
<em>{{$t('salesModule.Personnel')}}</em>
<el-select v-model="msg.UserId" size="mini"
@change="handleCurrentChange(1)" :disabled="disabled" filterable>
<el-option :label="$t('pub.unlimitedSel')" :value="-1"></el-option>
<!-- <el-option :label="$t('objFill.weitu')" :value="-2"></el-option> -->
<el-option v-for="(item,index) in searchList" :key="item.index" :label="item.name"
:value="item.empId"></el-option>
</el-select>
</li>
<li>
<em>{{$t('hotel.order_Number')}}</em>
<el-input maxlength="50" v-model="msg.OrderId" class="permiss-input w200"
@change="handleCurrentChange(1)" :placeholder="$t('pub.pleaseImport')"></el-input>
</li>
<li>
<em>{{$t('visa.v_tuanhao')}}</em>
<el-input maxlength="50" v-model="msg.TCNUM" class="permiss-input w200"
@change="handleCurrentChange(1)" :placeholder="$t('pub.pleaseImport')"></el-input>
</li>
<!-- <li>
<em>{{$t('active.cl_orderType')}}</em>
<el-select v-model="msg.OrderType" class="w200 HworkInput"
@change="handleCurrentChange(1)">
<el-option :label="$t('pub.unlimitedSel')" :value="-1"></el-option>
<el-option v-for="item in OrderTypeList" :key="item.Id" :label="item.Name" :value="item.Id"></el-option>
</el-select>
</li> -->
<li style="position: fixed;right: 3px;top: 51px;"><input type="button" class="normalBtn" :value="$t('visa.v_daochu')" @click="exportExcel"></li>
</ul>
</div>
<!-- 统计版块 -->
<div class="groupTourOrder_count">
<el-row :gutter="20">
<el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="6">
<div class="groupTourOrder_count_item HT_total">
<div style="display: flex;justify-content: space-between;">
<span>{{$t('objFill.v101.FinancialModule.tongji')}}</span>
</div>
<p style="margin-top: 10px;">
<span>{{$t('objFill.zongrenshu')}}
{{dataObj.TotalNum}}
</span>
<span style="margin-left: 20px;">{{$t('objFill.zongticeng')}}
{{dataObj.TotalMoney}}
</span>
</p>
</div>
</el-col>
</el-row>
</div>
<table v-loading="loading" class="singeRowTable" border="0" cellspacing="0" cellpadding="0"
style="margin-top: 10px;">
<tr>
<th style="width: 100px;">{{$t('scen.sc_cp')}}</th>
<th style="width: 80px;">{{$t('advmanager.v_type')}}</th>
<th style="width: 80px;">{{$t('hotel.order_Number')}}</th>
<th style="width: 150px;">{{$t('visa.v_tuanhao')}}</th>
<th style="width: 100px;">{{$t('system.query_company')}}</th>
<th style="width: 100px;">{{$t('admin.admin_Department')}}</th>
<th style="width: 100px;">{{$t('system.query_name')}}</th>
<th style="width: 100px;">{{$t('advmanager.v_line')}}</th>
<th style="width: 100px;">{{$t('objFill.v101.FinancialModule.tuanduizrs')}}</th>
<th style="width: 100px;">{{$t('objFill.v101.FinancialModule.tichengbil')}}</th>
<th style="width: 100px;">{{$t('salesModule.TCmoney')}}</th>
<th style="width: 100px;">{{$t('objFill.v101.FinancialModule.daifatic')}}</th>
<th style="width: 100px;">{{$t('objFill.v101.FinancialModule.tichengcis')}}</th>
<th style="width: 100px;">{{$t('tips.qishu')}}</th>
<th width='200'>{{$t('pub.pubRemark')}}</th>
</tr>
<tr v-for="item in dataList">
<td>{{item.OutBranchName?item.OutBranchName:'-'}}</td>
<td>{{item.OrderTypeName}}</td>
<td><span class="cursor-p" :style="{'color': !disabled?'#409EFF':''}" @click="!disabled?clickUrl(item,1):''">{{item.OrderId}}</span></td>
<td><span class="cursor-p" :style="{'color': !disabled?'#409EFF':''}" v-if="item.TCNUM" @click="!disabled?goTuanDetails(item):''">{{item.TCNUM}}({{item.TCID}})</span></td>
<td>{{item.BranchName?item.BranchName:'-'}}</td>
<td>{{item.DeptName?item.DeptName:'-'}}</td>
<td>{{item.UserName}}</td>
<td>{{item.LineName}}</td>
<td>{{item.PeopleNum?item.PeopleNum:'-'}}</td>
<td><span class="cursor-p" :style="{'color': '#409EFF'}">{{item.Rate?item.Rate+'/'+$t('hotel.hotel_people'):'-'}}</span></td>
<td>{{item.CommissionMoney?item.CommissionMoney:'-'}}</td>
<td>{{item.WaitCommissionMoney?item.WaitCommissionMoney:'-'}}</td>
<td><span v-if="item.IssueNum<3" style="padding-left:5px;color:blue;cursor: pointer;text-decoration: underline;" @click="goUrlUser('YNTradeTicketDetails',item)">{{$t('tips.di')}}{{item.IssueNum}}{{$t('objFill.v101.FinancialModule.citicheng')}}</span>
<span v-else-if="item.IssueNum>=3" style="padding-left:5px;color:red;cursor: pointer;text-decoration: underline;" @click="goUrlUser('YNTradeTicketDetails',item)">{{$t('tips.di')}}{{item.IssueNum}}{{$t('objFill.v101.FinancialModule.citicheng')}}</span></td>
<td>{{item.Periods}}</td>
<td>{{item.Description?item.Description:'-'}}</td>
</tr>
<tr v-if="dataList.length==0">
<td style="text-align:center" colspan="18">{{$t('system.content_noData')}}</td>
</tr>
</table>
<!-- 分页 -->
<el-pagination background @current-change="handleCurrentChange" :current-page.sync="msg.pageIndex"
layout="total,prev, pager, next, jumper" :page-size='msg.pageSize' :total='total'>
</el-pagination>
</div>
</template>
<script>
import moment from "moment"
export default {
components:{
},
data() {
return {
dataObj:{},
Month: moment().format("YYYY-MM"),
msg: {
pageIndex: 1,
pageSize: 20,
UserId: -1,
PeriodId: -1,
OrderId:'',
OrderType: -1,
TCNUM: '',
RB_Department_Id: -1,//部门ID
RB_Branch_Id: -1,//公司ID
OutBranchId: -1,//出团公司ID
BranchType:1
},
loading: false,
//数据源
dataList: [],
total: 0,
PeroidsList:[],
searchList: [],
TotalMoney: 0,
TotalNum: 0,
disabled: true,
OrderTypeList:[],
S_CheckBranchOrder:false,
S_CheckAllOrder:false,
disabled:true
}
},
created(){
let userInfo = this.getLocalStorage();
this.GetCommissionPeroidsList()//期数
this.getEmployee() //人员
},
mounted() {
let userInfo = this.getLocalStorage();
let ActionMenuCode = userInfo.ActionMenuCode;
// 判断是否销售
if (ActionMenuCode.indexOf('S_CheckBranchOrder') != -1) {
this.S_CheckBranchOrder = true
}
if (ActionMenuCode.indexOf('S_CheckAllOrder') != -1) {
this.S_CheckAllOrder = true
}
if (this.$route.query) { //不大于0的话用默认值
if (this.$route.query.PeriodId && this.$route.query.PeriodId > 0) {
}
}
this.msg.TCNUM = this.$route.query.TCNUM?this.$route.query.TCNUM:''
this.msg.PeriodId = this.$route.query.PeriodId?Number(this.$route.query.PeriodId):-1
this.msg.OrderId = this.$route.query.OrderId?this.$route.query.OrderId:''
this.msg.UserId = this.$route.query.UserId?Number(this.$route.query.UserId):Number(userInfo.EmployeeId),
this.msg.OrderType = this.$route.query.OrderType?this.$route.query.OrderType:-1
if (ActionMenuCode.indexOf('S_CheckBranchOrder') != -1
||ActionMenuCode.indexOf('S_CheckAllOrder')!=-1
||ActionMenuCode.indexOf('F_Query_AllIncomPay')!=-1) {//是否有看所有人的权限
this.disabled = false;
this.msg.UserId = this.$route.query.UserId?Number(this.$route.query.UserId):-1
}else{
this.disabled = true;
}
},
methods: {
goUrlUser(path, item) {
this.$router.push({
path: path,
query: {
PeriodId: 0,
UserId: item.UserId,
OrderId:item.OrderId,
OrderType:item.OrderType,
blank: 'y',
tab: '同业提现详情'
}
});
},
GetOrderTypeEnumList() {
this.apipost("CarSingle_post_GetOrderTypeEnumList", {}, (res) => {
if (res.data.resultCode == 1) {
this.OrderTypeList = res.data.data;
} else {
this.$message.error(res.data.message);
}
});
},
goTuanDetails(row) {
this.$router.push({
path: 'TeamBalancePayment',//TravelControlList
query: {
id: row.TCID,
blank: 'y',
tab: '团队收支'//团控列表
}
});
// let name = ''
// if (row.IsOneDayOrder == 1) {
// name = 'groupTourOrderByTuanOne'
// } else {
// name = 'groupTourOrderByTuan'
// }
// this.$router.push({
// name: name,
// query: {
// id: row.TCID,
// tcmun: row.TCNUM,
// blank: "y",
// }
// });
},
clickUrl(row,type){
let data = [{
path: "",
OrderId: row.OrderId,
Type: '',
PeriodId: this.msg.PeriodId
}]
let href
let url = this.domainManager().crmRoutingUrl;
if (row.OrderType == 1) {
if (this.S_CheckBranchOrder || this.S_CheckAllOrder) {
data[0].path = 'customerOrderAllType'
} else {
data[0].path = 'myCustomerOrderAllType'
}
href = url + 'automaticLogin?token=' + this.getLocalStorage().token + '&data=' + JSON.stringify(data)
window.open(href);
} else {
let name = ''
if (row.OrderType == 6) {
if (this.S_CheckBranchOrder || this.S_CheckAllOrder) {
name = 'VisaProductEditOrderOP'
} else {
name = 'VisaProductEditOrder'
}
this.$router.push({
name: name,
});
} else if (row.OrderType == 2) { //跟团 一日游
if (this.S_CheckBranchOrder || this.S_CheckAllOrder) {
name = 'enrollTotal'
} else {
if (row.TravelType == 1) {
name = 'groupTourOrder'
} else {
name = 'groupTourOrderOne'
}
}
} else if (row.OrderType == 3) { //酒店
if (this.S_CheckBranchOrder || this.S_CheckAllOrder) {
name = 'singleProductHotelOrderOP'
} else {
name = 'singleProductHotelOrder'
}
} else if (row.OrderType == 4) { //门票
if (this.S_CheckBranchOrder || this.S_CheckAllOrder) {
name = 'SingleticketOrderListOP'
} else {
name = 'SingleticketOrderList'
}
} else if (row.OrderType == 5) { //包车
if(row.CarType==''||row.CarType==null){
this.GetAdminCarOrderPageList(row,url,href,data)
}else{
if(this.S_CheckBranchOrder || this.S_CheckAllOrder){
name = 'CharterOrderListOP'
}else{
name= 'CharterOrderList'
}
data[0].Type = row.CarType==null||!row.CarType?4:row.CarType
}
} else if (row.OrderType == 7) { //jalan酒店
this.$message.info(this.$t('objfill.v101.financialmodule.zhanbzck'))
// if(!this.S_CheckBranchOrder && !this.S_CheckAllOrder){
// name = 'CharterOrderList'
// }else{
// name = 'CharterOrderListOP'
// }
}
if (name) {
this.$router.push({
name: name,
query: {
OrderId: row.OrderId,
PeriodId: this.msg.PeriodId,
blank: "y",
}
});
}
}
},
GetAdminCarOrderPageList(row, url, href, data) {
let msg = {
pageIndex: 1,
pageSize: 5,
OrderType: '',
OrderId: row.OrderId,
OrderNo: '',
SurName: '',
Name: '',
OrderStatus: 0,
StartTime: '',
EndTime: '',
OrderSTime: '',
OrderETime: '',
ProductName: '',
Mobile: '', //电话
IsSelectSale: 1,
EnterID: 0, //业务员
}
let name
this.apipost('CarSingle_post_GetAdminCarOrderPageList', msg, res => {
if (res.data.resultCode == 1) {
let pageData = res.data.data.pageData
let OrderType
if (pageData && pageData.length > 0) {
OrderType = pageData[0].OrderType
}
if (this.S_CheckBranchOrder || this.S_CheckAllOrder) {
name = 'CharterOrderListOP'
} else {
name = 'CharterOrderList'
}
this.$router.push({
name: name,
query: {
OrderId: row.OrderId,
OrderType: OrderType ? OrderType : 4,
blank: "y",
}
});
}
})
},
GetCommissionPeroidsList() { //期数下拉
this.apipost(
"sellcommission_GetTYSaleCommissionPeriodsList",{BranchType:1},res => {
if (res.data.resultCode == 1) {
this.PeroidsList = res.data.data;
if(!this.$route.query.PeriodId){
this.msg.PeriodId = this.PeroidsList[0].Id
}
this.getList()
} else {
this.Error(res.data.message);
}
}
);
},
getEmployee() { //所有人员下拉
let employeeMsg = {
RB_Group_id: "0",
RB_Branch_id: "1252",
departmentId: "0",
IsLeave: "-1"
}
this.apipost(
"app_get_company_employee",
employeeMsg,
res => {
if (res.data.resultCode == 1) {
this.searchList = res.data.data;
}
},
err => {}
);
},
handleCurrentChange(val) {
this.msg.pageIndex = val;
this.getList();
},
goUrl(path, id) {
this.$router.push({
path: path,
query: {
PeriodId: id,
blank: 'y',
tab: '期数详情'
}
});
},
//获取数据
getList() {
let msg = JSON.parse(JSON.stringify(this.msg))
if (msg.OrderId == '') {
msg.OrderId = 0
}
this.loading = true;
this.apipost(
"sellcommission_GetTYSaleCommissionSingleDetailsList",
msg,
res => {
this.loading = false;
if (res.data.resultCode == 1) {
this.dataObj = res.data.data
this.dataList = res.data.data.pmodel.pageData;
this.total = res.data.data.pmodel.count;
} else {
this.Error(res.data.message);
}
}
);
},
exportExcel() { //导出
let msg = JSON.parse(JSON.stringify(this.msg))
let userInfo = this.getLocalStorage();
msg.EmployeeIdUser = userInfo.EmployeeId
var fileName = this.$t('objFill.v101.FinancialModule.tongyetcryb')+".xls";
this.GetLocalFile("sellcommission_GetTYSaleCommissionSingleDetailsListToExcel", msg, fileName);
},
}
}
</script>
<style scoped>
.CM_look {
padding: 4px !important;
position: relative;
top: 1px;
}
.opUl li {
display: inline-block;
margin: 10px 15px 10px 0;
}
.domesticCommissionUser .opUl li input{
height: 34px !important;
}
.domesticCommissionUser .singeRowTable{
/* position: absolute; */
}
.domesticCommissionUser .singeRowTable tr td {
padding: 8px 5px;
}
.domesticCommissionUser .hoverSpan span:hover {
cursor: pointer;
text-decoration: underline;
color: red;
}
.text-fixed{
/* height: 100%;
position: absolute;
left: 0;
top: 0; */
}
.cursor-p{
cursor: pointer;
}
.cursor-p:hover{
color: #409EFF;
}
.ITUDWageMoney-box{
margin-top: 20px;
margin-bottom: 10px;
}
.ITUDschedule-Box-box{
display: flex;
flex-direction: row;
justify-content: space-between;
}
.ITUDschedule-box{
flex: 1;
display: flex;
flex-direction: column;
}
.ITUD-title{
margin-top: 10px;
margin-bottom: 10px;
}
.progress-box{
flex: 1;
display: flex;
flex-direction: row;
}
.relative-position{
flex: 1;
margin-right: 0;
position: relative;
}
/deep/.relative-position .el-progress-bar__outer{
border-radius: 0 !important;
}
/deep/.relative-position .el-progress-bar__inner{
border-radius: 0 !important;
}
.ITUD-text-box{
position: relative;
}
.ITUD-text{
position: absolute;
z-index: 999;
color: red;
}
.rate-box {
position: absolute;
top: 30px;
left: 50%;
transform: translateX(-50%);
color: #000;
z-index: 9;
display: flex;
flex-wrap: wrap;
justify-content: center;
}
.sanjiao {
width: 0;
height: 0;
margin-left: 5%;
border-right: 4px solid transparent;
border-left: 4px solid transparent;
border-bottom: 3px solid #CACACA;
}
.rate {
min-width: 20px;
padding: 2px 6px;
background-color: #CACACA !important;
display: flex;
justify-content: center;
align-items: center;
color: #666666;
font-size: 0.62vw;
font-family: PingFang SC;
border-radius: 7px;
line-height:12px;
white-space:nowrap;
}
.active-rate{
background-color: #FF7262 !important;
color: #FFFFFF !important;
}
.clickCp{
cursor: pointer;
color: #2961fe;
}
</style>
<template>
<div class="flexOne domesticCommissionUser">
<div class="productQuerySearch">
<ul class="opUl">
<li>
<em>{{$t('tips.qishu')}}</em>
<el-select v-model="msg.PeriodId" size="mini" @change="handleCurrentChange(1)" filterable>
<el-option :label="$t('pub.unlimitedSel')" :value="-1"></el-option>
<el-option v-for="(item,index) in PeroidsList" :key="item.index" :label="item.Periods"
:value="item.Id"></el-option>
</el-select>
</li>
<li>
<em>{{$t('salesModule.Personnel')}}</em>
<el-select v-model="msg.UserId" size="mini"
@change="handleCurrentChange(1)" :disabled="disabled" filterable>
<el-option :label="$t('pub.unlimitedSel')" :value="-1"></el-option>
<el-option :label="$t('objFill.weitu')" :value="-2"></el-option>
<el-option v-for="(item,index) in searchList" :key="item.index" :label="item.name"
:value="item.empId"></el-option>
</el-select>
</li>
</ul>
</div>
<table v-loading="loading" class="singeRowTable" border="0" cellspacing="0" cellpadding="0">
<tr>
<th style="width:200px">{{$t('sm.company')}}</th>
<th style="width:200px">{{$t('admin.admin_Department')}}</th>
<th style="width:200px">{{$t('objFill.v101.FinancialModule.yuangongxm')}}</th>
<th>{{$t('objFill.v101.FinancialModule.huizrs')}}</th>
<th>{{$t('objFill.zongticeng')}}</th>
<th>{{$t('tips.qishu')}}</th>
<th style="width:330px">{{$t('pub.pubRemark')}}</th>
<th>{{$t('system.table_operation')}}</th>
</tr>
<tr v-for="item in dataList">
<td>{{item.BranchName}}</td>
<td>{{item.DeptName}}</td>
<td>{{item.UserName}}</td>
<td>{{item.PeopleNum?item.PeopleNum:'-'}}</td>
<td>{{item.TotalCMoney?item.TotalCMoney:'-'}}
<span v-if="item.TotalExtraReward">
({{$t('fnc.ewjiangli')}}{{item.TotalExtraReward}})
</span>
</td>
<td><span class="cursor-p" :style="{'color': '#409EFF'}">{{item.Periods}}</span></td>
<td>{{item.Description}}</td>
<td>
<el-tooltip v-if="item.IsReissue != 1" class="item" effect="dark" :content="$t('fnc.chakan')" placement="top">
<el-button type="primary" class="CM_look" @click="goUrl('YNTradeTicketDetails',item)"
icon="iconfont icon-chakan" circle></el-button>
</el-tooltip>
</td>
</tr>
</table>
<div v-if="dataList.length==0">
<div style="text-align:center">{{$t('system.content_noData')}}</div>
</div>
<!-- 分页 -->
<el-pagination background @current-change="handleCurrentChange" :current-page.sync="msg.pageIndex"
layout="total,prev, pager, next, jumper" :page-size='msg.pageSize' :total='total'>
</el-pagination>
</div>
</template>
<script>
import moment from "moment"
export default {
data() {
return {
objNew:{},
Month: moment().format("YYYY-MM"),
msg: {
pageIndex: 1,
pageSize: 20,
PeriodId: -1,
UserId: -1,
RB_Department_Id: -1,//部门ID
RB_Branch_Id: -1,//公司ID
OutBranchId: -1,//出团公司ID
BranchType:1
},
loading: false,
//数据源
dataList: [],
total: 0,
disabled: true,
PeroidsList:[],
searchList: [],
rateDataList: [],
DigName:'',
userInfo: {}
}
},
created(){
let userInfo = this.getLocalStorage();
this.userInfo = userInfo
this.GetCommissionPeroidsList()//期数
this.getEmployee()//人员
},
mounted() {
let userInfo = this.getLocalStorage();
let ActionMenuCode = userInfo.ActionMenuCode;
this.msg.PeriodId = this.$route.query.PeriodId?Number(this.$route.query.PeriodId):-1
if (ActionMenuCode.indexOf('S_CheckBranchOrder') != -1
||ActionMenuCode.indexOf('S_CheckAllOrder')!=-1
||ActionMenuCode.indexOf('F_Query_AllIncomPay')!=-1) {//是否有看所有人的权限
this.disabled = false;
this.msg.UserId = this.$route.query.UserId?this.$route.query.UserId:-1
}else{
this.disabled = true;
this.msg.UserId = this.$route.query.UserId?this.$route.query.UserId:Number(userInfo.EmployeeId)
}
},
methods: {
GetCommissionPeroidsList() { //期数下拉
this.apipost(
"sellcommission_GetTYSaleCommissionPeriodsList",{BranchType:1},res => {
if (res.data.resultCode == 1) {
this.PeroidsList = res.data.data;
if(!this.$route.query.PeriodId||this.$route.query.isSale){
this.msg.PeriodId = this.PeroidsList[0].Id
}
this.getList()
} else {
this.Error(res.data.message);
}
}
);
},
getEmployee() {//所有人员下拉
let employeeMsg = {
RB_Group_id: "0",
RB_Branch_id: "1252",
departmentId: this.msg.RB_Department_Id>1?this.msg.RB_Department_Id:"0",
IsLeave: "-1"
}
this.apipost(
"app_get_company_employee",
employeeMsg,
res => {
if (res.data.resultCode == 1) {
this.searchList = res.data.data;
}
},
err => { }
);
},
handleCurrentChange(val) {
this.msg.pageIndex = val;
this.getList();
},
goUrl(path, item) {
this.$router.push({
path: path,
query: {
PeriodId: this.$route.query.PeriodId,
// OutBranchId: item.RB_Branch_Id,
UserId: item.UserId,
blank: 'y',
tab: '同业提现详情'
}
});
},
//获取数据
getList() {
this.loading = true;
this.apipost(
"sellcommission_GetTYSaleCommissionEmpPageList",
this.msg,
res => {
this.loading = false;
if (res.data.resultCode == 1) {
this.dataList = res.data.data.pageData;
this.total = res.data.data.count;
} else {
this.Error(res.data.message);
}
},
null
);
},
exportExcel() { //导出
var fileName = this.$t('objFill.v101.FinancialModule.yinxpwtcmxb')+".xls";
this.crmGetLocalFile("/api/Commission/GetCommissionEmpStatisticsToExcel", this.msg, fileName);
},
}
}
</script>
......@@ -3024,7 +3024,7 @@
this.apipost('financeinfo_post_GetList', {
Name: '',
TCID: TCID,
StandCurrBranchId: this.msg.RB_Branch_Id
StandCurrBranchId: this.orderObj && this.orderObj.StandCurrBranchId? this.orderObj.StandCurrBranchId : this.msg.RB_Branch_Id
}, res => {
if (res.data.resultCode == 1) {
this.coinGetList = res.data.data;
......
<style scoped>
.ExpectedCommission-form{
padding: 10px 20px 0 20px;
}
.groupTourOrder{
display: flex;
flex-wrap: nowrap;
flex-grow: 1;
}
.groupTourOrder span{
/* width: 50%; */
white-space: nowrap;
font-size: 14px;
background: #DEE1E6;
color: #333333;
border-radius: 5px;
padding: 5px 10px;
margin-left: 20px;
/* #333333 */
}
.groupTourOrder span span{
color: red;
}
.CommissionLadder-form{
display: flex;
flex-wrap: wrap;
margin: 0 20px;
/* margin-bottom: 10px; */
}
.CommissionLadder{
flex: 1;
padding: 16px 20px 20px 20px;
background: #ffffff;
}
.CommissionLadder.Line{
margin: 0 0 10px 0;
}
.border-bottom{
border-bottom: 1px dashed #BDBDBD;
}
.CommissionLadder .title{
font-size: 16px;
font-weight: bold;
padding: 0 0 5px 0;
display: flex;
justify-content: space-between;
}
.CommissionLadder p {
padding: 5px 0 0px 0;
font-size: 15px;
display: flex;
justify-content: space-between;
}
.CommissionLadder p span:last-child{
color: red;
}
.CommissionInfor{
padding: 0 0 10px 0;
}
.CommissionInfor span{
margin-left: 5px;
font-size: 13px;
}
.CommissionInfor span:first-child{
margin-left: 0;
}
.CommissionInfor span span{
color: red;
}
.CommissionLadder:last-child{
margin-right: 0;
}
.OpenOrder{
background: #ffffff;
padding: 10px 20px 20px 20px;
}
.OpenOrderMore{
display: flex;
justify-content: space-between;
align-items: center;
padding: 0 0 10px 0;
cursor: 0;
font-size: 16px;
font-weight: 400;
color: #333333;
}
.OpenOrderMore span{
color: #999999;
font-size: 14px;
}
.headerTitle{
display: flex;
}
.headerTitle p{
font-weight: bold;
}
.headerTitle span{
font-weight: 100;
color: red;
margin-right: 20px;
}
/deep/.ExpectedCommission-table .cell{
padding: 0 !important;
text-indent: 10px;
}
/deep/.ExpectedCommission-table .el-table .el-table__cell{
padding: 0 !important;
}
/deep/.ExpectedCommission-table .has-gutter .el-table__cell{
padding: 7px 0 !important;
}
.tableTd{
line-height: 30px;
border-bottom: 1px solid #DEE1E6;
}
.tableTd+ div{
line-height: 30px;
}
.BonusY{
width: 80px;
}
/deep/.BonusY .el-input .el-input__inner {
border: 0px !important;
}
</style>
<template>
<div style="height: 92vh;overflow-y: scroll;">
<div style="display: flex;align-items: center; justify-content: space-between;background: #fff;
height: 40px;padding: 0 20px;">
<div class="headerTitle">
<template v-if="CommissionInfor">
<!-- <p>{{$t('objFill.zongticeng')}}<span>{{CommissionInfor.TotalCMoney}}</span></p> -->
<!-- <p>{{$t('objFill.v101.activity.zongdindans')}}<span>{{CommissionInfor.OtherOrderNum+CommissionInfor.SalesOrderNum+CommissionInfor.JapanOrderNum+CommissionInfor.EuropeOrderNum}}</span></p>
<p>{{$t('objFill.v101.Rest.zongrntous')}}<span>{{CommissionInfor.OtherPeopleNum+CommissionInfor.OtherPNum+CommissionInfor.PeopleNum+CommissionInfor.EuropePNum+CommissionInfor.SalesPeopleNum+CommissionInfor.JapanPeopleNum+CommissionInfor.EuropePeopleNum+GNEopleNum}}</span></p>
<p>{{$t('objFill.v101.Rest.zongyuqijianj')}}<span>{{CommissionJJ}}</span></p>
<p>{{$t('objFill.v101.Rest.zongyuqitic')}}<span>{{CommissionTC}}</span></p> -->
</template>
</div>
<div style="display: flex;align-items: center;">
<!-- <i class="el-icon-chat-dot-square"
style="cursor: pointer;color: #33B3FF;font-size: 31px;margin-right: 10px;"
@click="rightOpen=true"></i> -->
<template v-for="(item ,index) in MonthList">
<input type="button" :key="index"
:class="{'normalBtn':Month==item.Id,'hollowFixedBtn':Month!=item.Id}"
:value="item.Name"
@click="clickActive(item)"></input>
</template>
</div>
</div>
<div class="CommissionLadder-form">
<div style="display: flex;justify-content: space-between; width: 100%;">
<div style="display: flex;flex-direction: column;flex-grow: 2;">
<div style="padding: 5px 0 5px 0;text-align: right;color: red;">
</div>
<div style="display: flex;flex-direction: row;">
<div class="CommissionLadder Line" style="width: 200px;flex-shrink: 0;">
<div class="title">
<span>{{$t('objFill.v101.Rest.yntdtcyn')}}</span>
</div>
<p>{{$t('objFill.v101.Rest.dangyuegrrtsl')}}</p>
<div class="CommissionInfor">
<span>
{{$t('objFill.v101.FinancialModule.dindanshul')}}:<span>{{CommissionInfor.JapanOrderNum}}</span>
</span>
<span>
{{$t('objFill.v101.Rest.rentouslian')}}:<span>{{CommissionInfor.JapanPeopleNum}}</span>
</span>
<span>
{{$t('objFill.v101.Rest.yuqibili')}}:<span>{{CommissionInfor.JapanRate}}/人</span>
</span>
<span>
{{$t('objFill.v101.Rest.yuqitic')}}:<span>{{CommissionInfor.JapanCommission}}</span>
</span>
<span v-if="CommissionInfor.JapanReissueCommission && CommissionInfor.JapanReissueCommission!=0">
{{$t('objFill.v101.Rest.bufawanqitc')}}:<span>{{CommissionInfor.JapanReissueCommission}}</span>
</span>
</div>
<div>
<progressComm :commissionratioList="JapaneseProfit"></progressComm>
</div>
</div>
<div class="CommissionLadder Line" style="margin-left:20px; flex-grow: 2;" v-if="isAnnualBonus">
<div style="display: flex;justify-content: space-between;">
<span>{{CommissionInfor.BonusDate}}{{$t('objFill.v101.Rest.nianzjyn')}}</span>
<div>
<el-select class="BonusY" v-model="msg.BonusYear" :placeholder="$t('pub.pleaseSel')" @change="getList()">
<el-option key="2025" label="2025" value="2025"></el-option>
<el-option key="2026" label="2026" value="2026"></el-option>
</el-select>
</div>
</div>
<p style="padding: 0 0 10px 0;text-align: left;"><span style="font-size: 13px;color: red;">{{$t('objFill.v101.Rest.zhunianzmnsyyqi')}}</span></p>
<div class="CommissionInfor">
<span @click="IsYearBonus=true" style="cursor: pointer;">{{$t('objFill.v101.Rest.daibiao')}} <span style="margin-left: 5px;margin-right: 5px;">{{CommissionInfor.BonusNum}}</span>{{$t('objFill.v101.Rest.geyuedcckan')}}</span>
<span><span>{{$t('objFill.v101.Rest.meiyuerens')}}{{CommissionInfor.BonusMinPNum}}{{$t('objFill.v101.FinancialModule.renyishang')}},{{$t('objFill.v101.FinancialModule.ynnzffdw')}}</span></span>
</div>
<div>
<progressComm :commissionratioList="AnnualBonus"></progressComm>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="ExpectedCommission-form">
<!-- 未平账单 -->
<div class="OpenOrder">
<div class="OpenOrderMore">
<div>{{$t('objFill.v101.Rest.zhangweipdd')}}</div>
<span @click="goMore" style="cursor: pointer;">{{$t('pub.more')}}<i class="el-icon-d-arrow-right"></i> </span>
</div>
<OrderList :OrderList="OrderList"></OrderList>
</div>
<div style="display: flex;justify-content: space-between;">
<div style="padding: 10px 0 0 0;color: #E95252;line-height: 30px;width: 50%;white-space: wrap;">
<p style="font-weight: bold;">{{$t('objFill.v101.Rest.chujticts')}}:</p>
1.{{$t('objFill.v101.Rest.yntcguiz')[0]}}</br>
2.{{$t('objFill.v101.Rest.yntcguiz')[1]}}</br>
3.{{$t('objFill.v101.Rest.yntcguiz')[2]}}</br>
4.{{$t('objFill.v101.Rest.yntcguiz')[3]}}</br>
5.{{$t('objFill.v101.Rest.yntcguiz')[4]}}</br>
6.{{$t('objFill.v101.Rest.yntcguiz')[5]}}</br>
</br>
</div>
</div>
</div>
<el-dialog :visible.sync="IsYearBonus" width="686px" :title="$t('objFill.v101.FinancialModule.nianzmx')">
<div style="height:320px;">
<table style=" border: 1px solid black;border-collapse: collapse; text-align: center; width: 100%;">
<tr style="border: 1px solid black">
<th style="border: 1px solid black">{{$t('ground.yuefen')}}</th>
<th style="border: 1px solid black">{{$t('objFill.v101.FinancialModule.huizrs')}}</th>
<th style="border: 1px solid black">{{$t('visa.v_teamnum')}}</th>
<th style="border: 1px solid black">{{$t('objFill.v101.FinancialModule.danxiangrs')}}</th>
<th style="border: 1px solid black">{{$t('objFill.v101.Rest.ouzhourshu')}}</th>
</tr>
<tr v-for="item in CommissionInfor.BonusPeriods" style="border: 1px solid black">
<td style="border: 1px solid black">{{item.TradeDate}}</td>
<td style="border: 1px solid black"><span :style="item.GuestNum>=35?'color:red':'color:black'">{{item.GuestNum}}</span></td>
<td style="border: 1px solid black">{{item.TravelNum}}</td>
<td style="border: 1px solid black">{{item.VisaNum}}</td>
<td style="border: 1px solid black">{{item.EuNum}}</td>
</tr>
</table>
</div>
</el-dialog>
</div>
</template>
<script>
import OrderList from './components/OrderList'
import detailsButtom from './components/details'
// import OrderList from '../myOrdersAllType/components/OrderList'
import progressComm from './components/progressCommYN'
export default {
components: {
OrderList,
progressComm,
detailsButtom
},
data() {
return {
jianjinNum: 0,
isExpansion: false,
CommissionJJ:0,
CommissionTC:0,
GNOrderNum:0,
GNEopleNum:0,
GNCommission:0,
newRlist:[],
newRlistAll:[],
DomesticLine:{},
IsYearBonus:false,
AnnualBonus:{//年终奖
type:3,
AvgLureNum:0,
AvfOrderNum:0,
CommissionRate:0,
Commission: 0,
CommissionProfit: 0,
CommissionRateList:[]
},
OtherProfit:{//其他毛利润
type:2,
AvgLureNum:0,
AvfOrderNum:0,
CommissionRate:0,
Commission: 0,
CommissionProfit: 0,
CommissionRateList:[]
},
OtherLine:{//其他人头奖励
type:1,
AvgLureNum:0,
AvfOrderNum:0,
CommissionRate:0,
Commission: 0,
CommissionProfit: 0,
CommissionRateList:[]
},
EuropeProfit:{//欧洲毛利润
type:2,
AvgLureNum:0,
AvfOrderNum:0,
CommissionRate:0,
Commission: 0,
CommissionProfit: 0,
CommissionRateList:[]
},
EuropeLine:{//欧洲人头奖励
type:1,
AvgLureNum:0,
AvfOrderNum:0,
CommissionRate:0,
Commission: 0,
CommissionProfit: 0,
CommissionRateList:[]
},
JapaneseProfit:{//日本毛利润
type:2,
AvgLureNum:0,
AvfOrderNum:0,
CommissionRate:0,
Commission: 0,
CommissionProfit: 0,
CommissionRateList:[]
},
JapaneseLine:{//日本人头奖励
type:1,
AvgLureNum:0,
AvfOrderNum:0,
CommissionRate:0,
Commission: 0,
CommissionProfit: 0,
CommissionRateList:[]
},
dataRuleList:[],
rightOpen: false,
msg:{
Month: '',
BonusYear:'2025'
},
Month: 1,
MonthList:[
{Name: this.$t('objFill.v101.activity.shangyue'),Id:'0'},
{Name: this.$t('objFill.v101.activity.dangyue'),Id:'1'},
],
CommissionInfor:{},
OrderList: [],
loading: true,
Year: "",
Year2: "",
YearTime:'',
LastMonthTime: '',
MonthTime: '',
commissionMsg:{
pageIndex: 1,
pageSize: 6,
OrderId: "", //订单id
GuestId: 0, //客人id
EnterId: 0, //业务员id
OrderState: '1', //订单状态
Q_IsCollect: "2", //收款状态
StartTime: "",//报名开始日期
EndTime: "",//报名结束日期
FinishSTime: "",//完结开始时间
FinishETime: "",//完结结束时间
DepartSTime: "",//出发开始
DepartETime: "",//出发结束
TCNUM: "",//团号
ProductName: "",//商品名称
CustomerName: "",//客户名称
LureEmpId: 0,//引流人员
LineId: 0,//线路
TravelType: 0,//跟团类型 1跟团 2当地游
OrderType: "0",//订单类型
IsSelectCRM: 0,//1来源crm
IsMyOrder: 1,//1我的订单
},
isAnnualBonus: false,// 年终奖权限
};
},
mounted() {
this.getList()
},
created() {
let userInfo = this.getLocalStorage();
// 年终奖权限 销售, 引流, 市场, 票务 , 票務,总经理,总经理
if(userInfo.PostName.indexOf('销售')||userInfo.PostName.indexOf('引流')||
userInfo.PostName.indexOf('市场,')||userInfo.PostName.indexOf('票务')||
userInfo.PostName.indexOf('票務')||userInfo.PostName.indexOf('总经理')||
userInfo.PostName.indexOf('总经理')){
this.isAnnualBonus = true
}
let nowdays = new Date()
this.Year = new Date().getFullYear()
this.Year2 = new Date().getFullYear()-1
this.LastMonthTime = new Date().getMonth()
this.LastMonthTime = this.LastMonthTime==0?12:this.LastMonthTime
this.MonthTime = new Date().getMonth() + 1
this.msg.Month = this.Year+'-'+(this.MonthTime>=10?this.MonthTime:'0'+this.MonthTime)
this.MonthList[0].Name = this.MonthList[0].Name+'('+this.LastMonthTime+'月)'
this.MonthList[1].Name = this.MonthList[1].Name+'('+this.MonthTime+'月)'
//this.Year+'-'+(this.MonthTime>=10?this.MonthTime:'0'+this.MonthTime)+'-01'//出发开始
this.commissionMsg.DepartSTime = this.getBeforeDate(93,this.getBeforeDate(0,new Date().Format("yyyy-MM-dd")))
var MonthDayNum = new Date(this.Year, this.MonthTime, 0).getDate(); //计算当月的天数
this.commissionMsg.DepartETime = this.Year+'-'+(this.MonthTime>=10?this.MonthTime:'0'+this.MonthTime)+'-'+(MonthDayNum>=10?MonthDayNum:'0'+MonthDayNum)//出发结束
this.GetOrderPageList()
},
methods: {
goMore(){
this.$router.push({
name: 'erpMyCustomerOrder',
query: {
blank: 'y',
Q_IsCollect: "2",
DepartSTime: this.commissionMsg.DepartSTime,
DepartETime: this.commissionMsg.DepartETime
}
});
},
clickActive(item){
this.Month = item.Id
if(item.Id==1){
this.msg.Month = this.Year+'-'+(this.MonthTime>=10?this.MonthTime:'0'+this.MonthTime)
}else{
if(this.LastMonthTime==12)this.msg.Month = this.Year2+'-'+(this.LastMonthTime>=10?this.LastMonthTime:'0'+this.LastMonthTime)
else this.msg.Month = this.Year+'-'+(this.LastMonthTime>=10?this.LastMonthTime:'0'+this.LastMonthTime)
}
this.getList()
// this.getData()
},
// 获取规则列表数据
getList() {
this.apipost("sellcommission_GetYNSaleCommissionRuleList", {IsYNRule:1}, res => {
this.loading = false;
if (res.data.resultCode == 1) {
this.dataRuleList = res.data.data[0];
this.JapaneseLine.CommissionRateList = this.dataRuleList.AwardRuleList
this.JapaneseProfit.CommissionRateList = this.dataRuleList.ProfitRuleList
this.AnnualBonus.CommissionRateList = this.dataRuleList.BonusRuleList
this.getData()
}else{
this.Error(res.data.message)
}
});
},
// 获取预期数据
getData(){
// 日本欧洲提成
this.apipost('sellcommission_GetYNSaleExpectCommission', this.msg,
res => {
if (res.data.resultCode == 1) {
let data = res.data.data
this.CommissionInfor = data;
// 日本及其他人头奖励
this.JapaneseLine.AvgLureNum = this.CommissionInfor.PeopleNum?this.CommissionInfor.PeopleNum:0
this.JapaneseLine.Commission = this.CommissionInfor.PeopleMoney?this.CommissionInfor.PeopleMoney:0
// 日本及其他提成比例
this.JapaneseProfit.AvgLureNum = this.CommissionInfor.JapanCommission?this.CommissionInfor.JapanCommission:0
this.JapaneseProfit.AvfOrderNum = this.CommissionInfor.JapanOrderNum?this.CommissionInfor.JapanOrderNum:0
this.JapaneseProfit.CommissionRate = this.CommissionInfor.JapanRate?this.CommissionInfor.JapanRate:0
this.JapaneseProfit.Commission = this.CommissionInfor.JapanCommission?this.CommissionInfor.JapanCommission:0
this.JapaneseProfit.CommissionProfit = this.CommissionInfor.JapanPeopleNum?this.CommissionInfor.JapanPeopleNum:0
// 欧洲人头奖励
this.EuropeLine.AvgLureNum = this.CommissionInfor.EuropePNum?this.CommissionInfor.EuropePNum:0
this.EuropeLine.Commission = this.CommissionInfor.EuropeMoney?this.CommissionInfor.EuropeMoney:0
// 欧洲及其他提成比例
this.EuropeProfit.AvgLureNum = this.CommissionInfor.EuropeCommission?this.CommissionInfor.EuropeCommission:0
this.EuropeProfit.AvfOrderNum = this.CommissionInfor.EuropeOrderNum?this.CommissionInfor.EuropeOrderNum:0
this.EuropeProfit.CommissionRate = this.CommissionInfor.EuropeRate?this.CommissionInfor.EuropeRate:0
this.EuropeProfit.Commission = this.CommissionInfor.EuropeCommission?this.CommissionInfor.EuropeCommission:0
this.EuropeProfit.CommissionProfit = this.CommissionInfor.EuropeProfit?this.CommissionInfor.EuropeProfit:0
// 其他人头奖励
this.OtherLine.AvgLureNum = this.CommissionInfor.OtherPNum?this.CommissionInfor.OtherPNum:0
this.OtherLine.Commission = this.CommissionInfor.OtherMoney?this.CommissionInfor.OtherMoney:0
// 其他提成比例
this.OtherProfit.AvgLureNum = this.CommissionInfor.OtherCommission?this.CommissionInfor.OtherCommission:0
this.OtherProfit.AvfOrderNum = this.CommissionInfor.OtherOrderNum?this.CommissionInfor.OtherOrderNum:0
this.OtherProfit.CommissionRate = this.CommissionInfor.OtherRate?this.CommissionInfor.OtherRate:0
this.OtherProfit.Commission = this.CommissionInfor.OtherCommission?this.CommissionInfor.OtherCommission:0
this.OtherProfit.CommissionProfit = this.CommissionInfor.OtherProfit?this.CommissionInfor.OtherProfit:0
// 年终奖
this.AnnualBonus.AvgLureNum = this.CommissionInfor.BonusNum?this.CommissionInfor.BonusNum:0
this.AnnualBonus.AvfOrderNum = this.CommissionInfor.BonusNum?this.CommissionInfor.BonusNum:0
console.log(this.JapaneseProfit);
}else {
this.Error(res.data.message);
}
this.loading = false
},
err => {this.loading = false}
);
},
GetGNSaleExpectCommission(){
// 国内提成
this.apipost('sellcommission_Post_GetGNSaleExpectCommission', this.msg,
res => {
if (res.data.resultCode == 1) {
this.DomesticLine = res.data.data
this.GNOrderNum = 0
this.GNEopleNum = 0
this.GNCommission = 0
this.DomesticLine.Rlist.forEach(item=>{
this.GNOrderNum+=Number(item.OrderNum)
this.GNEopleNum+=Number(item.PeopleNum)
this.GNCommission+=Number(item.Commission)
})
this.newRlistAll = [
this.DomesticLine.Rlist[2],
this.DomesticLine.Rlist[3],
this.DomesticLine.Rlist[4],
this.DomesticLine.Rlist[0],
this.DomesticLine.Rlist[1]]
this.newRlist = [this.DomesticLine.Rlist[2]]
let arr1 =[this.CommissionInfor.OtherMoney,this.CommissionInfor.PeopleMoney,this.CommissionInfor.EuropeMoney]
let arr2 =[this.CommissionInfor.OtherCommission,this.CommissionInfor.SalesCommission,this.CommissionInfor.JapanCommission,this.CommissionInfor.EuropeCommission,this.GNCommission,this.CommissionInfor.JapanReissueCommission,,this.CommissionInfor.EuropeReissueCommission,,this.CommissionInfor.OtherReissueCommission]
this.CommissionJJ = this.CalculatePrice(arr1,0)
this.CommissionTC = this.CalculatePrice(arr2,2)
}
})
},
GetOrderPageList(){
this.commissionMsg.IsMyOrder = '1'
this.apipost('CarSingle_post_GetGuestOrderStatisticsPageList', this.commissionMsg,
res => {
if (res.data.resultCode == 1) {
let data = res.data.data.pageData
if(data.length>5){
for(let i=0;i<5;i++){
this.OrderList.push(data[i])
}
}else{
this.OrderList = data
}
}else {
this.Error(res.data.message);
}
this.loading = false
},
err => {this.loading = false}
)
},
//计算总成本
CalculatePrice(arr1,num) {
var CoastPrice = this.$commonUtils.CaluJsonArraySum2(
arr1,
num
);
return CoastPrice>0?CoastPrice:0
},
}
};
</script>
......@@ -43,32 +43,32 @@
<div style="max-width: 100px;overflow: hidden;text-overflow: ellipsis">{{scope.row.Description}}</div>
</template>
</el-table-column>
<el-table-column sortable prop="Money" :label="$t('fnc.a_zongjine')" min-width="100" show-overflow-tooltip>
<el-table-column prop="Money" :label="$t('fnc.a_zongjine')" min-width="100" show-overflow-tooltip>
<template slot-scope="scope">
{{scope.row.Money}}&ensp;({{scope.row.CurrencyName}})
</template>
</el-table-column>
<el-table-column sortable prop="Income" :label="$t('fnc.shishou')">
<el-table-column prop="Income" :label="$t('fnc.shishou')">
</el-table-column>
<el-table-column sortable prop="PreferTipAmount" :label="$t('op.RTXF')" min-width="101">
<el-table-column prop="PreferTipAmount" :label="$t('op.RTXF')" min-width="101">
</el-table-column>
<el-table-column sortable prop="PlatformTax" :label="$t('fnc.shouxufei')" min-width="100">
<el-table-column prop="PlatformTax" :label="$t('fnc.shouxufei')" min-width="100">
</el-table-column>
<el-table-column sortable prop="Refund" :label="$t('fnc.tuikuan')">
<el-table-column prop="Refund" :label="$t('fnc.tuikuan')">
</el-table-column>
<el-table-column sortable prop="CostMoney" :label="$t('hotel.hotel_cost')" >
<el-table-column prop="CostMoney" :label="$t('hotel.hotel_cost')" >
</el-table-column>
<el-table-column sortable prop="DueInMoney" :label="$t('op.Tocollected')">
<el-table-column prop="DueInMoney" :label="$t('op.Tocollected')">
<template slot-scope="scope">
<span :class="{'red':scope.row.DueInMoney>0}">{{scope.row.DueInMoney}}</span>
</template>
</el-table-column>
<el-table-column sortable prop="OrderProfit" :label="$t('objFill.yuqilirun')" min-width="100">
<el-table-column prop="OrderProfit" :label="$t('objFill.yuqilirun')" min-width="100">
<template slot-scope="scope">
<span :class="{'red':scope.row.OrderProfit>0}">{{scope.row.OrderProfit}}</span>
</template>
</el-table-column>
<el-table-column sortable prop="DiscountsMoney" :label="$t('fnc.youhui')">
<el-table-column prop="DiscountsMoney" :label="$t('fnc.youhui')">
</el-table-column>
<el-table-column prop="StateName" :label="$t('admin.admin_status')" show-overflow-tooltip>
<template slot-scope="scope">
......
<style scoped>
.progress-box{
flex: 1;
display: flex;
margin-bottom: 25px;
}
.relative-position{
/* min-width: 80px; */
flex: 1;
margin-right: 0;
position: relative;
}
.rate-box {
position: absolute;
top: 30px;
left: 50%;
transform: translateX(-50%);
color: #000;
z-index: 9;
display: flex;
flex-wrap: wrap;
justify-content: center;
}
.sanjiao {
width: 0;
height: 0;
margin-left: 5%;
border-right: 4px solid transparent;
border-left: 4px solid transparent;
border-bottom: 3px solid #CACACA;
}
.rate {
min-width: 20px;
padding: 2px 6px;
background-color: #CACACA !important;
display: flex;
justify-content: center;
align-items: center;
color: #666666;
font-size: 0.62vw;
font-family: PingFang SC;
border-radius: 7px;
line-height:12px;
white-space:nowrap;
}
.active-rate{
background-color: #33B3FF !important;
color: #FFFFFF !important;
}
/deep/.relative-position .el-progress-bar__outer{
border-radius: 0 !important;
}
/deep/.relative-position .el-progress-bar__inner{
text-align: left;
text-indent: 10px;
border-radius: 0 !important;
}
/deep/.relative-position:first-child .el-progress{
border-top-left-radius: 15px !important;
border-bottom-left-radius: 15px !important;
overflow: hidden !important
}
/deep/.relative-position:last-child .el-progress{
border-top-right-radius: 15px !important;
border-bottom-right-radius: 15px !important;
overflow: hidden !important
}
</style>
<template>
<div>
<div class="progress-box">
<div v-for="(item,index) in commissionratioList.CommissionRateList" :key="index"
class="relative-position">
<el-progress :text-inside="true" :stroke-width="20"
:percentage="setItemProgress(item,index)"
:status="setItemStatus(item)"
:format="setItemText(item)"
:text-color="(commissionratioList.type==2&&commissionratioList.CommissionProfit>=item.StartValue)||
(commissionratioList.type!=2&&commissionratioList.AvgLureNum>=item.StartValue)?'#666666':'#666666'"
:color="(commissionratioList.type==2&&commissionratioList.CommissionProfit>=item.StartValue)||
(commissionratioList.type!=2&&commissionratioList.AvgLureNum>=item.StartValue)?customColor[0]:customColor[1]">
</el-progress>
<div class="rate-box">
<div class="sanjiao"
:style="{'border-bottom-color':(commissionratioList.type==2&&commissionratioList.CommissionProfit>0&&commissionratioList.CommissionProfit>=item.StartValue)||
(commissionratioList.type!=2&&commissionratioList.AvgLureNum>=item.StartValue)
?'#33B3FF':'#CACACA'}"></div>
<div class="rate full-width"
:class="{'active-rate':(commissionratioList.type==2&&commissionratioList.CommissionProfit>0&&commissionratioList.CommissionProfit>=item.StartValue)||
(commissionratioList.type!=2&&commissionratioList.AvgLureNum>=item.StartValue)}">
<i v-if="(commissionratioList.type==2&&commissionratioList.CommissionProfit>0&&commissionratioList.CommissionProfit>=item.StartValue)||
(commissionratioList.type!=2&&commissionratioList.CommissionProfit>0&&commissionratioList.AvgLureNum>=item.StartValue)" class="el-icon-check" style="font-size:8px"></i>
{{item.Rate}}{{commissionratioList.type==2?'/'+$t('hotel.hotel_people'):commissionratioList.type==3?''+$t('fnc.monthUnit'):''}}
</div>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
props:['commissionratioList'],
data() {
return {
customColor: ['rgba(51,179,255,1)','rgba(222,225,230,1)'],
colors: [
'rgba(42, 48, 54,.2)',
'rgba(138, 24, 48,.2)',
'rgba(200, 138, 131,.2)',
'rgba(84, 221, 226,.2)',
'rgba(178, 199, 168,.2)',
'rgba(16, 195, 195,.2)',
'rgba(0, 21, 68,.2)',
'rgba(226, 166, 198,.2)',
'rgba(278,17,66,.2)',
'rgba(153, 199, 235,.2)',
'rgba(34,184,221,.2)',
'rgba(221,72,34,.2)',
'rgba(204,51,204,.2)',
'rgba(255,204,0,.2)',
'rgba(77,179,179,.2)',
'rgba(196,60,141,.2)',
'rgba(195,90,141,.2)',
],
colorlists: [
'rgba(42, 48, 54, 1)',
'rgba(138, 24, 48, 1)',
'rgba(200, 138, 131, 1)',
'rgba(84, 221, 226, 1)',
'rgba(178, 199, 168, 1)',
'rgba(16, 195, 195, 1)',
'rgba(0, 21, 68, 1)',
'rgba(226, 166, 198, 1)',
'rgba(278,17,66, 1)',
'rgba(153, 199, 235,1)',
'rgba(34,184,221,1)',
'rgba(221,72,34,1)',
'rgba(204,51,204,1)',
'rgba(255,204,0,1)',
'rgba(77,179,179,1)',
'rgba(196,60,141,1)',
'rgba(195,90,141,1)',
],
};
},
watch: {
commissionratioList:{
handler(val, oldVal){
this.commissionratioList = val
},
deep: true,
immediate: true
}
},
mounted() {
},
created() {
},
methods: {
// 设置进度
setItemProgress(data,index) {
let oEndValue
let length = this.commissionratioList.CommissionRateList.length-1
if(index>0) oEndValue = this.commissionratioList.CommissionRateList[index-1].EndValue
//let length = this.commissionratioList.CommissionRateList.length
//let EndValue = this.commissionratioList.CommissionRateList[length-2].EndValue
//let Rate = this.commissionratioList.CommissionRateList[length-1].Rate
if(this.commissionratioList.type==2){
if(this.commissionratioList.CommissionProfit
&&this.commissionratioList.CommissionProfit>=data.StartValue&&this.commissionratioList.CommissionProfit<=data.EndValue){
if(this.commissionratioList.CommissionProfit>oEndValue&&index==length) return 100
else return this.commissionratioList.CommissionProfit>oEndValue&&index==length?(this.commissionratioList.CommissionProfit/data.StartValue)*100:(this.commissionratioList.CommissionProfit/data.EndValue)*100
}else{
if(this.commissionratioList.CommissionProfit!=0){
return 100
}
}
}else{
if(this.commissionratioList.type==1
&&this.commissionratioList.AvgLureNum>=data.StartValue
&&this.commissionratioList.AvgLureNum<=data.EndValue){
if(this.commissionratioList.AvgLureNum>oEndValue&&index==length) return 100
else return (this.commissionratioList.AvgLureNum/data.EndValue)*100
}else if(this.commissionratioList.type==3&&this.commissionratioList.AvfOrderNum){
if(this.commissionratioList.AvfOrderNum<3) return 0
else return (this.commissionratioList.AvfOrderNum/data.StartValue)*100
}else{
if(this.commissionratioList.AvgLureNum>=data.StartValue){
return 100
}
}
}
},
// 自定义进度条文字
setItemText(row) {
if(this.commissionratioList.type==2){
//this.formatProgress(row)
return () => {
return `${row.EndValue>999?'>='+row.StartValue:row.StartValue+' - '+row.EndValue}${this.$t('hotel.hotel_people')}`
}
}else if(this.commissionratioList.type==1){
return () => {
return `${row.EndValue>999?'>'+row.StartValue:row.StartValue+' - '+row.EndValue}${this.$t('hotel.hotel_people')}`
}
}else{
return () => {
return `${this.$t('objFill.v101.Rest.daibiao')}${row.StartValue}${this.$t('pub.month')}`
}
}
},
// 设置当前进度条状态,显示不同颜色
setItemStatus(data) {
if(this.commissionratioList.AvgLureNum>=data.StartValue&&this.commissionratioList.AvfOrderNum>=data.EndValue){
return 'exception'
}
},
formatProgress(data){
let obj = JSON.parse(JSON.stringify(data))
if(obj.StartValue>=10000) {
data.StartValue2 = (obj.StartValue/1000).toFixed(1)>0?(obj.StartValue/10000).toFixed(1):0 //Math.floor(obj.StartValue/10000)
if(data.StartValue2.indexOf('.0')!=-1){
data.StartValue2 = data.StartValue2.slice(0,1)
}
}else{
data.StartValue2 = (obj.StartValue/10000).toFixed(1)>0?(obj.StartValue/10000).toFixed(1):0
}
if(obj.EndValue>=10000) {
data.EndValue2 = obj.EndValue/10000
}else{
data.EndValue2 = (obj.EndValue/1000).toFixed(1)>0?(obj.EndValue/10000).toFixed(1):0
}
},
}
};
</script>
......@@ -71,7 +71,58 @@
</div>
</div>
</div>
<div style="display: flex;justify-content: space-between;">
<div v-if="CurrentUserInfo.RB_Group_id==2&&CurrentUserInfo.RB_Branch_id==1252" style="display: flex;justify-content: space-evenly;">
<div style="cursor: pointer;cursor: pointer;position: relative;" class="royalty"
@click="goAnticipate(6)">
<div class="tc">
<p>
<span></span>
<span :class="[isView?'':'HiddenNum']">{{isView?data.totalCommission:'***'}}</span>
<div style="width: 20px;height: auto; position: absolute;right: -30px;top: -15px; cursor: pointer;color: #232323;"
@click.stop="isView=!isView">
<el-icon class="iconfont"
:class="[isView?'icon-chakan':'icon-yincang']"
></el-icon>
</div>
</p>
<p style="color: #BDBDBD;font-size: 13px;padding: 0 0 5px 0;">{{data.periodsName}}{{$t('objFill.qi')}}<el-tag
v-if="data.peopelBonus||data.fineMoney" size="mini" type="danger" effect="dark"
style="color: #ffff;position: absolute;left: 70px;bottom: 23px;font-size: 11px;"
:class="[isView?'':'HiddenNum']">
<template v-if="data.peopelBonus">{{$t('objFill.v101.Rest.jian')}}+{{isView?data.peopelBonus:'***'}}</template>
<template v-if="data.fineMoney">{{$t('objFill.v101.Rest.fakuan')}}{{isView?data.fineMoney:'***'}}</template>
</el-tag>
</p>
</div>
<div stye="font-size: 16px;color: #666666;display: block;display: inline-block;">
<span>{{$t('objFill.chujingtc')}}</span>
<template v-if="data.comissionGeneralId>0">
<span v-if="data.share==1" class="Sale_Share" style="color:#333;cursor:default;">{{$t('hotel.hotel_haveBeenConfirmed')}}</span>
<span v-if="data.share==0" @click="tichengDialog=true" class="Sale_Share"
:class="{'ShareDisClick':!isSubmit}">{{$t('objFill.v101.Rest.fenxiangbqren')}}</span>
</template>
</div>
</div>
<div style="border-left: 1px solid #eeeeee;width: 1px;"> </div>
<div v-if="!(CurrentUserInfo.RB_Group_id==2&&CurrentUserInfo.RB_Branch_id==1245)" style="cursor: pointer;margin-left: 0;" class="royalty">
<div class="tc">
<p>
<span></span>
<span :class="[isView?'':'HiddenNum']">{{isView?data.dxSaleCommission:'***'}}</span>
</p>
<p style="color: #BDBDBD;font-size: 13px;padding: 0 0 5px 0;">{{data.dxPeriodsName}}{{$t('objFill.qi')}}</p>
</div>
<div stye="font-size: 16px;color: #666666;display: block;display: inline-block;">
<span>{{$t('objFill.v101.FinancialModule.nianzhongjl')}}</span>
</div>
</div>
<el-tooltip v-if="!(CurrentUserInfo.RB_Group_id==2&&CurrentUserInfo.RB_Branch_id==1245)" class="item" effect="dark" :content="$t('objFill.v101.Rest.yuqitic')" placement="top">
<img src="../../assets/img/xiaosouYQ.png" @click="goAnticipate(7)"
style="width: 20px;height: auto; position: absolute;right: -0;top: -13px;cursor: pointer;color: #33B3FF;"></img>
</el-tooltip>
</div>
<div v-if="!(CurrentUserInfo.RB_Group_id==2&&CurrentUserInfo.RB_Branch_id==1252)" style="display: flex;justify-content: space-between;">
<div style="cursor: pointer;cursor: pointer;position: relative;" class="royalty"
@click="goAnticipate(1)">
<div class="tc">
......@@ -695,6 +746,10 @@
blank: 'y'
}
});
} else if (type == 6) { //印尼同业提成
name = 'YNTradeTicketUserDetails'
} else if (type == 7) { //印尼同业提成
name = 'saleExpectedYNCommission'
}
if (type != 5 && type != 3 && name) {
this.$router.push({
......
......@@ -5394,6 +5394,14 @@ export default {
title: '同业提成规则'
}
},
{
path: '/YNTradeCommissionRule',
name: 'YNTradeCommissionRule',
component: resolve => require(['@/components/FinancialModule/TradeCommission/CommissionRuleYN'], resolve),
meta: {
title: '印尼提成规则'
}
},
{
path: '/TradeTicketCommission',
name: 'TradeTicketCommission',
......@@ -5402,6 +5410,14 @@ export default {
title: '同业提成'
}
},
{
path: '/YNTradeTicketCommission',
name: 'YNTradeTicketCommission',
component: resolve => require(['@/components/FinancialModule/TradeCommission/YNTicketCommission'], resolve),
meta: {
title: '印尼同业提成'
}
},
{
path: '/YearBonusCommission',
name: 'YearBonusCommission',
......@@ -5434,6 +5450,22 @@ export default {
title: '同业提成详情'
}
},
{
path: '/YNTradeTicketUserDetails',
name: 'YNTradeTicketUserDetails',
component: resolve => require(['@/components/FinancialModule/TradeCommission/YNTicketUserDetails'], resolve),
meta: {
title: '同业提成明细'
}
},
{
path: '/YNTradeTicketDetails',
name: 'YNTradeTicketDetails',
component: resolve => require(['@/components/FinancialModule/TradeCommission/YNTicketDetails'], resolve),
meta: {
title: '同业提成详情'
}
},
{
path: '/OPExtraRewardRule',
name: 'OPExtraRewardRule',
......@@ -6050,6 +6082,14 @@ export default {
title: '销售预期提成'
}
},
{
path: '/saleExpectedYNCommission',
name: 'saleExpectedYNCommission',
component: resolve => require(['@/components/sale/YNExpectedCommission'], resolve),
meta: {
title: '销售预期提成'
}
},
{
path: '/platformManagement',
name: 'platformManagement',
......
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