Commit 6ff5442e authored by 罗超's avatar 罗超

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

# Conflicts:
#	src/pages/financial/reportform/performanceCommission.vue
#	src/pages/financial/returnPassbook/returnpassbookStatistics.vue
parents 021b4496 c3dd92a1
...@@ -83,13 +83,13 @@ ...@@ -83,13 +83,13 @@
<div class="row wrap"> <div class="row wrap">
<div class="col-6"> <div class="col-6">
<q-input filled stack-label :disable="!isHaveCourseHoursEdit" <q-input filled stack-label :disable="!isHaveCourseHoursEdit"
@keyup.native="checkPrice(objOption, 'ClassHours')" reverse-fill-mask v-model="objOption.ClassHours" @keyup.native="checkPrice(objOption, 'ChineseHours')" reverse-fill-mask v-model="objOption.ChineseHours"
ref="ClassHours" class="col-6 q-pr-lg q-pb-lg" label="课时数量" :rules="[val => !!val || '请填写课时信息']" /> ref="ChineseHours" class="col-6 q-pr-lg q-pb-lg" label="中教课时" />
</div> </div>
<div class="col-6"> <div class="col-6">
<q-select filled stack-label @input="changeCourseSubject(objOption.CateId)" option-value="CateId" <q-input filled stack-label :disable="!isHaveCourseHoursEdit"
option-label="CateName" v-model="objOption.CateId" ref="CateId" :options="TreeCategoryList" label="所属系列" @keyup.native="checkPrice(objOption, 'ForeignHours')" reverse-fill-mask v-model="objOption.ForeignHours"
class="col-6 q-pr-lg q-pb-lg" emit-value map-options :rules="[val => !!val || '请选择课程所属系列']" /> ref="ForeignHours" class="col-6 q-pr-lg q-pb-lg" label="外教课时" />
</div> </div>
</div> </div>
<div class="row wrap"> <div class="row wrap">
...@@ -99,13 +99,18 @@ ...@@ -99,13 +99,18 @@
class="col-6 q-pr-lg q-pb-lg" emit-value map-options /> class="col-6 q-pr-lg q-pb-lg" emit-value map-options />
</div> </div>
<div class="col-6"> <div class="col-6">
<q-select filled stack-label option-value="Id" option-label="Name" v-model="objOption.CourseRate" <q-select filled stack-label @input="changeCourseSubject(objOption.CateId)" option-value="CateId"
ref="CourseRate" :options="courseLevelList" label="课程等级" class="col-6 q-pr-lg q-pb-lg" emit-value option-label="CateName" v-model="objOption.CateId" ref="CateId" :options="TreeCategoryList" label="所属系列"
map-options /> class="col-6 q-pr-lg q-pb-lg" emit-value map-options :rules="[val => !!val || '请选择课程所属系列']" />
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col-6">
<q-select filled stack-label option-value="Id" option-label="Name" v-model="objOption.CourseRate"
ref="CourseRate" :options="courseLevelList" label="课程等级" class="col-6 q-pr-lg q-pb-lg" emit-value
map-options />
</div>
<q-field label="是否支持约课报名" stack-label filled class="col-6 q-pr-lg q-pb-lg"> <q-field label="是否支持约课报名" stack-label filled class="col-6 q-pr-lg q-pb-lg">
<template v-slot:control> <template v-slot:control>
<div class="row col-12"> <div class="row col-12">
...@@ -114,10 +119,20 @@ ...@@ -114,10 +119,20 @@
</div> </div>
</template> </template>
</q-field> </q-field>
</div>
<div class="row">
<div class="col-6">
<q-select filled stack-label option-value="Id" option-label="Name" v-model="objOption.CourseTimeId" <q-select filled stack-label option-value="Id" option-label="Name" v-model="objOption.CourseTimeId"
ref="CourseTime" :options="CourseTimeList" label="关联上课时段" class="col-6 q-pr-lg q-pb-lg" emit-value ref="CourseTime" :options="CourseTimeList" label="关联上课时段" class="col-6 q-pr-lg q-pb-lg" emit-value
map-options /> map-options />
</div> </div>
<div class="col-6">
<q-select filled stack-label option-value="Id" option-label="Name" v-model="objOption.OpenBankLevelList"
multiple use-chips ref="LevelData" :options="LevelData" label="课程关联题库" class="col-6 q-pr-lg q-pb-lg"
emit-value map-options />
</div>
</div>
<div class="row" v-if="objOption.IsScrollClass==1"> <div class="row" v-if="objOption.IsScrollClass==1">
<q-input filled stack-label v-model="objOption.ScrollMinNum" ref="ScrollMinNum" class="col-6 q-pr-lg q-pb-lg" <q-input filled stack-label v-model="objOption.ScrollMinNum" ref="ScrollMinNum" class="col-6 q-pr-lg q-pb-lg"
label="最小上课人数" :rules="[val => !!val || '请填写最小上课人数']" /> label="最小上课人数" :rules="[val => !!val || '请填写最小上课人数']" />
...@@ -125,10 +140,10 @@ ...@@ -125,10 +140,10 @@
label="最大上课人数" :rules="[val => !!val || '请填写最大上课人数']" /> label="最大上课人数" :rules="[val => !!val || '请填写最大上课人数']" />
</div> </div>
<div class="row"> <div class="row">
<q-input filled stack-label v-model="objOption.FreeCoffeeNum" ref="FreeCoffeeNum" class="col-6 q-pr-lg q-pb-lg" <q-input filled stack-label v-model="objOption.FreeCoffeeNum" ref="FreeCoffeeNum"
label="赠送咖啡杯数" :rules="[val => val >=0 || '请填写赠送咖啡杯数']" /> class="col-6 q-pr-lg q-pb-lg" label="赠送咖啡杯数" :rules="[val => val >=0 || '请填写赠送咖啡杯数']" />
<q-input filled stack-label v-model="objOption.AddHoursMoney" ref="AddHoursMoney" class="col-6 q-pr-lg q-pb-lg" <q-input filled stack-label v-model="objOption.AddHoursMoney" ref="AddHoursMoney"
label="课程增加课时费" :rules="[val => val >=0 || '请填写课程增加课时费']" /> class="col-6 q-pr-lg q-pb-lg" label="课程增加课时费" :rules="[val => val >=0 || '请填写课程增加课时费']" />
</div> </div>
<div class="row wrap"> <div class="row wrap">
<div class="col-6"> <div class="col-6">
...@@ -153,13 +168,7 @@ ...@@ -153,13 +168,7 @@
style="display:none" /> style="display:none" />
</div> </div>
</div> </div>
<div class="row wrap">
<div class="col-6">
<q-select filled stack-label option-value="Id" option-label="Name" v-model="objOption.OpenBankLevelList" multiple
use-chips ref="LevelData" :options="LevelData" label="课程关联题库" class="col-6 q-pr-lg q-pb-lg"
emit-value map-options />
</div>
</div>
<div class="row wrap"> <div class="row wrap">
<div class="col-12 q-pr-lg q-pb-lg"> <div class="col-12 q-pr-lg q-pb-lg">
<q-input v-model="objOption.ContractInfo" filled type="textarea" placeholder="合同补充协议" /> <q-input v-model="objOption.ContractInfo" filled type="textarea" placeholder="合同补充协议" />
...@@ -267,8 +276,10 @@ ...@@ -267,8 +276,10 @@
FreeCoffeeNum: 0, // 赠送咖啡 FreeCoffeeNum: 0, // 赠送咖啡
AddHoursMoney: 0, // 课程增加课时费 AddHoursMoney: 0, // 课程增加课时费
CourseTimeId: 0, // 关联上课时段 CourseTimeId: 0, // 关联上课时段
ContractInfo: "",//合同补充协议 ContractInfo: "", //合同补充协议
OpenBankLevelList: [] OpenBankLevelList: [], //开放题库
ChineseHours: "", //中教课时
ForeignHours: "", //外教课时
}, },
CourseTimeList: [], //上课时段列表 CourseTimeList: [], //上课时段列表
CourseEmphasis: [], //数据临时存放 CourseEmphasis: [], //数据临时存放
...@@ -288,7 +299,7 @@ ...@@ -288,7 +299,7 @@
courseLevelList: [], //课程等级列表 courseLevelList: [], //课程等级列表
courseSubjectList: [], //课程科目列表 courseSubjectList: [], //课程科目列表
keynoteList: [], //重点枚举列表 keynoteList: [], //重点枚举列表
LevelData:[] LevelData: []
}; };
}, },
created() { created() {
...@@ -327,9 +338,9 @@ ...@@ -327,9 +338,9 @@
}, },
methods: { methods: {
//获取关联考试等级 //获取关联考试等级
getLevel(){ getLevel() {
GetBankTypeList({}).then(res => { GetBankTypeList({}).then(res => {
if(res.Code==1){ if (res.Code == 1) {
this.LevelData = res.Data; this.LevelData = res.Data;
} }
}) })
...@@ -510,6 +521,8 @@ ...@@ -510,6 +521,8 @@
this.objOption.AddHoursMoney = res.Data.AddHoursMoney; this.objOption.AddHoursMoney = res.Data.AddHoursMoney;
this.objOption.CourseTimeId = res.Data.CourseTimeId; this.objOption.CourseTimeId = res.Data.CourseTimeId;
this.objOption.OpenBankLevelList = res.Data.OpenBankLevelList; this.objOption.OpenBankLevelList = res.Data.OpenBankLevelList;
this.objOption.ChineseHours = res.Data.ChineseHours;
this.objOption.ForeignHours = res.Data.ForeignHours;
this.CourseEmphasis = []; this.CourseEmphasis = [];
setTimeout(() => { setTimeout(() => {
//Todo 暂时不知道什么原因 偶尔会出现2个 所以加了一个延迟 //Todo 暂时不知道什么原因 偶尔会出现2个 所以加了一个延迟
...@@ -570,6 +583,8 @@ ...@@ -570,6 +583,8 @@
this.objOption.AddHoursMoney = 0; this.objOption.AddHoursMoney = 0;
this.objOption.CourseTimeId = 0; this.objOption.CourseTimeId = 0;
this.objOption.OpenBankLevelList = []; this.objOption.OpenBankLevelList = [];
this.objOption.ChineseHours = "";
this.objOption.ForeignHours = "";
} }
}, },
//关闭弹窗 //关闭弹窗
...@@ -580,13 +595,13 @@ ...@@ -580,13 +595,13 @@
//保存菜单 //保存菜单
saveCourse() { saveCourse() {
this.$refs.CourseName.validate(); this.$refs.CourseName.validate();
this.$refs.ClassHours.validate(); //this.$refs.ClassHours.validate();
this.$refs.CateId.validate(); this.$refs.CateId.validate();
this.$refs.FreeCoffeeNum.validate(); this.$refs.FreeCoffeeNum.validate();
this.$refs.AddHoursMoney.validate(); this.$refs.AddHoursMoney.validate();
//!this.$refs.ClassHours.hasError &&
if ( if (
!this.$refs.CourseName.hasError && !this.$refs.CourseName.hasError &&
!this.$refs.ClassHours.hasError &&
!this.$refs.CateId.hasError && !this.$refs.CateId.hasError &&
!this.$refs.FreeCoffeeNum.hasError && !this.$refs.FreeCoffeeNum.hasError &&
!this.$refs.AddHoursMoney.hasError !this.$refs.AddHoursMoney.hasError
......
...@@ -1640,7 +1640,6 @@ ...@@ -1640,7 +1640,6 @@
item.tab = tab; item.tab = tab;
this.myorderObjOption = item; this.myorderObjOption = item;
this.isShowmyorderForm = true; this.isShowmyorderForm = true;
console.log(this.myorderObjOption,'====')
}, },
//关闭订单详情 //关闭订单详情
closeMOSaveForm() { closeMOSaveForm() {
......
...@@ -64,6 +64,20 @@ ...@@ -64,6 +64,20 @@
</span> </span>
</q-td> </q-td>
</template> </template>
<template v-slot:body-cell-OrderCount="props">
<q-td auto-width :props="props">
<q-badge color="green">
{{props.row.OrderCount}}
</q-badge>
</q-td>
</template>
<template v-slot:body-cell-FailCount="props">
<q-td auto-width :props="props">
<q-badge color="red">
{{props.row.FailCount}}
</q-badge>
</q-td>
</template>
<template v-slot:body-cell-TeacherId="props"> <template v-slot:body-cell-TeacherId="props">
<q-td :props="props"> <q-td :props="props">
<q-btn-dropdown v-if="authObj&&authObj.isShowEdit" flat size="xs" color="dark" label="更多"> <q-btn-dropdown v-if="authObj&&authObj.isShowEdit" flat size="xs" color="dark" label="更多">
...@@ -163,7 +177,7 @@ ...@@ -163,7 +177,7 @@
}, },
{ {
name: 'OrderCount', name: 'OrderCount',
label: '转订单人数', label: '试听成功',
align: 'left', align: 'left',
field: 'OrderCount', field: 'OrderCount',
}, },
...@@ -173,6 +187,12 @@ ...@@ -173,6 +187,12 @@
align: 'left', align: 'left',
field: 'ConversionRates', field: 'ConversionRates',
}, },
{
name: 'FailCount',
label: '试听失败',
align: 'left',
field: 'FailCount',
},
{ {
name: 'ClassContent', name: 'ClassContent',
label: '试讲内容', label: '试讲内容',
...@@ -199,8 +219,9 @@ ...@@ -199,8 +219,9 @@
], ],
//表格可见列 //表格可见列
visibleColumns: [ visibleColumns: [
'TeacherName', 'ClassDateStr', 'ClassTime', 'RoomName', 'LessonName', 'JoinNum', 'OrderCount', 'ConversionRates', 'ClassContent', "ReserveType", 'TeacherName', 'ClassDateStr', 'ClassTime', 'RoomName', 'LessonName', 'JoinNum', 'OrderCount', 'FailCount',
'CreateByName','TeacherId' 'ConversionRates', 'ClassContent', "ReserveType",
'CreateByName', 'TeacherId'
], //可见列 ], //可见列
reserveObj: {}, reserveObj: {},
isShowReserve: false, isShowReserve: false,
......
This diff is collapsed.
This diff is collapsed.
...@@ -95,6 +95,13 @@ ...@@ -95,6 +95,13 @@
</div> </div>
</q-td> </q-td>
</template> </template>
<template v-slot:body-cell-ClassHours="props">
<q-td :props="props">
<span>&nbsp;&nbsp;&nbsp;&nbsp;时:{{ props.row.ClassHours }}</span><br />
<span>中教课时:{{ props.row.ChineseHours }}</span><br />
<span>外教课时:{{ props.row.ForeignHours }}</span>
</q-td>
</template>
<template v-slot:body-cell-Status="props"> <template v-slot:body-cell-Status="props">
<q-td :props="props"> <q-td :props="props">
<q-badge :color="props.value == 1 ? 'negative' : 'primary'" :label="props.value == 0 ? '正常' : '删除'" /> <q-badge :color="props.value == 1 ? 'negative' : 'primary'" :label="props.value == 0 ? '正常' : '删除'" />
...@@ -170,7 +177,6 @@ ...@@ -170,7 +177,6 @@
label: "课时长度", label: "课时长度",
field: "ClassHours", field: "ClassHours",
align: "left", align: "left",
format: (val, row) => `${val}课时`
}, },
{ {
name: "UpdateTimeStr", name: "UpdateTimeStr",
......
...@@ -119,6 +119,11 @@ ...@@ -119,6 +119,11 @@
this.msg.PeriodId = this.$route.query.Id; this.msg.PeriodId = this.$route.query.Id;
this.getList(); 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: { methods: {
//获取分页列表 //获取分页列表
......
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
</style> </style>
<template> <template>
<div class="page-body cycleOrderList"> <div class="page-body cycleOrderList">
<div class="page-search row items-center"> <div class="page-search row items-center">
<div class="col row wrap q-mr-lg q-col-gutter-md"> <div class="col row wrap q-mr-lg q-col-gutter-md">
...@@ -194,7 +194,7 @@ ...@@ -194,7 +194,7 @@
</template> </template>
</div> </div>
</template> </template>
<script> <script>
import { import {
getSchoolDropdown getSchoolDropdown
...@@ -218,6 +218,7 @@ ...@@ -218,6 +218,7 @@
import { import {
EduDownLoad, EduDownLoad,
} from '../../../api/common/common'; } from '../../../api/common/common';
import { number } from 'echarts'
export default { export default {
meta: { meta: {
title: "业绩提成统计" title: "业绩提成统计"
...@@ -279,13 +280,21 @@ ...@@ -279,13 +280,21 @@
if(this.$route.query && this.$route.query.OrderId){ if(this.$route.query && this.$route.query.OrderId){
this.msg.OrderId = 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.getList()
this.setClass() this.getEmployee();//销售
this.getBranchList() this.getPeriodList()//周期
this.setClass()//班级
this.getBranchList()//校区
this.getDepartList(0); this.getDepartList(0);
this.getEmployee();
this.getPeriodList()
}, },
...@@ -295,6 +304,7 @@ ...@@ -295,6 +304,7 @@
this.getList() this.getList()
}, },
getList(){ getList(){
console.log(this.msg, '02222222222')
if(this.msg) if(this.msg)
this.loading = true; this.loading = true;
getSellAchievementsStatistics(this.msg).then(res => { getSellAchievementsStatistics(this.msg).then(res => {
...@@ -428,8 +438,14 @@ ...@@ -428,8 +438,14 @@
Id: 0 Id: 0
} }
this.PeriodsList.unshift(obj) 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
}
})
}
} }
}) })
}, },
......
...@@ -109,7 +109,6 @@ ...@@ -109,7 +109,6 @@
line-height: 25px; line-height: 25px;
background-color: #004d40; background-color: #004d40;
} }
</style> </style>
<template> <template>
<div class="page-body courseList"> <div class="page-body courseList">
...@@ -117,8 +116,8 @@ ...@@ -117,8 +116,8 @@
<div class="col row wrap q-mr-lg q-col-gutter-md"> <div class="col row wrap q-mr-lg q-col-gutter-md">
<div class="col-3"> <div class="col-3">
<q-select @input="resetSearch" standout="bg-primary text-white" v-model="msg.CourseSubject" <q-select @input="resetSearch" standout="bg-primary text-white" v-model="msg.CourseSubject"
:options="CourseSubjectList" option-label="SubjectName" option-value="Id" emit-value map-options label="所属科目" :options="CourseSubjectList" option-label="SubjectName" option-value="Id" emit-value map-options
clearable /> label="所属科目" clearable />
</div> </div>
<div class="col-3"> <div class="col-3">
<q-input @input="resetSearch" clearable standout="bg-primary text-white" v-model="msg.CourseName" label="课程名称" <q-input @input="resetSearch" clearable standout="bg-primary text-white" v-model="msg.CourseName" label="课程名称"
...@@ -136,11 +135,6 @@ ...@@ -136,11 +135,6 @@
<!-- <q-btn color="accent" size="sm" class="q-mr-md" icon="add" label="创建报价单" @click="createQuotation" /> --> <!-- <q-btn color="accent" size="sm" class="q-mr-md" icon="add" label="创建报价单" @click="createQuotation" /> -->
</div> </div>
</template> </template>
<!-- <template v-slot:body-cell-OpenBankLevelNameList="props">
<q-td auto-width :props="props">
<span v-for="item in props.row.OpenBankLevelNameList">{{item}}</span>
</q-td>
</template> -->
<template v-slot:body="props"> <template v-slot:body="props">
<q-tr :props="props"> <q-tr :props="props">
<q-td auto-width> <q-td auto-width>
...@@ -154,7 +148,7 @@ ...@@ -154,7 +148,7 @@
</q-img> </q-img>
</q-td> </q-td>
<q-td v-else-if="col.name=='OpenBankLevelNameList'" :key="col.name"> <q-td v-else-if="col.name=='OpenBankLevelNameList'" :key="col.name">
<span style="margin-right:10px;" v-for="x in col.value">{{x}}</span> <span style="margin-right:10px;" v-for="(x,index) in col.value" :key="index">{{x}}</span>
</q-td> </q-td>
<q-td v-else-if="col.name == 'PreferentialList'" style="padding-right:0px" :key="col.name"> <q-td v-else-if="col.name == 'PreferentialList'" style="padding-right:0px" :key="col.name">
<div v-for="(x,index) in col.value" :key="index"> <div v-for="(x,index) in col.value" :key="index">
...@@ -193,7 +187,8 @@ ...@@ -193,7 +187,8 @@
<div class="remark-font">暂无优惠政策</div> <div class="remark-font">暂无优惠政策</div>
</div> </div>
</q-td> </q-td>
<q-td v-else-if="col.name == 'PreferentialListSellCommission'" style="padding-right:0px;padding-left:0px" :key="col.name"> <q-td v-else-if="col.name == 'PreferentialListSellCommission'" style="padding-right:0px;padding-left:0px"
:key="col.name">
<div v-for="(x,index) in col.value" :key="index"> <div v-for="(x,index) in col.value" :key="index">
<div class="border-bottom" style="padding-left: 16px;padding-right: 16px" <div class="border-bottom" style="padding-left: 16px;padding-right: 16px"
:class="{'text-red':x.SaleCommissionType==1}" v-if="x.PriceDiscountType!=0"> :class="{'text-red':x.SaleCommissionType==1}" v-if="x.PriceDiscountType!=0">
...@@ -211,7 +206,6 @@ ...@@ -211,7 +206,6 @@
<div class="border-bottom" style="padding-left: 16px" :class="{'text-red':x.B2BCommissionType==1}" <div class="border-bottom" style="padding-left: 16px" :class="{'text-red':x.B2BCommissionType==1}"
v-if="x.PriceDiscountType!=0"> v-if="x.PriceDiscountType!=0">
{{x.B2BCommissionType==1?'¥':''}}{{x.B2BCommissionMoney}}{{x.B2BCommissionType==0?'%':''}}</div> {{x.B2BCommissionType==1?'¥':''}}{{x.B2BCommissionMoney}}{{x.B2BCommissionType==0?'%':''}}</div>
<div v-if="x.PriceDiscountType == 0"> <div v-if="x.PriceDiscountType == 0">
<div class="remark-font">暂无佣金信息</div> <div class="remark-font">暂无佣金信息</div>
</div> </div>
...@@ -265,6 +259,12 @@ ...@@ -265,6 +259,12 @@
</q-chip> </q-chip>
</div> </div>
</q-td> </q-td>
<q-td v-else-if="col.name=='ClassHours'" :key="col.name">
<span>&nbsp;&nbsp;&nbsp;&nbsp;时:{{ props.row.ClassHours }}</span><br />
<span>中教课时:{{ props.row.ChineseHours }}</span><br />
<span>外教课时:{{ props.row.ForeignHours }}</span>
</q-td>
<q-td v-else-if="col.name=='CourseIntro'" :key="col.name"> <q-td v-else-if="col.name=='CourseIntro'" :key="col.name">
<q-btn flat color="primary" label="查看详情" @click="showContentDialog(col.value)" /> <q-btn flat color="primary" label="查看详情" @click="showContentDialog(col.value)" />
</q-td> </q-td>
...@@ -311,7 +311,9 @@ ...@@ -311,7 +311,9 @@
getCourseSubject getCourseSubject
} from "../../api/course/index"; } from "../../api/course/index";
import quotationForm from '../../components/sale/quotation-form' import quotationForm from '../../components/sale/quotation-form'
import { mapState } from "vuex"; import {
mapState
} from "vuex";
export default { export default {
meta: { meta: {
title: "课程报价表" title: "课程报价表"
...@@ -518,10 +520,10 @@ ...@@ -518,10 +520,10 @@
CourseSubjectList: [], //科目列表 CourseSubjectList: [], //科目列表
}; };
}, },
created(){ created() {
var localStorageData = window.localStorage["loginUserInfo"]; var localStorageData = window.localStorage["loginUserInfo"];
let ActionMenuList = JSON.parse(localStorageData).data.ActionMenuList; let ActionMenuList = JSON.parse(localStorageData).data.ActionMenuList;
var isShowPrice=false; var isShowPrice = false;
if (ActionMenuList && ActionMenuList.length > 0) { if (ActionMenuList && ActionMenuList.length > 0) {
ActionMenuList.forEach((x) => { ActionMenuList.forEach((x) => {
if (x.FunctionCode == "IsShow_CoursePrice") { if (x.FunctionCode == "IsShow_CoursePrice") {
...@@ -529,13 +531,19 @@ ...@@ -529,13 +531,19 @@
} }
}); });
} }
if(isShowPrice){ if (isShowPrice) {
this.visibleColumns = ['CourseFeature', 'CoverImg', 'CourseSubjectName', 'CourseName', 'OpenBankLevelNameList' , 'CateName', 'OriginalPrice', 'SellPrice', 'PreferentialListSellCommission', this.visibleColumns = ['CourseFeature', 'CoverImg', 'CourseSubjectName', 'CourseName', 'OpenBankLevelNameList',
'PreferentialListB2BCommission', 'B2CRatio', 'B2CReNewRatio' , 'CommissionReType' , 'B2BRebateRatio' , 'B2BReNewRatio' ,'SchoolRebateRatio', 'CateName', 'OriginalPrice', 'SellPrice', 'PreferentialListSellCommission',
'SchoolReNewRatio','TransIntroductceRatio','TransIntroductceReNewRatio','InnerRecommendRatio','InnerRecommendReNewRatio','B2CRbRatio', 'PreferentialListB2BCommission', 'B2CRatio', 'B2CReNewRatio', 'CommissionReType', 'B2BRebateRatio',
'B2CRNRatio','TeacherList','ClassHours','CourseIntro','UpdateTimeStr'] 'B2BReNewRatio', 'SchoolRebateRatio',
}else{ 'SchoolReNewRatio', 'TransIntroductceRatio', 'TransIntroductceReNewRatio', 'InnerRecommendRatio',
this.visibleColumns = ['CourseFeature', 'CoverImg', 'CourseSubjectName', 'CourseName', 'OpenBankLevelNameList', 'CateName','TeacherList','ClassHours','CourseIntro','UpdateTimeStr'] 'InnerRecommendReNewRatio', 'B2CRbRatio',
'B2CRNRatio', 'TeacherList', 'ClassHours', 'CourseIntro', 'UpdateTimeStr'
]
} else {
this.visibleColumns = ['CourseFeature', 'CoverImg', 'CourseSubjectName', 'CourseName', 'OpenBankLevelNameList',
'CateName', 'TeacherList', 'ClassHours', 'CourseIntro', 'UpdateTimeStr'
]
} }
}, },
mounted() { mounted() {
...@@ -590,7 +598,6 @@ ...@@ -590,7 +598,6 @@
} }
} }
}; };
</script> </script>
<style lang="sass"> <style lang="sass">
@import url('~assets/css/table.sass') @import url('~assets/css/table.sass')
......
This diff is collapsed.
...@@ -285,6 +285,14 @@ ...@@ -285,6 +285,14 @@
this.getCourseList(); this.getCourseList();
}, },
mounted() { mounted() {
if(this.$route.query.UserId){
this.msg.EnterID = this.$route.query.UserId-0
let y = this.$route.query.Periods.slice(0,4)
let m = this.$route.query.Periods.slice(5,8)
let d = new Date(y,m,0).getDate()
this.msg.StartTime = this.$route.query.Periods
this.msg.EndTime = y +'-' + m +'-'+ d
}
this.getList(); this.getList();
this.getEmployee(0); this.getEmployee(0);
this.getglteacher(); this.getglteacher();
......
...@@ -87,6 +87,17 @@ ...@@ -87,6 +87,17 @@
var day = nowDay.getDate(); //日 var day = nowDay.getDate(); //日
this.msg.StartClassDate = year + '-' + month + '-' + day this.msg.StartClassDate = year + '-' + month + '-' + day
if (this.$route.query) {
if (this.$route.query.StartClassDate) {
this.msg.StartClassDate = this.$route.query.StartClassDate;
}
if (this.$route.query.EndClassDate) {
this.msg.EndClassDate = this.$route.query.EndClassDate;
}
if (this.$route.query.TeacherId) {
this.msg.TeacherId = Number(this.$route.query.TeacherId);
}
}
this.GetTeacherList(); this.GetTeacherList();
this.getClassRoomList(); this.getClassRoomList();
this.getList() this.getList()
......
...@@ -12,6 +12,20 @@ ...@@ -12,6 +12,20 @@
<div class="page-option"> <div class="page-option">
</div> </div>
</template> </template>
<template v-slot:body-cell-SpeakState="props">
<q-td :props="props">
<template v-if="props.row.OrderCount>0">
<q-badge color="green">
试讲成功
</q-badge>
</template>
<template v-else>
<q-badge color="red">
试讲失败
</q-badge>
</template>
</q-td>
</template>
<template v-slot:bottom> <template v-slot:bottom>
<q-pagination class="full-width justify-end" v-model="msg.pageIndex" color="primary" :max="pageCount" <q-pagination class="full-width justify-end" v-model="msg.pageIndex" color="primary" :max="pageCount"
:input="true" @input="changePage" /> :input="true" @input="changePage" />
...@@ -94,6 +108,18 @@ ...@@ -94,6 +108,18 @@
field: 'TeacherName', field: 'TeacherName',
align: 'left' align: 'left'
}, },
{
name: 'OrderCount',
label: '订单数量',
field: 'OrderCount',
align: 'left'
},
{
name: 'SpeakState',
label: '试讲',
field: 'SpeakState',
align: 'left'
},
{ {
name: 'RoomName', name: 'RoomName',
label: '教室', label: '教室',
......
This diff is collapsed.
...@@ -161,27 +161,25 @@ ...@@ -161,27 +161,25 @@
created() { created() {
this.findData(); this.findData();
let today = new Date(); let today = new Date();
// if (this.$route.query) {
// if (this.$route.query.TeacherAccountId) {
// this.msg.TeacherAccountId = parseInt(this.$route.query.TeacherAccountId)
// }
// if (this.$route.query.YearStr && this.$route.query.MonthStr) {
// this.msg.YearStr = this.$route.query.YearStr;
// this.msg.MonthStr = this.$route.query.MonthStr
// this.queryDate = this.msg.YearStr + '-' + this.msg.MonthStr
// }
// } else {
// }
this.msg.YearStr = today.getFullYear().toString(); this.msg.YearStr = today.getFullYear().toString();
this.msg.MonthStr = (today.getMonth() + 1).toString(); this.msg.MonthStr = (today.getMonth() + 1).toString();
this.queryDate = this.msg.YearStr + '-' + this.msg.MonthStr; this.queryDate = this.msg.YearStr + '-' + this.msg.MonthStr;
if (this.$route.query) {
if (this.$route.query.TeacherAccountId) {
this.msg.TeacherAccountId = Number(this.$route.query.TeacherAccountId)
}
if (this.$route.query.YearStr && this.$route.query.MonthStr) {
this.msg.YearStr = this.$route.query.YearStr;
this.msg.MonthStr = this.$route.query.MonthStr
this.queryDate = this.msg.YearStr + '-' + this.msg.MonthStr
}
}
}, },
mounted() { mounted() {
if (!this.isHaveEdit) { // if (!this.isHaveEdit) {
let userinfo = this.getLocalStorage(); // let userinfo = this.getLocalStorage();
this.msg.TeacherAccountId = userinfo.Id; // this.msg.TeacherAccountId = userinfo.Id;
} // }
this.getTeacherAssessmentPage() this.getTeacherAssessmentPage()
}, },
methods: { methods: {
......
...@@ -30,8 +30,7 @@ ...@@ -30,8 +30,7 @@
<template :props="props" v-for="(col,cIndex) in props.row.SubtypeList"> <template :props="props" v-for="(col,cIndex) in props.row.SubtypeList">
<template v-if="cIndex==0"> <template v-if="cIndex==0">
<q-tr :key="cIndex+(props.rowIndex*10000)"> <q-tr :key="cIndex+(props.rowIndex*10000)">
<q-td key="TypeName" :props="props" :rowspan="props.row.SubtypeList.length" <q-td key="TypeName" :props="props" :rowspan="props.row.SubtypeList.length" class="assessmentType_td">
class="assessmentType_td">
{{ props.row.TypeName }} {{ props.row.TypeName }}
</q-td> </q-td>
<q-td class="assessmentType_td"> <q-td class="assessmentType_td">
...@@ -39,14 +38,14 @@ ...@@ -39,14 +38,14 @@
</q-td> </q-td>
<template v-for="(subItem,subIndex) in props.row.SubtypeList[cIndex].OptionList"> <template v-for="(subItem,subIndex) in props.row.SubtypeList[cIndex].OptionList">
<q-td :key="subIndex+200000" class="assessmentType_td"> <q-td :key="subIndex+200000" class="assessmentType_td">
<div style="width:150px;white-space:normal; "> {{subItem.LevelDesc}} <q-badge color="green"> <div style="width:150px;white-space:normal; "> {{subItem.LevelDesc}} <q-badge color="green" v-if="subItem.LevelScore>0">
{{subItem.LevelScore}} {{subItem.LevelScore}}
</q-badge> </q-badge>
</div> </div>
</q-td> </q-td>
</template> </template>
<q-td key="Id" :props="props" :rowspan="props.row.SubtypeList.length" <q-td key="Id" :props="props" :rowspan="props.row.SubtypeList.length" class="assessmentType_td"
class="assessmentType_td" style="border-right: 1px solid rgba(0, 0, 0, 0.12);"> style="border-right: 1px solid rgba(0, 0, 0, 0.12);">
<q-btn flat size="xs" icon="edit" color="accent" style="font-weight:400" label="编辑" <q-btn flat size="xs" icon="edit" color="accent" style="font-weight:400" label="编辑"
@click="AddMsg(props.row)" /> @click="AddMsg(props.row)" />
<q-btn flat size="xs" icon="delete" color="negative" class="q-mr-xs" label="删除" <q-btn flat size="xs" icon="delete" color="negative" class="q-mr-xs" label="删除"
...@@ -61,7 +60,7 @@ ...@@ -61,7 +60,7 @@
</q-td> </q-td>
<template v-for="(subItem,subIndex) in props.row.SubtypeList[cIndex].OptionList"> <template v-for="(subItem,subIndex) in props.row.SubtypeList[cIndex].OptionList">
<q-td :key="subIndex+400000" class="assessmentType_td"> <q-td :key="subIndex+400000" class="assessmentType_td">
<div style="width:150px;white-space:normal; "> {{subItem.LevelDesc}} <q-badge color="green"> <div style="width:150px;white-space:normal; "> {{subItem.LevelDesc}} <q-badge color="green" v-if="subItem.LevelScore>0">
{{subItem.LevelScore}} {{subItem.LevelScore}}
</q-badge> </q-badge>
</div> </div>
...@@ -111,39 +110,13 @@ ...@@ -111,39 +110,13 @@
methods: { methods: {
getAssessmentTypeList() { getAssessmentTypeList() {
this.loading = true; this.loading = true;
this.columns=[]; this.columns = [];
queryAssessmentTypeList(this.msg).then(res => { queryAssessmentTypeList(this.msg).then(res => {
this.loading = false; this.loading = false;
console.log("res", res);
if (res.Code == 1) { if (res.Code == 1) {
this.dataList = res.Data; this.dataList = res.Data.result;
this.columns.push({ this.columns = res.Data.header;
name: "TypeName",
label: "类别",
field: "TypeName",
align: "left"
});
this.columns.push({
name: "SubtypeList",
label: "内容",
field: "SubtypeList",
align: "left"
});
if (this.dataList && this.dataList.length > 0) {
this.dataList[0].SubtypeList[0].OptionList.forEach(item => {
this.columns.push({
name: item.LevelTitle,
label: item.LevelTitle,
field: item.LevelTitle,
align: "left"
})
})
}
this.columns.push({
name: 'Id',
label: '操作',
field: row => row.Id
})
} }
}) })
}, },
......
...@@ -56,16 +56,27 @@ ...@@ -56,16 +56,27 @@
separator="none" :data="dataList" :columns="columns" row-key=""> separator="none" :data="dataList" :columns="columns" row-key="">
<q-tr slot="header" slot-scope="props" :props="props"> <q-tr slot="header" slot-scope="props" :props="props">
<template v-for="col in props.cols" :props="props"> <template v-for="col in props.cols" :props="props">
<!-- <template v-if="col.label=='线上与学生互动数'">
<q-th :key="col.name" :props="props" style="max-width:75px;text-align:center;">
线上与学生<br />互动数
</q-th>
</template> -->
<template v-if="col.label=='续约(含留学)'"> <template v-if="col.label=='续约(含留学)'">
<q-th :key="col.name" :props="props" style="max-width:60px;text-align:center;"> <q-th :key="col.name" :props="props" style="max-width:60px;text-align:center;">
续约<br />(含留学) 续约<br />(含留学)
</q-th> </q-th>
</template> </template>
<template v-else-if="col.label=='班主任学生互动'">
<q-th :key="col.name" :props="props" style="max-width:75px;text-align:center;">
班主任<br />学生互动
</q-th>
</template>
<template v-else-if="col.label=='班主任学生互动得分'">
<q-th :key="col.name" :props="props" style="max-width:90px;text-align:center;">
班主任学生<br />互动得分
</q-th>
</template>
<template v-else-if="col.label=='企业微信互动次数'">
<q-th :key="col.name" :props="props" style="max-width:90px;text-align:center;">
企业微信<br />互动次数
</q-th>
</template>
<template v-else-if="col.label=='学生退课'"> <template v-else-if="col.label=='学生退课'">
<q-th :key="col.name" :props="props" style="background-color:#FF66CC;color:#000;"> <q-th :key="col.name" :props="props" style="background-color:#FF66CC;color:#000;">
学生退课 学生退课
...@@ -102,24 +113,6 @@ ...@@ -102,24 +113,6 @@
老师<br />迟到早退 老师<br />迟到早退
</q-th> </q-th>
</template> </template>
<!-- <template v-else-if="col.label=='N5课程时数'">
<q-th :key="col.name" :props="props"
style="max-width:60px;text-align:center;background-color:#E2EFDA;color:#000;">
N5<br />课程时数
</q-th>
</template>
<template v-else-if="col.label=='N4课程时数'">
<q-th :key="col.name" :props="props"
style="max-width:60px;text-align:center;background-color:#E2EFDA;color:#000;">
N4<br />课程时数
</q-th>
</template>
<template v-else-if="col.label=='N3课程时数'">
<q-th :key="col.name" :props="props"
style="max-width:60px;text-align:center;background-color:#E2EFDA;color:#000;">
N3<br />课程时数
</q-th>
</template> -->
<template v-else-if="col.label=='N2课程时数'"> <template v-else-if="col.label=='N2课程时数'">
<q-th :key="col.name" :props="props" <q-th :key="col.name" :props="props"
style="max-width:60px;text-align:center;background-color:#B4C6E7;color:#000;"> style="max-width:60px;text-align:center;background-color:#B4C6E7;color:#000;">
...@@ -174,7 +167,20 @@ ...@@ -174,7 +167,20 @@
</template> </template>
</template> </template>
</q-tr> </q-tr>
<template v-slot:body-cell-FinishTimesPlanCount2="props">
<q-td :props="props">
<span style="color:blue;cursor:pointer;" title="点击查看跟进详细信息" @click="GoToDetails(props.row,1)">
{{props.row.OnLineInteractiveScore}}
</span>
</q-td>
</template>
<template v-slot:body-cell-FinishTimesPlanCount="props">
<q-td :props="props">
<span style="color:blue;cursor:pointer;" title="点击查看跟进详细信息" @click="GoToDetails(props.row,1)">
{{props.row.FinishFollow}} /
{{props.row.TotalFollow}}</span>
</q-td>
</template>
<template v-slot:bottom> <template v-slot:bottom>
</template> </template>
</q-table> </q-table>
...@@ -205,26 +211,34 @@ ...@@ -205,26 +211,34 @@
field: 'DateStr', field: 'DateStr',
align: 'left' align: 'left'
}, },
// {
// name: 'StudentCount',
// label: '学生人次',
// field: 'StudentCount',
// align: 'left'
// },
{ {
name: 'StudentCount', name: 'FinishTimesPlanCount',
label: '学生人次', label: '班主任学生互动',
field: 'StudentCount', align: 'left'
},
{
name: 'FinishTimesPlanCount2',
label: '班主任学生互动得分',
align: 'left'
},
{
name: 'OnLineInteractive',
label: '企业微信互动次数',
field: 'OnLineInteractive',
align: 'left' align: 'left'
}, },
{ {
name: 'AttendClassHourScore', name: 'AttendClassHourScore',
label: '上课时数', label: '上课时数',
field: 'AttendClassHourScore', field: 'AttendClassHourScore',
align: 'left', align: 'left',
}, },
// {
// name: 'OnLineInteractiveScore',
// label: '线上与学生互动数',
// field: 'OnLineInteractiveScore',
// align: 'left',
// style: 'max-width: 50px',
// },
{ {
name: 'RenewScore', name: 'RenewScore',
label: '续约(含留学)', label: '续约(含留学)',
......
...@@ -69,10 +69,12 @@ ...@@ -69,10 +69,12 @@
<tr v-for="(sItem,sIndex) in item.SubtypeList" :key="sIndex"> <tr v-for="(sItem,sIndex) in item.SubtypeList" :key="sIndex">
<td>{{sItem.SubTypeName}}</td> <td>{{sItem.SubTypeName}}</td>
<td v-for="(cItem,cIndex) in sItem.OptionList" style="position:relative;" :key="cIndex"> <td v-for="(cItem,cIndex) in sItem.OptionList" style="position:relative;" :key="cIndex">
<template v-if="cItem.LevelDesc!=''&&cItem.LevelScore>0">
<el-tooltip class="item" effect="dark" :content="cItem.LevelDesc" placement="top-start"> <el-tooltip class="item" effect="dark" :content="cItem.LevelDesc" placement="top-start">
<i style="position:absolute;left:3px;top:3px;" class="iconfont icon-bangzhu"></i> <i style="position:absolute;left:3px;top:3px;" class="iconfont icon-bangzhu"></i>
</el-tooltip> </el-tooltip>
<q-checkbox v-model="cItem.IsCheck" @input="changeStatus(sItem,cItem)" val="teal" color="green" /> <q-checkbox v-model="cItem.IsCheck" @input="changeStatus(sItem,cItem)" val="teal" color="green" />
</template>
</td> </td>
<td>{{sItem.CheckScore}}</td> <td>{{sItem.CheckScore}}</td>
</tr> </tr>
...@@ -116,11 +118,13 @@ ...@@ -116,11 +118,13 @@
} }
}, },
created() { created() {
this.GetTeacherList(); this.GetTeacherList();
}, },
mounted() { mounted() {
let today = new Date(); let today = new Date();
var yearStr = today.getFullYear().toString();
var monthStr = (today.getMonth() + 1).toString();
this.teacherDate = yearStr + '-' + monthStr;
if (this.$route.query) { if (this.$route.query) {
if (this.$route.query.Id) { if (this.$route.query.Id) {
this.saveObj.Id = this.$route.query.Id; this.saveObj.Id = this.$route.query.Id;
...@@ -132,10 +136,6 @@ ...@@ -132,10 +136,6 @@
this.teacherDate = this.$route.query.YearStr + '-' + this.$route.query.MonthStr; this.teacherDate = this.$route.query.YearStr + '-' + this.$route.query.MonthStr;
} }
this.getInfo(); this.getInfo();
} else {
var yearStr = today.getFullYear().toString();
var monthStr = (today.getMonth() + 1).toString();
this.teacherDate = yearStr + '-' + monthStr;
} }
}, },
methods: { methods: {
...@@ -175,8 +175,13 @@ ...@@ -175,8 +175,13 @@
TeacherAccountId: this.saveObj.TeacherAccountId, TeacherAccountId: this.saveObj.TeacherAccountId,
YearStr: this.saveObj.YearStr, YearStr: this.saveObj.YearStr,
MonthStr: this.saveObj.MonthStr, MonthStr: this.saveObj.MonthStr,
Id: this.saveObj.Id, Id: 0,
}; };
if (this.$route.query) {
if (this.$route.query.Id) {
qMsg.Id = this.$route.query.Id;
}
}
queryTeacherAssessmentInfo(qMsg).then(res => { queryTeacherAssessmentInfo(qMsg).then(res => {
if (res.Code == 1) { if (res.Code == 1) {
var tempData = res.Data; var tempData = res.Data;
......
...@@ -31,10 +31,12 @@ ...@@ -31,10 +31,12 @@
<tr v-for="(sItem,sIndex) in item.SubtypeList" :key="sIndex"> <tr v-for="(sItem,sIndex) in item.SubtypeList" :key="sIndex">
<td>{{sItem.SubTypeName}}</td> <td>{{sItem.SubTypeName}}</td>
<td v-for="(cItem,cIndex) in sItem.OptionList" style="position:relative;" :key="cIndex"> <td v-for="(cItem,cIndex) in sItem.OptionList" style="position:relative;" :key="cIndex">
<template v-if="cItem.LevelDesc!=''&&cItem.LevelScore>0">
<el-tooltip class="item" effect="dark" :content="cItem.LevelDesc" placement="top-start"> <el-tooltip class="item" effect="dark" :content="cItem.LevelDesc" placement="top-start">
<i style="position:absolute;left:3px;top:3px;" class="iconfont icon-bangzhu"></i> <i style="position:absolute;left:3px;top:3px;" class="iconfont icon-bangzhu"></i>
</el-tooltip> </el-tooltip>
<q-checkbox v-model="cItem.IsCheck" disable val="teal" color="green" /> <q-checkbox v-model="cItem.IsCheck" disable val="teal" color="green" />
</template>
</td> </td>
<td>{{sItem.S_TeacherScore}}</td> <td>{{sItem.S_TeacherScore}}</td>
<td>{{sItem.S_JiaoWuScore}}</td> <td>{{sItem.S_JiaoWuScore}}</td>
...@@ -229,7 +231,7 @@ ...@@ -229,7 +231,7 @@
if (res.Code == 1) { if (res.Code == 1) {
var tempData = res.Data; var tempData = res.Data;
this.saveObj = tempData; this.saveObj = tempData;
this.teacherDate=this.saveObj.YearStr+"-"+this.saveObj.MonthStr; this.teacherDate = this.saveObj.YearStr + "-" + this.saveObj.MonthStr;
} }
}) })
}, },
......
...@@ -47,11 +47,16 @@ ...@@ -47,11 +47,16 @@
班主任<br />学生互动 班主任<br />学生互动
</q-th> </q-th>
</template> </template>
<!-- <template v-else-if="col.label=='线上与学生互动数'"> <template v-else-if="col.label=='班主任学生互动得分'">
<q-th :key="col.name" :props="props" style="max-width:90px;text-align:center;"> <q-th :key="col.name" :props="props" style="max-width:90px;text-align:center;">
线上与学生<br />互动数 班主任学生<br />互动得分
</q-th> </q-th>
</template> --> </template>
<template v-else-if="col.label=='企业微信互动次数'">
<q-th :key="col.name" :props="props" style="max-width:90px;text-align:center;">
企业微信<br />互动次数
</q-th>
</template>
<template v-else-if="col.label=='学生人次'"> <template v-else-if="col.label=='学生人次'">
<q-th :key="col.name" :props="props" style="max-width:85px;text-align:center;"> <q-th :key="col.name" :props="props" style="max-width:85px;text-align:center;">
学生人次 学生人次
...@@ -67,7 +72,6 @@ ...@@ -67,7 +72,6 @@
考级升级 考级升级
</q-th> </q-th>
</template> </template>
<template v-else-if="col.label=='上课时数'"> <template v-else-if="col.label=='上课时数'">
<q-th :key="col.name" :props="props" style="max-width:85px;text-align:center;"> <q-th :key="col.name" :props="props" style="max-width:85px;text-align:center;">
上课时数 上课时数
...@@ -193,18 +197,46 @@ ...@@ -193,18 +197,46 @@
<span v-else>{{props.row.DateStr}}</span> <span v-else>{{props.row.DateStr}}</span>
</q-td> </q-td>
</template> </template>
<template v-slot:body-cell-FinishTimesPlanCount2="props">
<q-td :props="props">
<span style="color:blue;cursor:pointer;" title="点击查看跟进详细信息" @click="GoToDetails(props.row,1)">
{{props.row.OnLineInteractiveScore}}
</span>
</q-td>
</template>
<template v-slot:body-cell-FinishTimesPlanCount="props"> <template v-slot:body-cell-FinishTimesPlanCount="props">
<q-td :props="props"> <q-td :props="props">
<span style="color:blue;cursor:pointer;" title="点击查看跟进详细信息" @click="GoToDetails(props.row,1)"> <span style="color:blue;cursor:pointer;" title="点击查看跟进详细信息" @click="GoToDetails(props.row,1)">
{{props.row.FinishTimes}} / {{props.row.FinishFollow}} /
{{props.row.FollowCount}}</span> {{props.row.TotalFollow}}</span>
</q-td> </q-td>
</template> </template>
<template v-slot:body-cell-AssessmentScore="props"> <template v-slot:body-cell-AssessmentScore="props">
<q-td :props="props"> <q-td :props="props">
<!-- <span style="color:blue;cursor:pointer;" title="点击查看考核信息" @click="GoToDetails(props.row,2)"> <span style="color:blue;cursor:pointer;" title="点击查看考核信息" @click="GoToDetails(props.row,2)">
</span> -->
{{props.row.AssessmentScore}} {{props.row.AssessmentScore}}
</span>
</q-td>
</template>
<template v-slot:body-cell-SpeakClassScore="props">
<q-td :props="props">
<span style="color:blue;cursor:pointer;" title="点击查看试听信息" @click="gotoShiTing(props.row)">
{{props.row.SpeakClassScore}}
</span>
</q-td>
</template>
<template v-slot:body-cell-SpeakVipScore="props">
<q-td :props="props">
<span style="color:blue;cursor:pointer;" title="点击查看试听信息" @click="gotoShiTing(props.row)">
{{props.row.SpeakVipScore}}
</span>
</q-td>
</template>
<template v-slot:body-cell-SpeakFailScore="props">
<q-td :props="props">
<span style="color:blue;cursor:pointer;" title="点击查看试听信息" @click="gotoShiTing(props.row)">
{{props.row.SpeakFailScore}}
</span>
</q-td> </q-td>
</template> </template>
<template v-slot:bottom-row> <template v-slot:bottom-row>
...@@ -213,17 +245,17 @@ ...@@ -213,17 +245,17 @@
{{lastRow.DateStr}} {{lastRow.DateStr}}
</q-td> </q-td>
<q-td> <q-td>
{{lastRow.StudentCount}} {{lastRow.FinishFollow}} / {{lastRow.TotalFollow}}
</q-td> </q-td>
<q-td> <q-td>
{{lastRow.FinishTimes}} / {{lastRow.FollowCount}} {{lastRow.OnLineInteractiveScore}}
</q-td>
<q-td>
{{lastRow.OnLineInteractive}}
</q-td> </q-td>
<q-td> <q-td>
{{lastRow.AttendClassHourScore}} {{lastRow.AttendClassHourScore}}
</q-td> </q-td>
<!-- <q-td>
{{lastRow.OnLineInteractiveScore}}
</q-td> -->
<q-td> <q-td>
{{lastRow.RenewScore}} {{lastRow.RenewScore}}
</q-td> </q-td>
...@@ -323,18 +355,29 @@ ...@@ -323,18 +355,29 @@
field: 'DateStr', field: 'DateStr',
align: 'left' align: 'left'
}, },
{ // {
name: 'StudentCount', // name: 'StudentCount',
label: '学生人次', // label: '学生人次',
field: 'StudentCount', // field: 'StudentCount',
align: 'left', // align: 'left',
sortable: true // sortable: true
}, // },
{ {
name: 'FinishTimesPlanCount', name: 'FinishTimesPlanCount',
label: '班主任学生互动', label: '班主任学生互动',
align: 'left' align: 'left'
}, },
{
name: 'FinishTimesPlanCount2',
label: '班主任学生互动得分',
align: 'left'
},
{
name: 'OnLineInteractive',
label: '企业微信互动次数',
field: 'OnLineInteractive',
align: 'left'
},
{ {
name: 'AttendClassHourScore', name: 'AttendClassHourScore',
label: '上课时数', label: '上课时数',
...@@ -342,14 +385,6 @@ ...@@ -342,14 +385,6 @@
align: 'left', align: 'left',
sortable: true sortable: true
}, },
// {
// name: 'OnLineInteractiveScore',
// label: '线上与学生互动数',
// field: 'OnLineInteractiveScore',
// align: 'left',
// style: 'max-width: 50px',
// sortable: true
// },
{ {
name: 'RenewScore', name: 'RenewScore',
label: '续约(含留学)', label: '续约(含留学)',
...@@ -540,6 +575,16 @@ ...@@ -540,6 +575,16 @@
this.getList(); this.getList();
}, },
methods: { methods: {
//跳转到试听
gotoShiTing(item) {
var lastDay = new Date(this.msg.YearStr, this.msg.MonthStr, 0).getDate();
var qObj = {
TeacherId: item.TeacherId,
StartClassDate: this.msg.YearStr + "-" + this.msg.MonthStr + "-01",
EndClassDate: this.msg.YearStr + "-" + this.msg.MonthStr + "-" + lastDay,
};
this.OpenNewUrl('/sale/reserveClass', qObj)
},
GoToDetails(item, type) { GoToDetails(item, type) {
//跳转到跟进详情 //跳转到跟进详情
if (type == 1) { if (type == 1) {
...@@ -558,7 +603,7 @@ ...@@ -558,7 +603,7 @@
YearStr: this.msg.YearStr, YearStr: this.msg.YearStr,
MonthStr: this.msg.MonthStr, MonthStr: this.msg.MonthStr,
}; };
this.OpenNewUrl('/teacher/jobEvaluation', qObj) this.OpenNewUrl('/teacher/appraisalList', qObj)
} }
}, },
//初始化部门数据 //初始化部门数据
...@@ -594,7 +639,7 @@ ...@@ -594,7 +639,7 @@
EduDownLoad( EduDownLoad(
"/TeacherStatic/DownLoadTeacherMonthStatic", "/TeacherStatic/DownLoadTeacherMonthStatic",
msg, msg,
"教师每日数据统计.xls", res => { "教师月度数据统计.xls", res => {
this.loading = false; this.loading = false;
} }
); );
......
This diff is collapsed.
This diff is collapsed.
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