Commit 056008a1 authored by 黄奎's avatar 黄奎

页面修改

parent ce2180ce
<style> <style>
.baseSet_Title { .baseSet_Title {
width: 120px !important; width: 120px !important;
padding: 18px 0 0 16px; padding: 18px 0 0 16px;
text-align: right; text-align: right;
} }
.salesCommission .border-bottom {
/* border-bottom: 1px dashed #EEE; */ .salesCommission .border-bottom {
padding-bottom: 5px; /* border-bottom: 1px dashed #EEE; */
margin-bottom: 5px; padding-bottom: 5px;
} margin-bottom: 5px;
.salesCommission .text-bottom{ }
height: 32px;line-height: 32px; margin-bottom: 10px;
} .salesCommission .text-bottom {
.salesCommission ._icon_btn i.icon-sousuo { height: 32px;
line-height: 32px;
margin-bottom: 10px;
}
.salesCommission ._icon_btn i.icon-sousuo {
background-color: #47BF8C; background-color: #47BF8C;
} }
.salesCommission ._icon_btn .icon-add{
.salesCommission ._icon_btn .icon-add {
background-color: #47BF8C; background-color: #47BF8C;
} }
.salesCommission ._icon_btn i {
.salesCommission ._icon_btn i {
width: 26px; width: 26px;
height: 26px; height: 26px;
display: inline-block; display: inline-block;
...@@ -30,367 +37,343 @@ ...@@ -30,367 +37,343 @@
cursor: pointer; cursor: pointer;
outline: none; outline: none;
} }
.salesCommission .el-table td,.el-table th{
.salesCommission .el-table td,
.el-table th {
padding: 5px 0; padding: 5px 0;
} }
</style>
<template>
<div class="page-body salesCommission">
</style> <div class="page-search row items-center">
<template> <div class="col row wrap q-mr-lg q-col-gutter-md">
<div class="page-body salesCommission"> <div style="margin-right: 20px;" v-if='iscMaker==true'>
<div class="page-search row items-center"> <div class="block">
<div class="col row wrap q-mr-lg q-col-gutter-md"> <span style="margin-right: 5px;">校区</span>
<div style="margin-right: 20px;" v-if='iscMaker==true'> <el-select v-model="msg.SchoolId" filterable @change="handleCurrentChanges(1)">
<div class="block"> <el-option value="-1" label="不限"></el-option>
<span style="margin-right: 5px;">校区</span> <el-option v-for='item in CompanyList' :label='item.SName' :value='item.SId' :key='item.SId'></el-option>
<el-select v-model="msg.SchoolId" filterable @change="handleCurrentChanges(1)"> </el-select>
<el-option value="-1" label="不限"></el-option>
<el-option v-for='item in CompanyList' :label='item.SName' :value='item.SId' :key='item.SId'></el-option>
</el-select>
</div>
</div>
<div v-if='isgenerate==true'>
<div class="block" style="display:flex">
<span style="margin-right: 5px;">选择月份</span>
<el-date-picker
v-model="value2"
type="month"
placeholder="选择月">
</el-date-picker>
<q-btn :loading="loading1" color="primary" size="11px" label="生成提成" @click="scCommission" style="margin-left:10px"/>
</div>
</div>
</div>
</div> </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="Id" label="ID" ></el-table-column> -->
<el-table-column prop="Periods" label="周期" ></el-table-column>
<el-table-column prop="SumPrice" label="提成总金额" > </el-table-column>
<el-table-column prop="SchooldCommission" label="校区提成总金额" >
<template slot-scope="scope">
<div style="display: flex;flex-wrap: wrap;" v-if='scope.row.SchooldCommission>=0'>
{{scope.row.SchooldCommission>=0?scope.row.SchooldCommission:'-'}}
</div>
</template>
</el-table-column>
<el-table-column prop="FrIdList" label="财务单据" >
<template slot-scope="scope">
<div style="display: flex;flex-wrap: wrap;" v-if='scope.row.FrIdList.length>0'>
<span v-for="(x,y) in scope.row.FrIdList" @click="gocaiwuxiangq(x)" style="cursor: pointer;text-decoration: underline;margin-right: 5px; color: #409EFF;">{{x}}</span>
</div>
<div v-else></div>
</template>
</el-table-column>
<el-table-column prop="CreateByName" label="创建人" > </el-table-column>
<el-table-column prop="CreateTime" label="创建时间" > </el-table-column>
<el-table-column label="操作" >
<template slot-scope="scope">
<div class="_icon_btn">
<el-tooltip class="item" effect="dark" content="查看" placement="top">
<i class="iconfont icon-sousuo"
@click="goUrl(scope.row.Id)"></i>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="制单" placement="top" v-if='iscMaker==true'>
<i class="iconfont icon-add" v-if='iscMaker==true'
@click="generalFinancacls(scope.row)"></i>
</el-tooltip>
</div>
</template>
</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> </div>
<div v-if='isgenerate==true'>
</template> <div class="block" style="display:flex">
<el-dialog title="设置发放用户" width="700px" <span style="margin-right: 5px;">选择月份</span>
:visible.sync="costmode" center > <el-date-picker v-model="value2" type="month" placeholder="选择月">
<el-table </el-date-picker>
:data="SendEmployeeList" <q-btn :loading="loading1"  color="primary"  size="11px"  label="生成提成"  @click="scCommission"
border  style="margin-left:10px" />
@selection-change="handleSelectionChange" </div>
style="width: 100%">
<el-table-column type="selection" width="55" :selectable="checkSelectable"></el-table-column>
<el-table-column prop="UserName" label="用户" > </el-table-column>
<el-table-column prop="StudentCount" label="客人数量" > </el-table-column>
<el-table-column prop="CurrentPeriodMoney" label="应发提成金额" > </el-table-column>
<el-table-column prop="IsGiveOut" label="是否已发放" >
<template slot-scope="scope">
<span v-if='scope.row.IsGiveOut==1'>已发放</span>
<span v-if='scope.row.IsGiveOut==2'>未发放</span>
</template>
</el-table-column>
</el-table>
<div style="margin-top: 10px;">金额总额:{{totalAmount}}</div>
<div slot="footer" class="dialog-footer">
<el-button class="hollowFixedBtn" @click="costmode=false">取消</el-button>
<el-button class="normalBtn" type="primary" @click="preservetransaction()">确定</el-button>
</div> </div>
</el-dialog> </div>
</div> </div>
</template> <template>
<script> <el-table ref="filterTable" :data="tableData" v-loading='loading'
import { :header-cell-style="{backgroundColor:'#f5f6f7', color: '#a8a8b3'}" border style="width: 100%">
getSchoolDropdown <el-table-column prop="Periods" label="周期"></el-table-column>
} from '../../../api/school/index' <el-table-column prop="SumPrice" label="提成总金额"> </el-table-column>
import { <el-table-column prop="SchooldCommission" label="校区提成总金额">
GetClassTypePageList, <template slot-scope="scope">
} from '../../../api/system/index'; <div style="display: flex;flex-wrap: wrap;" v-if='scope.row.SchooldCommission>=0'>
import{ {{scope.row.SchooldCommission>=0?scope.row.SchooldCommission:'-'}}
getSellAchievementsPeriodsPageList, </div>
setSellCommissionRule, </template>
setAchievementsCommissionInfo, </el-table-column>
getSellAchievementsSendEmployeeList, <el-table-column prop="FrIdList" label="财务单据">
setSellAchievementsSendEmployee <template slot-scope="scope">
} from '../../../api/finance/index' <div style="display: flex;flex-wrap: wrap;" v-if='scope.row.FrIdList.length>0'>
export default { <span v-for="(x,y) in scope.row.FrIdList" :key="y" @click="gocaiwuxiangq(x)"
meta: { style="cursor: pointer;text-decoration: underline;margin-right: 5px; color: #409EFF;">{{x}}</span>
title: "留学销售提成列表" </div>
<div v-else></div>
</template>
</el-table-column>
<el-table-column prop="CreateByName" label="创建人"> </el-table-column>
<el-table-column prop="CreateTime" label="创建时间"> </el-table-column>
<el-table-column label="操作">
<template slot-scope="scope">
<div class="_icon_btn">
<el-tooltip class="item" effect="dark" content="查看" placement="top">
<i class="iconfont icon-sousuo" @click="goUrl(scope.row.Id)"></i>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="制单" placement="top" v-if='iscMaker==true'>
<i class="iconfont icon-add" v-if='iscMaker==true' @click="generalFinancacls(scope.row)"></i>
</el-tooltip>
</div>
</template>
</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-dialog title="设置发放用户" width="700px" :visible.sync="costmode" center>
<el-table :data="SendEmployeeList" border @selection-change="handleSelectionChange" style="width: 100%">
<el-table-column type="selection" width="55" :selectable="checkSelectable"></el-table-column>
<el-table-column prop="UserName" label="用户"> </el-table-column>
<el-table-column prop="StudentCount" label="客人数量"> </el-table-column>
<el-table-column prop="CurrentPeriodMoney" label="应发提成金额"> </el-table-column>
<el-table-column prop="IsGiveOut" label="是否已发放">
<template slot-scope="scope">
<span v-if='scope.row.IsGiveOut==1'>已发放</span>
<span v-if='scope.row.IsGiveOut==2'>未发放</span>
</template>
</el-table-column>
</el-table>
<div style="margin-top: 10px;">金额总额:{{totalAmount}}</div>
<div slot="footer" class="dialog-footer">
<el-button class="hollowFixedBtn" @click="costmode=false">取消</el-button>
<el-button class="normalBtn" type="primary" @click="preservetransaction()">确定</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {
getSchoolDropdown
} from '../../../api/school/index'
import {
GetClassTypePageList,
} from '../../../api/system/index';
import {
getSellAchievementsPeriodsPageList,
setSellCommissionRule,
setAchievementsCommissionInfo,
getSellAchievementsSendEmployeeList,
setSellAchievementsSendEmployee
} from '../../../api/finance/index'
export default {
meta: {
title: "留学销售提成列表"
},
props: {},
components: {},
data() {
return {
loading: false,
loading1: false,
value2: '',
//列表数据参数
msg: {
PageIndex: 1,
PageSize: 15,
SchoolId: '-1'
},
pageCount: 0,
persistent: false,
listData: {},
tableData: [],
total: 0,
CompanyList: [],
isgenerate: false, //是否有生成的权限
iscMaker: false, //是否有制单的权限
SendEmployeeList: [], //可发放提成的用户列表
costmode: false,
multipleSelection: [],
totalAmount: 0, //选中的金额总额
CheckID: 0,
}
},
created() {
let userinfo = this.getLocalStorage();
userinfo.ActionMenuList.map(x => { //判断权限
if (x.FunctionCode == "SAGenerate_Commission") { //判断是否有生成的权限
this.isgenerate = true;
}
if (x.FunctionCode == "SACommission_maker") { //判断是否有制单的权限
this.iscMaker = true;
}
})
var myDate = new Date();
myDate.setMonth(myDate.getMonth() - 1);
this.value2 = myDate.getFullYear() + "-" + (myDate.getMonth() + 1)
},
mounted() {
this.getList(); //获取提成周期列表
this.getBranchList()
},
methods: {
getList() {
this.loading = true;
getSellAchievementsPeriodsPageList(this.msg).then(res => {
if (res.Code == 1) {
this.loading = false;
this.tableData = res.Data.PageData
this.total = res.Data.Count
}
})
}, },
props: {}, scCommission() { //生成提成
components: {}, if (this.loading1 == false) {
data() { this.loading1 = true;
return { setAchievementsCommissionInfo({
loading: false, Month: this.value2
loading1: false, }).then(res => {
value2:'', if (res.Code == 1) {
//列表数据参数 this.$q.notify({
msg: { icon: 'iconfont icon-chenggong',
PageIndex: 1, color: 'accent',
PageSize: 15, timeout: 2000,
SchoolId:'-1' message: '生成提成成功',
}, position: 'top'
pageCount: 0, })
persistent: false, this.getList()
listData:{}, }
tableData:[], this.loading1 = false;
total:0, }).catch(err => {
CompanyList:[], this.loading1 = false;
isgenerate:false,//是否有生成的权限 })
iscMaker:false,//是否有制单的权限
SendEmployeeList:[],//可发放提成的用户列表
costmode:false,
multipleSelection:[],
totalAmount:0,//选中的金额总额
CheckID:0,
} }
}, },
created() { getBranchList() { //获取校区
let userinfo = this.getLocalStorage(); getSchoolDropdown({}).then(res => {
userinfo.ActionMenuList.map(x=>{//判断权限 this.CompanyList = res.Data;
if(x.FunctionCode == "SAGenerate_Commission"){//判断是否有生成的权限 }).catch(() => {
this.isgenerate = true; })
} },
if(x.FunctionCode == "SACommission_maker"){//判断是否有制单的权限 goUrl(id) {
this.iscMaker = true; this.$router.push({
path: '/financial/market/employeeCommission',
query: {
"id": id,
blank: 'y',
} }
}) })
var myDate=new Date();
myDate.setMonth(myDate.getMonth()-1);
this.value2 = myDate.getFullYear() + "-" + (myDate.getMonth()+1)
}, },
mounted() { gocaiwuxiangq(id) {
this.getList();//获取提成周期列表 this.OpenNewUrl("/financial/financalDocument/FinancialDocumentsDetail", {
this.getBranchList() id: id
});
}, },
methods: { generalFinancacls(item) {
getList(){ this.CheckID = item.Id
this.loading = true; if (this.msg.SchoolId == -1) {
getSellAchievementsPeriodsPageList(this.msg).then(res => { if (item.SumPrice > 0) {
if (res.Code == 1) { this.tishi(item.SumPrice, item.Id)
this.loading = false; } else {
this.tableData = res.Data.PageData this.$message.error('提成总金额为0')
this.total = res.Data.Count
}
})
},
scCommission(){//生成提成
if(this.loading1 == false){
this.loading1= true;
setAchievementsCommissionInfo({Month:this.value2}).then(res => {
if (res.Code == 1) {
this.$q.notify({
icon: 'iconfont icon-chenggong',
color: 'accent',
timeout: 2000,
message: '生成提成成功',
position: 'top'
})
this.getList()
}
this.loading1= false;
}).catch(err=>{
this.loading1= false;
})
} }
}, } else {
getBranchList(){//获取校区 if (item.SchooldCommission > 0) {
getSchoolDropdown({}).then(res => { this.goaddFinancial(item.SchooldCommission, item.Id, '')
this.CompanyList = res.Data; } else {
}).catch(() => { this.$message.error('校区提成总金额为0')
}
}
},
goaddFinancial(Money, Id, EmpIds) {
let School_Id = 0;
let obj = {
CostType: 316,
Money: Money,
CurrencyId: 21,
XSTC: 1,
School_Id: this.msg.SchoolId == -1 ? 0 : this.msg.SchoolId,
OtherType: 50, //业绩提成
ReFinanceId: Id,
ReFinanceId2: this.msg.SchoolId,
EduCommissionEmp: EmpIds
}
let query = {
blank: "y",
tab: "新增付款单据",
Type: 2,
IsUploadPic: 1,
Name: '销售提成单',
id: 143,
orderObj: JSON.stringify(obj)
}
this.OpenNewUrl("/financial/financalDocument/addFinancialDocuments", query)
},
tishi(Money, Id) {
let that = this
this.$q.dialog({
title: "销售制单",
message: "你正在进行所有校区一起制单操作?",
persistent: true,
cancel: {
label: "取消",
flat: true
},
ok: {
label: "确认",
flat: true,
focus: true
}
}).onOk(() => {
this.getcomSendEmployeeList(Id)
});
},
getcomSendEmployeeList(Id) { //获取可发放提成的用户
getSellAchievementsSendEmployeeList({
PeriodId: Id
}).then(res => {
this.SendEmployeeList = res.Data;
this.costmode = true
}).catch(() => {
})
},
handleCurrentChanges(val) {
this.msg.PageIndex = val;
this.getList()
},
checkSelectable(row) {
return row.IsGiveOut == 2
},
handleSelectionChange(val) {
this.multipleSelection = val;
let zong = 0
this.multipleSelection.forEach(x => {
zong = this.accAdd(zong, x.CurrentPeriodMoney)
})
this.totalAmount = zong
},
preservetransaction() {
let that = this
if (this.multipleSelection.length == 0) {
this.$q.notify({
type: 'negative',
position: "top",
message: `请选择您要发放的用户`
}) })
}, return
goUrl(id ) { }
this.$router.push({ this.$q.dialog({
path: '/financial/market/employeeCommission', title: "设置用户状态",
query: { message: "确认后无法更改用户制单状态,如果需修改请联系管理员",
"id": id, persistent: true,
blank: 'y', cancel: {
} label: "取消",
}) flat: true
}, },
gocaiwuxiangq(id){ ok: {
this.OpenNewUrl("/financial/financalDocument/FinancialDocumentsDetail", { label: "确认",
id: id flat: true,
}); focus: true
},
generalFinancacls(item) {
this.CheckID = item.Id
if(this.msg.SchoolId == -1){
if(item.SumPrice>0){
this.tishi(item.SumPrice,item.Id)
}else{
this.$message.error('提成总金额为0')
}
}else{
if(item.SchooldCommission>0){
this.goaddFinancial(item.SchooldCommission,item.Id,'')
}else{
this.$message.error('校区提成总金额为0')
}
} }
}).onOk(() => {
}, let EmpIds = '';
goaddFinancial(Money,Id,EmpIds){ let data = []
let School_Id = 0; this.multipleSelection.forEach(x => {
data.push(x.UserId)
let obj = { })
CostType: 316, EmpIds = data.join(',')
Money: Money, setSellAchievementsSendEmployee({
CurrencyId: 21, PeriodId: this.CheckID,
XSTC: 1, EmpIds: EmpIds
School_Id:this.msg.SchoolId == -1?0:this.msg.SchoolId, }).then(res => {
OtherType:50,//业绩提成 this.goaddFinancial(this.totalAmount, this.CheckID, EmpIds)
ReFinanceId:Id, this.$message.success('设置成功');
ReFinanceId2:this.msg.SchoolId,
EduCommissionEmp:EmpIds
}
let query = {
blank: "y",
tab: "新增付款单据",
Type: 2,
IsUploadPic: 1,
Name:'销售提成单',
id:143,
orderObj: JSON.stringify(obj)
}
this.OpenNewUrl("/financial/financalDocument/addFinancialDocuments", query)
},
tishi(Money,Id){
let that = this
this.$q.dialog({
title: "销售制单",
message: "你正在进行所有校区一起制单操作?",
persistent: true,
cancel: {
label: "取消",
flat: true
},
ok: {
label: "确认",
flat: true,
focus: true
}
}).onOk(() => {
this.getcomSendEmployeeList(Id)
});
},
getcomSendEmployeeList(Id){//获取可发放提成的用户
getSellAchievementsSendEmployeeList({PeriodId:Id}).then(res => {
this.SendEmployeeList = res.Data;
this.costmode = true
}).catch(() => { }).catch(() => {
}) })
}, });
handleCurrentChanges(val){ }
this.msg.PageIndex= val; },
this.getList() }
}, </script>
checkSelectable(row){ <style lang="sass">
return row.IsGiveOut==2 @import url('~assets/css/table.sass')
}, </style>
handleSelectionChange(val) { \ No newline at end of file
this.multipleSelection = val;
let zong = 0
this.multipleSelection.forEach(x=>{
zong = this.accAdd(zong,x.CurrentPeriodMoney)
})
this.totalAmount = zong
},
preservetransaction(){
let that = this
if( this.multipleSelection.length == 0){
this.$q.notify({
type: 'negative',
position: "top",
message: `请选择您要发放的用户`
})
return
}
this.$q.dialog({
title: "设置用户状态",
message: "确认后无法更改用户制单状态,如果需修改请联系管理员",
persistent: true,
cancel: {
label: "取消",
flat: true
},
ok: {
label: "确认",
flat: true,
focus: true
}
}).onOk(() => {
let EmpIds = '';
let data = []
this.multipleSelection.forEach(x=>{
data.push(x.UserId)
})
EmpIds = data.join(',')
setSellAchievementsSendEmployee({PeriodId:this.CheckID,EmpIds:EmpIds}).then(res => {
this.goaddFinancial(this.totalAmount,this.CheckID,EmpIds)
this.$message.success('设置成功');
}).catch(() => {
})
});
}
},
}
</script>
<style lang="sass">
@import url('~assets/css/table.sass')
</style>
\ No newline at end of file
<style> <style>
</style> </style>
<template> <template>
<div class="page-body empBonus">
<div class="page-search row items-center">
<div class="col row wrap q-mr-lg q-col-gutter-md">
<div>
<div class="block" style="display:flex">
<span style="margin-right: 5px;">选择月份</span>
<el-date-picker v-model="value2" type="month" placeholder="选择月">
</el-date-picker>
<q-btn :loading="loading1"  color="primary"  size="11px"  label="生成提成"  @click="createBonus"
 style="margin-left:10px" />
