Commit f8c257ad authored by 罗超's avatar 罗超

no message

parent 4523f0b1
......@@ -119,6 +119,11 @@
this.msg.PeriodId = this.$route.query.Id;
this.getList();
}
if(this.$route.query.UserId){
this.msg.EmployeeId = this.$route.query.UserId
this.msg.YearNum = this.$route.query.Periods.slice(0,4)
this.msg.MonthNum = this.$route.query.Periods.slice(5,7)
}
},
methods: {
//获取分页列表
......
......@@ -33,168 +33,168 @@
</style>
<template>
<div class="page-body cycleOrderList">
<div class="page-search row items-center">
<div class="col row wrap q-mr-lg q-col-gutter-md">
<div class="col-3">
<q-select filled stack-label @input="getDepartList(msg.School_Id),resetSearch()" option-value="SId"
option-label="SName" v-model="msg.School_Id" ref="School_Id" :options="schoolList" label="校区"
:dense="false" emit-value map-options />
</div>
<div class="col-3">
<selectTree :treeData='DeptList' :defaultArray="returnString" nodeKey="DeptId" :multiple="false"
labelKey="DeptName" childrenKey="ChildList" tipText="选择部门" @getChild="getChild"></selectTree>
</div>
<q-select @input="resetSearch" filled stack-label option-value="Id" option-label="EmployeeName" use-input
v-model="msg.UserId" ref="DeptTier" :options="PersionList" label="销售" :dense="false"
class="col-3 " emit-value map-options @filter="filterFn2" >
<template>
<div class="page-body cycleOrderList">
<div class="page-search row items-center">
<div class="col row wrap q-mr-lg q-col-gutter-md">
<div class="col-3">
<q-select filled stack-label @input="getDepartList(msg.School_Id),resetSearch()" option-value="SId"
option-label="SName" v-model="msg.School_Id" ref="School_Id" :options="schoolList" label="校区"
:dense="false" emit-value map-options />
</div>
<div class="col-3">
<selectTree :treeData='DeptList' :defaultArray="returnString" nodeKey="DeptId" :multiple="false"
labelKey="DeptName" childrenKey="ChildList" tipText="选择部门" @getChild="getChild"></selectTree>
</div>
<q-select @input="resetSearch" filled stack-label option-value="Id" option-label="EmployeeName" use-input
v-model="msg.UserId" ref="DeptTier" :options="PersionList" label="销售" :dense="false"
class="col-3 " emit-value map-options @filter="filterFn2" >
<template v-slot:no-option>
<q-item>
<q-item-section class="text-grey">
未找到相关数据
</q-item-section>
</q-item>
</template>
</q-select>
<div class="col-3">
<q-select filled stack-label use-input input-debounce="0" option-value="ClassId" @input="getList"
option-label="ClassName" v-model="msg.ClassId" :options="ClassList" label="班级" :dense="false"
emit-value map-options @filter="filterFn">
<template v-slot:no-option>
<q-item>
<q-item>
<q-item-section class="text-grey">
未找到相关数据
未找到相关数据
</q-item-section>
</q-item>
</q-item>
</template>
</q-select>
<div class="col-3">
<q-select filled stack-label use-input input-debounce="0" option-value="ClassId" @input="getList"
option-label="ClassName" v-model="msg.ClassId" :options="ClassList" label="班级" :dense="false"
emit-value map-options @filter="filterFn">
<template v-slot:no-option>
<q-item>
<q-item-section class="text-grey">
未找到相关数据
</q-item-section>
</q-item>
</template>
</q-select>
</div>
</div>
</div>
<div class="page-search row items-center">
<div class="col row wrap q-mr-lg q-col-gutter-md">
<div class="col-3">
<q-select filled stack-label @input="resetSearch()" option-value="Id"
option-label="Name" v-model="msg.PeriodId" :options="PeriodsList" label="周期"
:dense="false" emit-value map-options />
</div>
<div class="col-3">
<q-input filled v-model="msg.OrderId" @keyup.enter.native="resetSearch()" label="订单号" />
</div>
<div class="col-3">
<q-select filled stack-label input-debounce="0" option-value="Id" @input="resetSearch()"
option-label="Name" v-model="msg.UserType" :options="UserTypeList" label="类型" :dense="false" emit-value
map-options >
</q-select>
</div>
</q-select>
</div>
</div>
</div>
<div class="page-search row items-center">
<div class="col row wrap q-mr-lg q-col-gutter-md">
<div class="col-3">
<q-select filled stack-label @input="resetSearch()" option-value="Id"
option-label="Name" v-model="msg.PeriodId" :options="PeriodsList" label="周期"
:dense="false" emit-value map-options />
</div>
<div class="col-3">
<q-input filled v-model="msg.OrderId" @keyup.enter.native="resetSearch()" label="订单号" />
</div>
<div class="col-3">
<q-select filled stack-label input-debounce="0" option-value="Id" @input="resetSearch()"
option-label="Name" v-model="msg.IsDept" :options="IsDeptList" label="业绩方式" :dense="false" emit-value
map-options >
</q-select>
</div>
</div>
</div>
<div class="page-search row items-center" style="justify-content: space-between;">
<span style="font-size: 20px;font-weight: 400;">提成统计 <span style="font-size: 16px;">(提成总计:{{TotalCommission}})</span> </span>
<q-btn  color="primary" size="11px" label="导出" @click="tcexport" style="margin-left:10px"/>
</div>
<template >
<el-table
ref="filterTable"
:data="tableData"
v-loading = 'loading'
<q-select filled stack-label input-debounce="0" option-value="Id" @input="resetSearch()"
option-label="Name" v-model="msg.UserType" :options="UserTypeList" label="类型" :dense="false" emit-value
map-options >
</q-select>
</div>
<div class="col-3">
<q-select filled stack-label input-debounce="0" option-value="Id" @input="resetSearch()"
option-label="Name" v-model="msg.IsDept" :options="IsDeptList" label="业绩方式" :dense="false" emit-value
map-options >
</q-select>
</div>
</div>
</div>
<div class="page-search row items-center" style="justify-content: space-between;">
<span style="font-size: 20px;font-weight: 400;">提成统计 <span style="font-size: 16px;">(提成总计:{{TotalCommission}})</span> </span>
<q-btn  color="primary" size="11px" label="导出" @click="tcexport" style="margin-left:10px"/>
</div>
<template >
<el-table
ref="filterTable"
:data="tableData"
v-loading = 'loading'
:header-cell-style="{backgroundColor:'#f5f6f7', color: '#a8a8b3'}"
border
style="width: 100%">
<el-table-column prop="SchoolName" label="校区" width='150' ></el-table-column>
<el-table-column prop="DeptName" label="部门" ></el-table-column>
<el-table-column prop="UserType" label="类型" >
<template slot-scope="scope">
<span v-if="scope.row.UserType==1">市场</span>
<span v-if="scope.row.UserType==2">顾问</span>
<span v-if="scope.row.UserType==3">教师</span>
</template>
</el-table-column>
<el-table-column prop="UserName" label="人员" > </el-table-column>
<el-table-column prop="IsDept" label="业绩方式" >
<template slot-scope="scope">
<span v-if="scope.row.IsDept==1">部门</span>
<span v-if="scope.row.IsDept==2">个人</span>
</template>
</el-table-column>
<el-table-column width='170' prop="ClassName" label="班级信息" >
<template slot-scope="scope">
<div><span style="cursor: pointer;text-decoration: underline;" @click="goUrlclass('/course/classManage',scope.row.ClassName)">{{scope.row.ClassName}}</span> {{scope.row.ClassTypeName}}<span style="color: #409EFF;" v-if='scope.row.IsContinueClass==1'>(续)</span></div>
<div>学生数量:{{scope.row.StudentCount}}</div>
<div>班号:{{scope.row.ClassNo}}</div>
</template>
</el-table-column>
<el-table-column prop="OrderId" label="订单号" >
:header-cell-style="{backgroundColor:'#f5f6f7', color: '#a8a8b3'}"
border
style="width: 100%">
<el-table-column prop="SchoolName" label="校区" width='150' ></el-table-column>
<el-table-column prop="DeptName" label="部门" ></el-table-column>
<el-table-column prop="UserType" label="类型" >
<template slot-scope="scope">
<div style="cursor: pointer;text-decoration: underline;" @click="goUrlorderList(scope.row.ClassType == -1 ?'/sale/studyOrderStatistics' : '/sale/orderStatistics',scope.row)">{{scope.row.OrderId}} </div>
</template>
</el-table-column>
<el-table-column width='130' prop="TotalCommissionMoney" label="订单发放信息">
<template slot-scope="scope">
<div style="color: rgb(255, 156, 0);cursor: pointer;text-decoration: underline;" @click="getmingxi(scope.row)">
应发:{{scope.row.TotalCommissionMoney}}
<q-popup-proxy transition-show="flip-up" transition-hide="flip-down">
<div style="padding: 10px;border-radius: 4px;background: #FFF;max-width: 500px;">
{{ChangeLog}}
</div>
</q-popup-proxy>
</div>
<div>累计已发:{{scope.row.GiveOutMoney}}</div>
<span v-if="scope.row.UserType==1">市场</span>
<span v-if="scope.row.UserType==2">顾问</span>
<span v-if="scope.row.UserType==3">教师</span>
</template>
</el-table-column>
<el-table-column prop="IsFirstCommission" label="首次发放">
</el-table-column>
<el-table-column prop="UserName" label="人员" > </el-table-column>
<el-table-column prop="IsDept" label="业绩方式" >
<template slot-scope="scope">
<div>{{scope.row.IsFirstCommission==1?'是':'否'}}</div>
<span v-if="scope.row.IsDept==1">部门</span>
<span v-if="scope.row.IsDept==2">个人</span>
</template>
</el-table-column>
<el-table-column prop="TotalHours" label="课时统计" width='160'>
<template slot-scope="scope">
<div>总计课时:{{scope.row.TotalHours}}</div>
<div>学习课时:{{scope.row.TotalLearn}}</div>
<div>当期课时:{{scope.row.CurrentHours>=0 ?scope.row.CurrentHours:'-'}}</div>
</el-table-column>
<el-table-column width='170' prop="ClassName" label="班级信息" >
<template slot-scope="scope">
<div><span style="cursor: pointer;text-decoration: underline;" @click="goUrlclass('/course/classManage',scope.row.ClassName)">{{scope.row.ClassName}}</span> {{scope.row.ClassTypeName}}<span style="color: #409EFF;" v-if='scope.row.IsContinueClass==1'>(续)</span></div>
<div>学生数量:{{scope.row.StudentCount}}</div>
<div>班号:{{scope.row.ClassNo}}</div>
</template>
</el-table-column>
<el-table-column width='160' prop="CurrentPeriodMoney" label="当期发放信息">
<template slot-scope="scope">
<div style="color: rgb(255, 156, 0);">应发:{{scope.row.CurrentPeriodMoney}}</div>
<div>抵扣:{{scope.row.DeductionMoney}}</div>
</el-table-column>
<el-table-column prop="OrderId" label="订单号" >
<template slot-scope="scope">
<div style="cursor: pointer;text-decoration: underline;" @click="goUrlorderList(scope.row.ClassType == -1 ?'/sale/studyOrderStatistics' : '/sale/orderStatistics',scope.row)">{{scope.row.OrderId}} </div>
</template>
</el-table-column>
<el-table-column prop="YFMoney" label="最终发放">
</el-table-column>
<el-table-column width='130' prop="TotalCommissionMoney" label="订单发放信息">
<template slot-scope="scope">
<div style="color: rgb(233, 82, 82);">{{scope.row.YFMoney}}</div>
<div style="color: rgb(255, 156, 0);cursor: pointer;text-decoration: underline;" @click="getmingxi(scope.row)">
应发:{{scope.row.TotalCommissionMoney}}
<q-popup-proxy transition-show="flip-up" transition-hide="flip-down">
<div style="padding: 10px;border-radius: 4px;background: #FFF;max-width: 500px;">
{{ChangeLog}}
</div>
</q-popup-proxy>
</div>
<div>累计已发:{{scope.row.GiveOutMoney}}</div>
</template>
</el-table-column>
<el-table-column width='85' prop="Periods" label="期数"> </el-table-column>
<el-table-column prop="Remark" width='160' label="备注"> </el-table-column>
</el-table>
<div style="margin-top: 10px;text-align: center;">
<el-pagination background @current-change="handleCurrentChanges" layout="total,prev, pager, next, jumper" :current-page.sync="msg.PageIndex"
:page-size="msg.PageSize" :total='total'>
</el-pagination>
</div>
</template>
</el-table-column>
<el-table-column prop="IsFirstCommission" label="首次发放">
<template slot-scope="scope">
<div>{{scope.row.IsFirstCommission==1?'是':'否'}}</div>
</template>
</el-table-column>
<el-table-column prop="TotalHours" label="课时统计" width='160'>
<template slot-scope="scope">
<div>总计课时:{{scope.row.TotalHours}}</div>
<div>学习课时:{{scope.row.TotalLearn}}</div>
<div>当期课时:{{scope.row.CurrentHours>=0 ?scope.row.CurrentHours:'-'}}</div>
</template>
</el-table-column>
<el-table-column width='160' prop="CurrentPeriodMoney" label="当期发放信息">
<template slot-scope="scope">
<div style="color: rgb(255, 156, 0);">应发:{{scope.row.CurrentPeriodMoney}}</div>
<div>抵扣:{{scope.row.DeductionMoney}}</div>
</template>
</el-table-column>
</div>
</template>
<el-table-column prop="YFMoney" label="最终发放">
<template slot-scope="scope">
<div style="color: rgb(233, 82, 82);">{{scope.row.YFMoney}}</div>
</template>
</el-table-column>
<el-table-column width='85' prop="Periods" label="期数"> </el-table-column>
<el-table-column prop="Remark" width='160' label="备注"> </el-table-column>
</el-table>
<div style="margin-top: 10px;text-align: center;">
<el-pagination background @current-change="handleCurrentChanges" layout="total,prev, pager, next, jumper" :current-page.sync="msg.PageIndex"
:page-size="msg.PageSize" :total='total'>
</el-pagination>
</div>
</template>
</div>
</template>
<script>
import {
getSchoolDropdown
......@@ -218,6 +218,7 @@
import {
EduDownLoad,
} from '../../../api/common/common';
import { number } from 'echarts'
export default {
meta: {
title: "业绩提成统计"
......@@ -279,13 +280,21 @@
if(this.$route.query && this.$route.query.OrderId){
this.msg.OrderId = this.$route.query.OrderId
}
// 从业绩表跳转带参
if(this.$route.query && this.$route.query.UserId){
this.PersionList = JSON.parse(JSON.stringify(this.AllemployeeList))
this.msg.UserId = this.$route.query.UserId - 0
}
this.getList()
this.setClass()
this.getBranchList()
this.getEmployee();//销售
this.getPeriodList()//周期
this.setClass()//班级
this.getBranchList()//校区
this.getDepartList(0);
this.getEmployee();
this.getPeriodList()
},
......@@ -295,6 +304,7 @@
this.getList()
},
getList(){
console.log(this.msg, '02222222222')
if(this.msg)
this.loading = true;
getSellAchievementsStatistics(this.msg).then(res => {
......@@ -390,14 +400,14 @@
},
//筛选员工
filterFn2(val, update) {
update(() => {
update(() => {
if (val === '') {
this.PersionList = JSON.parse(JSON.stringify(this.AllemployeeList))
} else {
const needle = val.toLowerCase()
this.PersionList = this.AllemployeeList.filter(v => v.EmployeeName.toLowerCase().indexOf(needle) > -1)
}
})
})
},
//获取员工列表
getEmployee() {
......@@ -428,8 +438,14 @@
Id: 0
}
this.PeriodsList.unshift(obj)
// 从业绩表跳转带参
if(this.$route.query.Periods){
this.PeriodsList.forEach(item=>{
if(item.Periods==this.$route.query.Periods){
this.msg.PeriodId = item.Id
}
})
}
}
})
},
......
......@@ -113,6 +113,14 @@
height: 40px;
background-color: rgb(238, 238, 239);
}
.color_text{
color: #2961fe;
}
.color_text:hover{
text-decoration: underline;
cursor:pointer;
}
</style>
<template>
<div class="page-body studentTracking">
......@@ -223,22 +231,27 @@
>
<div v-if="item.MonthList[x.index]">
<div v-if="x.Id == 1">
<span>{{ item.MonthList[x.index].Achievement }}</span>
<span :class="item.RoleName=='小计'? '' : 'color_text'"
@click="item.RoleName=='小计'?'':clickDataDetails(item.EmpId,item.MonthList[x.index],'1')">{{ item.MonthList[x.index].Achievement }}</span>
</div>
<div v-if="x.Id == 2" style="padding: 7px;">
<span>{{ item.MonthList[x.index].Rate }}</span>
</div>
<div v-if="x.Id == 3" style="padding: 3px;">
<span>{{ item.MonthList[x.index].Rebate }}</span>
<span :class="item.RoleName=='小计'? '' : 'color_text'"
@click="item.RoleName=='小计'?'':clickDataDetails(item.EmpId,item.MonthList[x.index],'1')">{{ item.MonthList[x.index].Rebate }}</span>
</div>
<div v-if="x.Id == 4" style="padding: 3px;">
<span>{{ item.MonthList[x.index].Commission }}</span>
<span :class="item.RoleName=='小计'? '' : 'color_text'"
@click="item.RoleName=='小计'?'':clickDataDetails(item.EmpId,item.MonthList[x.index],'2')">{{ item.MonthList[x.index].Commission }}</span>
</div>
<div v-if="x.Id == 5" style="padding: 3px;">
<span>{{ item.MonthList[x.index].Brokerage }}</span>
<span :class="item.RoleName=='小计'? '' : 'color_text'"
@click="item.RoleName=='小计'?'':clickDataDetails(item.EmpId,item.MonthList[x.index],'3')">{{ item.MonthList[x.index].Brokerage }}</span>
</div>
<div v-if="x.Id == 6" style="padding: 3px;">
<span>{{ item.MonthList[x.index].Bonus }}</span>
<span :class="item.RoleName=='小计'? '' : 'color_text'"
@click="item.RoleName=='小计'?'':clickDataDetails(item.EmpId,item.MonthList[x.index],'4')">{{ item.MonthList[x.index].Bonus }}</span>
</div>
<div v-if="x.Id == 7" style="padding: 3px;">
<span>{{ item.MonthList[x.index].Total }}</span>
......@@ -302,13 +315,58 @@ export default {
mounted() {
var d = new Date();
var currentY = d.getFullYear();
var currentM = d.getMonth();
var currentM = d.getMonth() - 1;
var month = d.getMonth() + 1;
this.msg.StartMonth = currentY + "-" + currentM;
this.msg.EndMonth = currentY + "-" + month;
this.dateArray.push(this.msg.StartMonth)
this.dateArray.push(this.msg.EndMonth)
this.getList(); //获取数据
},
methods: {
// 数据详情
clickDataDetails(UserId,item,type){
if(type==2){//提现
const routeData = this.$router.resolve({
path: '/financial/market/marketStatistics',
query: {
UserId: UserId,
Periods: item.Month
}
});
window.open(routeData.href, '_blank')
}
if(type==3){//返佣金额
const routeData = this.$router.resolve({
path: '/financial/returnPassbook/returnpassbookStatistics',
query: {
UserId: UserId,
Periods: item.Month
}
});
window.open(routeData.href, '_blank')
}
if(type==4){//人头奖励
const routeData = this.$router.resolve({
path: '/financial/market/empBonusDetail',
query: {
UserId: UserId,
Periods: item.Month
}
});
window.open(routeData.href, '_blank')
}
if(type==1){//业绩、订单返佣
const routeData = this.$router.resolve({
path: '/sale/orderStatistics',
query: {
UserId: UserId,
Periods: item.Month
}
});
window.open(routeData.href, '_blank')
}
},
tcexport(){//导出
var msg = JSON.parse(JSON.stringify(this.msg));
EduDownLoad("/SellAchievements/GetSellAchievementsRankStatToExcel", msg, "业绩提成排名.xls")
......
......@@ -312,6 +312,7 @@
}
},
mounted() {
this.getPeriodList()//周期
if (this.$route.query && this.$route.query.OrderId) {
this.msg.OrderId = this.$route.query.OrderId
}
......@@ -340,10 +341,14 @@
this.isNormal = false;
this.msg.Q_SelectNormal = '-1'
}
if (this.$route.query && this.$route.query.UserId) {
this.msg.OrderSourceId = this.$route.query.UserId-0;
this.msg.OrderSourceType = 1
}
this.getList()
this.setClass()
this.getBranchList()
this.getPeriodList()
this.getCustomFrom() //来源
this.getEmployeeList()
this.getStudentDorpDown()
......@@ -538,7 +543,16 @@
BatchName: '不限',
Id: '0'
}
this.PeriodsList.unshift(obj)
this.PeriodsList.unshift(obj)
// 从业绩表跳转带参
if(this.$route.query.Periods){
let dataTime = this.$route.query.Periods.slice(0,4)+this.$route.query.Periods.slice(5,7)
this.PeriodsList.forEach(item=>{
if(item.BatchName.slice(0,6)==dataTime){
this.msg.BatchId = item.Id
}
})
}
}
})
},
......
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