Commit 42a04715 authored by 罗超's avatar 罗超

Merge branch 'master' of http://gitlab.oytour.com/luochao/confucius into master

# Conflicts:
#	src/App.vue
parents 8db64d34 7bea99e9
......@@ -12,7 +12,11 @@ export default {
<style>
@import url('~assets/css/font.css');
<<<<<<< HEAD
@import url('//at.alicdn.com/t/font_2077629_byb6agikplo.css');
=======
@import url('//at.alicdn.com/t/font_2077629_ogegjt0w5at.css');
>>>>>>> 7bea99e9854df27288c97b9448c94a6e43507a67
html,
body,
......
......@@ -147,5 +147,42 @@ export function getSellCommissionPeriodsList(data) {
});
}
// 财务报表 获取老师课耗统计
export function getTeacherConsumptionHoursStatistics(data) {
return request({
url: '/finance/GetTeacherConsumptionHoursStatistics',
method: 'post',
data
});
}
// 财务报表 获取老师课时消费明细列表
export function getTeacherConsumptionHoursDetialPageList(data) {
return request({
url: '/finance/GetTeacherConsumptionHoursDetialPageList',
method: 'post',
data
});
}
// 财务报表 学生课耗明细列表
export function getStudentConsumptionHoursDetialPageList(data) {
return request({
url: '/finance/GetStudentConsumptionHoursDetialPageList',
method: 'post',
data
});
}
// 财务报表 销售业绩排名统计
export function getSaleAchievementsRankStatistics(data) {
return request({
url: '/finance/GetSaleAchievementsRankStatistics',
method: 'post',
data
});
}
......@@ -601,7 +601,9 @@
</template>
<template v-else>
<template v-if="HandoverObj&&HandoverObj.CreateByName">
{{HandoverObj.CreateByName}}创建于{{HandoverObj.CreateTimeStr}}
{{HandoverObj.CreateByName}}创建于
<template v-if="HandoverObj.IsOperate==2">{{HandoverObj.CreateTimeStr2}}</template>
<template v-else>{{HandoverObj.CreateTimeStr}}</template>
</template>
</template>
</div>
......@@ -751,7 +753,13 @@
if (this.EmergenciesList.length > 0) {
obj.IsBurst=1
}
if (this.HandoverList.length > 0) {
let HandArr = [];
this.HandoverList.forEach(x=>{
if(x.IsOperate==1){
HandArr.push(x);
}
})
if (HandArr.length > 0) {
obj.IsHandover=1
}
return obj;
......
This diff is collapsed.
This diff is collapsed.
<style>
.baseSet_Title {
width: 120px !important;
padding: 18px 0 0 16px;
text-align: right;
}
.teacherclassfee .border-bottom {
/* border-bottom: 1px dashed #EEE; */
padding-bottom: 5px;
margin-bottom: 5px;
}
.teacherclassfee .text-bottom {
height: 32px;
line-height: 32px;
margin-bottom: 10px;
}
.teacherclassfee ._icon_btn i.icon-sousuo {
background-color: #47BF8C;
}
.teacherclassfee ._icon_btn .icon-add {
background-color: #47BF8C;
}
.teacherclassfee ._icon_btn i {
width: 26px;
height: 26px;
display: inline-block;
color: white !important;
border-radius: 50%;
text-align: center;
line-height: 26px;
margin-right: 10px;
cursor: pointer;
outline: none;
}
.teacherclassfee .el-table td,
.el-table th {
padding: 5px 0;
}
.teacherclassfee .el-input {
width: 100%;
border: none;
background-color: transparent;
}
.teacherclassfee .el-input__inner {
width: 100%;
border: none;
background-color: transparent;
}
</style>
<template>
<div class="page-body teacherclassfee">
<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="handleCurrentChanges(1)" option-value="SId"
option-label="SName" v-model="msg.SchoolId" ref="SId" :options="CompanyList" label="校区"
:dense="false" emit-value map-options />
</div>
<div class="col-3">
<q-select filled stack-label @input="handleCurrentChanges(1)" option-value="TId"
option-label="TeacherName" v-model="msg.TeacherId" ref="TId" :options="TeacherList" label="老师"
:dense="false" emit-value map-options />
</div>
<div class="col-3">
<q-select filled stack-label @input="handleCurrentChanges(1)" option-value="Id" option-label="Name" v-model="datetype" ref="Id"
:options="datetypelist" label="日期类型" :dense="false" emit-value map-options />
</div>
<div class="col-3" v-if='datetype==1'>
<q-field filled>
 <template v-slot:control>
<el-date-picker v-model="valueyear" type="year" placeholder="选择年份" value-format="yyyy"
@change="handleCurrentChanges(1)">
</el-date-picker>    
</template>
</q-field>
</div>
<div class="col-3" v-if='datetype==2'>
<q-field filled>
 <template v-slot:control>
<el-date-picker v-model="valuemonth" type="month" placeholder="选择月份" value-format="yyyy-MM"
@change="handleCurrentChanges(1)">
</el-date-picker>    
</template>
</q-field>
</div>
</div>
</div>
<div class="page-search row items-center" style="justify-content: space-between;">
<span style="font-size: 20px;font-weight: 400;">老师课时消费明细列表 </span>
<q-btn  color="primary" size="11px" label="导出" @click="txexport" 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="ClassDate" label="上课日期"></el-table-column>
<el-table-column prop="TimeBucket" label="上课时间段"> </el-table-column>
<el-table-column prop="TeacherName" label="老师名称"></el-table-column>
<el-table-column prop="ClassName" label="上课班级"> </el-table-column>
<el-table-column prop="CourseName" label="课程"></el-table-column>
<el-table-column prop="KSNum" label="上课课时"></el-table-column>
<el-table-column prop="Hours" label="课时转换/小时"> </el-table-column>
<el-table-column prop="HourMoney" label="课时费单价元/小时"></el-table-column>
<el-table-column prop="KSMoney" 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,
getTeacherDropDownList
} from '../../api/school/index'
import {
getTeacherConsumptionHoursDetialPageList,
} from '../../api/finance/index'
import {
EduDownLoad,
} from '../../api/common/common';
export default {
meta: {
title: "老师课时消费明细列表"
},
props: {},
components: {},
data() {
return {
loading: false,
valuemonth: '',
valueyear: '',
//列表数据参数
msg: {
pageIndex: 1,
pageSize: 15,
TeacherId: '-1',
SchoolId: '-1',
StartMonth: '',
EndMonth: '',
},
datetype: '2',
pageCount: 0,
listData: {},
tableData: [],
total: 0,
CompanyList: [],
TeacherList: [],
datetypelist: [
{ Id: '2', Name: '月份' },
{ Id: '1', Name: '年份' },
]
}
},
created() {
let userinfo = this.getLocalStorage();
var myDate = new Date();
this.valuemonth = myDate.getFullYear() + "-" + (myDate.getMonth() + 1)
this.valueyear = myDate.getFullYear().toString()
if(this.$route.query && this.$route.query.id){
this.msg.TeacherId = Number(this.$route.query.id)
}
},
mounted() {
this.getList();//获取提成周期列表
this.getBranchList()
this.GetTeacherList();//老师下拉
},
methods: {
getList() {
if(this.valuemonth ==null || this.valueyear==null){
this.$q.notify({
type: 'negative',
position: "top",
message: `请选择日期`
})
return
}
if (this.datetype == 2) {
this.msg.StartMonth = this.valuemonth;
this.msg.EndMonth = this.valuemonth;
} else if (this.datetype == 1) {
this.msg.StartMonth = this.valueyear + '-01';
this.msg.EndMonth = this.valueyear + '-12';
}
this.loading = true;
getTeacherConsumptionHoursDetialPageList(this.msg).then(res => {
if (res.Code == 1) {
this.loading = false;
this.tableData = res.Data.PageData
this.total = res.Data.Count
}
})
},
//获取教师下拉
GetTeacherList() {
getTeacherDropDownList({}).then(res => {
if (res.Code == 1) {
this.TeacherList = res.Data;
var obj = {
TeacherName: '全部',
TId: '-1'
}
this.TeacherList.unshift(obj);
}
})
},
getBranchList() {//获取校区
getSchoolDropdown({}).then(res => {
this.CompanyList = res.Data;
var obj = {
SName: '全部',
SId: '-1'
}
this.CompanyList.unshift(obj);
}).catch(() => {
})
},
goUrl(path, id) {
this.$router.push({
path: '/financial/' + path,
query: {
"id": id,
blank: 'y',
}
})
},
handleCurrentChanges(val) {
this.msg.pageIndex = val;
this.getList()
},
txexport(){
var msg = JSON.parse(JSON.stringify(this.msg));
EduDownLoad("/finance/GetTeacherConsumptionHoursDetialPageListToExcel", msg, "课耗老师明细.xls")
}
},
}
</script>
<style lang="sass">
@import url('~assets/css/table.sass')
</style>
\ No newline at end of file
......@@ -40,7 +40,7 @@
<template v-slot:top="props">
<div class="col-2 q-table__title">试听班级管理</div>
<q-space />
<div class="page-option">
<div class="page-option" style="display:none;">
<q-btn color="accent" size="sm" class="q-mr-md" icon="add" label="添加试听" @click="editVisitor(null)" />
</div>
</template>
......
......@@ -280,7 +280,7 @@
<div class="text-h6">值班交接</div>
</q-card-section>
<q-card-section class="q-pt-none">
<div class="q-gutter-sm" style="width:280px;" v-if="isShowOne">
<div class="q-gutter-sm" style="width:300px;" v-if="isShowOne">
<span style="position:relative;top:6px;">突发事件:</span>
<q-radio v-model="isHaveTufa" :val="2" label="有" />
<q-radio v-model="isHaveTufa" :val="1" label="无" />
......@@ -292,6 +292,7 @@
</div>
</q-card-section>
<q-card-actions align="right">
<q-btn flat label="关闭" color="primary" @click="isShowTuFA=false" />
<q-btn flat label="确定" color="primary" @click="submitHand" />
</q-card-actions>
</q-card>
......@@ -345,8 +346,8 @@
isShowEditAndDelete: false, //是否显示编辑和删除按钮【默认不显示】
},
isShowTuFA: false,
isHaveTufa: 2, //是否有突发
isHaveHand: 2, //是否有交接
isHaveTufa: 1, //是否有突发
isHaveHand: 1, //是否有交接
isShowOne: false,
isShowTwo: false,
status: 0
......@@ -383,11 +384,15 @@
if (this.$refs.schOrder.getTufaHand().IsBurst == 0) {
this.isShowOne = true;
this.isShowTuFA = true;
}else{
this.isShowOne = false;
}
//交接工作
if (this.$refs.schOrder.getTufaHand().IsHandover == 0) {
this.isShowTwo = true;
this.isShowTuFA = true;
}else{
this.isShowTwo = false;
}
if (this.$refs.schOrder.getTufaHand().IsBurst > 0 && this.$refs.schOrder.getTufaHand().IsHandover > 0) {
this.saveInfo()
......@@ -424,6 +429,7 @@
message: '数据保存成功!',
position: 'top'
})
this.$refs.schOrder.getWorkList();
} else {
this.$q.notify({
icon: 'iconfont icon-chenggong',
......@@ -459,11 +465,8 @@
this.isShowTuFA = false;
return
}
if (this.isHaveTufa == 1) {
if (this.isHaveTufa == 1&&this.isHaveHand == 1) {
this.checkMsg.IsBurst = 1;
this.saveInfo();
}
if (this.isHaveHand == 1) {
this.checkMsg.IsHandover = 1;
this.saveInfo();
}
......
......@@ -161,7 +161,7 @@
.sche_midList {
width: 31.6%;
height: 300px;
height: 320px;
background: #fff;
border-radius: 16px;
border: 1px solid #EBEBEB;
......
......@@ -248,6 +248,22 @@ const routes = [{
component: () =>
import("pages/financial/lessonCostStatistics.vue")
},
{
path: "/financial/teacherclassfee", //老师课时消费明细列表
component: () =>
import("pages/financial/teacherclassfee.vue")
},
{
path: "/financial/saleAchievementsRank", //销售业绩排名统计
component: () =>
import("pages/financial/saleAchievementsRank.vue")
},
{
path: "/financial/studentsClassfee", //学生课耗明细列表
component: () =>
import("pages/financial/studentsClassfee.vue")
},
{
path: "/financial/salesCommission", //提成周期列表
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