Commit a27695a3 authored by 沈良进's avatar 沈良进
parents 50fb6dc8 4b944002
......@@ -10,15 +10,16 @@
.PersonalData{width: 100%;height: 350px;background: white;margin-top: 10px}
.PersonalData_l{width: 100%;height: 368px;overflow-x: auto;padding: 20px}
.PersonalData_l .l_top{width: 700px;height: 118px;}
.l_top .tx_img{width: 94px;height: 94px;border-radius: 50%;overflow: hidden;float: left}
.l_top .tx_img{width: 94px;height: 94px;border-radius: 50%;overflow: hidden;float: left;margin-top: 10px;}
.l_top .img{width: 60px;height: 60px;
margin-left: 10px;
/* margin-left: 90px; */
float: left;margin-top: 15px}
.p_name{margin-left: 17px;margin-top: 15px;float: left}
.p_name span:nth-child(1){font-size: 18px;color: #333333;display: block}
.p_name span:nth-child(2){font-size: 12px;color: #333333;margin-top: 5px;display: block}
.l_top .royalty{margin-left: 30px;float: left;margin-top: 17px;display: flex;flex-direction: column}
.l_top .royalty{margin-left: 30px;float: left;
margin-top: 10px;
display: flex;flex-direction: column}
.l_top .royalty .tc{display: flex;
flex-direction: column;
align-items: flex-start}
......
......@@ -5,6 +5,8 @@ var commonUtils = {
arr.forEach(item => {
if (item.hasOwnProperty(filed)) {
sum += Number(item[filed]);
}else{
sum += Number(item);
}
});
return sum.toFixed(num);
......
......@@ -164,13 +164,9 @@
this.msg.UserId = this.$route.query.UserId?Number(this.$route.query.UserId):Number(userInfo.EmployeeId)
}
}
if (this.$route.query && this.$route.query.PeriodId) {
this.msg.PeriodId = this.$route.query.PeriodId
}
if (this.$route.query && this.$route.query.Type) {
this.msg.Type = this.$route.query.Type
}
this.getqishilist()
this.getCompanyList()//获取公司
this.getEmployee()//人员
......@@ -259,12 +255,12 @@
this.$router.push({
path: path,
query: {
PeriodId: this.$route.query.PeriodId,
PeriodId: this.msg.PeriodId,//this.$route.query.PeriodId
UserId:item.UserId,
RB_Branch_Id:item.RB_Branch_Id,
RB_Department_Id:item.RB_Department_Id,
blank: 'y',
Type: this.msg.Type,
Type: this.msg.Type?this.msg.Type:1,
tab: '单项服务提现详情',
}
});
......
......@@ -158,7 +158,7 @@
</td> -->
</tr>
<tr v-if="dataList.length==0">
<td style="text-align:center" colspan="11">暂无数据</td>
<td style="text-align:center" colspan="14">暂无数据</td>
</tr>
</table>
<!-- 分页 -->
......@@ -309,7 +309,7 @@
if (this.PeriodsList && this.PeriodsList.length > 0) {
// this.msg.Periods = Number(this.PeriodsList[0].Id)
}
this.getList()
} else {
this.Error(res.data.message);
}
......
......@@ -72,7 +72,7 @@
<li>
<em>部门</em>
<el-select filterable v-model='msg.RB_Department_Id'
@change='getEmployee();handleCurrentChange(1)'>
@change='getEmployee();handleCurrentChange(1)' :disabled="disabled">
<el-option label="不限" :value="-1"></el-option>
<el-option v-for='item in departmentList'
:label='item.DepartmentName'
......
......@@ -1209,6 +1209,7 @@
}
}, err => {});
},
//判断是否有房、餐、车价格修改权限
GetAuth() {
var actionCode = this.$AuthCode.EditRoomDinnerTIcket;
this.CheckUserAuth(actionCode, res => {
......
......@@ -3662,22 +3662,14 @@
);
} else {
this.chosenIndex = id;
if (localStorage.openMode && localStorage.openMode == 1){
if(url=='/SalesVolumeRank'){
this.$router.push({
path: url,
query: {}
});
}else{
if (localStorage.openMode && localStorage.openMode == 1)
this.$router.push({
path: url,
query: {
blank: 'y'
}
});
}
}else
else
this.$router.push({
path: url,
query: {}
......
......@@ -627,8 +627,7 @@
this.msg.StartTime = this.getBeforeDate(0, new Date())
this.msg.EndTime = this.getBeforeDate(0, new Date())
this.DatelistBM = [new Date(this.msg.StartTime),new Date()]
if(this.$route.query.Q_IsCollect){
this.msg.Q_IsCollect=this.$route.query.Q_IsCollect
if(this.$route.query.DepartSTime){
this.msg.DepartSTime=this.$route.query.DepartSTime
this.msg.DepartETime=this.$route.query.DepartETime
this.msg.CommissionType = this.$route.query.CommissionType
......
......@@ -529,9 +529,13 @@ export default {
);
},
settStartDates() {
if(this.$route.query.tStartDates){
this.msg.tStartDates = this.$route.query.tStartDates
}else{
let date = moment().format('yyyy-MM-DD')
let start = moment().subtract(1, 'months').format('yyyy-MM-DD')
this.msg.tStartDates = [start, date]
}
},
handleClick(tab, event) {
this.msg.EnterID = 0;
......
......@@ -120,8 +120,8 @@
<!-- <p>总提成:<span>{{CommissionInfor.TotalCMoney}}</span></p> -->
<p>总订单数:<span>{{CommissionInfor.SalesOrderNum+CommissionInfor.JapanOrderNum+CommissionInfor.EuropeOrderNum+GNOrderNum}}</span></p>
<p>总人头数:<span>{{CommissionInfor.PeopleNum+CommissionInfor.EuropePNum+CommissionInfor.SalesPeopleNum+CommissionInfor.JapanPeopleNum+CommissionInfor.EuropePeopleNum+GNEopleNum}}</span></p>
<p>总预期奖金:<span>{{CommissionInfor.PeopleMoney+CommissionInfor.EuropeMoney}}</span></p>
<p>总预期提成:<span>{{CommissionInfor.SalesCommission+CommissionInfor.JapanCommission+CommissionInfor.EuropeCommission+GNCommission}}</span></p>
<p>总预期奖金:<span>{{CommissionJJ}}</span></p>
<p>总预期提成:<span>{{CommissionTC}}</span></p>
</template>
</div>
<div style="display: flex;align-items: center;">
......@@ -146,7 +146,7 @@
">
<span style="font-size: 16px;font-weight: bold;">公司所有国内出发线路(单团.散拚)</span>
<div>
<detailsButtom :type="1" :obj="commissionMsg"/>
<detailsButtom :type="1" :obj="commissionMsg" :Month="Month"/>
</div>
</div>
<div class="groupTourOrder">
......@@ -161,7 +161,7 @@
<div style="display: flex;">
<div class="CommissionLadder Line" style="margin: 0 10px 0 0;">
<div class="title">
<span>日本小包团、落地团以及单项提成</span>
<span>日本及其他线小包团、落地团以及单项提成</span>
</div>
<p>当月个人毛利润</p>
<div class="CommissionInfor">
......@@ -247,7 +247,7 @@
<div style="display: flex;justify-content: space-between;">
<span>年终奖(不含门票、包车、国内游)</span>
<div>
<detailsButtom :type="3" :obj="commissionMsg"/>
<detailsButtom :type="3" :obj="commissionMsg" :Month="Month"/>
</div>
</div>
<p style="padding: 0 0 10px 0;text-align: left;"><span style="font-size: 13px;color: red;">注:年终奖励从每年3月起始</span></p>
......@@ -266,7 +266,7 @@
<div style="display: flex;justify-content: space-between;">
<span style="font-weight: bold;font-size: 16px;">国内提成</span>
<div>
<detailsButtom :type="2" :obj="commissionMsg"/>
<detailsButtom :type="2" :obj="commissionMsg" :Month="Month"/>
</div>
</div>
<p style="padding: 0 0 10px 0;text-align: left;"><span style="font-size: 13px;color: red;">注:国内提成需结团后方可发放提成,以实际结团为准,此处只提供参考</span></p>
......@@ -312,7 +312,7 @@
</template>
</el-table-column>
<el-table-column prop="ProfitRate"
label="提成" width="150">
label="提成" width="60">
<template slot-scope="scope">
<template v-if="scope.row.Way==1">
{{scope.row.Money+'/人'}}
......@@ -388,21 +388,16 @@
</div>
<!-- 消息通知 -->
<notification v-if="rightOpen" @close="rightOpen = false"></notification>
</div>
</template>
<script>
import notification from './components/notification'
import OrderList from './components/OrderList'
import detailsButtom from './components/details'
// import OrderList from '../myOrdersAllType/components/OrderList'
import progressComm from './components/progressComm'
export default {
components: {
notification,
OrderList,
progressComm,
detailsButtom
......@@ -410,8 +405,10 @@
data() {
return {
detailsInfor:{
type:0
},
CommissionJJ:0,
CommissionTC:0,
GNOrderNum:0,
GNEopleNum:0,
GNCommission:0,
......@@ -611,6 +608,13 @@
this.GNEopleNum+=Number(item.PeopleNum)
this.GNCommission+=Number(item.Commission)
})
setTimeout(()=>{
let arr1 =[this.CommissionInfor.PeopleMoney,this.CommissionInfor.EuropeMoney]
let arr2 =[this.CommissionInfor.SalesCommission,this.CommissionInfor.JapanCommission,this.CommissionInfor.EuropeCommission,this.GNCommission]
this.CommissionJJ = this.CalculatePrice(arr1,0)
this.CommissionTC = this.CalculatePrice(arr2,2)
},500)
}
})
},
......@@ -635,7 +639,16 @@
err => {this.loading = false}
)
}
},
//计算总成本
CalculatePrice(arr1,num) {
var CoastPrice = this.$commonUtils.CaluJsonArraySum(
arr1,
"",
num
);
return CoastPrice
},
}
};
......
......@@ -11,7 +11,7 @@
<script>
export default {
props:['type','obj'],
props:['type','obj','Month'],
data() {
return {
......@@ -34,16 +34,31 @@
},
methods: {
goDetails(){
let nowdays = new Date()
let Year = new Date().getFullYear()
let LastMonthTime = new Date().getMonth()
let MonthTime = new Date().getMonth() + 1
let userInfo = this.getLocalStorage();
let MonthDayNum
let name
if(this.type!=4){
if(this.type!=3){
let DepartSTime
let DepartETime
if(this.Month==1){
DepartSTime = Year+'-'+(MonthTime>10?MonthTime:'0'+MonthTime)+'-01'
MonthDayNum = new Date(Year, MonthTime, 0).getDate();
DepartETime = Year+'-'+(MonthTime>10?MonthTime:'0'+MonthTime)+'-'+(MonthDayNum>10?MonthDayNum:'0'+MonthDayNum)
}else{
DepartSTime = Year+'-'+(LastMonthTime>10?LastMonthTime:'0'+LastMonthTime)+'-01'
MonthDayNum = new Date(Year, LastMonthTime, 0).getDate();
DepartETime = Year+'-'+(LastMonthTime>10?LastMonthTime:'0'+LastMonthTime)+'-'+(MonthDayNum>10?MonthDayNum:'0'+MonthDayNum)
}
name = 'erpMyCustomerOrder'
this.$router.push({
name: name,
query: {
Q_IsCollect: "2",
DepartSTime: this.obj.DepartSTime,
DepartETime: this.obj.DepartETime,
DepartSTime: DepartSTime,
DepartETime: DepartETime,
CommissionType: String(this.type),
blank: 'y'
}
......
<template>
<div>
<div class="ListCar-form"></div>
<div class="ListCar-form-box">
<div class="ListCar-box">
<div class="normalBtn ListCar-close" @click="close">
<i class="el-icon-close"></i>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
props: {
parameters: {
type: Object,
require: false
},
},
data() {
return {
loading: false,
sysMsgList: [],
};
},
watch: {
parameters: {
handler: function (val, oldVal) {
},
deep: true
}
},
created() {
},
mounted() {
},
methods: {
// 关闭
close(){
this.$emit('close')
},
}
};
</script>
<style scoped>
.ListCar-form{
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(23,23,23,.5);
z-index: 3;
}
.ListCar-form-box{
position: fixed;
top: 0;
right: 0;
bottom: 0;
width: 550px;
background: #ffffff;
z-index: 100;
}
.ListCar-box{
width: 100%;
height: 100%;
position: relative;
padding: 15px 0;
}
.ListCar-close{
position: absolute;
left: -47px;
top: 20%;
line-height: 26px;
}
.ListCar-close i{
margin-left: 3px;
}
.normalBtn.ListCar-close{
border-top-right-radius: 0;
border-bottom-right-radius: 0;
padding: 0 8px !important;
}
.ListCar-header{
border-bottom: -;
}
.ListCar-header-right{
border-radius: 3px;
padding: 5px 8px;
background: #fff3e0;
}
</style>
......@@ -52,7 +52,8 @@
border-radius: 0 !important;
}
/deep/.relative-position .el-progress-bar__inner{
text-align: center;
text-align: left;
text-indent: 10px;
border-radius: 0 !important;
}
/deep/.relative-position:first-child .el-progress{
......@@ -76,7 +77,7 @@
:status="setItemStatus(item)"
:format="setItemText(item)"
:text-color="(commissionratioList.type==2&&commissionratioList.CommissionRate>=item.Rate)||
(commissionratioList.type!=2&&commissionratioList.AvgLureNum>=item.StartValue)?'#fff':'#666666'"
(commissionratioList.type!=2&&commissionratioList.AvgLureNum>=item.StartValue)?'#666666':'#666666'"
:color="(commissionratioList.type==2&&commissionratioList.CommissionRate>=item.Rate)||
(commissionratioList.type!=2&&commissionratioList.AvgLureNum>=item.StartValue)?customColor[0]:customColor[1]">
</el-progress>
......@@ -165,6 +166,14 @@
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){
return this.commissionratioList.CommissionProfit>25000?(this.commissionratioList.CommissionProfit/data.StartValue)*100:(this.commissionratioList.CommissionProfit/data.EndValue)*100
}else{
return 100
}
}else{
if(this.commissionratioList.type==1
&&this.commissionratioList.AvgLureNum>=data.StartValue
&&this.commissionratioList.AvgLureNum<=data.EndValue){
......@@ -174,8 +183,6 @@
}else{
return 100
}
if(this.commissionratioList.type==2){
return 100
}
// return 100
},
......
......@@ -60,28 +60,30 @@
<div class="p_name">
<span>{{data.emName}}</span>
<span>{{data.postName}}</span>
<div style="padding: 5px 0 0 0;font-size: 14px;color: #333333;" v-if="rankingNum">
<a style="color: #FF8C00;margin-left: 3px;margin-right: 3px;font-size: 18px;font-weight: bold;">{{rankingNum}}</a>
<div @click="goAnticipate(5)" style="cursor: pointer;">
<div v-if="SumPreferPrice" style="padding: 2px 0 0 0;"><a style="color: #666666;font-size: 14px;font-weight: bold;">{{SumPreferPrice}}</a></div>
<div style="font-size: 14px;color: #333333;" v-if="rankingNum">
<a style="color: #FF8C00;margin-left: 3px;margin-right: 3px;
font-size: 18px;font-weight: bold;">{{rankingNum}}</a
>
</div>
</div>
</div>
<div style="display: flex;justify-content: space-between;">
<!-- <img style="cursor: pointer;" src="../../assets/img/jinbin@2x.png" alt="" class="img" @click="goAnticipate(1)"> -->
<div class="royalty" style="cursor: pointer;" @click="goAnticipate(1)">
<div style="cursor: pointer;cursor: pointer;position: relative;" class="royalty" @click="goAnticipate(1)">
<div class="tc">
<p>
<span></span>
<span>{{data.totalCommission}}</span>
</p>
<p >
<span v-if="data.peopelBonus" style="margin-right: 10px;">人头奖励:+{{data.peopelBonus}}</span>
<span style="color: #BDBDBD;font-size: 13px;
padding: 0 0 5px 0;">{{data.periodsName}}</span>
</p>
<p style="color: #BDBDBD;font-size: 13px;padding: 0 0 5px 0;">{{data.periodsName}}<el-tag
v-if="data.peopelBonus" size="mini" type="danger"
effect="dark" style="color: #ffff;position: absolute;left: 70px;bottom: 23px;font-size: 11px;">奖+{{data.peopelBonus}}</el-tag></p>
</div>
<!-- <span><p class="tc">{{data.totalCommission}}</p></span>-->
<div stye="font-size: 16px;color: #666666;display: block;display: inline-block;">
<span>出境提成</span>
<template v-if="data.comissionGeneralId>0">
<span v-if="data.share==1" class="Sale_Share" style="color:#333;cursor:default;">已确认</span>
<span v-if="data.share==0" @click="tichengDialog=true" class="Sale_Share"
......@@ -119,7 +121,7 @@
</div>
<el-tooltip class="item" effect="dark" content="预期提成" placement="top">
<img src="../../assets/img/xiaosouYQ.png" @click="goAnticipate(4)"
style="width: 15px;height: auto; position: absolute;right: -0;top: -10px;cursor: pointer;color: #33B3FF;"></img>
style="width: 15px;height: auto; position: absolute;right: -0;top: -13px;cursor: pointer;color: #33B3FF;"></img>
</el-tooltip>
</div>
</div>
......@@ -601,6 +603,7 @@
export default {
data() {
return {
SumPreferPrice: 0,
rankingNum: 0,
type: 1,
defaultHeadImg: 'this.src="' + require("../../assets/img/default_head_img.jpg") + '"',
......@@ -656,8 +659,12 @@
},
methods: {
settStartDates() {
let date = moment().format('yyyy-MM-DD')
let start = moment().subtract(1, 'months').format('yyyy-MM-DD')
let nowdays = new Date()
let Year = new Date().getFullYear()
let MonthTime = new Date().getMonth() + 1
let MonthDayNum = new Date(Year, 12, 0).getDate();
let date = Year+'-12-'+(MonthDayNum>10?MonthDayNum:'0'+MonthDayNum)
let start = Year+'-01-01'
this.PMMsg.tStartDates = [start, date]
},
initData() {
......@@ -700,6 +707,7 @@
tableData.forEach((item,index)=>{
if(item.EnterID==Number(userInfo.EmployeeId)){
this.rankingNum = index+1
this.SumPreferPrice = item.SumPreferPrice
}
})
});
......@@ -717,7 +725,17 @@
name = 'ServiceCommissionUser'
}else if(type==4){
name = 'saleExpectedCommission'
}else if(type==5){
name = 'salesVolumeRank'
this.$router.push({
name: name,
query: {
tStartDates: this.PMMsg.tStartDates,
blank: 'y'
}
});
}
if(type!=5){
this.$router.push({
name: name,
query: {
......@@ -726,6 +744,8 @@
blank: 'y'
}
});
}
},
iWorkbench() {
this.apipost('customerIndex_post_GetMySelfSellInfo', {}, res => {
......
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