Commit ad56bdb7 authored by 黄奎's avatar 黄奎
parents daa5473d 9e3bf8aa
......@@ -218,3 +218,33 @@ export function getTeachingPerfPageList(data) {
data
});
}
/**
* 教师绩效 设置备注
*/
export function setTeachingPerfRemark(data) {
return request({
url: '/TeachingRewards/SetTeachingPerfRemark',
method: 'post',
data
});
}
/**
* 教师绩效 设置状态
*/
export function setTeachingPerfState(data) {
return request({
url: '/TeachingRewards/SetTeachingPerfState',
method: 'post',
data
});
}
/**
* 教师绩效 设置状态
*/
export function setTeachingPerfFinance(data) {
return request({
url: '/TeachingRewards/SetTeachingPerfFinance',
method: 'post',
data
});
}
import request from '../../utils/request'
/**
* 获取收支明细数据
*
*/
export function GetClassBalanceSheet(data) {
return request({
url: '/Finance/GetClassBalanceSheet',
method: 'post',
data
})
}
\ No newline at end of file
......@@ -157,7 +157,7 @@
<div class="row " style="align-items: center;margin-bottom: 20px;" >
<div style="width: 3px;height: 15px;background: #3FC4FF;margin-right: 10px"></div>收款单
</div>
<q-table :pagination="msg" :loading="floading" no-data-label="暂无相关数据" flat class="sticky-tow-column-table"
<q-table :pagination="financiaMsg" :loading="floading" no-data-label="暂无相关数据" flat class="sticky-tow-column-table"
:hide-pagination="true"
:data="dataList" :columns="columnsf" row-key="name">
......@@ -218,7 +218,7 @@
<div class="row " style="align-items: center;margin: 20px 0;" >
<div style="width: 3px;height: 15px;background: #3FC4FF;margin-right: 10px"></div>付款单
</div>
<q-table :pagination="msg" :loading="floading" no-data-label="暂无相关数据" flat class="sticky-tow-column-table"
<q-table :pagination="financiaMsg" :loading="floading" no-data-label="暂无相关数据" flat class="sticky-tow-column-table"
:hide-pagination="true"
:data="dataListP" :columns="columnsf" row-key="name">
......@@ -437,6 +437,7 @@
msg:{
PageIndex: 1,
PageSize: 12,
rowsPerPage:12,
OrderId: 0,
ClassId: 0,
GuestName: '',
......@@ -448,6 +449,7 @@
msg2:{
PageIndex: 1,
PageSize: 6,
rowsPerPage:6,
OrderId:0,
},
loading2:false,
......@@ -456,11 +458,13 @@
msg3:{
PageIndex: 1,
PageSize: 6,
rowsPerPage:6,
SourceId:0,
},
financiaMsg:{
pageIndex: 1,
pageSize: 999,
rowsPerPage:999,
TCID:0,
OrderID:0,
Type:1,
......
<template>
<div class="achievements page-body">
<q-tabs style="margin-bottom:20px;" v-model="tabCheck" @input="tabChange()" narrow-indicator dense align="left"
<q-tabs style="margin-bottom:20px;" v-model="msg.Q_IsComfirm" @input="tabChange()" narrow-indicator dense align="left"
class="text-primary">
<q-tab :ripple="false" name="first" label="已发放绩效" />
<q-tab :ripple="false" name="second" label="可发放绩效" />
<q-tab :ripple="false" name="1" label="已发放绩效" />
<q-tab :ripple="false" name="2" label="可发放绩效" />
</q-tabs>
<div class="page-search row items-center">
<div class="col row wrap q-mr-lg q-col-gutter-md">
......@@ -20,19 +20,32 @@
<q-input @input="resetSearch" clearable standout="bg-primary text-white" v-model="msg.TeacherName"
label="教师名称" maxlength="20" />
</div>
<div class="col-3">
<div class="col-3" v-if="msg.Q_IsComfirm==1">
<q-select @input="resetSearch" standout="bg-primary text-white" option-value="Id" option-label="Name"
v-model="msg.PerfState" :options="StateList" emit-value map-options label="状态" />
v-model="msg.Q_IsCreateFinance" :options="StateList" emit-value map-options label="状态" />
</div>
<div class="col-3">
<div class="col-3" v-if="msg.Q_IsComfirm==2">
<q-select @input="resetSearch" standout="bg-primary text-white" option-value="Id" option-label="Name"
v-model="msg.PerfState" :options="StateList2" emit-value map-options label="状态" />
</div>
<div class="col-3" v-if="msg.Q_IsComfirm==1">
<q-field filled>
 <template v-slot:control>
<el-date-picker v-model="dateList2" @change="resetSearch()" value-format="yyyy-MM-dd" type="daterange" style="border:none;"
 range-separator="至"  start-placeholder="开班开始时间"  end-placeholder="开班结束时间">
 range-separator="至"  start-placeholder="操作开始时间"  end-placeholder="操作结束时间">
  </el-date-picker>       
</template>
</q-field>
</div>
<div class="col-3" v-if="msg.Q_IsComfirm==2">
<q-field filled>
 <template v-slot:control>
<el-date-picker v-model="dateList" @change="resetSearch()" value-format="yyyy-MM-dd" type="daterange" style="border:none;"
 range-separator="至"  start-placeholder="结课开始时间"  end-placeholder="结课结束时间">
  </el-date-picker>       
</template>
</q-field>
</div>
</div>
</div>
......@@ -69,9 +82,41 @@
<div class="row d-div" style="align-items: flex-end;color: #F72E52;line-height: 14px">
<span style="font-size: 30px;line-height: 30px;font-weight: bold">{{item.Money.toFixed(2).split('.')[0]}}.</span> {{item.Money.toFixed(2).split('.')[1]}}
</div>
<div class="row d-div"><span class="d2-n">明细</span> <span style="color:#2961FE;">{{item.UnitPrice}}元</span> *{{item.ClassHours}}课时</div>
<div class="row d-div"><span class="d2-n" style="width: 60px">明细</span> <span style="color:#2961FE;text-decoration:underline;cursor: pointer">
{{item.UnitPrice}}元
<q-popup-proxy>
<q-banner>
<div style="margin-top:20px;" class="achievements-proxy">
<table class="socialTable">
<tr>
<td style="width:100px;" v-if="item.JJList&&item.JJList.length>0" :rowspan="item.JJList.length+2">平均上课率</td>
<td :colspan="item.JJFullRate.length+2">满班率</td>
</tr>
<tr>
<td></td>
<td v-for="(x,j) in item.JJFullRate" style="width:100px;">
<div class="Classdel_Div">{{x.StartValue}}%-{{x.EndValue}}%</div>
</td>
</tr>
<tr v-for="(x,j) in item.JJList">
<td style="width:100px;">
<div class="div_RowList">
{{x.StartValue}}<span v-if="x.StartValue>=0">%</span><span
v-if="x.StartValue>=0&&x.EndValue>=0">-</span>{{x.EndValue}}<span
v-if="x.EndValue>=0">%</span>
</div>
</td>
<td v-for="(subItem,subIndex) in x.FullClassList">
{{subItem.ClassMoney}}
</td>
</tr>
</table>
</div>
</q-banner>
</q-popup-proxy>
</span> *{{item.ClassHours}}课时</div>
</div>
<div class="d5">
<div class="d5" v-if="msg.Q_IsComfirm==1">
<div class="List-title">财务单据</div>
<div style="width: 100%;" class="row wrap">
<div class="d5-item" v-if="item.FinanceId && item.FinanceId>0">
......@@ -82,20 +127,70 @@
</div>
</div>
</div>
<div class="d5" v-if="msg.Q_IsComfirm==2">
<div class="List-title">课时奖励</div>
<div class="row d-div"><span class="d2-n" style="width: 110px;"
>预计课时费调涨</span> <span style="cursor: pointer;text-decoration:underline;">{{item.AddHourFee}}元</span>
<q-popup-proxy>
<q-banner>
<div style="margin-top:20px;" class="achievements-proxy">
<table class="socialTable">
<tr>
<td style="width:100px;" v-if="item.KSList&&item.KSList.length>0" :rowspan="item.KSList.length+2">平均上课率</td>
<td :colspan="item.KSFullRate.length+2">满班率</td>
</tr>
<tr>
<td></td>
<td v-for="(x,j) in item.KSFullRate" style="width:100px;">
<div class="Classdel_Div">{{x.StartValue}}%-{{x.EndValue}}%</div>
</td>
</tr>
<tr v-for="(x,j) in item.KSList">
<td style="width:100px;">
<div class="div_RowList">
{{x.StartValue}}<span v-if="x.StartValue>=0">%</span><span
v-if="x.StartValue>=0&&x.EndValue>=0">-</span>{{x.EndValue}}<span
v-if="x.EndValue>=0">%</span>
</div>
</td>
<td v-for="(subItem,subIndex) in x.FullClassList">
{{subItem.ClassMoney}}
</td>
</tr>
</table>
</div>
</q-banner>
</q-popup-proxy>
</div>
<div class="row d-div"><span class="d2-n" style="width: 110px">预计带班人数调涨</span>{{item.AddStuNum}}人</div>
</div>
<div class="d7">
<div class="row" style="align-items: center;color: #3FC4FF;cursor: pointer">
<div class="row" style="align-items: center;color: #3FC4FF;cursor: pointer" v-if="item.PerfState==2" @click="systemShan(item)">
<img src="../../assets/images/course/zhidan.png" alt="" style="width: 16px;height: 12px;margin-right: 5px;">
自动生成单据
</div>
<div class="row" style="align-items: center;color: #2961FE;cursor: pointer">
<div class="row" style="align-items: center;color: #2961FE;cursor: pointer" v-if="item.PerfState==2">
<img src="../../assets/images/course/xiaoxi.png" alt="" style="width: 16px;height: 12px;margin-right: 5px;">
发送账单信息
</div>
<div class="row" style="align-items: center;color: #02C499;cursor: pointer">
<div class="row" style="align-items: center;color: #02C499;cursor: pointer" @click="IsShowRemarkDialog=true,RemarkMsg.PerfId=item.Id">
<img src="../../assets/images/course/addreamke.png" alt="" style="width: 16px;height: 12px;margin-right: 5px;">
添加备注说明
</div>
<div class="row" style="align-items: center;color: #F28C1D;cursor: pointer">
<div class="row" style="align-items: center;color: #8175FB;cursor: pointer" @click="gostudent(item,1)" v-if="item.PerfState==1">
<img src="../../assets/images/course/queren.png" alt="" style="width: 16px;height: 12px;margin-right: 5px;">
确认订单
</div>
<div class="row" style="align-items: center;color: #F72E52;cursor: pointer" @click="gostudent(item,2)" v-if="item.PerfState==1">
<img src="../../assets/images/course/nofang.png" alt="" style="width: 16px;height: 12px;margin-right: 5px;">
不发放绩效
</div>
<div class="row" style="align-items: center;color: #02B4C4;cursor: pointer" @click="gostudent(item,3)" v-if="item.PerfState==3">
<img src="../../assets/images/course/huifu.png" alt="" style="width: 16px;height: 12px;margin-right: 5px;">
恢复绩效
</div>
<div class="row" style="align-items: center;color: #F28C1D;cursor: pointer" @click="gostudent(item,4)" v-if="item.PerfState==2 && item.FinanceId==0">
<img src="../../assets/images/course/chehui.png" alt="" style="width: 16px;height: 12px;margin-right: 5px;">
撤销奖励
</div>
......@@ -137,8 +232,55 @@
</q-pagination>
</li>
</ul>
<div v-else style="width: 100%;color: #999999;text-align: center;font-size: 20px">暂无数据</div>
</div>
<!--添加备注-->
<q-dialog v-model="IsShowRemarkDialog" content-class="bg-grey-1" persistent transition-show="scale"
transition-hide="scale">
<q-card style="width: 400px;max-width:500px;">
<q-card-section>
<div class="text-h6">添加备注</div>
</q-card-section>
<q-card-section class="q-pt-none scroll" style="max-height: 70vh">
<div class="row wrap">
<q-input filled stack-label maxlength="500" :dense="false" v-model="RemarkMsg.Remark" class="col-12" type="textarea"
label="备注" />
</div>
</q-card-section>
<q-separator />
<q-card-actions align="right" class="bg-white">
<q-btn label="取消" flat color="grey-10" style="font-weight:400 !important" @click="closeRemarkForm" />
<q-btn label="立即提交" color="accent" class="q-px-md" style="font-weight:400 !important" :loading="Dloading"
@click="saveRemark" />
</q-card-actions>
</q-card>
</q-dialog>
<!-- 一键制单-->
<q-dialog v-model="ISsystem" persistent
>
<q-card style="width: 400px;max-width:500px;">
<q-card-section>
<div class="text-h6">一键制单</div>
</q-card-section>
<q-card-section class="q-pt-none scroll" style="max-height: 70vh">
<div class="col">
<q-radio v-model="FinanceMsg.IsPublic" val="0" label="私账" />
<q-radio v-model="FinanceMsg.IsPublic" val="1" label="公账" />
</div>
<div class="col" style="margin-top: 20px">
<q-select standout="bg-primary text-white" option-value="ID" option-label="Name"
v-model="FinanceMsg.CurrencyId" :options="coinGetList" emit-value map-options label="币种" />
</div>
</q-card-section>
<q-separator />
<q-card-actions align="right" class="bg-white">
<q-btn label="取消" flat color="grey-10" style="font-weight:400 !important" @click="ISsystem=false,Resetsystem()" v-if="!Floading"/>
<q-btn label="立即制单" color="accent" class="q-px-md" style="font-weight:400 !important" :loading="Floading"
@click="savesystem()" />
</q-card-actions>
</q-card>
</q-dialog>
</div>
</template>
......@@ -150,12 +292,14 @@
import {
getBonusStateEnumList,//教师奖励状态 枚举
getTeachingPerfPageList,
setTeachingPerfRemark,
setTeachingPerfState,
setTeachingPerfFinance
} from '../../api/course/class'
export default {
name: "achievements",
data(){
return{
tabCheck:'first',
msg:{
PageIndex:1,
PageSize:8,
......@@ -165,7 +309,7 @@
TeacherId:0,
TeacherName:'',
Q_IsCreateFinance:0,//是否制单 1是 2否
Q_IsComfirm:0,//是否已确认 1是 2否
Q_IsComfirm:'1',//是否已确认 1是 2否
PerfState:0,//状态 枚举
StartTime:'',
EndTime:'',
......@@ -173,20 +317,45 @@
OPEndTime:'',
},
schoolList: [],
StateList:[],
StateList:[{Id: 0, Name: "不限"},{Id: 1, Name: "已制单"},{Id: 2, Name: "未制单"},],
StateList2:[{Id: 0, Name: "不限"},{Id: 1, Name: "待处理"},{Id: 3, Name: "不发放绩效"},],
dateList:[],
dateList2:[],
data:[],
loading: false,
IsShowRemarkDialog:false,
pageCount:0,
RemarkMsg:{
Remark:'',
PerfId:'',
},
Dloading:false,
ISsystem:false,
Floading:false,
FinanceMsg:{
PerfId:0,
IsPublic:'0',
CurrencyId:'',
},
coinGetList:[],//币种数组
}
},
created() {
this.getList()
this.getSchool()
this.GetBonusStateList()
this.financeinfo_post_GetList()
},
methods:{
financeinfo_post_GetList() { // 获取币种
this.apipost('financeinfo_post_GetList', {
Name: '',
TCID: 0
}, res => {
if (res.data.resultCode == 1) {
this.coinGetList = res.data.data;
}
}, err => {})
},
resetSearch() {
this.msg.PageIndex = 1
this.getList()
......@@ -226,28 +395,138 @@
})
})
},
GetBonusStateList(){
getBonusStateEnumList({}).then(res => {
//翻页
changePage(val) {
this.msg.pageIndex = val;
this.getList()
},
closeRemarkForm(){
this.IsShowRemarkDialog = false
},
tabChange(){//切换tab
this.resetSearch()
},
saveRemark(){
if(this.RemarkMsg.Remark==''){
this.$q.notify({
type: 'warning',
position: 'top',
timeout: 1500,
message: `请选择输入备注`
})
return
}
this.Dloading=true
setTeachingPerfRemark(this.RemarkMsg).then(res => {
this.Dloading=false
if (res.Code == 1) {
this.StateList = res.Data;
this.StateList.unshift({
Id: 0,
Name: "不限"
this.$q.notify({
icon: 'iconfont icon-chenggong',
color: 'accent',
timeout: 2000,
message: '保存成功!',
position: 'top'
})
this.getList()
this.IsShowRemarkDialog=false
}
})
},
//翻页
changePage(val) {
this.msg.pageIndex = val;
this.getList()
systemShan(item){//一键制单
this.FinanceMsg.PerfId = item.Id
this.ISsystem =true;
},
Resetsystem(){
this.FinanceMsg={
PerfId:0,
IsPublic:'0',
CurrencyId:'',
}
},
savesystem(){
if(this.FinanceMsg.CurrencyId==''){
this.$q.notify({
type: 'warning',
position: 'top',
timeout: 1500,
message: `请选择币种`
})
return
}
let that = this
that.Floading = true
setTeachingPerfFinance(this.FinanceMsg).then(res => {
if (res.Code == 1) {
that.$q.notify({
icon: 'iconfont icon-chenggong',
color: 'accent',
timeout: 2000,
message: '制单成功',
position: 'top'
})
that.getList()
that.Resetsystem()
that.Floading = false
that.ISsystem=false
}
}).catch(() => {
this.Floading = false
})
},
gostudent(item,type){//确认
let that = this
let text = '';
if(type==1){
text = '确认绩效'
}else if(type==2){
text = '不发放绩效'
}else if(type==3){
text = '恢复绩效'
}else if(type==4){
text = '撤销绩效'
}
this.$q.dialog({
title: '提示信息',
message: text,
cancel: true,
persistent: true,
html: true,
ok: "确定",
cancel: "取消",
}).onOk(() => {
setTeachingPerfState({
PerfId: item.Id,
Type:type
}).then(res => {
if (res.Code == 1) {
that.$q.notify({
icon: 'iconfont icon-chenggong',
color: 'accent',
timeout: 2000,
message: '操作成功',
position: 'top'
})
that.getList()
}
})
}).onCancel(() => {
});
},
}
}
</script>
<style scoped>
li{
list-style-type:none ;
}
.achievements .el-input__inner {
background-color: transparent;
}
......@@ -261,7 +540,8 @@
.achievements li .dline{display: table;width: 100%;display: flex;flex-direction: row}
.achievements li .d1{flex: 1;width: 1px;padding:20px 20px 10px;}
.achievements li .d2,.achievements li .d3,.achievements li .d4,.achievements li .d5{width: 17%;padding:20px 20px 10px;}
.achievements li .d7{width: 10%;padding: 20px 20px 10px;}
.achievements li .d7{width: 12%;padding: 20px 20px 10px;}
.achievements li .d7 div{margin-bottom: 5px}
.achievements li .d1 .di-title{font-size: 16px;color: #111111;}
.achievements li .d1 .di-c{font-size: 14px;display: flex;align-items: center;line-height: 28px;color: #111111}
.achievements li .d6{padding: 20px;width: 100%;height: inherit;position: relative;border-top: 1px solid #DDDEE0}
......@@ -272,4 +552,23 @@
.achievements .price-popup{border-radius: 4px;}
.achievements .Remark-l{
flex: 1;padding: 10px 15px 10px 10px;background: #E1EAF5;border-radius: 4px;font-size: 14px;color: #F28C1D;position: relative}
.achievements-proxy tr th {
background: #fff;
height: 40px;
font-size: 14px;
color: #333;
border: 1px solid #E6E6E6
}
.achievements-proxy tr {
background: #fff;
text-align: center;
height: 40px;
}
.achievements-proxy tr td {
font-size: 12px;
border: 1px solid #E5E5E5;
}
</style>
......@@ -23,7 +23,7 @@
</div>
</div>
<div class="page-content">
<q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" flat class="sticky-tow-column-table"
<q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" flat class="sticky-column-table"
separator="none" title="" :data="data" :columns="columns" row-key="name">
<template v-slot:top="props">
<div class="page-option" style="width:100%;">
......@@ -122,7 +122,7 @@
</q-card-section>
<q-separator />
<q-card-actions align="right" class="bg-white">
<q-btn label="取消" flat color="grey-10" style="font-weight:400 !important" @click="ISsystem=false,Resetsystem()" />
<q-btn label="取消" flat color="grey-10" style="font-weight:400 !important" @click="ISsystem=false,Resetsystem()" v-if="!Floading"/>
<q-btn label="立即制单" color="accent" class="q-px-md" style="font-weight:400 !important" :loading="Floading"
@click="savesystem()" />
</q-card-actions>
......@@ -190,6 +190,7 @@
msg:{
pageIndex:1,
pageSize:10,
rowsPerPage:10,
Month:'',
TeacherId:0,
State:0,
......@@ -292,6 +293,7 @@
getTeachingBonusPageList(this.msg).then(res => {
this.loading = false
this.data = res.Data.PageData
console.log(this.data)
this.pageCount = res.Data.PageCount;
......
......@@ -73,7 +73,7 @@
<q-td :props="props">
<q-btn flat size="xs" icon="edit" color="accent" style="font-weight:400" label="订单中心"
@click="gotoOrder(props.row)"></q-btn>
<q-btn flat size="xs" icon="edit" color="accent" style="font-weight:400" label="收支明细"></q-btn>
<q-btn flat size="xs" icon="edit" color="accent" @click="goPayment(props.row)" style="font-weight:400" label="收支明细"></q-btn>
<q-btn flat size="xs" icon="edit" color="accent" style="font-weight:400" label="编辑"
@click="EditCourse(props.row)" />
</q-td>
......@@ -198,6 +198,17 @@
path: tempStr
});
},
//跳转到收支明细
goPayment(item){
this.$router.push({
path:'paymentDetail',
query:{
ClassId:item.ClassId,
School_Id:item.School_Id,
blank:'y'
}
})
},
//获取校区列表
getSchool() {
getSchoolDropdown({}).then(res => {
......
<style>
.paymentDetail .p_title {
font-weight: bold;
color: #000000;
font-size: 14px;
margin-bottom: 20px;
}
.paymentDetail .paymentList {
height: 170px;
border-radius: 3px;
box-shadow: 0 0 5px #d1d1d1;
margin-right: 10px;
padding: 12px;
}
.paymentDetail .paymentList:last-child {
margin-right: 0;
}
.paymentDetail .pay_topList {
display: flex;
align-items: center;
margin-bottom: 10px;
}
.paymentDetail .pay_Title {
margin-left: 5px;
color: #111111;
font-size: 13px;
font-weight: bold;
}
.paymentDetail .pay_ListMent {
display: flex;
font-size: 12px;
margin-bottom: 6px;
}
.paymentDetail .pay_ListOne {
width: 50px;
color: #999999;
text-align: left;
}
.paymentDetail .pay_Inner {
margin-left: 10px;
color: #111111;
font-weight: bold;
}
.paymentDetail .orangeStyle {
color: #F28C1D;
}
.paymentDetail .pay_ListTwo {
width: 25px;
color: #999999;
text-align: left;
}
.paymentDetail .pay_InorOut {
margin-top: 20px;
}
.paymentDetail .Pay_Line {
width: 3px;
height: 11px;
margin-right: 10px;
background-color: #3FC4FF;
display: inline-block;
}
.paymentDetail .pay_TopTitle {
font-weight: bold;
color: #000000;
font-size: 13px;
}
.paymentDetail .payTable {
width: 100%;
border-collapse: collapse;
}
.paymentDetail .payTable tr th {
background: #fff;
height: 40px;
font-size: 12px;
font-weight: bold;
color: #2D2D2D;
background: #DDDEE0;
}
.paymentDetail .payTable tr {
background: #fff;
text-align: center;
height: 40px;
}
.paymentDetail .payTable tr td {
font-size: 13px;
text-align: center;
color: #2D2D2D;
padding: 10px 0;
font-weight: bold;
border-bottom: 1px solid #E5E5E5;
}
.paymentDetail .finince_Order {
color: #2961FE;
text-decoration: underline;
cursor: pointer;
font-weight: bold;
}
.paymentDetail .finice_pass {
display: inline-block;
width: 50px;
height: 25px;
line-height: 25px;
background: #ccf3eb;
color: #02C499;
border-radius: 2px;
}
.paymentDetail .financeYing {
width: 110px;
text-align: left;
margin: auto;
}
</style>
<template>
<div class="page-body paymentDetail">
<div class="page-search items-center">
<div class="p_title">班级收支明细</div>
<div class="row">
<div class="col paymentList" v-if="dataList&&dataList.ClassInfo">
<div class="pay_topList">
<img src="../../assets/images/myimg/bjqk.png" alt="" />
<span class="pay_Title">班级情况</span>
</div>
<div class="pay_ListMent">
<div class="pay_ListOne">班级名称</div>
<div class="pay_Inner">{{dataList.ClassInfo.ClassName}}</div>
</div>
<div class="pay_ListMent">
<div class="pay_ListOne">课程名称</div>
<div class="pay_Inner">{{dataList.ClassInfo.CourseName}}</div>
</div>
<div class="pay_ListMent">
<div class="pay_ListOne">开课时间</div>
<div class="pay_Inner">{{dataList.ClassInfo.OpenTime}}</div>
</div>
<div class="pay_ListMent">
<div class="pay_ListOne">带课老师</div>
<div class="pay_Inner">{{dataList.ClassInfo.TeacherName}}</div>
</div>
</div>
<div class="col paymentList">
<div class="pay_topList">
<img src="../../assets/images/myimg/bjsr.png" alt="" />
<span class="pay_Title">班级收入</span>
</div>
<div class="pay_ListMent">
<div class="pay_ListTwo">应收</div>
<div class="pay_Inner">¥{{dataList.IncomeReceive}}</div>
</div>
<div class="pay_ListMent">
<div class="pay_ListTwo">实收</div>
<div class="pay_Inner orangeStyle">¥{{dataList.IncomeActual}}</div>
</div>
<div class="pay_ListMent">
<div class="pay_ListTwo">待收</div>
<div class="pay_Inner orangeStyle">¥{{getShiShou(dataList.IncomeReceive,dataList.IncomeActual)}}</div>
</div>
<div class="pay_ListMent">
<div class="pay_ListTwo"></div>
<div class="pay_Inner">应收=订单应收总额,实收=订单 实收总额</div>
</div>
</div>
<div class="col paymentList">
<div class="pay_topList">
<img src="../../assets/images/myimg/qt.png" alt="" />
<span class="pay_Title">其他</span>
</div>
<div class="pay_ListMent">
<div class="pay_ListTwo">应收</div>
<div class="pay_Inner">¥{{dataList.OtherIncomeReceive}}</div>
</div>
<div class="pay_ListMent">
<div class="pay_ListTwo">实收</div>
<div class="pay_Inner orangeStyle">¥{{dataList.OtherIncomeActual}}</div>
</div>
<div class="pay_ListMent">
<div class="pay_ListTwo">待收</div>
<div class="pay_Inner orangeStyle">¥{{getShiShou(dataList.OtherIncomeReceive,dataList.OtherIncomeActual)}}
</div>
</div>
<div class="pay_ListMent">
<div class="pay_ListTwo"></div>
<div class="pay_Inner">此处不进入"利润"计算,单纯只统计除班级费外的其他总收入</div>
</div>
</div>
<div class="col paymentList">
<div class="pay_topList">
<img src="../../assets/images/myimg/zc.png" alt="" />
<span class="pay_Title">支出</span>
</div>
<div class="pay_ListMent">
<div class="pay_ListTwo">应付</div>
<div class="pay_Inner">¥{{dataList.PayReceive}}</div>
</div>
<div class="pay_ListMent">
<div class="pay_ListTwo">实付</div>
<div class="pay_Inner orangeStyle">¥{{dataList.PayActual}}</div>
</div>
<div class="pay_ListMent">
<div class="pay_ListTwo">待付</div>
<div class="pay_Inner orangeStyle ">¥{{getShiShou(dataList.PayReceive,dataList.PayActual)}}</div>
</div>
<div class="pay_ListMent">
<div class="pay_ListTwo"></div>
<div class="pay_Inner">成本单据总额(含退款)+销售提成+ 课时费</div>
</div>
</div>
<div class="col paymentList">
<div class="pay_topList">
<img src="../../assets/images/myimg/lr.png" alt="" />
<span class="pay_Title">利润</span>
</div>
<div class="pay_ListMent">
<div class="pay_ListOne">实际利润</div>
<div class="pay_Inner">¥{{dataList.ProfitActual}}</div>
</div>
<div class="pay_ListMent">
<div class="pay_ListOne">当前利润</div>
<div class="pay_Inner orangeStyle">¥{{dataList.ProfitNow}}</div>
</div>
<div class="pay_ListMent">
<div class="pay_ListOne"></div>
<div class="pay_Inner">实收-(应付/实付)+其他收入-总支 出</div>
</div>
</div>
<div class="col paymentList">
<div class="pay_topList">
<img src="../../assets/images/myimg/tc.png" alt="" />
<span class="pay_Title">提成</span>
</div>
<div class="pay_ListMent">
<div class="pay_ListOne">销售提成</div>
<div class="pay_Inner">¥{{dataList.SaleCommission}}</div>
</div>
<div class="pay_ListMent">
<div class="pay_ListOne">老师提成</div>
<div class="pay_Inner">¥{{dataList.TeacherProfitNow}}</div>
</div>
<div class="pay_ListMent">
<div class="pay_ListOne">绩效提成</div>
<div class="pay_Inner orangeStyle ">¥{{dataList.MeritsProfit}}</div>
</div>
</div>
</div>
<div class="pay_InorOut">
<div class="pay_TopTitle">
<span class="Pay_Line"></span>收入
</div>
<div class="pay_TopTitle" style="margin:15px 0 15px 20px;font-size:12px;">
<span class="Pay_Line" style="background-color:#02C499;"></span>学费收入
</div>
<table class="payTable">
<tr>
<th width="180">单号</th>
<th width="200">费用类型</th>
<th width="500">交易明细</th>
<th width="300">金额</th>
<th width="200">交易日期</th>
<th width="250">制单人员</th>
<th width='180'>审核状态</th>
<th width="200">当前审核人</th>
</tr>
<tr v-for="(item,index) in dataList.FiniceReciveList" :key="index">
<td>
<span class="finince_Order" @click="goOrderDetail(item)">{{item.FrID}}</span>
</td>
<td><span v-for="subItem in item.CostTypeList" :key="subItem.subCode">{{subItem}}</span></td>
<td style="text-align:left;">
<div v-for="childItem in item.TradeWayList">
支付方式:{{childItem.Alias}}<span class="TB_Rate">币种:{{childItem.CurrencyName}}</span>
<span class="Team_Coins orangeStyle">-{{childItem.OriginalMoney}}*{{childItem.Rate}}</span>
<span class="TB_Rate" style="margin-left:10px;">汇率:{{childItem.Rate}}</span>
</div>
</td>
<td>
<div class="financeYing">
应收:{{item.Money}}<br />
实收:{{item.PayMoney}}
</div>
</td>
<td>{{item.TradeDate}}</td>
<td>
<div>{{item.RB_CreateByName}}</div>
<div>{{item.CreateDate}}</div>
</td>
<td>
<div class="finice_pass">{{item.StatusStr}}</div>
</td>
<td>
<div v-for="AuditItem in item.AuditList">
{{AuditItem.AuditEmName}}
<span class="TB_Rate">{{AuditItem.AuditDate}}</span>
</div>
</td>
</tr>
</table>
<div class="pay_TopTitle" style="margin:30px 0 15px 20px;font-size:12px;">
<span class="Pay_Line" style="background-color:#02C499;"></span>其他收入
</div>
<table class="payTable">
<tr>
<th width="180">单号</th>
<th width="200">费用类型</th>
<th width="500">交易明细</th>
<th width="300">金额</th>
<th width="200">交易日期</th>
<th width="250">制单人员</th>
<th width='180'>审核状态</th>
<th width="200">当前审核人</th>
</tr>
<tr v-for="(item,index) in dataList.OtherFiniceReciveList" :key="index">
<td>
<span class="finince_Order">{{item.FrID}}</span>
</td>
<td><span v-for="subItem in item.CostTypeList" :key="subItem.subCode">{{subItem}}</span></td>
<td style="text-align:left;">
<div v-for="childItem in item.TradeWayList">
支付方式:{{childItem.Alias}}<span class="TB_Rate">币种:{{childItem.CurrencyName}}</span>
<span class="Team_Coins orangeStyle">-{{childItem.OriginalMoney}}*{{childItem.Rate}}</span>
<span class="TB_Rate" style="margin-left:10px;">汇率:{{childItem.Rate}}</span>
</div>
</td>
<td>
<div class="financeYing">
应收:{{item.Money}}<br />
实收:{{item.PayMoney}}
</div>
</td>
<td>{{item.TradeDate}}</td>
<td>
<div>{{item.RB_CreateByName}}</div>
<div>{{item.CreateDate}}</div>
</td>
<td>
<div class="finice_pass">{{item.StatusStr}}</div>
</td>
<td>
<div v-for="AuditItem in item.AuditList">
{{AuditItem.AuditEmName}}
<span class="TB_Rate">{{AuditItem.AuditDate}}</span>
</div>
</td>
</tr>
</table>
<div class="pay_TopTitle" style="margin-top:30px;">
<span class="Pay_Line" style="background:#F72E52;"></span>支出
</div>
<div class="pay_TopTitle" style="margin:15px 0 15px 20px;font-size:12px;">
<span class="Pay_Line" style="background-color:#F28C1D;"></span>其他支出
</div>
<table class="payTable">
<tr>
<th width="180">单号</th>
<th width="200">费用类型</th>
<th width="500">交易明细</th>
<th width="300">金额</th>
<th width="200">交易日期</th>
<th width="250">制单人员</th>
<th width='180'>审核状态</th>
<th width="200">当前审核人</th>
</tr>
<tr v-for="(item,index) in dataList.OtherFinicePayList" :key="index">
<td>
<span class="finince_Order">{{item.FrID}}</span>
</td>
<td><span v-for="subItem in item.CostTypeList" :key="subItem.subCode">{{subItem}}</span></td>
<td style="text-align:left;">
<div v-for="childItem in item.TradeWayList">
支付方式:{{childItem.Alias}}<span class="TB_Rate">币种:{{childItem.CurrencyName}}</span>
<span class="Team_Coins orangeStyle">-{{childItem.OriginalMoney}}*{{childItem.Rate}}</span>
<span class="TB_Rate" style="margin-left:10px;">汇率:{{childItem.Rate}}</span>
</div>
</td>
<td>
<div class="financeYing">
应收:{{item.Money}}<br />
实收:{{item.PayMoney}}
</div>
</td>
<td>{{item.TradeDate}}</td>
<td>
<div>{{item.RB_CreateByName}}</div>
<div>{{item.CreateDate}}</div>
</td>
<td>
<div class="finice_pass">{{item.StatusStr}}</div>
</td>
<td>
<div v-for="AuditItem in item.AuditList">
{{AuditItem.AuditEmName}}
<span class="TB_Rate">{{AuditItem.AuditDate}}</span>
</div>
</td>
</tr>
</table>
</div>
</div>
</div>
</template>
<script>
import {
GetClassBalanceSheet
} from '../../api/finance/index';
export default {
props: {},
components: {},
data() {
return {
dataList: [], //数据
msg: {
ClassId: 0,
School_Id: 0
},
}
},
created() {},
mounted() {
if (this.$route.query.ClassId && this.$route.query.School_Id) {
this.msg.ClassId = this.$route.query.ClassId;
this.msg.School_Id = this.$route.query.School_Id;
}
this.getData();
},
methods: {
getData() {
GetClassBalanceSheet(this.msg).then(res => {
if (res.Code == 1) {
this.dataList = res.Data;
}
})
},
//减法 得实收
getShiShou(num1, num2) {
return parseInt(num1) - parseInt(num2);
},
//跳转到订单详情
goOrderDetail(item){
this.$router.push({
path:'classorder',
query:{
OrderID:item.OrderID,
blank:'y'
}
})
}
}
}
</script>
<style lang="sass">
@import url('~assets/css/table.sass');
</style>
......@@ -153,6 +153,7 @@
data: [],
loading: true,
msg: {
rowsPerPage:999,
BonusId:0,
TeacherId:0,
Type:0
......
......@@ -482,7 +482,15 @@
position: 'top'
})
this.getList()
this.dialog = false
this.dialog = false;
this.enrollMsg={//清空数据
ClassId:0,
GuestNum:1,
Unit_Price:0,//成交单价
PreferPrice:0,//应收总额
OrderSource:0,//客人来源 枚举
SaleRemark:'',//备注
}
}
}).catch(() => {
......
......@@ -164,6 +164,7 @@
msg: {
pageIndex: 1,
pageSize: 12,
rowsPerPage:12,
OrderId: 0,
ClassId: 0,
GuestName: '',
......
......@@ -107,6 +107,11 @@ const routes = [{
component: () =>
import("pages/course/baseSet.vue")
},
{
path: "/course/paymentDetail", //收支明细
component: () =>
import("pages/course/paymentDetail.vue")
},
{
path: "/course/classorder", //班级订单
component: () =>
......
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