Commit e5e62b62 authored by 吴春's avatar 吴春
parents c229a0fe f78e040d
<template> <template>
<div class="page-content" <div class="page-content" :class="[$q.platform.is.desktop?'':'']">
:class="[$q.platform.is.desktop?'':'']">
<q-table v-if="$q.platform.is.desktop" :pagination="pageMsg" :loading="loading" no-data-label="暂无相关数据" flat <q-table v-if="$q.platform.is.desktop" :pagination="pageMsg" :loading="loading" no-data-label="暂无相关数据" flat
class="sticky-column-table sticky-right-column-table" separator="none" :data="data" :columns="columns" class="sticky-column-table sticky-right-column-table" separator="none" :data="data" :columns="columns"
:visible-columns="visibleColumns" row-key="name"> :visible-columns="visibleColumns" row-key="name">
<template v-slot:top> <template v-slot:top>
<div class="q-table__title" <div class="q-table__title" :class="[$q.platform.is.desktop?'col-2':'col-12']">试听开课管理</div>
:class="[$q.platform.is.desktop?'col-2':'col-12']">试听开课管理</div>
<q-space /> <q-space />
</template> </template>
<template v-slot:body-cell-ReservationDate="props"> <template v-slot:body-cell-ReservationDate="props">
<q-td> <q-td>
...@@ -48,12 +45,8 @@ ...@@ -48,12 +45,8 @@
</template> </template>
</q-table> </q-table>
<template v-if="$q.platform.is.mobile"> <template v-if="$q.platform.is.mobile">
<q-card <q-card class="light-shadow q-pa-md bg-grey-1 rounded-borders q-mb-md" flat v-for="(x, index) in data"
class="light-shadow q-pa-md bg-grey-1 rounded-borders q-mb-md" :key="index">
flat
v-for="(x, index) in data"
:key="index"
>
<div class="row justify-between"> <div class="row justify-between">
<div>学生:<span class="text-blue-5">{{x.StuName}}</span></div> <div>学生:<span class="text-blue-5">{{x.StuName}}</span></div>
<div>试听日期:<span class="text-blue-5">{{timeFormatSeconds(x.ReservationDate)}}</span></div> <div>试听日期:<span class="text-blue-5">{{timeFormatSeconds(x.ReservationDate)}}</span></div>
...@@ -74,8 +67,8 @@ ...@@ -74,8 +67,8 @@
</div> </div>
</div> </div>
<div class="row justify-end"> <div class="row justify-end">
<q-btn label="修改" color="primary" flat @click="editVisitor(x)"/> <q-btn label="修改" color="primary" flat @click="editVisitor(x)" />
<q-btn label="删除" color="red-6" flat @click="DeleteVisitorReserve(x.Id)"/> <q-btn label="删除" color="red-6" flat @click="DeleteVisitorReserve(x.Id)" />
</div> </div>
</q-card> </q-card>
</template> </template>
...@@ -111,8 +104,7 @@ ...@@ -111,8 +104,7 @@
}, },
data() { data() {
return { return {
columns: [ columns: [{
{
name: 'StuName', name: 'StuName',
label: '学生名称', label: '学生名称',
align: 'left', align: 'left',
...@@ -169,7 +161,7 @@ ...@@ -169,7 +161,7 @@
], ],
//表格可见列 //表格可见列
visibleColumns: [ visibleColumns: [
'StuName','ReservationDate', 'Demand', 'ClassDateStr', 'TeacherName', 'LessonName', 'RoomName', 'TeacherId' 'StuName', 'ReservationDate', 'Demand', 'ClassDateStr', 'TeacherName', 'LessonName', 'RoomName', 'TeacherId'
], //可见列 ], //可见列
reserveObj: {}, reserveObj: {},
isShowReserve: false, isShowReserve: false,
...@@ -189,10 +181,10 @@ ...@@ -189,10 +181,10 @@
}, },
methods: { methods: {
//获得年月日时分秒 //获得年月日时分秒
//传入日期//例:2020-10-27T14:36:23 //传入日期//例:2020-10-27T14:36:23
timeFormatSeconds(time,type) { timeFormatSeconds(time, type) {
let timeStr=""; let timeStr = "";
if(time==='0001-01-01T00:00:00'){ if (time === '0001-01-01T00:00:00') {
return timeStr; return timeStr;
} }
var d = time ? new Date(time) : new Date(); var d = time ? new Date(time) : new Date();
...@@ -201,19 +193,19 @@ ...@@ -201,19 +193,19 @@
var day = d.getDate(); var day = d.getDate();
if (month < 10) month = '0' + month; if (month < 10) month = '0' + month;
if (day < 10) day = '0' + day; if (day < 10) day = '0' + day;
if(type==2){ if (type == 2) {
var hours = d.getHours(); var hours = d.getHours();
var min = d.getMinutes(); var min = d.getMinutes();
var seconds = d.getSeconds(); var seconds = d.getSeconds();
if (hours < 0) hours = '0' + hours; if (hours < 0) hours = '0' + hours;
if (min < 10) min = '0' + min; if (min < 10) min = '0' + min;
if (seconds < 10) seconds = '0' + seconds; if (seconds < 10) seconds = '0' + seconds;
timeStr+= ' ' + hours + ':' + min + ':' + seconds; timeStr += ' ' + hours + ':' + min + ':' + seconds;
} }
timeStr=year + '-' + month + '-' + day +timeStr; timeStr = year + '-' + month + '-' + day + timeStr;
return timeStr; return timeStr;
}, },
//编辑试听 //编辑试听
editVisitor(obj) { editVisitor(obj) {
console.log("reserveObj",obj); console.log("reserveObj",obj);
...@@ -259,7 +251,9 @@ return timeStr; ...@@ -259,7 +251,9 @@ return timeStr;
} }
} }
</script> </script>
<style lang="sass"> <style lang="sass">
@import url('~assets/css/table.sass') @import url('~assets/css/table.sass')
</style> </style>
<style> <style>
.divP p{margin:0px !important;} .divP p {
margin: 0px !important;
}
</style> </style>
<template> <template>
<div> <div>
...@@ -30,14 +33,17 @@ ...@@ -30,14 +33,17 @@
<template v-slot:title> <template v-slot:title>
<div class="visit_Cont"> <div class="visit_Cont">
<div class="Log_Content"> <div class="Log_Content">
<q-chip color="primary" size="xs" text-color="white" style="position:absolute;:top:0;right:0" v-if="tItem.ReserveType==1"> <q-chip color="primary" size="xs" text-color="white" style="position:absolute;:top:0;right:0"
v-if="tItem.ReserveType==1">
跟班 跟班
</q-chip> </q-chip>
<div v-if="tItem.ReservationDate&&tItem.ReservationDate.length>0&&tItem.ReservationDate!='0001-01-01T00:00:00'"> <div
v-if="tItem.ReservationDate&&tItem.ReservationDate.length>0&&tItem.ReservationDate!='0001-01-01T00:00:00'">
试听日期:{{ timeFormatSeconds(tItem.ReservationDate) }} 试听日期:{{ timeFormatSeconds(tItem.ReservationDate) }}
</div> </div>
<div v-if="tItem.Demand&&tItem.Demand.length>0"> <div v-if="tItem.Demand&&tItem.Demand.length>0">
<span style="float:left;"> 试听需求:</span><div v-html="tItem.Demand" class="divP"></div> <span style="float:left;"> 试听需求:</span>
<div v-html="tItem.Demand" class="divP"></div>
</div> </div>
<div> <div>
预约时间:{{ tItem.ClassDateStr }} {{ tItem.ClassTime }} 预约时间:{{ tItem.ClassDateStr }} {{ tItem.ClassTime }}
...@@ -58,11 +64,11 @@ ...@@ -58,11 +64,11 @@
<div class="StuCom_Inner" v-html="tItem.Feedback "></div> <div class="StuCom_Inner" v-html="tItem.Feedback "></div>
</div> </div>
</div> </div>
<div style="margin-top:10px;width:150px;" <div style="margin-top:10px;width:150px;" class="visit_delete text-negative">
class="visit_delete text-negative"> <span @click="DeleteVisitorReserve(tItem.Id)" style="margin-right:10px;">删除</span>
<span @click="DeleteVisitorReserve(tItem.Id)" style="margin-right:10px;" >删除</span> <span v-if="tItem.ReserveClassId>0" style="margin-right:10px;"
<span v-if="tItem.ReserveClassId>0" style="margin-right:10px;" @click="fabkuiMsg.IsShow=true,fabkuiMsg.Id=tItem.Id,fabkuiMsg.Feedback=tItem.Feedback">反馈</span> @click="fabkuiMsg.IsShow=true,fabkuiMsg.Id=tItem.Id,fabkuiMsg.Feedback=tItem.Feedback">反馈</span>
<span v-if="tItem.ReserveClassId==0" @click="ShitingKaiKe(tItem)">试听课开课</span> <!-- <span v-if="tItem.ReserveClassId==0" @click="ShitingKaiKe(tItem)">试听课开课</span> -->
</div> </div>
</div> </div>
</template> </template>
...@@ -80,8 +86,8 @@ ...@@ -80,8 +86,8 @@
<q-pagination class="full-width justify-end" v-model="qMsg.pageIndex" color="primary" :max="page_Count" input <q-pagination class="full-width justify-end" v-model="qMsg.pageIndex" color="primary" :max="page_Count" input
@input="changePage" /> @input="changePage" />
</div> </div>
<el-dialog title="试听反馈" :visible.sync="fabkuiMsg.IsShow" > <el-dialog title="试听反馈" :visible.sync="fabkuiMsg.IsShow">
<div class="row studentDate" > <div class="row studentDate">
<UeEditor v-model="fabkuiMsg.Feedback" class="q-pb-sm" :config="config"></UeEditor> <UeEditor v-model="fabkuiMsg.Feedback" class="q-pb-sm" :config="config"></UeEditor>
</div> </div>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
...@@ -90,10 +96,10 @@ ...@@ -90,10 +96,10 @@
</div> </div>
</el-dialog> </el-dialog>
<el-dialog title="试听开课" :visible.sync="VisitorReserveClassMsg.IsShow" width="30%" @close="closeShitingKaiKe"> <!-- <el-dialog title="试听开课" :visible.sync="VisitorReserveClassMsg.IsShow" width="30%" @close="closeShitingKaiKe">
<audition :VisitorReserveClassMsg="VisitorReserveClassMsg" <audition :VisitorReserveClassMsg="VisitorReserveClassMsg" @close="closeShitingKaiKe"
@close="closeShitingKaiKe" @success="SetVisitorReserveClass()"></audition> @success="SetVisitorReserveClass()"></audition>
</el-dialog> </el-dialog> -->
</div> </div>
</template> </template>
<script> <script>
...@@ -141,37 +147,37 @@ ...@@ -141,37 +147,37 @@
pageIndex: 1, pageIndex: 1,
pageSize: 12, pageSize: 12,
Visitor_Id: 0, Visitor_Id: 0,
IsReserve:1, IsReserve: 1,
}, },
dataList: [], dataList: [],
page_Count: 0, page_Count: 0,
userInfo: {}, userInfo: {},
fabkuiMsg:{ fabkuiMsg: {
Id:0, Id: 0,
Feedback:"", Feedback: "",
IsShow:false, IsShow: false,
}, },
ClassRoomList: [], //教师列表 ClassRoomList: [], //教师列表
TeacherList: [], //教师列表 TeacherList: [], //教师列表
AllTeacherList: [], //全部教师列表 AllTeacherList: [], //全部教师列表
TrialList: [], //试听课程列表 TrialList: [], //试听课程列表
VisitorReserveClassMsg:{ VisitorReserveClassMsg: {
Id:0, Id: 0,
Visitor_Id:0, Visitor_Id: 0,
Remark:"", Remark: "",
ReserveClassId:0, ReserveClassId: 0,
ClassDate:"", ClassDate: "",
ReservationDate:"", ReservationDate: "",
ClassTime:"", ClassTime: "",
TeacherId:0, TeacherId: 0,
ClassRoomId:0, ClassRoomId: 0,
ClassContent:"", ClassContent: "",
EndTime:"", EndTime: "",
TrialLessonId:0, TrialLessonId: 0,
ReserveType:0, ReserveType: 0,
ClassPlanId:0, ClassPlanId: 0,
Demand:"", Demand: "",
IsShow:false, IsShow: false,
} }
}; };
}, },
...@@ -186,10 +192,10 @@ ...@@ -186,10 +192,10 @@
}, },
methods: { methods: {
//获得年月日时分秒 //获得年月日时分秒
//传入日期//例:2020-10-27T14:36:23 //传入日期//例:2020-10-27T14:36:23
timeFormatSeconds(time,type) { timeFormatSeconds(time, type) {
let timeStr=""; let timeStr = "";
if(time==='0001-01-01T00:00:00'){ if (time === '0001-01-01T00:00:00') {
return timeStr; return timeStr;
} }
var d = time ? new Date(time) : new Date(); var d = time ? new Date(time) : new Date();
...@@ -198,19 +204,19 @@ ...@@ -198,19 +204,19 @@
var day = d.getDate(); var day = d.getDate();
if (month < 10) month = '0' + month; if (month < 10) month = '0' + month;
if (day < 10) day = '0' + day; if (day < 10) day = '0' + day;
if(type==2){ if (type == 2) {
var hours = d.getHours(); var hours = d.getHours();
var min = d.getMinutes(); var min = d.getMinutes();
var seconds = d.getSeconds(); var seconds = d.getSeconds();
if (hours < 0) hours = '0' + hours; if (hours < 0) hours = '0' + hours;
if (min < 10) min = '0' + min; if (min < 10) min = '0' + min;
if (seconds < 10) seconds = '0' + seconds; if (seconds < 10) seconds = '0' + seconds;
timeStr+= ' ' + hours + ':' + min + ':' + seconds; timeStr += ' ' + hours + ':' + min + ':' + seconds;
} }
timeStr=year + '-' + month + '-' + day +timeStr; timeStr = year + '-' + month + '-' + day + timeStr;
return timeStr; return timeStr;
}, },
//保存 //保存
SetVisitorReserveClass() { SetVisitorReserveClass() {
this.closeShitingKaiKe(); this.closeShitingKaiKe();
...@@ -266,51 +272,51 @@ return timeStr; ...@@ -266,51 +272,51 @@ return timeStr;
this.getList(); this.getList();
}); });
}, },
closeShitingKaiKe(){ closeShitingKaiKe() {
this.VisitorReserveClassMsg.Id=0; this.VisitorReserveClassMsg.Id = 0;
this.VisitorReserveClassMsg.Visitor_Id=0; this.VisitorReserveClassMsg.Visitor_Id = 0;
this.VisitorReserveClassMsg.Remark=""; this.VisitorReserveClassMsg.Remark = "";
this.VisitorReserveClassMsg.ReserveClassId=0; this.VisitorReserveClassMsg.ReserveClassId = 0;
this.VisitorReserveClassMsg.ClassDate=""; this.VisitorReserveClassMsg.ClassDate = "";
this.VisitorReserveClassMsg.ReservationDate=""; this.VisitorReserveClassMsg.ReservationDate = "";
this.VisitorReserveClassMsg.ClassTime=""; this.VisitorReserveClassMsg.ClassTime = "";
this.VisitorReserveClassMsg.TeacherId=0; this.VisitorReserveClassMsg.TeacherId = 0;
this.VisitorReserveClassMsg.ClassRoomId=0; this.VisitorReserveClassMsg.ClassRoomId = 0;
this.VisitorReserveClassMsg.ClassContent=""; this.VisitorReserveClassMsg.ClassContent = "";
this.VisitorReserveClassMsg.EndTime=""; this.VisitorReserveClassMsg.EndTime = "";
this.VisitorReserveClassMsg.TrialLessonId=0; this.VisitorReserveClassMsg.TrialLessonId = 0;
this.VisitorReserveClassMsg.ReserveType=0; this.VisitorReserveClassMsg.ReserveType = 0;
this.VisitorReserveClassMsg.ClassPlanId=0; this.VisitorReserveClassMsg.ClassPlanId = 0;
this.VisitorReserveClassMsg.Demand=""; this.VisitorReserveClassMsg.Demand = "";
this.VisitorReserveClassMsg.IsShow=false; this.VisitorReserveClassMsg.IsShow = false;
this.$forceUpdate() this.$forceUpdate()
}, },
//试听课开课 //试听课开课
ShitingKaiKe(item){ ShitingKaiKe(item) {
let obj = JSON.parse(JSON.stringify(item)); let obj = JSON.parse(JSON.stringify(item));
this.GetTrialDrop(); this.GetTrialDrop();
this.getClassRoomList(); this.getClassRoomList();
this.GetTeacherList(); this.GetTeacherList();
this.VisitorReserveClassMsg=obj; this.VisitorReserveClassMsg = obj;
this.VisitorReserveClassMsg.Id=obj.Id; this.VisitorReserveClassMsg.Id = obj.Id;
this.VisitorReserveClassMsg.Visitor_Id=obj.Visitor_Id; this.VisitorReserveClassMsg.Visitor_Id = obj.Visitor_Id;
this.VisitorReserveClassMsg.Remark=obj.Remark; this.VisitorReserveClassMsg.Remark = obj.Remark;
this.VisitorReserveClassMsg.ReserveClassId=obj.ReserveClassId; this.VisitorReserveClassMsg.ReserveClassId = obj.ReserveClassId;
this.VisitorReserveClassMsg.ClassDate=obj.ClassDate; this.VisitorReserveClassMsg.ClassDate = obj.ClassDate;
this.VisitorReserveClassMsg.ReservationDate=obj.ReservationDate; this.VisitorReserveClassMsg.ReservationDate = obj.ReservationDate;
this.VisitorReserveClassMsg.ClassTime=obj.ClassTime; this.VisitorReserveClassMsg.ClassTime = obj.ClassTime;
this.VisitorReserveClassMsg.TeacherId=obj.TeacherId; this.VisitorReserveClassMsg.TeacherId = obj.TeacherId;
this.VisitorReserveClassMsg.ClassRoomId=obj.ClassRoomId; this.VisitorReserveClassMsg.ClassRoomId = obj.ClassRoomId;
this.VisitorReserveClassMsg.ClassContent=obj.ClassContent; this.VisitorReserveClassMsg.ClassContent = obj.ClassContent;
this.VisitorReserveClassMsg.EndTime=obj.EndTime; this.VisitorReserveClassMsg.EndTime = obj.EndTime;
this.VisitorReserveClassMsg.TrialLessonId=obj.TrialLessonId; this.VisitorReserveClassMsg.TrialLessonId = obj.TrialLessonId;
this.VisitorReserveClassMsg.ReserveType=obj.ReserveType; this.VisitorReserveClassMsg.ReserveType = obj.ReserveType;
this.VisitorReserveClassMsg.ClassPlanId=obj.ClassPlanId; this.VisitorReserveClassMsg.ClassPlanId = obj.ClassPlanId;
this.VisitorReserveClassMsg.Demand=obj.Demand; this.VisitorReserveClassMsg.Demand = obj.Demand;
if( this.VisitorReserveClassMsg.ClassDate=='0001-01-01T00:00:00'){ if (this.VisitorReserveClassMsg.ClassDate == '0001-01-01T00:00:00') {
this.VisitorReserveClassMsg.ClassDate=new Date(obj.ReservationDate); this.VisitorReserveClassMsg.ClassDate = new Date(obj.ReservationDate);
} }
this.VisitorReserveClassMsg.IsShow=true; this.VisitorReserveClassMsg.IsShow = true;
}, },
//试听课程列表 //试听课程列表
GetTrialDrop() { GetTrialDrop() {
...@@ -419,9 +425,9 @@ return timeStr; ...@@ -419,9 +425,9 @@ return timeStr;
message: res.Message message: res.Message
}); });
} }
this.fabkuiMsg.IsShow=false; this.fabkuiMsg.IsShow = false;
this.fabkuiMsg.Id=0; this.fabkuiMsg.Id = 0;
this.fabkuiMsg.Feedback=''; this.fabkuiMsg.Feedback = '';
}); });
}, },
closeReserveForm() { closeReserveForm() {
......
...@@ -82,11 +82,8 @@ ...@@ -82,11 +82,8 @@
<q-card-actions align="right" class="bg-white q-mx-md "> <q-card-actions align="right" class="bg-white q-mx-md ">
<q-btn label="取消" flat color="grey-10" style="font-weight:400 !important" v-close-popup /> <q-btn label="取消" flat color="grey-10" style="font-weight:400 !important" v-close-popup />
<q-btn @click="$refs.stepper.previous()" color="primary" label="上一步" v-if="step > 1" /> <q-btn @click="$refs.stepper.previous()" color="primary" label="上一步" v-if="step > 1" />
<!-- <template v-if="mode == 3 && step == 2">
<q-btn label="保存" color="primary" @click="saveCourseForm" /> <template>
</template>
<template v-else>-->
<template >
<q-btn @click="next" color="primary" label="下一步" v-if="step < 3" /> <q-btn @click="next" color="primary" label="下一步" v-if="step < 3" />
<q-btn label="保存" color="primary" :loading="loading1" @click="saveOrderForm" v-if="step == 3" /> <q-btn label="保存" color="primary" :loading="loading1" @click="saveOrderForm" v-if="step == 3" />
</template> </template>
...@@ -97,25 +94,24 @@ ...@@ -97,25 +94,24 @@
</template> </template>
<script> <script>
import { import {
getClassPruductList, //获取日语培训列表 getClassPruductList, //获取日语培训列表
setClassOrder, //新增 修改订单
getOrderGuestRenewState getOrderGuestRenewState
} from "../../../api/sale/sale"; } from "../../../api/sale/sale";
import { import {
getSchoolDropdown, //获取校区列表 getSchoolDropdown, //获取校区列表
getTeacherDropDownList
} from "../../../api/school/index"; } from "../../../api/school/index";
import { import {
queryCourseDropdownList, queryCourseDropdownList,
getCourseSubject
} from "../../../api/course/index"; } from "../../../api/course/index";
import Mode from "./transfer-order/tickMode"; import Mode from "./transfer-order/tickMode";
import Course from "./transfer-order/courselist"; import Course from "./transfer-order/courselist";
import orderForm from "./transfer-order/order-form"; import orderForm from "./transfer-order/order-form";
import yueke from "./transfer-order/yueke"; import yueke from "./transfer-order/yueke";
import vipcourse from "./transfer-order/vipcourse"; import vipcourse from "./transfer-order/vipcourse";
export default { export default {
props: { props: {
select: { select: {
type: Array, type: Array,
...@@ -180,7 +176,7 @@ export default { ...@@ -180,7 +176,7 @@ export default {
ClassNo: "", //班号 ClassNo: "", //班号
CourseSubject: "", //所属科目 CourseSubject: "", //所属科目
IsQuerySalePlat: 1, IsQuerySalePlat: 1,
SaleState:1,//显示正常的课程 SaleState: 1, //显示正常的课程
}, },
courseData: [], //课程列表 courseData: [], //课程列表
coursePageCount: 0, //课程页数 coursePageCount: 0, //课程页数
...@@ -193,13 +189,13 @@ export default { ...@@ -193,13 +189,13 @@ export default {
allClassList: [], allClassList: [],
loading1: false, //防止多次点击 loading1: false, //防止多次点击
mode: 1, mode: 1,
selectedCourseList: [],//多选课程 selectedCourseList: [], //多选课程
}; };
}, },
watch:{ watch: {
mode:{ mode: {
handler(n){ handler(n) {
this.selectedCourseList=[] this.selectedCourseList = []
} }
} }
}, },
...@@ -301,17 +297,15 @@ export default { ...@@ -301,17 +297,15 @@ export default {
this.saveObj = val[0]; this.saveObj = val[0];
this.saveObj.Unit_Price = this.saveObj.SellPrice; this.saveObj.Unit_Price = this.saveObj.SellPrice;
this.defaultCourse = val; this.defaultCourse = val;
this.saveObj.OrderCourseList =[]; this.saveObj.OrderCourseList = [];
this.saveObj.OrderCourseList.push(JSON.parse(JSON.stringify(this.saveObj))); this.saveObj.OrderCourseList.push(JSON.parse(JSON.stringify(this.saveObj)));
this.saveObj.TextbookFee=0; this.saveObj.TextbookFee = 0;
this.saveObj.CoursewareFee=0; this.saveObj.CoursewareFee = 0;
} else { } else {
this.saveObj = {}; this.saveObj = {};
this.saveObj.Unit_Price = 0; this.saveObj.Unit_Price = 0;
this.defaultCourse = []; this.defaultCourse = [];
} }
}, },
// 选择课程 // 选择课程
selectCourse(val) { selectCourse(val) {
...@@ -321,32 +315,28 @@ export default { ...@@ -321,32 +315,28 @@ export default {
} }
this.saveObj = {}; this.saveObj = {};
this.saveObj.Unit_Price = 0; this.saveObj.Unit_Price = 0;
this.saveObj.OrderCourseList =[]; this.saveObj.OrderCourseList = [];
if(this.selectedCourseList&&this.selectedCourseList.length>0){ if (this.selectedCourseList && this.selectedCourseList.length > 0) {
this.selectedCourseList.forEach((item,index) => { this.selectedCourseList.forEach((item, index) => {
if(index==0){ if (index == 0) {
this.saveObj = JSON.parse(JSON.stringify(item)); this.saveObj = JSON.parse(JSON.stringify(item));
this.saveObj.Unit_Price = item.SellPrice; this.saveObj.Unit_Price = item.SellPrice;
this.saveObj.PreferPrice = item.SellPrice; this.saveObj.PreferPrice = item.SellPrice;
} } else {
else{ this.saveObj.CourseName += "、" + item.CourseName
this.saveObj.CourseName+="、"+item.CourseName this.saveObj.SellPrice += Number(item.SellPrice)
this.saveObj.SellPrice+=Number(item.SellPrice) this.saveObj.Unit_Price += Number(item.SellPrice)
this.saveObj.Unit_Price+=Number(item.SellPrice) this.saveObj.TotalClassHours += Number(item.TotalClassHours)
this.saveObj.TotalClassHours+=Number(item.TotalClassHours) this.saveObj.DiscountMoney = 0; //number(item.DiscountMoney)
this.saveObj.DiscountMoney=0;//number(item.DiscountMoney) this.saveObj.LessPrice = 0;
this.saveObj.LessPrice=0; this.saveObj.TextbookFee += Number(item.TextbookFee)
this.saveObj.TextbookFee+=Number(item.TextbookFee) this.saveObj.PreferPrice += Number(item.SellPrice)
this.saveObj.PreferPrice +=Number(item.SellPrice) this.saveObj.CoursewareFee += Number(item.CoursewareFee)
this.saveObj.CoursewareFee+=Number(item.CoursewareFee)
} }
}); });
this.saveObj.OrderCourseList =[]; this.saveObj.OrderCourseList = [];
this.saveObj.OrderCourseList =this.selectedCourseList; this.saveObj.OrderCourseList = this.selectedCourseList;
} }
console.log("this.saveObj",this.saveObj);
console.log("this.selectedCourseList",this.selectedCourseList);
}, },
next() { next() {
if (this.step == 1 && this.mode <= 0) { if (this.step == 1 && this.mode <= 0) {
...@@ -370,7 +360,7 @@ export default { ...@@ -370,7 +360,7 @@ export default {
return; return;
} }
if ( if (
(this.mode == 2||this.mode == 3) && (this.mode == 2 || this.mode == 3) &&
(!this.saveObj.ClassId || this.saveObj.ClassId == 0) (!this.saveObj.ClassId || this.saveObj.ClassId == 0)
) { ) {
this.$q.notify({ this.$q.notify({
...@@ -436,15 +426,17 @@ export default { ...@@ -436,15 +426,17 @@ export default {
this.loading1 = false; this.loading1 = false;
} }
} }
}; };
</script> </script>
<style scoped> <style scoped>
/deep/.el-input__inner { /deep/.el-input__inner {
background-color: transparent; background-color: transparent;
border: none; border: none;
} }
/deep/.q-stepper__step-inner { /deep/.q-stepper__step-inner {
padding: 0 24px; padding: 0 24px;
} }
</style> </style>
...@@ -4,287 +4,109 @@ ...@@ -4,287 +4,109 @@
<div class="q-mb-sm text-accent"> <div class="q-mb-sm text-accent">
<span class="text-primary" v-if="mode === 1">班级:</span> <span class="text-primary" v-if="mode === 1">班级:</span>
<span v-if="mode === 1">{{ saveObj.ClassName }}</span> <span v-if="mode === 1">{{ saveObj.ClassName }}</span>
<span > <span>
<span class="q-ml-md text-primary">课程:</span> <span class="q-ml-md text-primary">课程:</span>
{{ saveObj.CourseName }} {{ saveObj.CourseName }}
</span> </span>
</div> </div>
<div class="row q-mb-md"> <div class="row q-mb-md">
<div class="col-10 flex"> <div class="col-10 flex">
<div v-for="(item, index) in stuData.StuList"> <div v-for="(item, index) in stuData.StuList" :key="`stu_`+index">
<q-chip icon="person" class="primary" <q-chip icon="person" class="primary">{{ item.StuName }}
>{{ item.StuName }}
<span v-if="item.IsRenewGuest === 1">(续费)</span> <span v-if="item.IsRenewGuest === 1">(续费)</span>
</q-chip> </q-chip>
</div> </div>
</div> </div>
<div class="col-2" v-if="mode == 1"> <div class="col-2" v-if="mode == 1">
<q-toggle <q-toggle v-model="OrderMsg.IsChaBan" :true-value="1" :false-value="0" label="插班报入" />
v-model="OrderMsg.IsChaBan"
:true-value="1"
:false-value="0"
label="插班报入"
/>
</div> </div>
</div> </div>
<!-- 一个约课、班课 --> <!-- 一个约课、班课 -->
<div class="column items-center"> <div class="column 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">
<q-input <q-input filled stack-label maxlength="3" :dense="false" @keyup.native="checkInteger(OrderMsg, 'GuestNum')"
filled v-model="OrderMsg.GuestNum" @input="calcPrice()" label="人数" :rules="[val => !!val || '请填写人数']" disable
stack-label class="col-6 q-py-sm" />
maxlength="3"
:dense="false"
@keyup.native="checkInteger(OrderMsg, 'GuestNum')"
v-model="OrderMsg.GuestNum"
@input="calcPrice()"
label="人数"
:rules="[val => !!val || '请填写人数']"
disable
class="col-6 q-py-sm"
/>
<template v-if="OrderMsg.IsChaBan == 1"> <template v-if="OrderMsg.IsChaBan == 1">
<q-select <q-select filled option-value="CourseId" :disable="modityOrderType == 2" option-label="CourseName"
filled ref="CourseId" v-model="OrderMsg.CourseId" :options="CourseList" emit-value map-options
option-value="CourseId" class="col-6 q-py-sm" :rules="[val => !!val || '请选择课程']" label="选择课程" @input="calcPrice()" />
:disable="modityOrderType == 2" <q-input filled stack-label :dense="false" v-model="OrderMsg.StartClassHours" :disable="modityOrderType == 2"
option-label="CourseName" @keyup.native="checkInteger(OrderMsg, 'StartClassHours')" ref="StartClassHours" @input="calcPrice()"
ref="CourseId" class="col-6 q-py-sm" label="起始课时" />
v-model="OrderMsg.CourseId" <q-input filled v-model="OrderMsg.EffectTime" ref="EffectTime" :rules="[val => !!val || '请填生效时间']"
:options="CourseList" class="col-6 q-py-sm" :disable="modityOrderType == 2" mask="date" label="生效时间">
emit-value
map-options
class="col-6 q-py-sm"
:rules="[val => !!val || '请选择课程']"
label="选择课程"
@input="calcPrice()"
/>
<q-input
filled
stack-label
:dense="false"
v-model="OrderMsg.StartClassHours"
:disable="modityOrderType == 2"
@keyup.native="checkInteger(OrderMsg, 'StartClassHours')"
ref="StartClassHours"
@input="calcPrice()"
class="col-6 q-py-sm"
label="起始课时"
/>
<q-input
filled
v-model="OrderMsg.EffectTime"
ref="EffectTime"
:rules="[val => !!val || '请填生效时间']"
class="col-6 q-py-sm"
:disable="modityOrderType == 2"
mask="date"
label="生效时间"
>
<template v-slot:append> <template v-slot:append>
<q-icon name="event" class="cursor-pointer"> <q-icon name="event" class="cursor-pointer">
<q-popup-proxy <q-popup-proxy ref="qDateProxy1" transition-show="scale" transition-hide="scale">
ref="qDateProxy1" <q-date v-model="OrderMsg.EffectTime" @input="() => $refs.qDateProxy1.hide()" />
transition-show="scale"
transition-hide="scale"
>
<q-date
v-model="OrderMsg.EffectTime"
@input="() => $refs.qDateProxy1.hide()"
/>
</q-popup-proxy> </q-popup-proxy>
</q-icon> </q-icon>
</template> </template>
</q-input> </q-input>
<q-select <q-select filled option-value="OrderId" option-label="CourseName" class="col-6 q-py-sm"
filled :disable="modityOrderType == 2" v-model="OrderMsg.UpOrderId" :options="beforeOrderList" emit-value
option-value="OrderId" map-options label="前置订单">
option-label="CourseName" <template v-slot:option="{
class="col-6 q-py-sm"
:disable="modityOrderType == 2"
v-model="OrderMsg.UpOrderId"
:options="beforeOrderList"
emit-value
map-options
label="前置订单"
>
<template
v-slot:option="{
itemProps, itemProps,
itemEvents, itemEvents,
opt, opt,
selected, selected,
toggleOption toggleOption
}" }">
>
<q-item v-bind="itemProps" v-on="itemEvents"> <q-item v-bind="itemProps" v-on="itemEvents">
<q-item-section> <q-item-section>
<q-item-label <q-item-label><span style="color:blue">{{ opt.OrderId }}</span>
><span style="color:blue">{{ opt.OrderId }}</span>
{{ opt.CourseName }} {{ opt.ClassName }} {{ opt.CourseName }} {{ opt.ClassName }}
{{ getStudent(opt.GuestList) }}</q-item-label {{ getStudent(opt.GuestList) }}</q-item-label>
>
</q-item-section> </q-item-section>
</q-item> </q-item>
</template> </template>
</q-select> </q-select>
</template> </template>
<q-input <q-input filled stack-label :dense="false" v-model="OrderMsg.Class_Price" :disable="true" class="col-6 q-py-sm"
filled label="单价(课程售价)" style="display:none;" />
stack-label
:dense="false"
v-model="OrderMsg.Class_Price"
:disable="true"
class="col-6 q-py-sm"
label="单价(课程售价)"
style="display:none;"
/>
<template v-if="modityOrderType == 1"> <template v-if="modityOrderType == 1">
<q-input <q-input filled stack-label :dense="false" v-model="OrderMsg.Unit_Price"
filled :disable="IsShowUpPrice == true ? false : true" @blur="calcPrice()" class="col-6 q-py-sm" label="成交单价"
stack-label :rules="[val => !!val || '请填成交单价']" />
:dense="false" <q-toggle v-model="IsShowUpPrice" label="高于定价收生" class="q-mb-md" style="display:none;" />
v-model="OrderMsg.Unit_Price"
:disable="IsShowUpPrice == true ? false : true"
@blur="calcPrice()"
class="col-6 q-py-sm"
label="成交单价"
:rules="[val => !!val || '请填成交单价']"
/>
<q-toggle
v-model="IsShowUpPrice"
label="高于定价收生"
class="q-mb-md"
style="display:none;"
/>
</template> </template>
<template v-if="modityOrderType == 2"> <template v-if="modityOrderType == 2">
<q-input <q-input filled stack-label :dense="false" v-model="OrderMsg.Unit_Price" :disable="true" @input="calcPrice()"
filled class="col-6 q-py-sm" label="成交单价" :rules="[val => !!val || '请填成交单价']" />
stack-label
:dense="false"
v-model="OrderMsg.Unit_Price"
:disable="true"
@input="calcPrice()"
class="col-6 q-py-sm"
label="成交单价"
:rules="[val => !!val || '请填成交单价']"
/>
</template> </template>
<q-input <q-input v-if="false" filled stack-label :dense="false" v-model="OrderMsg.DiscountMoney" :disable="true"
v-if="false" class="col-6 q-py-sm" label="优惠金额" />
filled
stack-label
:dense="false"
v-model="OrderMsg.DiscountMoney"
:disable="true"
class="col-6 q-py-sm"
label="优惠金额"
/>
<template v-if="OrderMsg.Unit_PriceType==2"> <template v-if="OrderMsg.Unit_PriceType==2">
<q-input <q-input filled stack-label :dense="false" type="number" :min="1" @input="oneTotalCourseFee(1)"
filled v-model="OrderMsg.TotalClassHours" class="col-6 q-py-sm" label="总课时数" />
stack-label
:dense="false"
type="number"
:min="1"
@input="oneTotalCourseFee(1)"
v-model="OrderMsg.TotalClassHours"
class="col-6 q-py-sm"
label="总课时数"
/>
</template> </template>
<q-input <q-input v-if="mode!=1" filled stack-label :dense="false" type="number" :min="0" @input="oneTotalCourseFee(0)"
v-if="mode!=1" v-model="OrderMsg.TextbookFee" class="col-6 q-py-sm" label="课件费" />
filled <q-input v-if="mode!=1" filled stack-label :dense="false" type="number" :min="0" @input="oneTotalCourseFee(0)"
stack-label v-model="OrderMsg.CoursewareFee" class="col-6 q-py-sm" label="教材费" />
:dense="false"
type="number"
:min="0"
@input="oneTotalCourseFee(0)"
v-model="OrderMsg.TextbookFee"
class="col-6 q-py-sm"
label="课件费"
/>
<q-input
v-if="mode!=1"
filled
stack-label
:dense="false"
type="number"
:min="0"
@input="oneTotalCourseFee(0)"
v-model="OrderMsg.CoursewareFee"
class="col-6 q-py-sm"
label="教材费"
/>
<template v-if="modityOrderType == 3"> <template v-if="modityOrderType == 3">
<q-input <q-input filled stack-label :dense="false" v-model="OrderMsg.Unit_Price" @input="calcPrice()"
filled class="col-6 q-py-sm" label="成交单价" :rules="[val => !!val || '请填成交单价']" />
stack-label
:dense="false"
v-model="OrderMsg.Unit_Price"
@input="calcPrice()"
class="col-6 q-py-sm"
label="成交单价"
:rules="[val => !!val || '请填成交单价']"
/>
</template> </template>
<q-input <q-input filled stack-label :disable="modityOrderType != 3" :dense="false" maxlength="10"
filled @keyup.native="checkPrice(OrderMsg, 'PreferPrice')" v-model="OrderMsg.PreferPrice" class="col-6 q-py-sm"
stack-label label="应收" />
:disable="modityOrderType != 3" <q-select v-show="false" v-if="mode == 2" standout="bg-primary text-white" option-value="SId"
:dense="false" option-label="SName" v-model="OrderMsg.ScrollSchoolId" :options="newSchoolList" emit-value map-options
maxlength="10" class="col-6 q-py-sm" label="校区" />
@keyup.native="checkPrice(OrderMsg, 'PreferPrice')" <q-select style="display:none;" :disable="modityOrderType == 2" standout="bg-primary text-white"
v-model="OrderMsg.PreferPrice" option-value="Id" option-label="Name" v-model="OrderMsg.OrderSource" :options="SourceEnumList" emit-value
class="col-6 q-py-sm" map-options class="col-6 q-py-sm" label="客人来源" />
label="应收" <q-select v-if="false" :disable="
/>
<q-select v-show="false"
v-if="mode == 2"
standout="bg-primary text-white"
option-value="SId"
option-label="SName"
v-model="OrderMsg.ScrollSchoolId"
:options="newSchoolList"
emit-value
map-options
class="col-6 q-py-sm"
label="校区"
/>
<q-select style="display:none;"
:disable="modityOrderType == 2"
standout="bg-primary text-white"
option-value="Id"
option-label="Name"
v-model="OrderMsg.OrderSource"
:options="SourceEnumList"
emit-value
map-options
class="col-6 q-py-sm"
label="客人来源"
/>
<q-select v-if="false"
:disable="
modityOrderType == 2 || modityOrderType == 2 ||
OrderMsg.JoinType == 3 || OrderMsg.JoinType == 3 ||
CourseConsultantDisable CourseConsultantDisable
" " v-model="OrderMsg.CourseConsultantId" :options="EmployeeList2" filled use-input label="课程顾问"
v-model="OrderMsg.CourseConsultantId" option-label="EmployeeName" option-value="Id" ref="EmployeeName2" class="col-6 q-py-sm" emit-value map-options
:options="EmployeeList2" @filter="filterFn2">
filled
use-input
label="课程顾问"
option-label="EmployeeName"
option-value="Id"
ref="EmployeeName2"
class="col-6 q-py-sm"
emit-value
map-options
@filter="filterFn2"
>
<template v-slot:no-option> <template v-slot:no-option>
<q-item> <q-item>
<q-item-section class="text-grey"> <q-item-section class="text-grey">
...@@ -293,260 +115,20 @@ ...@@ -293,260 +115,20 @@
</q-item> </q-item>
</template> </template>
</q-select> </q-select>
<q-input <q-input :disable="modityOrderType == 2" v-if="OrderMsg.OrderSource == 3" filled stack-label :dense="false"
:disable="modityOrderType == 2" maxlength="50" v-model="OrderMsg.GeneralOccupation" class="col-6 q-py-sm" label="一般同行" />
v-if="OrderMsg.OrderSource == 3" <q-input :disable="modityOrderType == 2" v-if="OrderMsg.OrderSource == 7" filled stack-label :dense="false"
filled maxlength="50" v-model="OrderMsg.EduOccupation" class="col-6 q-py-sm" label="教育同行" />
stack-label <q-input :disable="modityOrderType == 2" v-if="OrderMsg.IsLessPrice == 1" @input="calcPrice()"
:dense="false" @keyup.native="checkPrice(OrderMsg, 'PerLessMoney')" maxlength="10" filled stack-label :dense="false"
maxlength="50" v-model="OrderMsg.PerLessMoney" class="col-6 q-py-sm" label="少价金额(每人)"
v-model="OrderMsg.GeneralOccupation" :hint="'总少价金额:' + OrderMsg.PerLessMoney * OrderMsg.GuestNum" />
class="col-6 q-py-sm" <q-input disable v-if="OrderMsg.EnterId > 0" filled stack-label v-model="EnterName" class="col-6 q-py-sm"
label="一般同行" label="市场人员" />
/>
<q-input
:disable="modityOrderType == 2"
v-if="OrderMsg.OrderSource == 7"
filled
stack-label
:dense="false"
maxlength="50"
v-model="OrderMsg.EduOccupation"
class="col-6 q-py-sm"
label="教育同行"
/>
<q-input
:disable="modityOrderType == 2"
v-if="OrderMsg.IsLessPrice == 1"
@input="calcPrice()"
@keyup.native="checkPrice(OrderMsg, 'PerLessMoney')"
maxlength="10"
filled
stack-label
:dense="false"
v-model="OrderMsg.PerLessMoney"
class="col-6 q-py-sm"
label="少价金额(每人)"
:hint="'总少价金额:' + OrderMsg.PerLessMoney * OrderMsg.GuestNum"
/>
<q-input
disable
v-if="OrderMsg.EnterId > 0"
filled
stack-label
v-model="EnterName"
class="col-6 q-py-sm"
label="市场人员"
/>
<!-- <q-input
v-if="OrderMsg.HelpEnterId>0"
filled
stack-label
disable
:dense="false"
maxlength="10"
v-model="AssistName"
class="col-6 q-py-sm"
label="协助老师"
/> -->
<q-select
v-if="mode!=1"
v-model="OrderMsg.HelpEnterId"
:options="AssistList"
filled
use-input
label="协助老师"
option-label="EmployeeName"
option-value="Id"
ref="EmployeeName2"
class="col-6 q-py-sm"
emit-value
map-options
@filter="filterAssisFn"
>
<template v-slot:no-option>
<q-item>
<q-item-section class="text-grey">
未找到相关数据
</q-item-section>
</q-item>
</template>
</q-select>
<q-input
filled
stack-label
:dense="false"
v-model="OrderMsg.SaleRemark"
type="textarea"
class="col-12 q-py-sm"
label="备注"
/>
</div>
</div>
<!-- 多个约课 -->
<!-- <div v-else>
<div class="column shadow-4 q-mb-md q-pb-md" v-for="(item,index) in courseInformationList" :key="index">
<div class="q-pt-md q-pb-md">
<span class="q-ml-md text-primary">课程:</span>{{item.CourseName}}
</div>
<div class="col row wrap q-mr-lg q-ml-lg q-col-gutter-md">
<q-input
filled
stack-label
maxlength="3"
:dense="false"
v-model="item.GuestNum"
label="人数"
:rules="[val => !!val || '请填写人数']"
disable
class="col-6 q-py-sm"
/>
<q-input
filled
stack-label
:dense="false"
v-model="item.Class_Price"
:disable="true"
class="col-6 q-py-sm"
label="单价(课程售价)"
style="display:none;"
/>
<template v-if="modityOrderType == 1">
<q-input
filled
stack-label
:dense="false"
v-model="item.Unit_Price"
:disable="IsShowUpPrice == true ? false : true"
class="col-6 q-py-sm"
label="成交单价"
:rules="[val => !!val || '请填成交单价']"
/>
<q-toggle
v-model="IsShowUpPrice"
label="高于定价收生"
class="q-mb-md"
style="display:none;"
/>
</template>
<template v-if="modityOrderType == 2">
<q-input
filled
stack-label
:dense="false"
v-model="item.Unit_Price"
:disable="true"
class="col-6 q-py-sm"
label="成交单价"
:rules="[val => !!val || '请填成交单价']"
/>
</template>
<q-input v-if="false"
filled
stack-label
:dense="false"
v-model="item.DiscountMoney"
:disable="true" class="col-6 q-py-sm" label="优惠金额"/>
<template v-if="item.Unit_PriceType==2">
<q-input
filled
stack-label
:dense="false"
type="number"
:min="1"
@input="totalCourseFee(1)"
v-model="item.TotalClassHours"
class="col-6 q-py-sm"
label="总课时数" />
</template>
<q-input
filled
stack-label
:dense="false"
type="number"
:min="0"
@input="totalCourseFee(0)"
v-model="item.TextbookFee"
class="col-6 q-py-sm"
label="课件费"
/>
<q-input
filled
stack-label
:dense="false"
type="number"
:min="0"
@input="totalCourseFee(0)"
v-model="item.CoursewareFee"
class="col-6 q-py-sm"
label="教材费"
/>
<template v-if="modityOrderType == 3"> <q-select v-if="mode!=1" v-model="OrderMsg.HelpEnterId" :options="AssistList" filled use-input label="协助老师"
<q-input option-label="EmployeeName" option-value="Id" ref="EmployeeName2" class="col-6 q-py-sm" emit-value map-options
filled @filter="filterAssisFn">
min
stack-label
:dense="false"
v-model="item.Unit_Price"
class="col-6 q-py-sm"
label="成交单价"
:rules="[val => !!val || '请填成交单价']"
/>
</template>
<q-input
filled
stack-label
:disable="modityOrderType != 3"
:dense="false"
maxlength="10"
v-model="item.PreferPrice"
class="col-6 q-py-sm"
label="应收"
/>
<q-select
v-if="mode == 2"
standout="bg-primary text-white"
option-value="SId"
option-label="SName"
v-model="item.ScrollSchoolId"
:options="newSchoolList"
emit-value
map-options
class="col-6 q-py-sm"
label="校区"
/>
<q-select style="display:none;"
:disable="modityOrderType == 2"
standout="bg-primary text-white"
option-value="Id"
option-label="Name"
v-model="item.OrderSource"
:options="SourceEnumList"
emit-value
map-options
class="col-6 q-py-sm"
label="客人来源"
/>
<q-select v-if="false"
:disable="
modityOrderType == 2 ||
item.JoinType == 3 ||
CourseConsultantDisable
"
v-model="item.CourseConsultantId"
:options="EmployeeList2"
filled
use-input
label="课程顾问"
option-label="EmployeeName"
option-value="Id"
ref="EmployeeName2"
class="col-6 q-py-sm"
emit-value
map-options
@filter="filterFn2"
>
<template v-slot:no-option> <template v-slot:no-option>
<q-item> <q-item>
<q-item-section class="text-grey"> <q-item-section class="text-grey">
...@@ -555,79 +137,14 @@ ...@@ -555,79 +137,14 @@
</q-item> </q-item>
</template> </template>
</q-select> </q-select>
<q-input <q-input filled stack-label :dense="false" v-model="OrderMsg.SaleRemark" type="textarea" class="col-12 q-py-sm"
:disable="modityOrderType == 2" label="备注" />
v-if="item.OrderSource == 3"
filled
stack-label
:dense="false"
maxlength="50"
v-model="item.GeneralOccupation"
class="col-6 q-py-sm"
label="一般同行"
/>
<q-input
:disable="modityOrderType == 2"
v-if="item.OrderSource == 7"
filled
stack-label
:dense="false"
maxlength="50"
v-model="item.EduOccupation"
class="col-6 q-py-sm"
label="教育同行"
/>
<q-input
:disable="modityOrderType == 2"
v-if="item.IsLessPrice == 1"
maxlength="10"
filled
stack-label
:dense="false"
v-model="item.PerLessMoney"
class="col-6 q-py-sm"
label="少价金额(每人)"
:hint="'总少价金额:' + item.PerLessMoney * item.GuestNum"
/>
<q-input
disable
v-if="item.EnterId > 0"
filled
stack-label
v-model="EnterName"
class="col-6 q-py-sm"
label="市场人员"
/>
<q-input
v-if="OrderMsg.HelpEnterId>0"
filled
stack-label
disable
:dense="false"
maxlength="10"
v-model="AssistName"
class="col-6 q-py-sm"
label="协助老师"
/>
<q-input
filled
stack-label
:dense="false"
v-model="item.SaleRemark"
type="textarea"
class="col-12 q-py-sm"
label="备注"
/>
</div> </div>
</div> </div>
</div> -->
<div <div class="dialog-out-close" @click="closeEditOrder"
class="dialog-out-close" style="height:40px !important;border-top-left-radius: 4px !important;border-bottom-left-radius: 4px !important;">
@click="closeEditOrder"
style="height:40px !important;border-top-left-radius: 4px !important;border-bottom-left-radius: 4px !important;"
>
<q-icon name="iconfont icon-jujue1" size="26px" /> <q-icon name="iconfont icon-jujue1" size="26px" />
</div> </div>
<q-dialog v-model="inception"> <q-dialog v-model="inception">
...@@ -635,37 +152,33 @@ ...@@ -635,37 +152,33 @@
<q-card-section> <q-card-section>
<div class="text-h6">提示</div> <div class="text-h6">提示</div>
</q-card-section> </q-card-section>
<q-card-section class="q-pt-none"> <q-card-section class="q-pt-none">
{{ inceptionData.Message }} {{ inceptionData.Message }}
</q-card-section> </q-card-section>
<q-card-actions align="right" class="text-primary"> <q-card-actions align="right" class="text-primary">
<q-btn flat label="取消" size="sm" v-close-popup /> <q-btn flat label="取消" size="sm" v-close-popup />
<q-btn <q-btn label="立即查看" size="sm" color="accent q-px-md" style="font-weight:400 !important" @click="goorder" />
label="立即查看"
size="sm"
color="accent q-px-md"
style="font-weight:400 !important"
@click="goorder"
/>
</q-card-actions> </q-card-actions>
</q-card> </q-card>
</q-dialog> </q-dialog>
</div> </div>
</template> </template>
<script> <script>
import { import {
getClassOrderInfo, //获取订单操作日志列表
getOrderSourceEnumList, //获取订单来源 枚举 getOrderSourceEnumList, //获取订单来源 枚举
setClassOrder, //修改订单 setClassOrder, //修改订单
SetClassOrderBatch, //多个约课订单 SetClassOrderBatch, //多个约课订单
queryChaClassInfo, queryChaClassInfo,
GetSelectClassOrderList //获取前置下拉 GetSelectClassOrderList //获取前置下拉
} from "../../../../api/sale/sale"; } from "../../../../api/sale/sale";
import { GetStudentAssistList } from "../../../../api/sale/sale"; //获取协助人员 import {
import { queryEmployee } from "../../../../api/users/user"; //获取员工 GetStudentAssistList
export default { } from "../../../../api/sale/sale"; //获取协助人员
import {
queryEmployee
} from "../../../../api/users/user"; //获取员工
export default {
props: { props: {
saveObj: { saveObj: {
type: Object, type: Object,
...@@ -702,8 +215,8 @@ export default { ...@@ -702,8 +215,8 @@ export default {
}, },
data() { data() {
return { return {
courseInformationList:[],//存储多个课程 courseInformationList: [], //存储多个课程
AssistName:"",//协助老师名称 AssistName: "", //协助老师名称
IsShowEditOrder: true, IsShowEditOrder: true,
OrderMsg: { OrderMsg: {
ClassId: 0, //班级编号 ClassId: 0, //班级编号
...@@ -715,10 +228,10 @@ export default { ...@@ -715,10 +228,10 @@ export default {
OrderSource: 0, OrderSource: 0,
SaleRemark: "", SaleRemark: "",
Class_Price: 0, //单价 Class_Price: 0, //单价
Unit_PriceType:1,//价格类型:1-总课时费,2-课时单价 2024-08-26 add by:W Unit_PriceType: 1, //价格类型:1-总课时费,2-课时单价 2024-08-26 add by:W
TotalClassHours:0,//总课时数 2024-08-26 add by:W TotalClassHours: 0, //总课时数 2024-08-26 add by:W
CoursewareFee:0,//教材费 CoursewareFee: 0, //教材费
TextbookFee:0,//课件费 TextbookFee: 0, //课件费
OrderId: 0, OrderId: 0,
OrderType: 0, //订单类型(1-班级课程订单,2-留学就业订单) OrderType: 0, //订单类型(1-班级课程订单,2-留学就业订单)
SourceId: 0, //来源编号 SourceId: 0, //来源编号
...@@ -767,7 +280,7 @@ export default { ...@@ -767,7 +280,7 @@ export default {
CourseConsultantDisable: false, //是否可选择课程顾问 CourseConsultantDisable: false, //是否可选择课程顾问
inception: false, inception: false,
inceptionData: null, inceptionData: null,
OrderCourseList:[],//选择的课程信息 OrderCourseList: [], //选择的课程信息
}; };
}, },
computed: { computed: {
...@@ -799,15 +312,15 @@ export default { ...@@ -799,15 +312,15 @@ export default {
this.EnterName = this.stuData.EnterName; this.EnterName = this.stuData.EnterName;
// 判断是否续费协助老师赋值 // 判断是否续费协助老师赋值
if (this.stuData.StuList[0].IsRenewGuest!=1){ if (this.stuData.StuList[0].IsRenewGuest != 1) {
this.OrderMsg.HelpEnterId = this.stuData.StuList[0].STTeacherId; this.OrderMsg.HelpEnterId = this.stuData.StuList[0].STTeacherId;
this.AssistName = this.stuData.StuList[0].STTeacherName this.AssistName = this.stuData.StuList[0].STTeacherName
} }
if(this.selectedCourseList.length>1){ if (this.selectedCourseList.length > 1) {
this.selectedCourseList.forEach(item => { this.selectedCourseList.forEach(item => {
let dataObj = { let dataObj = {
CourseName: "",//课程名称 CourseName: "", //课程名称
ClassId: 0, //班级编号 ClassId: 0, //班级编号
GuestNum: 1, //人数 GuestNum: 1, //人数
B2CRatio: 0, B2CRatio: 0,
...@@ -817,10 +330,10 @@ export default { ...@@ -817,10 +330,10 @@ export default {
OrderSource: 0, OrderSource: 0,
SaleRemark: "", SaleRemark: "",
Class_Price: 0, //单价 Class_Price: 0, //单价
Unit_PriceType:1,//价格类型:1-总课时费,2-课时单价 2024-08-26 add by:W Unit_PriceType: 1, //价格类型:1-总课时费,2-课时单价 2024-08-26 add by:W
TotalClassHours:0,//总课时数 2024-08-26 add by:W TotalClassHours: 0, //总课时数 2024-08-26 add by:W
CoursewareFee:0,//教材费 CoursewareFee: 0, //教材费
TextbookFee:0,//课件费 TextbookFee: 0, //课件费
OrderId: 0, OrderId: 0,
OrderType: 0, //订单类型(1-班级课程订单,2-留学就业订单) OrderType: 0, //订单类型(1-班级课程订单,2-留学就业订单)
SourceId: 0, //来源编号 SourceId: 0, //来源编号
...@@ -848,9 +361,9 @@ export default { ...@@ -848,9 +361,9 @@ export default {
// NormalCommission:'',//正常返佣金额 // NormalCommission:'',//正常返佣金额
// RenewCommission:"",// 预计返佣金额 // RenewCommission:"",// 预计返佣金额
ScrollSchoolId: -1, ScrollSchoolId: -1,
OrderType:1 OrderType: 1
} }
if(item.CourseName){ if (item.CourseName) {
dataObj.CourseName = item.CourseName dataObj.CourseName = item.CourseName
} }
if (item.ClassId) { if (item.ClassId) {
...@@ -903,19 +416,21 @@ export default { ...@@ -903,19 +416,21 @@ export default {
methods: { methods: {
//单个课程计算 //单个课程计算
oneTotalCourseFee(type){ oneTotalCourseFee(type) {
if(this.OrderMsg.Unit_PriceType==2){ if (this.OrderMsg.Unit_PriceType == 2) {
if(type==1){ if (type == 1) {
this.OrderMsg.TextbookFee=Number((this.OrderMsg.TotalClassHours*this.OrderMsg.Unit_Price*this.OrderMsg.GuestNum)*(20/100)).toFixed(2); this.OrderMsg.TextbookFee = Number((this.OrderMsg.TotalClassHours * this.OrderMsg.Unit_Price * this.OrderMsg
.GuestNum) * (20 / 100)).toFixed(2);
} }
this.OrderMsg.PreferPrice = this.OrderMsg.GuestNum*this.OrderMsg.Unit_Price*this.OrderMsg.TotalClassHours+Number(this.OrderMsg.TextbookFee)+Number(this.OrderMsg.CoursewareFee) this.OrderMsg.PreferPrice = this.OrderMsg.GuestNum * this.OrderMsg.Unit_Price * this.OrderMsg
.TotalClassHours + Number(this.OrderMsg.TextbookFee) + Number(this.OrderMsg.CoursewareFee)
} }
}, },
// 多个课程计算 // 多个课程计算
totalCourseFee(type){ totalCourseFee(type) {
this.courseInformationList.forEach((item)=>{ this.courseInformationList.forEach((item) => {
if(this.stuData.StuList[0].IsRenewGuest==1){ if (this.stuData.StuList[0].IsRenewGuest == 1) {
item.DiscountMoney = this.accAdd( item.DiscountMoney = this.accAdd(
item.DiscountMoney, item.DiscountMoney,
this.accMul( this.accMul(
...@@ -923,27 +438,29 @@ export default { ...@@ -923,27 +438,29 @@ export default {
item.B2CReNewRatio / 100 item.B2CReNewRatio / 100
) )
); );
if(item.Unit_PriceType==1){ if (item.Unit_PriceType == 1) {
item.PreferPrice = item.GuestNum*item.Unit_Price item.PreferPrice = item.GuestNum * item.Unit_Price
} } else if (item.Unit_PriceType == 2) {
else if(item.Unit_PriceType==2){ if (type == 1) {
if(type==1){ item.TextbookFee = Number((item.TotalClassHours * item.Unit_Price * item.GuestNum) * (20 / 100))
item.TextbookFee=Number((item.TotalClassHours*item.Unit_Price*item.GuestNum)*(20/100)).toFixed(2); .toFixed(2);
} }
item.PreferPrice = (item.GuestNum*item.Unit_Price*item.TotalClassHours)+Number(item.TextbookFee)+Number(item.CoursewareFee) item.PreferPrice = (item.GuestNum * item.Unit_Price * item.TotalClassHours) + Number(item
.TextbookFee) + Number(item.CoursewareFee)
} }
}else{ } else {
item.DiscountMoney = this.accAdd( item.DiscountMoney = this.accAdd(
item.DiscountMoney, item.DiscountMoney,
this.accMul(item.Class_Price, item.B2CRatio / 100) this.accMul(item.Class_Price, item.B2CRatio / 100)
); );
if(item.Unit_PriceType==1){ if (item.Unit_PriceType == 1) {
item.PreferPrice = item.GuestNum*item.Unit_Price item.PreferPrice = item.GuestNum * item.Unit_Price
} } else if (item.Unit_PriceType == 2) {
else if(item.Unit_PriceType==2){ item.TextbookFee = Number((item.TotalClassHours * item.Unit_Price * item.GuestNum) * (20 / 100))
item.TextbookFee=Number((item.TotalClassHours*item.Unit_Price*item.GuestNum)*(20/100)).toFixed(2); .toFixed(2);
item.PreferPrice = item.GuestNum*item.Unit_Price*item.TotalClassHours+Number(item.TextbookFee)+Number(item.CoursewareFee) item.PreferPrice = item.GuestNum * item.Unit_Price * item.TotalClassHours + Number(item.TextbookFee) +
Number(item.CoursewareFee)
} }
//item.PreferPrice = item.GuestNum*item.Unit_Price //item.PreferPrice = item.GuestNum*item.Unit_Price
} }
...@@ -952,14 +469,21 @@ export default { ...@@ -952,14 +469,21 @@ export default {
//获取协助人员 //获取协助人员
getAssistList() { getAssistList() {
const ids = this.stuData.StuList.map(e => e.StuId).toString(); const ids = this.stuData.StuList.map(e => e.StuId).toString();
GetStudentAssistList({ StuId: ids }).then(res => { GetStudentAssistList({
StuId: ids
}).then(res => {
if (res.Code == 1) { if (res.Code == 1) {
res.Data.map(e => { res.Data.map(e => {
if (e.AssistType == 4) { if (e.AssistType == 4) {
this.AssistList.push({Id:e.AssistId,EmployeeName: e.AssistName}); this.AssistList.push({
this.AllAssistList.push({Id:e.AssistId,EmployeeName: e.AssistName}); Id: e.AssistId,
console.log(" this.AssistList", this.AssistList); EmployeeName: e.AssistName
if(this.stuData.StuList[0].IsRenewGuest==1){ });
this.AllAssistList.push({
Id: e.AssistId,
EmployeeName: e.AssistName
});
if (this.stuData.StuList[0].IsRenewGuest == 1) {
this.OrderMsg.HelpEnterId = e.AssistId; this.OrderMsg.HelpEnterId = e.AssistId;
this.AssistName = e.AssistName this.AssistName = e.AssistName
} }
...@@ -968,8 +492,8 @@ export default { ...@@ -968,8 +492,8 @@ export default {
if (e.AssistType == 2) { if (e.AssistType == 2) {
this.OrderMsg.CourseConsultantId = e.AssistId; this.OrderMsg.CourseConsultantId = e.AssistId;
this.CourseConsultantDisable = true; this.CourseConsultantDisable = true;
if(this.selectedCourseList.length>1){ if (this.selectedCourseList.length > 1) {
this.courseInformationList.forEach(item=>{ this.courseInformationList.forEach(item => {
return item.CourseConsultantId = e.AssistId return item.CourseConsultantId = e.AssistId
}) })
} }
...@@ -978,19 +502,27 @@ export default { ...@@ -978,19 +502,27 @@ export default {
} }
}); });
if(this.AssistList.length==0){ if (this.AssistList.length == 0) {
var qMsg = { IsLeave: 1, UserRole: 0}; var qMsg = {
IsLeave: 1,
UserRole: 0,
AccountType:2,
};
queryEmployee(qMsg).then(res => { queryEmployee(qMsg).then(res => {
if (res.Code == 1) { if (res.Code == 1) {
res.Data.map(e => { res.Data.map(e => {
this.AssistList.push({Id:e.Id,EmployeeName: e.EmployeeName}); this.AssistList.push({
this.AllAssistList.push({Id:e.Id,EmployeeName: e.EmployeeName}); Id: e.Id,
EmployeeName: e.EmployeeName
});
this.AllAssistList.push({
Id: e.Id,
EmployeeName: e.EmployeeName
});
}); });
console.log(" this.AssistListData", this.AssistList);
} }
}); });
} }
console.log(" this.AllAssistList", this.AllAssistList);
}, },
//获取班级课程信息 //获取班级课程信息
initConfig() { initConfig() {
...@@ -1003,8 +535,7 @@ export default { ...@@ -1003,8 +535,7 @@ export default {
queryChaClassInfo(qMsg).then(res => { queryChaClassInfo(qMsg).then(res => {
if (res.Code == 1) { if (res.Code == 1) {
this.CourseList = res.Data.otherCourse; this.CourseList = res.Data.otherCourse;
if (this.saveObj && this.saveObj.OrderId > 0) { if (this.saveObj && this.saveObj.OrderId > 0) {} else {
} else {
this.OrderMsg.StartClassHours = res.Data.finishHours; this.OrderMsg.StartClassHours = res.Data.finishHours;
} }
if (this.OrderMsg && this.OrderMsg.CourseId) { if (this.OrderMsg && this.OrderMsg.CourseId) {
...@@ -1023,8 +554,9 @@ export default { ...@@ -1023,8 +554,9 @@ export default {
if (this.OrderMsg.GuestNum && this.OrderMsg.GuestNum > 0) { if (this.OrderMsg.GuestNum && this.OrderMsg.GuestNum > 0) {
guestNum = Number(this.OrderMsg.GuestNum); guestNum = Number(this.OrderMsg.GuestNum);
} }
if(this.saveObj.SellPriceType==2){ if (this.saveObj.SellPriceType == 2) {
this.OrderMsg.TextbookFee=((Number(this.OrderMsg.TotalClassHours) * Number(this.OrderMsg.Unit_Price) * Number(this.OrderMsg.GuestNum)) * (20/100)).toFixed(2); this.OrderMsg.TextbookFee = ((Number(this.OrderMsg.TotalClassHours) * Number(this.OrderMsg.Unit_Price) *
Number(this.OrderMsg.GuestNum)) * (20 / 100)).toFixed(2);
} }
let temp = this.CourseList.find( let temp = this.CourseList.find(
x => x.CourseId == this.OrderMsg.CourseId x => x.CourseId == this.OrderMsg.CourseId
...@@ -1118,11 +650,10 @@ export default { ...@@ -1118,11 +650,10 @@ export default {
this.courseObj.CourseId && this.courseObj.CourseId &&
this.courseObj.CourseId > 0 this.courseObj.CourseId > 0
) { ) {
if(this.OrderMsg.Unit_PriceType==1){ if (this.OrderMsg.Unit_PriceType == 1) {
newPreferPrice= chaBanPrice * guestNum newPreferPrice = chaBanPrice * guestNum
} } else if (this.OrderMsg.Unit_PriceType == 2) {
else if(this.OrderMsg.Unit_PriceType==2){ newPreferPrice = chaBanPrice * guestNum * this.OrderMsg.TotalClassHours
newPreferPrice = chaBanPrice * guestNum*this.OrderMsg.TotalClassHours
} }
} }
console.log("我进来了1"); console.log("我进来了1");
...@@ -1130,17 +661,17 @@ export default { ...@@ -1130,17 +661,17 @@ export default {
Number(newPreferPrice).toFixed(2) - this.OrderMsg.LessPrice; Number(newPreferPrice).toFixed(2) - this.OrderMsg.LessPrice;
} else { } else {
if(this.OrderMsg.Unit_PriceType==1){ if (this.OrderMsg.Unit_PriceType == 1) {
console.log("guestNum",guestNum); console.log("guestNum", guestNum);
console.log("unit_price",unit_price); console.log("unit_price", unit_price);
console.log("this.OrderMsg.LessPrice",this.OrderMsg.LessPrice); console.log("this.OrderMsg.LessPrice", this.OrderMsg.LessPrice);
this.OrderMsg.PreferPrice = this.OrderMsg.PreferPrice =
Number(guestNum * unit_price).toFixed(2) - this.OrderMsg.LessPrice ; Number(guestNum * unit_price).toFixed(2) - this.OrderMsg.LessPrice;
console.log("我进来了2"); console.log("我进来了2");
} } else if (this.OrderMsg.Unit_PriceType == 2) {
else if(this.OrderMsg.Unit_PriceType==2){
this.OrderMsg.PreferPrice = this.OrderMsg.PreferPrice =
Number((guestNum * unit_price*this.OrderMsg.TotalClassHours)+Number(this.OrderMsg.TextbookFee)+Number(this.OrderMsg.CoursewareFee)).toFixed(2) - this.OrderMsg.LessPrice; Number((guestNum * unit_price * this.OrderMsg.TotalClassHours) + Number(this.OrderMsg.TextbookFee) +
Number(this.OrderMsg.CoursewareFee)).toFixed(2) - this.OrderMsg.LessPrice;
console.log("我进来了3"); console.log("我进来了3");
} }
} }
...@@ -1198,7 +729,7 @@ export default { ...@@ -1198,7 +729,7 @@ export default {
if (this.OrderMsg.OrderType == 2) { if (this.OrderMsg.OrderType == 2) {
this.OrderMsg.OrderNature = 1; this.OrderMsg.OrderNature = 1;
} }
console.log("saveObj",this.saveObj); console.log("saveObj", this.saveObj);
if (this.saveObj) { if (this.saveObj) {
if (this.saveObj.ClassId) { if (this.saveObj.ClassId) {
this.OrderMsg.ClassId = this.saveObj.ClassId; this.OrderMsg.ClassId = this.saveObj.ClassId;
...@@ -1235,10 +766,10 @@ export default { ...@@ -1235,10 +766,10 @@ export default {
if (this.saveObj.B2CReNewRatio) { if (this.saveObj.B2CReNewRatio) {
this.OrderMsg.B2CReNewRatio = this.saveObj.B2CReNewRatio; this.OrderMsg.B2CReNewRatio = this.saveObj.B2CReNewRatio;
} }
if (this.saveObj.OrderCourseList&&this.saveObj.OrderCourseList.length>0) { if (this.saveObj.OrderCourseList && this.saveObj.OrderCourseList.length > 0) {
this.OrderMsg.OrderCourseList =JSON.parse(JSON.stringify(this.saveObj.OrderCourseList)) ; this.OrderMsg.OrderCourseList = JSON.parse(JSON.stringify(this.saveObj.OrderCourseList));
} }
if(this.selectedCourseList.length>1){ if (this.selectedCourseList.length > 1) {
return return
} }
...@@ -1338,8 +869,8 @@ export default { ...@@ -1338,8 +869,8 @@ export default {
var tempArray = res.Data; var tempArray = res.Data;
this.SourceEnumList = tempArray; this.SourceEnumList = tempArray;
this.OrderMsg.OrderSource = tempArray[0].Id; this.OrderMsg.OrderSource = tempArray[0].Id;
if(this.selectedCourseList.length>0){ if (this.selectedCourseList.length > 0) {
this.courseInformationList.forEach(item=>{ this.courseInformationList.forEach(item => {
return item.OrderSource = this.OrderMsg.OrderSource return item.OrderSource = this.OrderMsg.OrderSource
}) })
} }
...@@ -1356,9 +887,9 @@ export default { ...@@ -1356,9 +887,9 @@ export default {
this.singleAppointmentsFun() this.singleAppointmentsFun()
}, },
// 多个约课 // 多个约课
multipleAppointmentsFun(){ multipleAppointmentsFun() {
//插班验证课程和生效时间 //插班验证课程和生效时间
this.courseInformationList.forEach(item=>{ this.courseInformationList.forEach(item => {
item.StuIds = this.stuData.StuList.map(e => e.StuId).toString(); item.StuIds = this.stuData.StuList.map(e => e.StuId).toString();
item.HelpEnterId = this.OrderMsg.HelpEnterId item.HelpEnterId = this.OrderMsg.HelpEnterId
item.CustomerId = this.stuData.CustomerId; item.CustomerId = this.stuData.CustomerId;
...@@ -1397,7 +928,7 @@ export default { ...@@ -1397,7 +928,7 @@ export default {
}); });
}, },
// 单个班课、约课 // 单个班课、约课
singleAppointmentsFun(){ singleAppointmentsFun() {
//插班验证课程和生效时间 //插班验证课程和生效时间
if (this.OrderMsg.IsChaBan == 1) { if (this.OrderMsg.IsChaBan == 1) {
this.$refs.CourseId.validate(); this.$refs.CourseId.validate();
...@@ -1482,5 +1013,6 @@ export default { ...@@ -1482,5 +1013,6 @@ export default {
return str; return str;
} }
} }
}; };
</script> </script>
...@@ -3,103 +3,54 @@ ...@@ -3,103 +3,54 @@
<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">
<div class="col-4"> <div class="col-4">
<q-input <q-input @input="resetSearch" clearable filled v-model="msg.ClassName" label="课程名称" @clear="resetSearch"
@input="resetSearch" maxlength="20" />
clearable
filled
v-model="msg.ClassName"
label="课程名称"
@clear="resetSearch"
maxlength="20"
/>
</div> </div>
<!-- <div class="col-4">
<select-tree
:treeData="TreeCategoryList"
:defaultArray="returnString"
nodeKey="CateId"
:multiple="true"
labelKey="CateName"
childrenKey="ChildList"
tipText="课程系列"
@getChild="getChild"
></select-tree>
</div> -->
<div class="col-4"> <div class="col-4">
<q-select <q-select @input="resetSearch" filled v-model="msg.CourseSubject" :options="CourseSubjectList"
@input="resetSearch" option-label="SubjectName" option-value="Id" emit-value map-options label="所属科目" clearable />
filled
v-model="msg.CourseSubject"
:options="CourseSubjectList"
option-label="SubjectName"
option-value="Id"
emit-value
map-options
label="所属科目"
clearable
/>
</div> </div>
<div class="col-4"> </div>
<p class="yueke-title">已选:</p> </div>
<p class="yueke-CourseName" v-for="(item,index) in selection"> <div class="page-search row items-center">
<div class="col row wrap q-mr-lg q-col-gutter-md">
<div class="col-8">
<p class="yueke-title">已选课程:<font class="yueke-CourseName" v-for="(item,index) in selection"
:key="`s_`+index">
<span>{{index+1}}</span> <span>{{index+1}}</span>
{{item.CourseName}} {{item.CourseName}}
</font>
</p> </p>
</div> </div>
</div> </div>
</div> </div>
<!-- @update:selected="emitSel" single
:selected-rows-label="getSelectedString" <q-table :pagination="msg" :selection="mode==2?'multiple':'single'" :selected.sync="selection"
--> no-data-label="暂无相关数据" flat class="sticky-tow-column-table sticky-two-header-table" separator="none"
<q-table :data="dataList" :columns="columns" row-key="ClassId" @update:selected="emitSel"
:pagination="msg" :selected-rows-label="getSelectedString" table-class="table">
:selection="mode==2?'multiple':'single'"
:selected.sync="selection"
no-data-label="暂无相关数据"
flat
class="sticky-tow-column-table sticky-two-header-table"
separator="none"
:data="dataList"
:columns="columns"
row-key="ClassId"
@update:selected="emitSel"
:selected-rows-label="getSelectedString"
table-class="table"
>
<template v-slot:body-cell-CourseName="props"> <template v-slot:body-cell-CourseName="props">
<q-td :props="props"> <q-td :props="props">
{{ props.row.CourseName }} {{ props.row.CourseName }}
</q-td> </q-td>
</template> </template>
<template v-slot:bottom> <template v-slot:bottom>
<q-pagination <q-pagination class="full-width justify-end" v-model="msg.pageIndex" color="primary" :max="pageCount"
class="full-width justify-end" :input="true" @input="changePage" />
v-model="msg.pageIndex"
color="primary"
:max="pageCount"
:input="true"
@input="changePage"
/>
</template> </template>
</q-table> </q-table>
</div> </div>
</template> </template>
<script> <script>
import { import {
queryCoursePage,
queryCourseCategoryTree,
deleteCourseInfo,
querySaleplatList,
getCourseSubject getCourseSubject
} from "../../../../api/course/index"; } from "../../../../api/course/index";
import { import {
getClassPruductList //获取日语培训列表 getClassPruductList //获取日语培训列表
} from "../../../../api/sale/sale"; } from "../../../../api/sale/sale";
// import selectTree from "../../../../components/common/select-tree";
export default { export default {
components: { components: {
// selectTree
}, },
props: { props: {
select: { select: {
...@@ -114,8 +65,7 @@ export default { ...@@ -114,8 +65,7 @@ export default {
data() { data() {
return { return {
selection: [], selection: [],
columns: [ columns: [{
{
name: "CourseName", name: "CourseName",
label: "课程", label: "课程",
field: "CourseName", field: "CourseName",
...@@ -128,17 +78,10 @@ export default { ...@@ -128,17 +78,10 @@ export default {
align: "left", align: "left",
field: row => row.CourseSubjectName field: row => row.CourseSubjectName
}, },
// {
// name: "CateName",
// required: true,
// label: "系列",
// align: "left",
// field: row => row.CateName
// },
{ {
name: "SellPrice", name: "SellPrice",
required: true, required: true,
label: "直客价", label: "售价",
align: "left", align: "left",
field: row => row.SellPrice.toFixed(2) field: row => row.SellPrice.toFixed(2)
}, },
...@@ -147,23 +90,9 @@ export default { ...@@ -147,23 +90,9 @@ export default {
required: true, required: true,
label: "价格类型", label: "价格类型",
align: "left", align: "left",
field: row => row.SellPriceType == 1 ? '课程总价' : (row.SellPriceType==2?'课时单价':'') field: row => row.SellPriceType == 1 ? '课程总价' : (row.SellPriceType == 2 ? '课时单价' : '')
} }
], ],
// msg: {
// pageIndex: 1,
// pageSize: 10,
// rowsPerPage: 10,
// CourseName: "",
// QCateIds: "",
// IsQPrice: 1,
// Status: "0",
// Saleplat: 0,
// CourseSubject: "", //所属科目
// ClassScrollType :2
// },
msg: { msg: {
pageIndex: 1, pageIndex: 1,
pageSize: 8, pageSize: 8,
...@@ -179,15 +108,12 @@ export default { ...@@ -179,15 +108,12 @@ export default {
JoinEndTime: "", //报名截止日期结束 JoinEndTime: "", //报名截止日期结束
ClassNo: "", //班号 ClassNo: "", //班号
CourseSubject: "", //所属科目 CourseSubject: "", //所属科目
CourseName:"", CourseName: "",
ClassScrollType :2, ClassScrollType: 2,
IsQuerySalePlat:1, IsQuerySalePlat: 1,
QIsVipCourse:0, QIsVipCourse: 0,
}, },
CourseSubjectList: [], CourseSubjectList: [],
//课程分类树形列表
TreeCategoryList: [],
returnString: [], //默认值
dataList: [], dataList: [],
pageCount: 0 pageCount: 0
}; };
...@@ -196,64 +122,38 @@ export default { ...@@ -196,64 +122,38 @@ export default {
this.selection = this.select; this.selection = this.select;
this.getCourseList(); this.getCourseList();
this.queryCourseSubject(); this.queryCourseSubject();
// this.getCategorytree();
}, },
methods: { methods: {
// 多选 // 多选
getSelectedString () { getSelectedString() {
return this.selection.length === 0 ? '' : `${this.selection.length} record${this.selection.length > 1 ? 's' : ''} selected of ${this.dataList.length}` return this.selection.length === 0 ? '' :
`${this.selection.length} record${this.selection.length > 1 ? 's' : ''} selected of ${this.dataList.length}`
}, },
emitSel(val) { emitSel(val) {
this.$emit("select", val); this.$emit("select", val);
}, },
//获取课程分页列表 //获取课程分页列表
getCourseList() { getCourseList() {
if(this.mode==2){ if (this.mode == 2) {
this.msg.QIsVipCourse=1; this.msg.QIsVipCourse = 1;
}else if(this.mode==3){ } else if (this.mode == 3) {
this.msg.QIsVipCourse=2; this.msg.QIsVipCourse = 2;
} }
getClassPruductList(this.msg).then(res => { getClassPruductList(this.msg).then(res => {
this.dataList = res.Data.PageData; this.dataList = res.Data.PageData;
this.pageCount = res.Data.PageCount; this.pageCount = res.Data.PageCount;
}); });
}, },
// 课程翻页 // 课程翻页
changePage(val) { changePage(val) {
this.msg.pageIndex = val; this.msg.pageIndex = val;
this.getCourseList(); this.getCourseList();
}, },
//获取分页列表
// getCourseList() {
// this.loading = true;
// queryCoursePage(this.msg)
// .then(res => {
// this.loading = false;
// this.dataList = res.Data.PageData;
// this.pageCount = res.Data.PageCount;
// })
// .catch(() => {
// this.loading = false;
// });
// },
//重新查询 //重新查询
resetSearch() { resetSearch() {
this.msg.pageIndex = 1; this.msg.pageIndex = 1;
this.getCourseList(); this.getCourseList();
}, },
//翻页
// changePage(val) {
// this.msg.pageIndex = val;
// this.getCourseList();
// },
getCategorytree() {
this.TreeCategoryList = [];
var qMsg = {};
queryCourseCategoryTree(qMsg).then(res => {
this.TreeCategoryList = res.Data;
});
},
queryCourseSubject() { queryCourseSubject() {
getCourseSubject({}).then(res => { getCourseSubject({}).then(res => {
if (res.Code == 1) { if (res.Code == 1) {
...@@ -272,48 +172,53 @@ export default { ...@@ -272,48 +172,53 @@ export default {
this.getCourseList(); this.getCourseList();
} }
} }
}; };
</script> </script>
<style> <style>
.table { .table {
max-height: 400px; max-height: 400px;
} }
.table::-webkit-scrollbar { .table::-webkit-scrollbar {
width: 5px; width: 5px;
height: 5px; height: 5px;
} }
.table::-webkit-scrollbar-track { .table::-webkit-scrollbar-track {
background: #fff; background: #fff;
border-radius: 2px; border-radius: 2px;
} }
.table::-webkit-scrollbar-thumb { .table::-webkit-scrollbar-thumb {
background: #444; background: #444;
border-radius: 10px; border-radius: 10px;
} }
.table::-webkit-scrollbar-thumb:hover { .table::-webkit-scrollbar-thumb:hover {
background: #999; background: #999;
} }
.table::-webkit-scrollbar-corner { .table::-webkit-scrollbar-corner {
background: #204754; background: #204754;
} }
.yueke-title{
.yueke-title {
margin-top: 0; margin-top: 0;
margin-bottom: 0; margin-bottom: 0;
} }
.yueke-CourseName{
.yueke-CourseName {
margin-right: 5px; margin-right: 5px;
white-space:nowrap; white-space: nowrap;
overflow: hidden; overflow: hidden;
text-overflow:ellipsis; text-overflow: ellipsis;
margin-top: 5px; margin-top: 5px;
margin-bottom: 0; margin-bottom: 0;
} }
.yueke-CourseName span{
.yueke-CourseName span {
color: #2961fe; color: #2961fe;
} }
</style> </style>
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