</div>
</div>
</div>
</div>
<template>
<el-table ref="filterTable" :data="dataList" v-loading='loading'
:header-cell-style="{backgroundColor:'#f5f6f7', color: '#a8a8b3'}" border style="width: 100%">
<el-table-column prop="Periods" label="周期"></el-table-column>
<el-table-column prop="Name" label="名称"></el-table-column>
<el-table-column prop="SumPrice" label="人头奖励总金额"> </el-table-column>
<el-table-column prop="FrIdList" label="财务单据">
<template slot-scope="scope">
</template>
</el-table-column>
<el-table-column prop="CreateByName" label="创建人"> </el-table-column>
<el-table-column prop="CreateTime" label="创建时间"> </el-table-column>
<el-table-column label="操作">
<template slot-scope="scope">
<div class="_icon_btn">
<el-tooltip class="item" effect="dark" content="查看" placement="top">
<i class="iconfont icon-sousuo" @click="goUrl(scope.row.Id)"></i>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="制单" placement="top" >
<i class="iconfont icon-add" ></i>
</el-tooltip>
</div>
</template>
</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> </template>
<script> <script>
import { import {
getSchoolDropdown CreateEmpBonus,
} from '../../../api/school/index' queryPersonnelPeriodPage
} from '../../../api/finance/index'
export default { export default {
meta: { meta: {
title: "员工人头奖励" title: "员工人头奖励"
}, },
props: {}, props: {},
components: { components: {
selectTree
}, },
data() { data() {
return { return {
...@@ -25,16 +75,32 @@ ...@@ -25,16 +75,32 @@
PageIndex: 1, PageIndex: 1,
PageSize: 10, PageSize: 10,
}, },
pageCount: 0,
total: 0,
dataList: {},
value2: "",
} }
}, },
created() { created() {
let userinfo = this.getLocalStorage(); let userinfo = this.getLocalStorage();
}, },
mounted() { mounted() {
this.getList();
}, },
methods: { methods: {
//生成提成
createBonus() {
console.log("value2", this.value2);
},
//获取分页列表
getList() {
queryPersonnelPeriodPage(this.msg).then(res => {
console.log("res", res);
this.dataList = res.Data.PageData
this.pageCount = res.Data.PageCount;
this.total = res.Data.Count;
});
}
}, },
} }
</script> </script>
......
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