Commit 3e749111 authored by 黄奎's avatar 黄奎

页面修改

parent 6d5d8738
......@@ -32,9 +32,6 @@
data() {
return {
persistent: true,
msg: {
},
baseObj: {},
}
},
......
<template>
<q-dialog
v-model="persistent"
full-height
maximized
position="right"
persistent
@hide="closeCutomer"
transition-show="slide-left"
>
<q-dialog v-model="persistent" full-height maximized position="right" persistent @hide="closeCutomer"
transition-show="slide-left">
<div class="customMain">
<div class="custom_Top">
<div class="custom_HLeft">
<div class="nameplate_avatar">
<img
v-if="baseObj.StuIcon"
style="width:100%;height:100%;"
:src="baseObj.StuIcon"
alt
/>
<img v-if="baseObj.StuIcon" style="width:100%;height:100%;" :src="baseObj.StuIcon" alt />
<div class="student_Name" v-else>
<span v-if="baseObj.StuName">{{
baseObj.StuName.substring(0, 1)
......@@ -28,51 +16,38 @@
<div class="F_16">{{ baseObj.StuName }}</div>
</div>
</div>
</div>
<div class="custom_Bottom">
<div class="detail-travel">
<div class="detail_first">
<div class="operate_Content" style="flex:1;">
<div class="detail_Main">
<!-- 操作 -->
<template >
<template>
<div class="operate_Content" style="margin-top:20px;">
<div style="display:flex;flex:1;flex-direction: column;overflow:hidden;">
<div class="TimeLineDiv">
<q-timeline color="primary">
<q-timeline-entry v-for="(tItem, tIndex) in dataList" :key="tIndex">
<template v-slot:title>
<div class="visit_Cont">
<div class="Log_Content" v-html="tItem.Remark"></div>
</div>
</template>
<template v-slot:subtitle>
<div class="Time_TopList">
<div>{{ tItem.CreateTime }}</div>
<div>{{ tItem.CreateByName }}</div>
</div>
</template>
</q-timeline-entry>
</q-timeline>
</div>
</div>
<div style="margin-bottom:20px;">
<q-pagination
class="full-width justify-end"
v-model="msg.pageIndex"
color="primary"
:max="page_Count"
input
@input="changePage"
/>
</div>
<div style="display:flex;flex:1;flex-direction: column;overflow:hidden;">
<div class="TimeLineDiv">
<q-timeline color="primary">
<q-timeline-entry v-for="(tItem, tIndex) in dataList" :key="tIndex">
<template v-slot:title>
<div class="visit_Cont">
<div class="Log_Content" v-html="tItem.Remark"></div>
</div>
</template>
<template v-slot:subtitle>
<div class="Time_TopList">
<div>{{ tItem.CreateTime }}</div>
<div>{{ tItem.CreateByName }}</div>
</div>
</template>
</q-timeline-entry>
</q-timeline>
</div>
</div>
<div style="margin-bottom:20px;">
<q-pagination class="full-width justify-end" v-model="msg.pageIndex" color="primary"
:max="page_Count" input @input="changePage" />
</div>
</div>
</template>
</div>
......@@ -87,381 +62,361 @@
</q-dialog>
</template>
<script>
import { queryEmployee } from "../../../api/users/user";
import { ForwardStudent ,queryStudentFollowPage} from "../../../api/customerstudent/customerstudent";
import {
getStudentInfo, //获取学员客户信息
queryStuStageList //获取客户阶段列表
} from "../../../api/school/index";
import studentGenjin from "../student/student-genjin";
import { SetStudentAssistBatch } from "../../../api/sale/sale";
export default {
meta: {
title: "学员管理"
},
components: {
studentGenjin,
},
props: {
saveObj: {
type: Object,
default: null
import {
queryEmployee
} from "../../../api/users/user";
import {
ForwardStudent,
queryStudentFollowPage
} from "../../../api/customerstudent/customerstudent";
import {
getStudentInfo, //获取学员客户信息
queryStuStageList //获取客户阶段列表
} from "../../../api/school/index";
import studentGenjin from "../student/student-genjin";
import {
SetStudentAssistBatch
} from "../../../api/sale/sale";
export default {
meta: {
title: "学员管理"
},
isJudgeTrans: {
type: Number,
default: null
components: {
studentGenjin,
},
BelongType: {
type: Number,
default: null
}
},
data() {
return {
persistent: true,
ckedTab: "1",
secondType: 1,
pushing: false,
msg: {
pageIndex: 1,
pageSize: 12,
StuId: 0
},
baseObj: {},
transMsg: {
StuId: 1,
CreateBy: ""
props: {
saveObj: {
type: Object,
default: null
},
//员工列表
employeeList: [],
myEmployeeList: [],
isShowTrans: false,
customStateList: [],
stateId: 0,
stuData: {},
userInfo: {},
dataList: [],
page_Count:0,
};
},
created() {
this.msg.StuId = this.saveObj.StuId;
this.msg.STime = this.saveObj.STime?this.saveObj.STime:'';
this.msg.ETime = this.saveObj.ETime?this.saveObj.ETime:'';
this.getList()
this.userInfo = this.getLocalStorage();
},
mounted() {
this.baseObj = this.saveObj;
this.baseObj.IsHaveCurseManager = false;
if (this.baseObj.AssistList && this.baseObj.AssistList.length > 0) {
this.baseObj.AssistList.forEach(x => {
if (x.AssistType == 2) {
this.baseObj.IsHaveCurseManager = true;
}
});
}
},
methods: {
getList() {
queryStudentFollowPage(this.msg)
.then(res => {
if (res.Code == 1) {
this.dataList = res.Data.PageData;
this.page_Count = res.Data.PageCount;
}
})
.catch(() => {});
},
changePage(val) {
this.msg.pageIndex = val;
this.getList();
data() {
return {
persistent: true,
msg: {
pageIndex: 1,
pageSize: 12,
StuId: 0
},
baseObj: {},
userInfo: {},
dataList: [],
page_Count: 0,
};
},
closeCutomer() {
this.$emit("close");
created() {
this.msg.StuId = this.saveObj.StuId;
this.msg.STime = this.saveObj.STime ? this.saveObj.STime : '';
this.msg.ETime = this.saveObj.ETime ? this.saveObj.ETime : '';
this.getList()
this.userInfo = this.getLocalStorage();
},
}
};
mounted() {
this.baseObj = this.saveObj;
this.baseObj.IsHaveCurseManager = false;
if (this.baseObj.AssistList && this.baseObj.AssistList.length > 0) {
this.baseObj.AssistList.forEach(x => {
if (x.AssistType == 2) {
this.baseObj.IsHaveCurseManager = true;
}
});
}
},
methods: {
getList() {
queryStudentFollowPage(this.msg)
.then(res => {
if (res.Code == 1) {
this.dataList = res.Data.PageData;
this.page_Count = res.Data.PageCount;
}
})
.catch(() => {});
},
changePage(val) {
this.msg.pageIndex = val;
this.getList();
},
closeCutomer() {
this.$emit("close");
},
}
};
</script>
<style scoped>
.custom_RModel {
width: 500px;
height: 100%;
}
.customMain {
width: 600px !important;
display: flex;
flex-direction: column;
height: 100 vh;
padding: 15px 17px 0 17px;
background-color: #f4f4f6;
}
.custom_Top {
width: 100%;
padding: 22px;
background: #fff;
border-radius: 8px;
display: flex;
justify-content: space-between;
align-items: center;
}
.custom_HLeft {
display: flex;
}
.nameplate_avatar {
width: 60px;
height: 60px;
flex-shrink: 0;
margin-right: 14px;
border-radius: 5px;
overflow: hidden;
}
.F_16 {
font-size: 16px;
}
.Name_List {
display: flex;
flex-direction: column;
justify-content: space-around;
overflow: hidden;
}
.wechat_Name {
color: #9999a8;
display: flex;
font-size: 14px;
}
.custom_Bottom {
margin-top: 17px;
flex: 1;
display: flex;
margin-top: 17px;
overflow: hidden;
}
.detail-info {
flex-shrink: 0;
box-sizing: border-box;
display: flex;
flex-direction: column;
width: 350px;
height: 100%;
padding: 28px 0;
margin-right: 13px;
background: #fff;
border-radius: 8px 8px 0 0;
overflow: auto;
}
.detail-info::-webkit-scrollbar {
display: none;
}
.detail-travel {
width: 100%;
flex-grow: 1;
display: flex;
flex-direction: column;
padding-top: 28px;
background: #fff;
border-radius: 8px 8px 0 0;
overflow: hidden;
}
.edit_bar {
display: flex;
justify-content: space-between;
align-items: center;
padding: 12px 22px;
}
.edit_info_wrap {
padding: 0 22px 12px;
}
.custom_Line {
width: calc(100% - 44px);
margin: 16px 22px;
border-bottom: 1px solid #d7d7d7;
}
.custom_Edit {
display: flex;
justify-content: center;
align-items: center;
width: 78px;
height: 26px;
margin-right: 3px;
border: 1px dashed #858598;
border-radius: 4px;
font-size: 12px;
cursor: pointer;
}
.tripTypeContent {
display: flex;
overflow-x: auto;
white-space: nowrap;
}
.StuCkedType {
color: #3470ff;
font-weight: 700;
}
.tripTypeContent div {
margin-right: 20px;
cursor: pointer;
}
.q-timeline__title {
margin-bottom: 5px;
}
.customUpdateTime {
display: flex;
justify-content: space-between;
font-size: 14px;
color: #9696a6;
}
.q-timeline__subtitle {
opacity: 1;
font-weight: normal;
}
.follow_Component {
padding: 0 22px;
margin-top: 10px;
width: 100%;
background-color: #f6f6f6;
border-radius: 5px;
}
.detail_first {
margin: 0 22px;
display: flex;
flex-direction: column;
height: 100%;
}
.detail_Main {
display: flex;
flex-direction: column;
width: 100%;
height: 100%;
}
.student_Name {
width: 100%;
height: 100%;
background: #004d40;
color: #fff;
text-align: center;
line-height: 60px;
font-size: 20px;
}
.TimeLineDiv {
height: 620px;
flex: 1;
height: 100%;
padding-right: 20px;
}
.Time_TopList {
display: flex;
justify-content: space-between;
}
.visit_Cont {
font-size: 14px;
}
.visit_delete {
font-size: 14px;
cursor: pointer;
width: 30px;
}
.operate_Content {
overflow: auto;
/* padding-right: 20px; */
}
.operate_Content::-webkit-scrollbar {
width: 6px;
height: 8px;
}
.operate_Content::-webkit-scrollbar-thumb {
border-radius: 4px;
-webkit-box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.2);
background: #c9c9c9;
}
.operate_Content::-webkit-scrollbar-thumb {
-webkit-box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.2);
border-radius: 4px;
background: #ededed;
}
.Log_Content {
padding: 10px;
border-radius: 5px;
background-color: #f4f4f6;
color: #818194;
line-height: 2;
margin-top: 10px;
word-break: break-all;
}
.stu_ComFeed {
color: #3470ff;
cursor: pointer;
margin-left: 20px;
}
.StuCom_Remark {
display: flex;
}
.StuCom_Inner {
width: 100%;
}
.StuCom_Left {
flex-shrink: 0;
width: 57px;
text-align-last: justify;
}
.Stu_OrderId {
color: #2961fe;
font-weight: bold;
text-decoration: underline;
cursor: pointer;
}
.Stu_HtLeft {
width: 57px;
display: inline-block;
text-align-last: justify;
}
.fullscreen {
z-index: 3000;
}
</style>
.custom_RModel {
width: 500px;
height: 100%;
}
.customMain {
width: 600px !important;
display: flex;
flex-direction: column;
height: 100 vh;
padding: 15px 17px 0 17px;
background-color: #f4f4f6;
}
.custom_Top {
width: 100%;
padding: 22px;
background: #fff;
border-radius: 8px;
display: flex;
justify-content: space-between;
align-items: center;
}
.custom_HLeft {
display: flex;
}
.nameplate_avatar {
width: 60px;
height: 60px;
flex-shrink: 0;
margin-right: 14px;
border-radius: 5px;
overflow: hidden;
}
.F_16 {
font-size: 16px;
}
.Name_List {
display: flex;
flex-direction: column;
justify-content: space-around;
overflow: hidden;
}
.wechat_Name {
color: #9999a8;
display: flex;
font-size: 14px;
}
.custom_Bottom {
margin-top: 17px;
flex: 1;
display: flex;
margin-top: 17px;
overflow: hidden;
}
.detail-info {
flex-shrink: 0;
box-sizing: border-box;
display: flex;
flex-direction: column;
width: 350px;
height: 100%;
padding: 28px 0;
margin-right: 13px;
background: #fff;
border-radius: 8px 8px 0 0;
overflow: auto;
}
.detail-info::-webkit-scrollbar {
display: none;
}
.detail-travel {
width: 100%;
flex-grow: 1;
display: flex;
flex-direction: column;
padding-top: 28px;
background: #fff;
border-radius: 8px 8px 0 0;
overflow: hidden;
}
.edit_bar {
display: flex;
justify-content: space-between;
align-items: center;
padding: 12px 22px;
}
.edit_info_wrap {
padding: 0 22px 12px;
}
.custom_Line {
width: calc(100% - 44px);
margin: 16px 22px;
border-bottom: 1px solid #d7d7d7;
}
.custom_Edit {
display: flex;
justify-content: center;
align-items: center;
width: 78px;
height: 26px;
margin-right: 3px;
border: 1px dashed #858598;
border-radius: 4px;
font-size: 12px;
cursor: pointer;
}
.tripTypeContent {
display: flex;
overflow-x: auto;
white-space: nowrap;
}
.StuCkedType {
color: #3470ff;
font-weight: 700;
}
.tripTypeContent div {
margin-right: 20px;
cursor: pointer;
}
.q-timeline__title {
margin-bottom: 5px;
}
.customUpdateTime {
display: flex;
justify-content: space-between;
font-size: 14px;
color: #9696a6;
}
.q-timeline__subtitle {
opacity: 1;
font-weight: normal;
}
.follow_Component {
padding: 0 22px;
margin-top: 10px;
width: 100%;
background-color: #f6f6f6;
border-radius: 5px;
}
.detail_first {
margin: 0 22px;
display: flex;
flex-direction: column;
height: 100%;
}
.detail_Main {
display: flex;
flex-direction: column;
width: 100%;
height: 100%;
}
.student_Name {
width: 100%;
height: 100%;
background: #004d40;
color: #fff;
text-align: center;
line-height: 60px;
font-size: 20px;
}
.TimeLineDiv {
height: 620px;
flex: 1;
height: 100%;
padding-right: 20px;
}
.Time_TopList {
display: flex;
justify-content: space-between;
}
.visit_Cont {
font-size: 14px;
}
.visit_delete {
font-size: 14px;
cursor: pointer;
width: 30px;
}
.operate_Content {
overflow: auto;
/* padding-right: 20px; */
}
.operate_Content::-webkit-scrollbar {
width: 6px;
height: 8px;
}
.operate_Content::-webkit-scrollbar-thumb {
border-radius: 4px;
-webkit-box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.2);
background: #c9c9c9;
}
.operate_Content::-webkit-scrollbar-thumb {
-webkit-box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.2);
border-radius: 4px;
background: #ededed;
}
.Log_Content {
padding: 10px;
border-radius: 5px;
background-color: #f4f4f6;
color: #818194;
line-height: 2;
margin-top: 10px;
word-break: break-all;
}
.stu_ComFeed {
color: #3470ff;
cursor: pointer;
margin-left: 20px;
}
.StuCom_Remark {
display: flex;
}
.StuCom_Inner {
width: 100%;
}
.StuCom_Left {
flex-shrink: 0;
width: 57px;
text-align-last: justify;
}
.Stu_OrderId {
color: #2961fe;
font-weight: bold;
text-decoration: underline;
cursor: pointer;
}
.Stu_HtLeft {
width: 57px;
display: inline-block;
text-align-last: justify;
}
.fullscreen {
z-index: 3000;
}
</style>
\ No newline at end of file
......@@ -151,6 +151,7 @@
type: Object,
default: null
},
//是否显示转交
isJudgeTrans: {
type: Number,
default: null
......@@ -554,7 +555,6 @@
.operate_Content {
overflow: auto;
/* padding-right: 20px; */
}
.operate_Content::-webkit-scrollbar {
......
<template>
<div class="transfer-order">
<q-dialog
v-model="persistent"
persistent
content-class="bg-grey-1"
transition-show="scale"
transition-hide="scale"
@hide="$emit('close')"
>
<q-dialog v-model="persistent" persistent content-class="bg-grey-1" transition-show="scale" transition-hide="scale"
@hide="$emit('close')">
<q-card style="width: 800px;max-width:800px;">
<q-card-section class="row items-center q-pb-none">
<div class="text-h6">转订单</div>
......@@ -24,57 +18,23 @@
<div class="page-search row items-center">
<div class="col row wrap q-mr-lg q-col-gutter-md">
<div class="col-3">
<q-select
@input="resetSearch"
filled
option-value="SId"
option-label="SName"
v-model="courseMsg.School_Id"
:options="schoolList"
emit-value
map-options
label="关联校区"
clearable
/>
<q-select @input="resetSearch" filled option-value="SId" option-label="SName"
v-model="courseMsg.School_Id" :options="schoolList" emit-value map-options label="关联校区"
clearable />
</div>
<div class="col-3">
<q-input
@change="resetSearch"
clearable
filled
v-model="courseMsg.ClassNo"
label="班号"
@clear="resetSearch"
maxlength="20"
/>
<q-input @change="resetSearch" clearable filled v-model="courseMsg.ClassNo" label="班号"
@clear="resetSearch" maxlength="20" />
</div>
<div class="col-6">
<q-input
@change="resetSearch"
clearable
filled
v-model="courseMsg.ClassName"
label="班级名称"
@clear="resetSearch"
maxlength="20"
/>
<q-input @change="resetSearch" clearable filled v-model="courseMsg.ClassName" label="班级名称"
@clear="resetSearch" maxlength="20" />
</div>
<div class="col-6">
<q-select
@input="resetSearch"
@filter="filterCourseFn"
use-input
filled
option-value="CourseId"
option-label="CourseName"
v-model="courseMsg.CouseId"
:options="myClassList"
emit-value
map-options
label="学习课程"
clearable
>
<q-select @input="resetSearch" @filter="filterCourseFn" use-input filled option-value="CourseId"
option-label="CourseName" v-model="courseMsg.CouseId" :options="myClassList" emit-value
map-options label="学习课程" clearable>
<template v-slot:no-option>
<q-item>
<q-item-section class="text-grey">
......@@ -84,31 +44,15 @@
</template>
</q-select>
</div>
<div class="col-6">
<div class="col-3 Sysuser_Date">
<q-field filled>
<template v-slot:control>
<el-date-picker
v-model="courseMsg.StartTime"
type="date"
placeholder="开学日期"
size="small"
style="width:47%;"
@change="resetSearch"
clear-icon="iconfont icon-guanbi"
>
</el-date-picker
>
<el-date-picker
v-model="courseMsg.EndTime"
type="date"
placeholder="结束日期"
size="small"
style="width:47%;"
@change="resetSearch"
clear-icon="iconfont icon-guanbi"
>
<el-date-picker v-model="courseMsg.StartTime" type="date" placeholder="开学日期" size="small"
style="width:47%;" @change="resetSearch" clear-icon="iconfont icon-guanbi">
</el-date-picker>
<el-date-picker v-model="courseMsg.EndTime" type="date" placeholder="结束日期" size="small"
style="width:47%;" @change="resetSearch" clear-icon="iconfont icon-guanbi">
</el-date-picker>
</template>
</q-field>
......@@ -116,60 +60,25 @@
</div>
</div>
</div>
<Course
:dataList="courseData"
@select="selectClass"
:select="defaultCourse"
></Course>
<q-pagination
class="full-width justify-end"
v-model="courseMsg.pageIndex"
color="primary"
:max="coursePageCount"
:input="true"
@input="changePage"
/>
<Course :dataList="courseData" @select="selectClass" :select="defaultCourse"></Course>
<q-pagination class="full-width justify-end" v-model="courseMsg.pageIndex" color="primary"
:max="coursePageCount" :input="true" @input="changePage" />
</template>
<template v-if="mode == 2">
<yueke @select="selectCourse" :select="defaultCourse"></yueke>
</template>
</q-step>
<q-step :name="3" title="确认" icon="settings" :done="step > 3">
<orderForm
ref="orderForm"
:mode="mode"
:schoolList="schoolList"
:save-obj="saveObj"
:stuData="stuData"
:modityOrderType="1"
@success="$emit('close')"
@cancelloading="cancelloading"
></orderForm>
<orderForm ref="orderForm" :mode="mode" :schoolList="schoolList" :save-obj="saveObj" :stuData="stuData"
:modityOrderType="1" @success="$emit('close')" @cancelloading="cancelloading"></orderForm>
</q-step>
</q-stepper>
</q-card-section>
<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
@click="$refs.stepper.previous()"
color="primary"
label="上一步"
v-if="step > 1"
/>
<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="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" />
</q-card-actions>
</q-card>
</q-dialog>
......@@ -177,306 +86,306 @@
</template>
<script>
import {
getClassPruductList, //获取日语培训列表
setClassOrder, //新增 修改订单
getOrderGuestRenewState
} from "../../../api/sale/sale";
import {
getSchoolDropdown, //获取校区列表
getTeacherDropDownList
} from "../../../api/school/index";
import {
queryCourseDropdownList,
getCourseSubject
} from "../../../api/course/index";
import Mode from "./transfer-order/tickMode";
import Course from "./transfer-order/courselist";
import orderForm from "./transfer-order/order-form";
import yueke from "./transfer-order/yueke";
export default {
props: {
select: {
type: Array,
default: () => []
}
},
components: {
Course,
Mode,
orderForm,
yueke
},
data() {
return {
persistent: true,
step: 1,
stuData: {}, //学生是否续费
OrderMsg: {
ClassId: 0, //班级编号
GuestNum: 0, //人数
B2CRatio: 0,
B2CReNewRatio: 0,
CustomerId: 0, //市场专员
Unit_Price: 0,
PreferPrice: 0,
OrderSource: 0,
SaleRemark: "",
Class_Price: 0, //单价
OrderId: 0,
OrderType: 0, //订单类型(1-班级课程订单,2-留学就业订单)
SourceId: 0, //来源编号
HelpEnterId: 0, //协助老师编号
GeneralOccupation: "", //一般同行
EduOccupation: "", //教育同行
IsLessPrice: 0, //是否少价 0 不少 1 少
LessPrice: 0, //少价金额
PerLessMoney: 0, //每人少价金额
OrderNature: 1, //订单性质
OldPreferPrice: 0, //原实际应收
IsChaBan: 0, //是否插班报入(1-是)
CourseId: "", //课程编号
StartClassHours: 0, //已上课时
EffectTime: "", //生效时间
UpOrderId: 0, //前置订单编号
JoinType: 1, //订单报入类型
DiscountMoney: 0, //优惠金额
PerDiscountMoney: 0 //每人优惠金额
},
courseMsg: {
pageIndex: 1,
pageSize: 8,
ClassName: "", //班级名称
StartTime: "", //开始时间
EndTime: "", //结束时间
School_Id: "", //关联校区
CouseId: 0, //课程id
Teacher_Id: 0, //教师id
Q_CanApply: "0", //是否可以报名 1是
JoinStartTime: "", //报名截止日期开始
JoinEndTime: "", //报名截止日期结束
ClassNo: "", //班号
CourseSubject: "" //所属科目
},
courseData: [], //课程列表
coursePageCount: 0, //课程页数
saveObj: {}, //所选课程
defaultCourse: [], //默认课程
//关联校区列表
schoolList: [],
ClassList: [], //关联课程下拉数据
myClassList: [],
allClassList: [],
loading1: false, //防止多次点击
mode: 1
};
},
mounted() {
let nowDay = new Date();
var year = nowDay.getFullYear(); //年
var month = nowDay.getMonth() + 1; //月
var day = nowDay.getDate(); //日
var currentDay = year + "-" + month + "-" + day;
this.courseMsg.StartTime = currentDay;
this.getOrderGuestRenewState();
this.getCourseList();
this.getSchool();
this.CourseList();
},
methods: {
getOrderGuestRenewState() {
const ids = this.select.map(e => e.StuId).toString();
getOrderGuestRenewState({
StuIds: ids
}).then(res => {
this.stuData = res.Data;
});
},
//获取课程分页列表
getCourseList() {
getClassPruductList(this.courseMsg).then(res => {
this.courseData = res.Data.PageData;
this.coursePageCount = res.Data.PageCount;
this.courseData.forEach(x => {
if (x.ClassStyle == 1) {
let weekList = [
//定义一个数组
{
id: 7,
select: false
},
{
id: 1,
select: false
},
{
id: 2,
select: false
},
{
id: 3,
select: false
},
{
id: 4,
select: false
},
{
id: 5,
select: false
},
{
id: 6,
select: false
}
];
weekList.forEach(j => {
x.ClassPlanList.forEach(z => {
if (j.id == z.WeekDay) {
j.select = true;
}
});
});
x.weeks = weekList;
} else if (x.ClassStyle == 2) {
let data = [];
for (let i = 0; i < 31; i++) {
let obj = {
name: i + 1,
select: false
};
x.ClassPlanList.forEach(j => {
if (j.WeekDay == i + 1) {
obj.select = true;
}
});
data.push(obj);
}
x.month = data;
}
});
});
import {
getClassPruductList, //获取日语培训列表
setClassOrder, //新增 修改订单
getOrderGuestRenewState
} from "../../../api/sale/sale";
import {
getSchoolDropdown, //获取校区列表
getTeacherDropDownList
} from "../../../api/school/index";
import {
queryCourseDropdownList,
getCourseSubject
} from "../../../api/course/index";
import Mode from "./transfer-order/tickMode";
import Course from "./transfer-order/courselist";
import orderForm from "./transfer-order/order-form";
import yueke from "./transfer-order/yueke";
export default {
props: {
select: {
type: Array,
default: () => []
}
},
// 课程翻页
changePage(val) {
this.courseMsg.pageIndex = val;
this.getCourseList();
components: {
Course,
Mode,
orderForm,
yueke
},
// 选择班级
selectClass(val) {
if (val.length > 0) {
this.saveObj = val[0];
this.saveObj.Unit_Price = this.saveObj.SellPrice;
this.defaultCourse = val;
}else{
this.saveObj = {};
this.saveObj.Unit_Price = 0;
this.defaultCourse = [];
}
data() {
return {
persistent: true,
step: 1,
stuData: {}, //学生是否续费
OrderMsg: {
ClassId: 0, //班级编号
GuestNum: 0, //人数
B2CRatio: 0,
B2CReNewRatio: 0,
CustomerId: 0, //市场专员
Unit_Price: 0,
PreferPrice: 0,
OrderSource: 0,
SaleRemark: "",
Class_Price: 0, //单价
OrderId: 0,
OrderType: 0, //订单类型(1-班级课程订单,2-留学就业订单)
SourceId: 0, //来源编号
HelpEnterId: 0, //协助老师编号
GeneralOccupation: "", //一般同行
EduOccupation: "", //教育同行
IsLessPrice: 0, //是否少价 0 不少 1 少
LessPrice: 0, //少价金额
PerLessMoney: 0, //每人少价金额
OrderNature: 1, //订单性质
OldPreferPrice: 0, //原实际应收
IsChaBan: 0, //是否插班报入(1-是)
CourseId: "", //课程编号
StartClassHours: 0, //已上课时
EffectTime: "", //生效时间
UpOrderId: 0, //前置订单编号
JoinType: 1, //订单报入类型
DiscountMoney: 0, //优惠金额
PerDiscountMoney: 0 //每人优惠金额
},
courseMsg: {
pageIndex: 1,
pageSize: 8,
ClassName: "", //班级名称
StartTime: "", //开始时间
EndTime: "", //结束时间
School_Id: "", //关联校区
CouseId: 0, //课程id
Teacher_Id: 0, //教师id
Q_CanApply: "0", //是否可以报名 1是
JoinStartTime: "", //报名截止日期开始
JoinEndTime: "", //报名截止日期结束
ClassNo: "", //班号
CourseSubject: "" //所属科目
},
courseData: [], //课程列表
coursePageCount: 0, //课程页数
saveObj: {}, //所选课程
defaultCourse: [], //默认课程
//关联校区列表
schoolList: [],
ClassList: [], //关联课程下拉数据
myClassList: [],
allClassList: [],
loading1: false, //防止多次点击
mode: 1
};
},
// 选择课程
selectCourse(val) {
if (val.length > 0) {
this.saveObj = val[0];
this.saveObj.Unit_Price = this.saveObj.SellPrice;
this.defaultCourse = val;
}else{
this.saveObj = {};
this.saveObj.Unit_Price = 0;
this.defaultCourse = [];
}
mounted() {
let nowDay = new Date();
var year = nowDay.getFullYear(); //年
var month = nowDay.getMonth() + 1; //月
var day = nowDay.getDate(); //日
var currentDay = year + "-" + month + "-" + day;
this.courseMsg.StartTime = currentDay;
this.getOrderGuestRenewState();
this.getCourseList();
this.getSchool();
this.CourseList();
},
next() {
if (this.step == 1 && this.mode <= 0) {
this.$q.notify({
type: "negative",
position: "top",
message: `请选择上课模式`
methods: {
getOrderGuestRenewState() {
const ids = this.select.map(e => e.StuId).toString();
getOrderGuestRenewState({
StuIds: ids
}).then(res => {
this.stuData = res.Data;
});
return;
}
if (this.step == 2) {
if (
this.mode == 1 &&
(!this.saveObj.ClassId || this.saveObj.ClassId == 0)
) {
this.$q.notify({
type: "negative",
position: "top",
message: `请选择班级`
},
//获取课程分页列表
getCourseList() {
getClassPruductList(this.courseMsg).then(res => {
this.courseData = res.Data.PageData;
this.coursePageCount = res.Data.PageCount;
this.courseData.forEach(x => {
if (x.ClassStyle == 1) {
let weekList = [
//定义一个数组
{
id: 7,
select: false
},
{
id: 1,
select: false
},
{
id: 2,
select: false
},
{
id: 3,
select: false
},
{
id: 4,
select: false
},
{
id: 5,
select: false
},
{
id: 6,
select: false
}
];
weekList.forEach(j => {
x.ClassPlanList.forEach(z => {
if (j.id == z.WeekDay) {
j.select = true;
}
});
});
x.weeks = weekList;
} else if (x.ClassStyle == 2) {
let data = [];
for (let i = 0; i < 31; i++) {
let obj = {
name: i + 1,
select: false
};
x.ClassPlanList.forEach(j => {
if (j.WeekDay == i + 1) {
obj.select = true;
}
});
data.push(obj);
}
x.month = data;
}
});
return;
});
},
// 课程翻页
changePage(val) {
this.courseMsg.pageIndex = val;
this.getCourseList();
},
// 选择班级
selectClass(val) {
if (val.length > 0) {
this.saveObj = val[0];
this.saveObj.Unit_Price = this.saveObj.SellPrice;
this.defaultCourse = val;
} else {
this.saveObj = {};
this.saveObj.Unit_Price = 0;
this.defaultCourse = [];
}
},
// 选择课程
selectCourse(val) {
if (val.length > 0) {
this.saveObj = val[0];
this.saveObj.Unit_Price = this.saveObj.SellPrice;
this.defaultCourse = val;
} else {
this.saveObj = {};
this.saveObj.Unit_Price = 0;
this.defaultCourse = [];
}
if (
this.mode == 2 &&
(!this.saveObj.ClassId || this.saveObj.ClassId == 0)
) {
},
next() {
if (this.step == 1 && this.mode <= 0) {
this.$q.notify({
type: "negative",
position: "top",
message: `请选择课程`
message: `请选择上课模式`
});
return;
}
}
this.$refs.stepper.next();
},
//获取校区列表
getSchool() {
getSchoolDropdown({}).then(res => {
if (res.Code == 1) {
this.schoolList = res.Data;
}
});
},
//获取课程
CourseList() {
queryCourseDropdownList({}).then(res => {
if (res.Code == 1) {
this.ClassList = res.Data;
this.ClassList.unshift({
CourseId: 0,
CourseName: "不限"
});
this.myClassList = this.ClassList;
this.allClassList = res.Data;
}
});
},
//课程筛选
filterCourseFn(val, update, abort) {
update(() => {
if (val === "") {
this.myClassList = JSON.parse(JSON.stringify(this.allClassList));
} else {
const needle = val.toLowerCase();
this.myClassList = this.allClassList.filter(
v => v.CourseName.toLowerCase().indexOf(needle) > -1
);
if (this.step == 2) {
if (
this.mode == 1 &&
(!this.saveObj.ClassId || this.saveObj.ClassId == 0)
) {
this.$q.notify({
type: "negative",
position: "top",
message: `请选择班级`
});
return;
}
if (
this.mode == 2 &&
(!this.saveObj.ClassId || this.saveObj.ClassId == 0)
) {
this.$q.notify({
type: "negative",
position: "top",
message: `请选择课程`
});
return;
}
}
});
},
resetSearch() {
this.courseMsg.pageIndex = 1;
this.getCourseList();
},
saveOrderForm() {
this.loading1 = true;
this.$refs.orderForm.saveOrderInfo();
},
cancelloading() {
this.loading1 = false;
this.$refs.stepper.next();
},
//获取校区列表
getSchool() {
getSchoolDropdown({}).then(res => {
if (res.Code == 1) {
this.schoolList = res.Data;
}
});
},
//获取课程
CourseList() {
queryCourseDropdownList({}).then(res => {
if (res.Code == 1) {
this.ClassList = res.Data;
this.ClassList.unshift({
CourseId: 0,
CourseName: "不限"
});
this.myClassList = this.ClassList;
this.allClassList = res.Data;
}
});
},
//课程筛选
filterCourseFn(val, update, abort) {
update(() => {
if (val === "") {
this.myClassList = JSON.parse(JSON.stringify(this.allClassList));
} else {
const needle = val.toLowerCase();
this.myClassList = this.allClassList.filter(
v => v.CourseName.toLowerCase().indexOf(needle) > -1
);
}
});
},
resetSearch() {
this.courseMsg.pageIndex = 1;
this.getCourseList();
},
saveOrderForm() {
this.loading1 = true;
this.$refs.orderForm.saveOrderInfo();
},
cancelloading() {
this.loading1 = false;
}
}
}
};
};
</script>
<style scoped>
/deep/.el-input__inner {
background-color: transparent;
border: none;
}
/deep/.el-input__inner {
background-color: transparent;
border: none;
}
/deep/.q-stepper__step-inner {
padding: 0 24px;
}
</style>
/deep/.q-stepper__step-inner {
padding: 0 24px;
}
</style>
\ No newline at end of file
......@@ -881,7 +881,6 @@
if (res.Code == 1) {
this.TransListData = res.Data;
this.MyTransListData = res.Data;
console.log(res,'数据');
}
});
},
......
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