Commit 5fd55cbf authored by liudong1993's avatar liudong1993
parents 4bdbd0e2 c3ae3960
......@@ -211,7 +211,17 @@ export function SetVisitorReserve(data) {
data
})
}
/**
* 新增留学需求
* @param {JSON参数} data
*/
export function SetStudyAbroad(data) {
return request({
url: '/VisitorReserve/SetStudyAbroad',
method: 'post',
data
})
}
/**
* 约课管理
* @param {JSON参数} data
......
......@@ -19,6 +19,7 @@
.courseMainTbale td {
padding: 0 3px;
}
</style>
<template>
<q-dialog v-model="persistent" persistent content-class="bg-grey-1" transition-show="scale" transition-hide="scale">
......@@ -31,55 +32,21 @@
<span class="course_Line"></span>
基础价格设置
</div>
<div>
<table style="margin-left:10px;">
<tr>
<td style="width:110px;text-align:right;">
<el-select v-model="priceObj.courseObj.SellPriceType" placeholder="请选择报价类型">
<el-option
v-for="item in PriceTypeList"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</td>
<td colspan="2">
<q-input filled stack-label maxlength="8" style="padding-bottom:0;width:390px;margin-left:10px;" dense
v-model="priceObj.courseObj.SellPrice" ref="SellPrice" label="卖价"
@keyup.native="checkPrice(priceObj.courseObj, 'SellPrice')" :rules="[val => !!val || '请填写卖价']" />
</td>
</tr>
</table>
</div>
<div class="text-caption q-mb-lg q-mt-lg text-grey-6 row wrap">
<span class="course_Line"></span>
其他价格设置
</div>
<div>
<table style="margin-left:10px;">
<tr>
<td style="width:110px;text-align:right;">
教材费
</td>
<td colspan="2">
<q-input filled stack-label maxlength="8" style="padding-bottom:0;width:390px;margin-left:10px;" dense
v-model="priceObj.courseObj.TextbookFee" ref="TextbookFee" label="价格"
@keyup.native="checkPrice(priceObj.courseObj, 'TextbookFee')" :rules="[val => !!val || '请填写教材费价格']" />
</td>
</tr>
<tr>
<td style="width:110px;text-align:right;">
课件费
</td>
<td colspan="2">
<q-input filled stack-label maxlength="8" style="padding-bottom:0;width:390px;margin-left:10px;" dense
v-model="priceObj.courseObj.CoursewareFee" ref="CoursewareFee" label="价格"
@keyup.native="checkPrice(priceObj.courseObj, 'CoursewareFee')" :rules="[val => !!val || '请填写课件费价格']" />
</td>
</tr>
</table>
<div class="row">
<q-select filled stack-label dense class="col-2 q-pr-lg q-pb-lg" v-model="priceObj.courseObj.SellPriceType"
:options="PriceTypeList" emit-value map-options option-value="Id" option-label="Name" label="价格类型" />
<q-input filled stack-label dense class="col-2 q-pr-lg q-pb-lg" maxlength="8"
v-model="priceObj.courseObj.SellPrice" ref="SellPrice"
:label="priceObj.courseObj.SellPriceType==1?'课程总价':'课时单价'"
@keyup.native="checkPrice(priceObj.courseObj, 'SellPrice')" :rules="[val => !!val || '请填写卖价']" />
<template v-if="priceObj.courseObj.SellPriceType==1">
<q-input filled stack-label class="col-2 q-pr-lg q-pb-lg" maxlength="8" dense
v-model="priceObj.courseObj.TextbookFee" ref="TextbookFee" label="教材费"
@keyup.native="checkPrice(priceObj.courseObj, 'TextbookFee')" />
<q-input filled stack-label class="col-2 q-pr-lg q-pb-lg" maxlength="8" dense
v-model="priceObj.courseObj.CoursewareFee" ref="CoursewareFee" label="课件费"
@keyup.native="checkPrice(priceObj.courseObj, 'CoursewareFee')" />
</template>
</div>
<div class="text-caption q-mb-lg q-mt-lg text-grey-6" v-if="false">
<span class="course_Line"></span>
......@@ -122,7 +89,7 @@
<div class="text-caption q-mb-lg q-mt-lg text-grey-6 row wrap" style="align-items:center;">
<div>
<span class="course_Line"></span>
返佣
返佣设置
</div>
<!--只保留内部介绍返佣和学员介绍返佣。-->
<q-select style="width:200px;margin-left:35px;" filled dense v-model="priceObj.courseObj.CommissionReType"
......@@ -130,8 +97,7 @@
</div>
<table style="border-collapse: collapse;width:100%;" class="coursePrice_table courseMainTbale">
<tr style="height:40px;">
<th>同行
</th>
<th>返佣类型</th>
<th>
首报名返佣比例
</th>
......@@ -400,12 +366,12 @@
},
data() {
return {
PriceTypeList:[{
value: 1,
label: '课程总价'
PriceTypeList: [{
Id: 1,
Name: '课程总价'
}, {
value: 2,
label: '课时单价'
Id: 2,
Name: '课时单价'
}],
persistent: true,
optionTitle: "",
......@@ -416,9 +382,9 @@
CourseId: 0, //课程编号
OriginalPrice: 0, //原价
SellPrice: 0, //售价
SellPriceType:1,//价格类型:基础售价1/课时售价2
TextbookFee:0,//教材费
CoursewareFee:0,//课件费
SellPriceType: 1, //价格类型:基础售价1/课时售价2
TextbookFee: 0, //教材费
CoursewareFee: 0, //课件费
CommissionReType: 1, //返佣类型(1比例返佣,2-固定金额返佣)
B2CRatio: 0, //直客首次报名优惠比例
B2CReNewRatio: 0, //直客续费优惠比例
......@@ -654,7 +620,7 @@
var Count = ''
var currentPrice = Number(100 - this.priceObj.courseObj.B2CRatio) * this.priceObj.courseObj.SellPrice / 100;
var currrntXufei = Number(100 - this.priceObj.courseObj.B2CReNewRatio) * this.priceObj.courseObj.SellPrice /
100;
100;
if (type == 3) {
if (this.priceObj.courseObj.B2BRebateRatio) {
let num = currentPrice * Number(this.priceObj.courseObj.B2BRebateRatio) / 100;
......@@ -728,4 +694,5 @@
}
}
};
</script>
\ No newline at end of file
</script>
......@@ -21,8 +21,8 @@
<q-input filled stack-label maxlength="20" :dense="false" v-model="objOption.EmployeeName" ref="EmployeeName"
class="col-6 q-pr-lg q-pb-lg" label="员工姓名" :rules="[val => !!val || '请填写员工姓名']" />
<q-input filled stack-label maxlength="20" :dense="false" v-model="objOption.IDCard" ref="IDCard"
class="col-6 q-pr-lg q-pb-lg" label="身份证号码" :rules="[val => !!val || '请填写身份证号码']" />
<q-input filled stack-label maxlength="20" :dense="false" v-model="objOption.IDCard"
class="col-6 q-pr-lg q-pb-lg" label="身份证号码" />
<q-select filled stack-label option-value="Id" option-label="Name" ref="ID" v-model="objOption.Sex"
:options="SexList" label="性别" :dense="false" class="col-6 q-pr-lg q-pb-lg" emit-value map-options />
......
......@@ -31,7 +31,7 @@
<q-chip color="primary" size="xs" text-color="white" style="position:absolute;:top:0;right:0" v-if="tItem.ReserveType==1">
跟班
</q-chip>
<div v-if="tItem.ReservationDate&&tItem.ReservationDate.length>0">
<div v-if="tItem.ReservationDate&&tItem.ReservationDate.length>0&&tItem.ReservationDate!='0001-01-01T00:00:00'">
试听日期:{{ timeFormatSeconds(tItem.ReservationDate) }}
</div>
<div v-if="tItem.Demand&&tItem.Demand.length>0">
......@@ -106,7 +106,8 @@
qMsg: {
pageIndex: 1,
pageSize: 12,
Visitor_Id: 0
Visitor_Id: 0,
IsReserve:1,
},
dataList: [],
page_Count: 0,
......@@ -127,6 +128,9 @@
//传入日期//例:2020-10-27T14:36:23
timeFormatSeconds(time,type) {
let timeStr="";
if(time==='0001-01-01T00:00:00'){
return timeStr;
}
var d = time ? new Date(time) : new Date();
var year = d.getFullYear();
var month = d.getMonth() + 1;
......
<style></style>
<template>
<div>
<studyabroad :saveObj="saveObj" @close="closeReserveForm" @success="closeReserveForm"
v-if="!saveObj.IsHaveCurseManager || userInfo.IsCourseConsultant == 1"></studyabroad>
<div style="display:flex;flex:1;flex-direction: column;overflow:hidden;">
<div class="TimeLineDiv">
<q-timeline color="primary">
......@@ -9,29 +10,11 @@
<template v-slot:title>
<div class="visit_Cont">
<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>
<div v-if="tItem.ReservationDate&&tItem.ReservationDate.length>0">
试听日期:{{ timeFormatSeconds(tItem.ReservationDate) }}
</div>
<div v-if="tItem.Demand&&tItem.Demand.length>0">
试听需求:{{ tItem.Demand }}
</div>
<div>
预约时间:{{ tItem.ClassDateStr }} {{ tItem.ClassTime }}
<template v-if="tItem.ClassDateStr&&tItem.ClassDateStr.length>0">-</template>
{{ tItem.EndTime }}
</div>
<div class="StuCom_Remark" v-if="false">
<div style="flex-shrink:0">主讲内容:</div>
<div class="StuCom_Inner">{{ tItem.ClassContent }}</div>
</div>
<div>主讲老师:{{ tItem.TeacherName }}</div>
<div>课程名称:{{ tItem.LessonName }}</div>
<div class="StuCom_Remark">
<span class="StuCom_Left">教室</span>:{{ tItem.RoomName }}
<div >
留学需求:{{ tItem.Remark }}
</div>
</div>
<div @click="DeleteVisitorReserve(tItem.Id)" style="margin-top:10px;"
class="visit_delete text-negative">
......@@ -67,13 +50,13 @@
queryClassRoomList,
GetTrialLessonList
} from "../../../api/school/index";
// import reserveclassForm from "./reserveclass-form";
import studyabroad from "./studyabroad";
export default {
meta: {
title: ""
},
components: {
// reserveclassForm
studyabroad
},
props: {
saveObj: {
......@@ -87,7 +70,8 @@
qMsg: {
pageIndex: 1,
pageSize: 12,
Visitor_Id: 0
Visitor_Id: 0,
IsReserve:2,
},
dataList: [],
page_Count: 0,
......
......@@ -76,8 +76,8 @@
:save-obj="baseObj" v-if="secondType == 3" @success="refreshStudentPage"></student-genjin>
<student-shiting :save-obj="baseObj" v-if="secondType == 4" @success="refreshStudentPage">
</student-shiting>
<!-- <student-studyabroad :save-obj="baseObj" v-if="secondType == 6" @success="refreshStudentPage">
</student-studyabroad> -->
<studentstudyabroad :save-obj="baseObj" v-if="secondType == 6" @success="refreshStudentPage">
</studentstudyabroad>
<student-consult :save-obj="baseObj" v-if="secondType == 5" @success="refreshStudentPage">
</student-consult>
</div>
......
<style scoped>
.Student_Date .el-input__inner {
background: transparent !important;
border: 0 !important;
padding-right: 0 !important;
}
</style>
<template>
<div>
<div class="row wrap">
<q-btn label="新增留学需求" color="accent q-mb-lg" size="sm" @click="isShowReserve = true" />
</div>
<template v-if="isShowReserve">
<div class="row studentDate" >
<q-input
style="width:257px;"
v-model="addMsg.Remark"
placeholder="留学需求"
filled
type="textarea"
/>
</div>
<div class="row wrap justify-end q-pr-lg" style="margin-bottom:10px;">
<q-btn label="关闭" flat color="accent q-mb-lg" size="md" style="margin-right:10px;" @click="closeClassForm" />
<q-btn label="保存" color="accent q-mb-lg" size="md" @click="saveAppointForm()" />
</div>
</template>
</div>
</template>
<script>
import {
SetStudyAbroad
} from "../../../api/scheduling/schedu";
import {
getTeacherDropDownList,
queryClassRoomList,
GetTrialLessonList
} from "../../../api/school/index";
// import auditionForm from "../../schedul/audition-form";
export default {
components: {
// auditionForm,
},
props: {
saveObj: {
type: Object,
default: null
}
},
data() {
return {
isShowReserve: false,
addMsg: {
Id: 0, //编号
Visitor_Id: 0, //访客编号
ReserveClassId: 0, //选中的班级编号
ClassDate: "", //预约日期
ClassTime: "", //预约开始时间
EndTime: "", //预约结束时间
TeacherId: 0, //教师编号
ClassRoomId: 0, //教室编号
ClassContent: "", //主讲内容
TrialLessonId: "",
ReserveType: 0,
ClassPlanId: 0,
Demand:"",
},
isShowTeacher: false, //是否显示试听课弹窗
showObj:{
className:"",
courseName:"",
}
};
},
created() {
},
mounted() {
if (this.saveObj) {
this.addMsg.Visitor_Id = this.saveObj.StuId;
}
},
methods: {
//关闭窗口
closeClassForm() {
this.clearMsg()
this.isShowReserve = false;
this.$emit("success");
},
//清除
clearMsg() {
this.addMsg.Id = 0;
this.addMsg.ReserveClassId = 0;
this.addMsg.ClassDate = "";
this.addMsg.ClassTime = "";
this.addMsg.EndTime = "";
this.addMsg.TeacherId = 0;
this.addMsg.ClassRoomId = 0;
this.addMsg.ClassContent = "";
this.addMsg.TrialLessonId = "";
this.addMsg.ReserveType = 0;
this.addMsg.ClassPlanId = 0;
this.addMsg.Demand="";
},
//保存
saveAppointForm() {
if (this.addMsg.Remark == "") {
this.$q.notify({
type: "negative",
position: "top",
timeout: 2000,
message: "请输入留学需求!"
});
return;
}
SetStudyAbroad(this.addMsg).then(res => {
if (res.Code == 1) {
this.$q.notify({
icon: "iconfont icon-chenggong",
color: "accent",
timeout: 2000,
message: res.Message,
position: "top"
});
this.$emit("success");
} else {
this.$q.notify({
type: "negative",
position: "top",
timeout: 2000,
message: res.Message
});
}
this.clearMsg();
this.isShowReserve = false;
});
},
closeAuditForm() {
this.isShowTeacher = false;
},
//子组件选中传值
getchildInfo(obj) {
if (obj) {
this.addMsg.ReserveType = obj.ReserveType;
this.addMsg.ClassPlanId = obj.ClassPlanId;
this.addMsg.TeacherId = obj.TeacherId;
this.addMsg.ClassRoomId = obj.ClassRoomId;
this.addMsg.ReserveClassId = obj.ReserveClassId;
this.addMsg.ClassDate = obj.ClassDateStr;
this.addMsg.ClassTime = obj.ClassTime;
this.addMsg.EndTime = obj.EndTime;
this.addMsg.ClassContent = obj.ClassContent;
this.addMsg.TrialLessonId = obj.TrialLessonId;
this.isShowReserve = true;
}
}
}
};
</script>
......@@ -74,9 +74,9 @@
<!-- <q-btn color="accent" outline class="q-mr-md" size="sm" icon="swap_horiz" label="推送课程顾问"
v-if="userInfo.IsCourseConsultant == 0" @click="pushMode = true" /> -->
<q-btn color="accent" class="q-mr-md" size="sm" icon="swap_horiz" label="转订单"
:disable="selection.length === 0" @click="transferOrder" />
:disable="selection.length === 0" @click="transferOrder" v-if="StudentType!=2"/>
<q-btn color="accent" class="q-mr-md" size="sm" icon="swap_horiz" label="转留学"
:disable="selection.length === 0" @click="transferAbroad" />
:disable="selection.length === 0" @click="transferAbroad" v-if="StudentType==2"/>
<q-btn color="accent" class="q-mr-md" size="sm" icon="add" label="新增学员" @click="EditStudent(null)" />
<q-btn v-if="authObj && authObj.isShowDownload&&IsDownLoadStu()" color="accent" class="q-mr-md" size="sm"
icon="download" label="下载" @click="downloadStudent" />
......@@ -314,6 +314,10 @@
type: Number,
default: null
},
StudentType: {
type: Number,
default: null
},
loading: {
type: Boolean,
default: false
......
......@@ -347,8 +347,17 @@ var commonUtils = {
//获取当前日期
getCurrentDate() {
var myDate = new Date();
var year = myDate.getFullYear();
var month = myDate.getMonth() + 1;
var day = myDate.getDate();
if (month >= 1 && month <= 9) {
month = "0" + month;
}
if (day >= 1 && day <= 9) {
day = "0" + day;
}
//返回年月日
return myDate.getFullYear() + '-' + parseInt(myDate.getMonth() + 1) + "-" + myDate.getDate()
return year + '-' + month + "-" + day;
},
//格式化日期
getFormatDate(dateStr) {
......
......@@ -68,7 +68,8 @@
label="学习课程" @clear="getClassList" maxlength="20" />
</div>
<div class="col-3">
<q-input v-model="msg.StartTime" mask="date" label="开班时间" standout="bg-primary text-white" @update:model-value="()=>getClassList">
<q-input v-model="msg.StartTime" mask="date" label="开班时间" standout="bg-primary text-white"
@update:model-value="()=>getClassList">
<template v-slot:append>
<q-icon name="event" class="cursor-pointer">
<q-popup-proxy ref="qCStartTime" transition-show="scale" transition-hide="scale">
......@@ -152,6 +153,7 @@
if (this.$route.query && this.$route.query.ClassName) {
this.msg.ClassName = decodeURI(this.$route.query.ClassName)
}
this.msg.StartTime = this.$commonUtils.getCurrentDate();
this.getClassStatus();
this.getSchool();
this.GetTeacherList();
......@@ -161,10 +163,9 @@
this.getClassList();
},
methods: {
changeDate()
{
this.$refs.qCStartTime.hide();
this.getClassList();
changeDate() {
this.$refs.qCStartTime.hide();
this.getClassList();
},
queryCourseSubject() {
getCourseSubject({}).then(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