Commit 675e4201 authored by liudong1993's avatar liudong1993
parents 0914be20 a6e5b147
......@@ -48,9 +48,9 @@ module.exports = function(ctx) {
env: ctx.dev ? {
//API: 'http://localhost:5001/api',
API: 'http://192.168.10.46:8300/api',
API: 'http://192.168.10.2:8085/api',
// API: 'https://eduapi.oytour.com/api',
API_ZC: 'http://192.168.10.17:8087/api',
API_ZC: 'http://192.168.10.2:8087/api',
API_SK: 'ws:192.168.10.214:',
API_SIG: 'http://localhost:5001/messagecenter'
} : {
......
......@@ -45,4 +45,15 @@ export function removeActivitySurveyGuest(data) {
method: 'post',
data
})
}
/*
* 获取学员编号
*/
export function getAccountStudentList(data) {
return request({
url: '/User/GetAccountStudentList',
method: 'post',
data
})
}
\ No newline at end of file
This diff is collapsed.
......@@ -83,13 +83,13 @@
<div class="row wrap">
<div class="col-6">
<q-input filled stack-label :disable="!isHaveCourseHoursEdit"
@keyup.native="checkPrice(objOption, 'ClassHours')" reverse-fill-mask v-model="objOption.ClassHours"
ref="ClassHours" class="col-6 q-pr-lg q-pb-lg" label="课时数量" :rules="[val => !!val || '请填写课时信息']" />
@keyup.native="checkPrice(objOption, 'ChineseHours')" reverse-fill-mask v-model="objOption.ChineseHours"
ref="ChineseHours" class="col-6 q-pr-lg q-pb-lg" label="中教课时" />
</div>
<div class="col-6">
<q-select filled stack-label @input="changeCourseSubject(objOption.CateId)" option-value="CateId"
option-label="CateName" v-model="objOption.CateId" ref="CateId" :options="TreeCategoryList" label="所属系列"
class="col-6 q-pr-lg q-pb-lg" emit-value map-options :rules="[val => !!val || '请选择课程所属系列']" />
<q-input filled stack-label :disable="!isHaveCourseHoursEdit"
@keyup.native="checkPrice(objOption, 'ForeignHours')" reverse-fill-mask v-model="objOption.ForeignHours"
ref="ForeignHours" class="col-6 q-pr-lg q-pb-lg" label="外教课时" />
</div>
</div>
<div class="row wrap">
......@@ -99,13 +99,18 @@
class="col-6 q-pr-lg q-pb-lg" emit-value map-options />
</div>
<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 />
<q-select filled stack-label @input="changeCourseSubject(objOption.CateId)" option-value="CateId"
option-label="CateName" v-model="objOption.CateId" ref="CateId" :options="TreeCategoryList" label="所属系列"
class="col-6 q-pr-lg q-pb-lg" emit-value map-options :rules="[val => !!val || '请选择课程所属系列']" />
</div>
</div>
<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">
<template v-slot:control>
<div class="row col-12">
......@@ -114,10 +119,20 @@
</div>
</template>
</q-field>
<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
map-options />
</div>
<div class="row">
<div class="col-6">
<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
map-options />
</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">
<q-input filled stack-label v-model="objOption.ScrollMinNum" ref="ScrollMinNum" class="col-6 q-pr-lg q-pb-lg"
label="最小上课人数" :rules="[val => !!val || '请填写最小上课人数']" />
......@@ -125,10 +140,10 @@
label="最大上课人数" :rules="[val => !!val || '请填写最大上课人数']" />
</div>
<div class="row">
<q-input filled stack-label v-model="objOption.FreeCoffeeNum" ref="FreeCoffeeNum" 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"
label="课程增加课时费" :rules="[val => val >=0 || '请填写课程增加课时费']" />
<q-input filled stack-label v-model="objOption.FreeCoffeeNum" ref="FreeCoffeeNum"
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" label="课程增加课时费" :rules="[val => val >=0 || '请填写课程增加课时费']" />
</div>
<div class="row wrap">
<div class="col-6">
......@@ -153,13 +168,7 @@
style="display:none" />
</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="col-12 q-pr-lg q-pb-lg">
<q-input v-model="objOption.ContractInfo" filled type="textarea" placeholder="合同补充协议" />
......@@ -267,8 +276,10 @@
FreeCoffeeNum: 0, // 赠送咖啡
AddHoursMoney: 0, // 课程增加课时费
CourseTimeId: 0, // 关联上课时段
ContractInfo: "",//合同补充协议
OpenBankLevelList: []
ContractInfo: "", //合同补充协议
OpenBankLevelList: [], //开放题库
ChineseHours: "", //中教课时
ForeignHours: "", //外教课时
},
CourseTimeList: [], //上课时段列表
CourseEmphasis: [], //数据临时存放
......@@ -288,7 +299,7 @@
courseLevelList: [], //课程等级列表
courseSubjectList: [], //课程科目列表
keynoteList: [], //重点枚举列表
LevelData:[]
LevelData: []
};
},
created() {
......@@ -327,9 +338,9 @@
},
methods: {
//获取关联考试等级
getLevel(){
getLevel() {
GetBankTypeList({}).then(res => {
if(res.Code==1){
if (res.Code == 1) {
this.LevelData = res.Data;
}
})
......@@ -510,6 +521,8 @@
this.objOption.AddHoursMoney = res.Data.AddHoursMoney;
this.objOption.CourseTimeId = res.Data.CourseTimeId;
this.objOption.OpenBankLevelList = res.Data.OpenBankLevelList;
this.objOption.ChineseHours = res.Data.ChineseHours;
this.objOption.ForeignHours = res.Data.ForeignHours;
this.CourseEmphasis = [];
setTimeout(() => {
//Todo 暂时不知道什么原因 偶尔会出现2个 所以加了一个延迟
......@@ -570,6 +583,8 @@
this.objOption.AddHoursMoney = 0;
this.objOption.CourseTimeId = 0;
this.objOption.OpenBankLevelList = [];
this.objOption.ChineseHours = "";
this.objOption.ForeignHours = "";
}
},
//关闭弹窗
......@@ -580,13 +595,13 @@
//保存菜单
saveCourse() {
this.$refs.CourseName.validate();
this.$refs.ClassHours.validate();
//this.$refs.ClassHours.validate();
this.$refs.CateId.validate();
this.$refs.FreeCoffeeNum.validate();
this.$refs.AddHoursMoney.validate();
//!this.$refs.ClassHours.hasError &&
if (
!this.$refs.CourseName.hasError &&
!this.$refs.ClassHours.hasError &&
!this.$refs.CateId.hasError &&
!this.$refs.FreeCoffeeNum.hasError &&
!this.$refs.AddHoursMoney.hasError
......
......@@ -1640,7 +1640,6 @@
item.tab = tab;
this.myorderObjOption = item;
this.isShowmyorderForm = true;
console.log(this.myorderObjOption,'====')
},
//关闭订单详情
closeMOSaveForm() {
......
......@@ -64,6 +64,20 @@
</span>
</q-td>
</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">
<q-td :props="props">
<q-btn-dropdown v-if="authObj&&authObj.isShowEdit" flat size="xs" color="dark" label="更多">
......@@ -78,7 +92,7 @@
<q-item-label>收支明细</q-item-label>
</q-item-section>
</q-item>
<q-item clickable v-close-popup @click="editVisitor(props.row)" v-if="props.row.ReserveType==0">
<q-item clickable v-close-popup @click="editVisitor(props.row)" v-if="props.row.ReserveType==0">
<q-item-section>
<q-item-label>修改</q-item-label>
</q-item-section>
......@@ -163,7 +177,7 @@
},
{
name: 'OrderCount',
label: '转订单人数',
label: '试听成功',
align: 'left',
field: 'OrderCount',
},
......@@ -173,6 +187,12 @@
align: 'left',
field: 'ConversionRates',
},
{
name: 'FailCount',
label: '试听失败',
align: 'left',
field: 'FailCount',
},
{
name: 'ClassContent',
label: '试讲内容',
......@@ -199,8 +219,9 @@
],
//表格可见列
visibleColumns: [
'TeacherName', 'ClassDateStr', 'ClassTime', 'RoomName', 'LessonName', 'JoinNum', 'OrderCount', 'ConversionRates', 'ClassContent', "ReserveType",
'CreateByName','TeacherId'
'TeacherName', 'ClassDateStr', 'ClassTime', 'RoomName', 'LessonName', 'JoinNum', 'OrderCount', 'FailCount',
'ConversionRates', 'ClassContent', "ReserveType",
'CreateByName', 'TeacherId'
], //可见列
reserveObj: {},
isShowReserve: false,
......
This diff is collapsed.
......@@ -344,6 +344,11 @@ export default {
},
data() {
return {
pickerOptions: {
disabledDate: time => {
return time.getTime() < Date.now() - 8.64e7;
}
},
date:'',
value: new Date(),
calendarData:[],
......
......@@ -127,7 +127,7 @@
</div> -->
<q-btn-group
outline
style="position: fixed;top: 15px;right:20px;z-index: 666666;"
style="position: fixed;top: 75px;right:20px;z-index: 666666;"
>
<q-btn
dense
......
......@@ -271,7 +271,7 @@ export default {
.sub-header {
position: fixed;
height: 56px;
top: 0;
top: 60px;
left: 0;
right: 0;
transition: top 0.3s ease;
......
......@@ -8,27 +8,26 @@
<div class="col-2 q-table__title">意见调查信息</div>
<q-space />
<div class="page-option">
<q-btn color="accent" size="sm" icon="add" label="新增" @click="addObj(null)"/>
<!-- @click="addObj(null)" -->
<q-btn color="accent" size="sm" icon="add" label="新增" @click="addObj(null)" />
</div>
</template>
<template v-slot:body-cell-IsRequired="props">
<template v-slot:body-cell-IsRequired="props">
<q-td :props="props">
<span v-if="props.row.IsRequired==0"></span>
<span v-if="props.row.IsRequired==1"></span>
</q-td>
</template>
<template v-slot:body-cell-IsShow="props">
<template v-slot:body-cell-IsShow="props">
<q-td :props="props">
<span v-if="props.row.IsShow==0"></span>
<span v-if="props.row.IsShow==1"></span>
</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"
:input="true" @input="changePage" />
</template>
<template v-slot:body-cell-optioned="props">
<template v-slot:body-cell-optioned="props">
<q-td :props="props">
<q-btn flat size="xs" icon="edit" color="accent" style="font-weight:400" label="编辑"
@click="addObj(props.row)" />
......@@ -36,146 +35,148 @@
@click="delQuestion(props.row)" />
</q-td>
</template>
</q-table>
<student-form v-if="isShowWenjuan" :save-obj="objOption" :ID="msg.ActivitySurveyId" @close="closeSaveForm" @success="resetSearch"></student-form>
</div>
</div>
</q-table>
<student-form v-if="isShowWenjuan" :save-obj="objOption" :ID="msg.SurveyId" @close="closeSaveForm"
@success="resetSearch"></student-form>
</div>
</div>
</template>
<script>
import studentForm from '../../components/activity/student-from'
import {
getActivitySurveyGuestPage,
removeActivitySurveyGuest
} from '../../api/studentmsg/index'
export default {
meta: {
title: "意见调查表"
},
components: {
studentForm
},
data() {
return {
columns: [{
name: 'Id',
label: 'ID',
align: 'left',
field: 'Id'
}, {
name: 'GuestName',
label: '学员名称',
field: 'GuestName',
align: 'left'
},
{
name: 'optioned',
label: '操作',
field: 'TId'
}
],
dataList: [],
loading: true,
msg: {
pageIndex: 1,
pageSize: 12,
rowsPerPage: 12,
SurveyId: 1,
},
import studentForm from '../../components/activity/student-from'
import {
getActivitySurveyGuestPage,
removeActivitySurveyGuest
} from '../../api/studentmsg/index'
export default {
meta: {
title: "意见调查表"
},
components: {
studentForm
},
data() {
return {
columns: [{
name: 'Id',
label: 'ID',
align: 'left',
field: 'Id'
}, {
name: 'GuestName',
label: '学员名称',
field: 'GuestName',
align: 'left'
}, {
name: 'StartTime',
label: '开始时间',
field: 'StartTime',
align: 'left'
}, {
name: 'EndTime',
label: '结束时间',
field: 'EndTime',
align: 'left'
},
pageCount: 0,
isShowWenjuan: false,
objOption: null,
}
{
name: 'optioned',
label: '操作',
field: 'TId'
}
],
dataList: [],
loading: true,
msg: {
pageIndex: 1,
pageSize: 12,
rowsPerPage: 12,
SurveyId: 0,
},
created() {
if (this.$route.query && this.$route.query.ID) {
this.msg.ActivitySurveyId = this.$route.query.ID;
pageCount: 0,
isShowWenjuan: false,
objOption: null,
}
},
created() {
if (this.$route.query && this.$route.query.ID) {
this.msg.SurveyId = this.$route.query.ID;
}
},
mounted() {
this.getList();
},
methods: {
resetSearch() {
this.msg.pageIndex = 1;
this.getList();
},
getList() {
this.loading = true;
getActivitySurveyGuestPage(this.msg).then(res => {
this.loading = false;
if (res.Code == 1) {
this.dataList = res.Data.PageData;
this.pageCount = res.Data.PageCount;
}
});
},
addObj(obj) {
if (obj) {
this.objOption = obj
} else {
this.objOption = null
}
this.isShowWenjuan = true;
},
//删除当前行信息
delQuestion(row) {
let that = this;
this.$q.dialog({
title: "提示",
message: '是否删除该活动信息?',
cancel: {
label: "取消",
flat: true
},
ok: {
label: "确认",
flat: true,
focus: true
}
}).onOk(() => {
removeActivitySurveyGuest({
Id: row.Id
}).then(res => {
if (res.Code == 1) {
that.$q.notify({
icon: 'iconfont icon-chenggong',
color: 'accent',
timeout: 2000,
message: '数据删除成功!',
position: 'top'
})
that.getList();
} else {
that.$q.notify({
type: 'negative',
position: "top",
message: res.data.message,
})
}
},
mounted() {
this.getList();
},
methods: {
resetSearch() {
this.msg.pageIndex = 1;
this.getList();
},
getList() {
this.loading = true;
getActivitySurveyGuestPage(this.msg).then(res => {
this.loading = false;
if (res.Code == 1) {
this.dataList = res.Data.PageData;
this.pageCount = res.Data.Count
}
console.log("res", res);
});
},
addObj(obj) {
if (obj) {
this.objOption = obj
} else {
this.objOption = null
}
this.isShowWenjuan = true;
},
//删除当前行信息
delQuestion(row) {
let that = this;
this.$q.dialog({
title: "提示",
message: '是否删除该活动信息?',
cancel: {
label: "取消",
flat: true
},
ok: {
label: "确认",
flat: true,
focus: true
}
}).onOk(() => {
removeActivitySurveyGuest({
Id: row.Id
}).then(res => {
this.dataList = '';
this.pageCount = '';
console.log(res + '111111')
if (res.Code == 1) {
that.$q.notify({
icon: 'iconfont icon-chenggong',
color: 'accent',
timeout: 2000,
message: '数据删除成功!',
position: 'top'
})
that.getList();
} else {
that.$q.notify({
type: 'negative',
position: "top",
message: res.data.message,
})
}
})
})
},
closeSaveForm() {
this.isShowWenjuan = false;
},
changePage(val) {
this.msg.pageIndex = val;
this.getList();
},
},
}
})
})
},
closeSaveForm() {
this.isShowWenjuan = false;
},
changePage(val) {
this.msg.pageIndex = val;
this.getList();
},
},
}
</script>
<style lang="sass">
@import url('~assets/css/table.sass')
@import url('~assets/css/table.sass')
</style>
\ No newline at end of file
This diff is collapsed.
......@@ -95,6 +95,13 @@
</div>
</q-td>
</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">
<q-td :props="props">
<q-badge :color="props.value == 1 ? 'negative' : 'primary'" :label="props.value == 0 ? '正常' : '删除'" />
......@@ -170,7 +177,6 @@
label: "课时长度",
field: "ClassHours",
align: "left",
format: (val, row) => `${val}课时`
},
{
name: "UpdateTimeStr",
......
......@@ -119,6 +119,11 @@
this.msg.PeriodId = this.$route.query.Id;
this.getList();
}
if(this.$route.query.UserId){
this.msg.EmployeeId = this.$route.query.UserId
this.msg.YearNum = this.$route.query.Periods.slice(0,4)
this.msg.MonthNum = this.$route.query.Periods.slice(5,7)
}
},
methods: {
//获取分页列表
......
......@@ -109,7 +109,6 @@
line-height: 25px;
background-color: #004d40;
}
</style>
<template>
<div class="page-body courseList">
......@@ -117,8 +116,8 @@
<div class="col row wrap q-mr-lg q-col-gutter-md">
<div class="col-3">
<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="所属科目"
clearable />
:options="CourseSubjectList" option-label="SubjectName" option-value="Id" emit-value map-options
label="所属科目" clearable />
</div>
<div class="col-3">
<q-input @input="resetSearch" clearable standout="bg-primary text-white" v-model="msg.CourseName" label="课程名称"
......@@ -136,11 +135,6 @@
<!-- <q-btn color="accent" size="sm" class="q-mr-md" icon="add" label="创建报价单" @click="createQuotation" /> -->
</div>
</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">
<q-tr :props="props">
<q-td auto-width>
......@@ -154,7 +148,7 @@
</q-img>
</q-td>
<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 v-else-if="col.name == 'PreferentialList'" style="padding-right:0px" :key="col.name">
<div v-for="(x,index) in col.value" :key="index">
......@@ -193,7 +187,8 @@
<div class="remark-font">暂无优惠政策</div>
</div>
</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 class="border-bottom" style="padding-left: 16px;padding-right: 16px"
:class="{'text-red':x.SaleCommissionType==1}" v-if="x.PriceDiscountType!=0">
......@@ -211,7 +206,6 @@
<div class="border-bottom" style="padding-left: 16px" :class="{'text-red':x.B2BCommissionType==1}"
v-if="x.PriceDiscountType!=0">
{{x.B2BCommissionType==1?'¥':''}}{{x.B2BCommissionMoney}}{{x.B2BCommissionType==0?'%':''}}</div>
<div v-if="x.PriceDiscountType == 0">
<div class="remark-font">暂无佣金信息</div>
</div>
......@@ -226,7 +220,7 @@
<q-td v-else-if="col.name == 'B2CReNewRatio' " style="padding-left:0px" :key="col.name">
{{col.value}}%
</q-td>
<q-td v-else-if="col.name == 'CommissionReType' " style="padding-left:0px" :key="col.name">
<q-td v-else-if="col.name == 'CommissionReType' " style="padding-left:0px" :key="col.name">
<span v-if="col.value==1">比例返佣</span>
<span v-if="col.value==2">固定金额</span>
</q-td>
......@@ -265,6 +259,12 @@
</q-chip>
</div>
</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-btn flat color="primary" label="查看详情" @click="showContentDialog(col.value)" />
</q-td>
......@@ -311,7 +311,9 @@
getCourseSubject
} from "../../api/course/index";
import quotationForm from '../../components/sale/quotation-form'
import { mapState } from "vuex";
import {
mapState
} from "vuex";
export default {
meta: {
title: "课程报价表"
......@@ -395,7 +397,7 @@
field: row => row.PreferentialList
},
// 12月15号新增参数
{
{
name: "B2CRatio",
label: "直客优惠比例",
align: "left",
......@@ -413,7 +415,7 @@
align: "left",
field: (row) => row.CommissionReType
},
{
name: "B2BRebateRatio",
label: "一般同行返佣比例",
......@@ -518,10 +520,10 @@
CourseSubjectList: [], //科目列表
};
},
created(){
created() {
var localStorageData = window.localStorage["loginUserInfo"];
let ActionMenuList = JSON.parse(localStorageData).data.ActionMenuList;
var isShowPrice=false;
var isShowPrice = false;
if (ActionMenuList && ActionMenuList.length > 0) {
ActionMenuList.forEach((x) => {
if (x.FunctionCode == "IsShow_CoursePrice") {
......@@ -529,13 +531,19 @@
}
});
}
if(isShowPrice){
this.visibleColumns = ['CourseFeature', 'CoverImg', 'CourseSubjectName', 'CourseName', 'OpenBankLevelNameList' , 'CateName', 'OriginalPrice', 'SellPrice', 'PreferentialListSellCommission',
'PreferentialListB2BCommission', 'B2CRatio', 'B2CReNewRatio' , 'CommissionReType' , 'B2BRebateRatio' , 'B2BReNewRatio' ,'SchoolRebateRatio',
'SchoolReNewRatio','TransIntroductceRatio','TransIntroductceReNewRatio','InnerRecommendRatio','InnerRecommendReNewRatio','B2CRbRatio',
'B2CRNRatio','TeacherList','ClassHours','CourseIntro','UpdateTimeStr']
}else{
this.visibleColumns = ['CourseFeature', 'CoverImg', 'CourseSubjectName', 'CourseName', 'OpenBankLevelNameList', 'CateName','TeacherList','ClassHours','CourseIntro','UpdateTimeStr']
if (isShowPrice) {
this.visibleColumns = ['CourseFeature', 'CoverImg', 'CourseSubjectName', 'CourseName', 'OpenBankLevelNameList',
'CateName', 'OriginalPrice', 'SellPrice', 'PreferentialListSellCommission',
'PreferentialListB2BCommission', 'B2CRatio', 'B2CReNewRatio', 'CommissionReType', 'B2BRebateRatio',
'B2BReNewRatio', 'SchoolRebateRatio',
'SchoolReNewRatio', 'TransIntroductceRatio', 'TransIntroductceReNewRatio', 'InnerRecommendRatio',
'InnerRecommendReNewRatio', 'B2CRbRatio',
'B2CRNRatio', 'TeacherList', 'ClassHours', 'CourseIntro', 'UpdateTimeStr'
]
} else {
this.visibleColumns = ['CourseFeature', 'CoverImg', 'CourseSubjectName', 'CourseName', 'OpenBankLevelNameList',
'CateName', 'TeacherList', 'ClassHours', 'CourseIntro', 'UpdateTimeStr'
]
}
},
mounted() {
......@@ -590,7 +598,6 @@
}
}
};
</script>
<style lang="sass">
@import url('~assets/css/table.sass')
......
This diff is collapsed.
......@@ -285,6 +285,14 @@
this.getCourseList();
},
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.getEmployee(0);
this.getglteacher();
......
......@@ -85,8 +85,19 @@
var year = nowDay.getFullYear(); //年
var month = nowDay.getMonth() + 1; //月
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.getClassRoomList();
this.getList()
......
......@@ -12,6 +12,20 @@
<div class="page-option">
</div>
</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>
<q-pagination class="full-width justify-end" v-model="msg.pageIndex" color="primary" :max="pageCount"
:input="true" @input="changePage" />
......@@ -94,6 +108,18 @@
field: 'TeacherName',
align: 'left'
},
{
name: 'OrderCount',
label: '订单数量',
field: 'OrderCount',
align: 'left'
},
{
name: 'SpeakState',
label: '试讲',
field: 'SpeakState',
align: 'left'
},
{
name: 'RoomName',
label: '教室',
......@@ -130,7 +156,7 @@
if (this.$route.query.name) {
this.name = this.$route.query.name
}
if (this.$route.query.date) {
if (this.$route.query.date) {
this.date = this.$route.query.date
}
},
......
This diff is collapsed.
......@@ -159,17 +159,27 @@
}
}),
created() {
this.findData();
let today = new Date();
this.msg.YearStr = today.getFullYear().toString();
this.msg.MonthStr = (today.getMonth() + 1).toString();
this.queryDate = this.msg.YearStr + '-' + this.msg.MonthStr;
this.findData();
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() {
if (!this.isHaveEdit) {
let userinfo = this.getLocalStorage();
this.msg.TeacherAccountId = userinfo.Id;
}
// if (!this.isHaveEdit) {
// let userinfo = this.getLocalStorage();
// this.msg.TeacherAccountId = userinfo.Id;
// }
this.getTeacherAssessmentPage()
},
methods: {
......
......@@ -29,24 +29,23 @@
<template v-slot:body="props">
<template :props="props" v-for="(col,cIndex) in props.row.SubtypeList">
<template v-if="cIndex==0">
<q-tr :key="cIndex+(props.rowIndex*10000)">
<q-td key="TypeName" :props="props" :rowspan="props.row.SubtypeList.length"
class="assessmentType_td">
{{ props.row.TypeName }}
<q-tr :key="cIndex+(props.rowIndex*10000)">
<q-td key="TypeName" :props="props" :rowspan="props.row.SubtypeList.length" class="assessmentType_td">
{{ props.row.TypeName }}
</q-td>
<q-td class="assessmentType_td">
{{ props.row.SubtypeList[cIndex].SubTypeName}}
</q-td>
<template v-for="(subItem,subIndex) in props.row.SubtypeList[cIndex].OptionList">
<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}}
</q-badge>
</div>
</q-td>
</template>
<q-td key="Id" :props="props" :rowspan="props.row.SubtypeList.length"
class="assessmentType_td" style="border-right: 1px solid rgba(0, 0, 0, 0.12);">
<q-td key="Id" :props="props" :rowspan="props.row.SubtypeList.length" class="assessmentType_td"
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="编辑"
@click="AddMsg(props.row)" />
<q-btn flat size="xs" icon="delete" color="negative" class="q-mr-xs" label="删除"
......@@ -61,7 +60,7 @@
</q-td>
<template v-for="(subItem,subIndex) in props.row.SubtypeList[cIndex].OptionList">
<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}}
</q-badge>
</div>
......@@ -111,39 +110,13 @@
methods: {
getAssessmentTypeList() {
this.loading = true;
this.columns=[];
this.columns = [];
queryAssessmentTypeList(this.msg).then(res => {
this.loading = false;
console.log("res", res);
if (res.Code == 1) {
this.dataList = res.Data;
this.columns.push({
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
})
this.dataList = res.Data.result;
this.columns = res.Data.header;
}
})
},
......
This diff is collapsed.
......@@ -69,10 +69,12 @@
<tr v-for="(sItem,sIndex) in item.SubtypeList" :key="sIndex">
<td>{{sItem.SubTypeName}}</td>
<td v-for="(cItem,cIndex) in sItem.OptionList" style="position:relative;" :key="cIndex">
<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>
</el-tooltip>
<q-checkbox v-model="cItem.IsCheck" @input="changeStatus(sItem,cItem)" val="teal" color="green" />
<template v-if="cItem.LevelDesc!=''&&cItem.LevelScore>0">
<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>
</el-tooltip>
<q-checkbox v-model="cItem.IsCheck" @input="changeStatus(sItem,cItem)" val="teal" color="green" />
</template>
</td>
<td>{{sItem.CheckScore}}</td>
</tr>
......@@ -116,13 +118,13 @@
}
},
created() {
this.GetTeacherList();
},
mounted() {
let today = new Date();
var yearStr = today.getFullYear().toString();
var monthStr = (today.getMonth() + 1).toString();
this.teacherDate = yearStr + '-' + monthStr;
this.GetTeacherList();
},
mounted() {
if (this.$route.query) {
if (this.$route.query.Id) {
this.saveObj.Id = this.$route.query.Id;
......@@ -130,6 +132,9 @@
if (this.$route.query.TeacherAccountId) {
this.saveObj.TeacherAccountId = this.$route.query.TeacherAccountId
}
if (this.$route.query.YearStr && this.$route.query.MonthStr) {
this.teacherDate = this.$route.query.YearStr + '-' + this.$route.query.MonthStr;
}
this.getInfo();
}
},
......@@ -170,8 +175,13 @@
TeacherAccountId: this.saveObj.TeacherAccountId,
YearStr: this.saveObj.YearStr,
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 => {
if (res.Code == 1) {
var tempData = res.Data;
......@@ -221,7 +231,7 @@
this.$router.push({
path: "/teacher/appraisalList",
query: {
}
});
}
......
This diff is collapsed.
......@@ -31,10 +31,12 @@
<tr v-for="(sItem,sIndex) in item.SubtypeList" :key="sIndex">
<td>{{sItem.SubTypeName}}</td>
<td v-for="(cItem,cIndex) in sItem.OptionList" style="position:relative;" :key="cIndex">
<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>
</el-tooltip>
<q-checkbox v-model="cItem.IsCheck" disable val="teal" color="green" />
<template v-if="cItem.LevelDesc!=''&&cItem.LevelScore>0">
<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>
</el-tooltip>
<q-checkbox v-model="cItem.IsCheck" disable val="teal" color="green" />
</template>
</td>
<td>{{sItem.S_TeacherScore}}</td>
<td>{{sItem.S_JiaoWuScore}}</td>
......@@ -229,7 +231,7 @@
if (res.Code == 1) {
var tempData = res.Data;
this.saveObj = tempData;
this.teacherDate=this.saveObj.YearStr+"-"+this.saveObj.MonthStr;
this.teacherDate = this.saveObj.YearStr + "-" + this.saveObj.MonthStr;
}
})
},
......
This diff is collapsed.
This diff is collapsed.
......@@ -97,7 +97,7 @@
},
data() {
return {
ActionStr: "/Login/Test",
ActionStr: "/TeacherStatic/InitTeacherData",
parameterList: [{
Name: "",
Value: ""
......
......@@ -1236,10 +1236,15 @@ const routes = [{
import ("pages/sale/AudiopaymentDetail.vue")
},
{
path: "/sale/studentTracking", //学员跟踪分页列表
path: "/sale/studentTracking", //学员跟踪分页列表【课程顾问部使用】
component: () =>
import ("pages/sale/studentTracking.vue")
},
{
path: "/sale/marketTracking", //学员跟踪分页列表【市场部使用】
component: () =>
import ("pages/sale/marketTracking.vue")
},
{
path: "/sale/guestConsultation", //客人咨询分页列表
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