Commit 27bb5c1d authored by youjie's avatar youjie

no message

parents 49db80f2 27690f81
<template>
<q-dialog
v-model="persistent"
maximized
full-height
position="right"
@hide="closeShenheForm"
>
<q-card
style="margin-top:61px;width:375px;padding-bottom: 70px;"
class="no-border-radius q-pa-lg"
>
<q-scroll-area
style="height: 100%; max-width: 375px;"
:thumb-style="thumbStyle"
:bar-style="barStyle"
>
<q-dialog v-model="persistent" maximized full-height position="right" @hide="closeShenheForm">
<q-card style="margin-top:61px;width:375px;padding-bottom: 70px;" class="no-border-radius q-pa-lg">
<q-scroll-area style="height: 100%; max-width: 375px;" :thumb-style="thumbStyle" :bar-style="barStyle">
<div class="text-weight-bold">
<span style="font-size:20px;" class="q-mr-md">用户个人资料</span>
<span class="remark-font">12条未读消息</span>
</div>
<div class="q-mt-lg flex">
<q-avatar
size="100px"
font-size="36px"
rounded
style="background:#C9F7F5"
text-color="white"
>
<q-avatar size="100px" font-size="36px" rounded style="background:#C9F7F5" text-color="white">
<img :src="showObj.UserIcon" v-if="showObj.UserIcon" />
<span v-else>{{ showObj.AccountName.substring(0, 1) }}</span>
</q-avatar>
......@@ -38,10 +19,8 @@
{{ showObj.SchoolName }}·{{ showObj.PostName }}
</div>
<div class="flex items-center text-muted">
<inline-svg
class="svg-icon svg-icon-primary q-mr-xs"
src="icons/svg/Communication/Mail-notification.svg"
></inline-svg>
<inline-svg class="svg-icon svg-icon-primary q-mr-xs" src="icons/svg/Communication/Mail-notification.svg">
</inline-svg>
<span>{{ showObj.Email }}</span>
</div>
<div class="q-mt-xs">
......@@ -51,21 +30,10 @@
</div>
<q-separator color="grey-2" class="q-my-md"></q-separator>
<q-list>
<q-item
class="q-my-sm"
clickable
v-ripple
v-for="(item, index) in showObj.UserCenterList"
:key="index"
:to="item.MenuUrl"
>
<q-item class="q-my-sm" clickable v-ripple v-for="(item, index) in showObj.UserCenterList" :key="index"
:to="item.MenuUrl">
<q-item-section avatar>
<q-avatar
style="background-color: #F3F6F9;"
rounded
size="40px"
text-color="primary"
>
<q-avatar style="background-color: #F3F6F9;" rounded size="40px" text-color="primary">
<i :class="[item.MenuIcon]"></i>
</q-avatar>
</q-item-section>
......@@ -73,19 +41,9 @@
<q-item-label class="font-pfb">{{ item.MenuName }}</q-item-label>
</q-item-section>
</q-item>
<q-item
class="q-my-sm"
clickable
v-ripple
@click="autoSubmitHandler()"
>
<q-item class="q-my-sm" clickable v-ripple @click="autoSubmitHandler()">
<q-item-section avatar>
<q-avatar
style="background-color: #F3F6F9;"
rounded
size="40px"
text-color="primary"
>
<q-avatar style="background-color: #F3F6F9;" rounded size="40px" text-color="primary">
<i class="iconfont icon-zichan"></i>
</q-avatar>
</q-item-section>
......@@ -96,12 +54,7 @@
<!-- 跳转进阶未来 -->
<q-item v-if="userinfo.Id==2602" class="q-my-sm" clickable v-ripple @click="goUrlZC(4)">
<q-item-section avatar>
<q-avatar
style="background-color: #F3F6F9;"
rounded
size="40px"
text-color="primary"
>
<q-avatar style="background-color: #F3F6F9;" rounded size="40px" text-color="primary">
<i class="iconfont icon-fabu"></i>
</q-avatar>
</q-item-section>
......@@ -112,12 +65,7 @@
<!-- 跳转资产 -->
<q-item class="q-my-sm" clickable v-ripple @click="goUrlZC(1)">
<q-item-section avatar>
<q-avatar
style="background-color: #F3F6F9;"
rounded
size="40px"
text-color="primary"
>
<q-avatar style="background-color: #F3F6F9;" rounded size="40px" text-color="primary">
<i class="iconfont icon-zichan"></i>
</q-avatar>
</q-item-section>
......@@ -128,12 +76,7 @@
<!-- 跳转资产 -->
<q-item class="q-my-sm" clickable v-ripple @click="goUrlZC(2)">
<q-item-section avatar>
<q-avatar
style="background-color: #F3F6F9;"
rounded
size="40px"
text-color="primary"
>
<q-avatar style="background-color: #F3F6F9;" rounded size="40px" text-color="primary">
<i class="iconfont icon-qinggoudan"></i>
</q-avatar>
</q-item-section>
......@@ -144,12 +87,7 @@
<!-- 请购审核 -->
<q-item class="q-my-sm" clickable v-ripple @click="goUrlZC(3)">
<q-item-section avatar>
<q-avatar
style="background-color: #F3F6F9;"
rounded
size="40px"
text-color="primary"
>
<q-avatar style="background-color: #F3F6F9;" rounded size="40px" text-color="primary">
<i class="iconfont icon-ruku"></i>
</q-avatar>
</q-item-section>
......@@ -161,249 +99,187 @@
<q-separator color="grey-2" class="q-my-md"></q-separator>
<div class="text-weight-bold" style="font-size:16px;">常用功能</div>
<q-list>
<q-item
class="q-my-sm q-pa-xs"
clickable
v-ripple
@click="goUrlgeren"
>
<q-item class="q-my-sm q-pa-xs" clickable v-ripple @click="goUrlgeren">
<q-item-section avatar>
<q-avatar
style="background-color: #F3F6F9;"
rounded
size="40px"
text-color="secondary"
>
<inline-svg
class="svg-icon svg-icon-secondary"
src="icons/svg/General/Notification2.svg"
></inline-svg>
<q-avatar style="background-color: #F3F6F9;" rounded size="40px" text-color="secondary">
<inline-svg class="svg-icon svg-icon-secondary" src="icons/svg/General/Notification2.svg"></inline-svg>
</q-avatar>
</q-item-section>
<q-item-section>
<q-item-label class="font-pfb">个人资料</q-item-label>
<q-item-label caption lines="1" class="remark-font"
>账号信息设置等相关功能</q-item-label
>
<q-item-label caption lines="1" class="remark-font">账号信息设置等相关功能</q-item-label>
</q-item-section>
</q-item>
<q-item
class="q-my-sm q-pa-xs"
clickable
v-ripple
@click="undefinedGongneng"
>
<!-- <q-item class="q-my-sm q-pa-xs" clickable v-ripple @click="undefinedGongneng">
<q-item-section avatar>
<q-avatar
style="background-color: #F3F6F9;"
rounded
size="40px"
text-color="secondary"
>
<inline-svg
class="svg-icon svg-icon-warning"
src="icons/svg/Shopping/Chart-bar1.svg"
></inline-svg>
<q-avatar style="background-color: #F3F6F9;" rounded size="40px" text-color="secondary">
<inline-svg class="svg-icon svg-icon-warning" src="icons/svg/Shopping/Chart-bar1.svg"></inline-svg>
</q-avatar>
</q-item-section>
<q-item-section>
<q-item-label class="font-pfb">奖金提成</q-item-label>
<q-item-label caption lines="1" class="remark-font"
>销售与教师相关的奖金或提成</q-item-label
>
<q-item-label caption lines="1" class="remark-font">销售与教师相关的奖金或提成</q-item-label>
</q-item-section>
</q-item>
<q-item
class="q-my-sm q-pa-xs"
clickable
v-ripple
@click="undefinedGongneng"
>
<q-item class="q-my-sm q-pa-xs" clickable v-ripple @click="undefinedGongneng">
<q-item-section avatar>
<q-avatar
style="background-color: #F3F6F9;"
rounded
size="40px"
text-color="secondary"
>
<inline-svg
class="svg-icon svg-icon-negative"
src="icons/svg/Files/Selected-file.svg"
></inline-svg>
<q-avatar style="background-color: #F3F6F9;" rounded size="40px" text-color="secondary">
<inline-svg class="svg-icon svg-icon-negative" src="icons/svg/Files/Selected-file.svg"></inline-svg>
</q-avatar>
</q-item-section>
<q-item-section>
<q-item-label class="font-pfb">考勤</q-item-label>
<q-item-label caption lines="1" class="remark-font"
>出勤,请假等相关功能入口</q-item-label
>
<q-item-label caption lines="1" class="remark-font">出勤,请假等相关功能入口</q-item-label>
</q-item-section>
</q-item>
<q-item
class="q-my-sm q-pa-xs"
clickable
v-ripple
@click="undefinedGongneng"
>
<q-item class="q-my-sm q-pa-xs" clickable v-ripple @click="undefinedGongneng">
<q-item-section avatar>
<q-avatar
style="background-color: #F3F6F9;"
rounded
size="40px"
text-color="secondary"
>
<inline-svg
class="svg-icon svg-icon-primary"
src="icons/svg/Communication/Mail-opened.svg"
></inline-svg>
<q-avatar style="background-color: #F3F6F9;" rounded size="40px" text-color="secondary">
<inline-svg class="svg-icon svg-icon-primary" src="icons/svg/Communication/Mail-opened.svg">
</inline-svg>
</q-avatar>
</q-item-section>
<q-item-section>
<q-item-label class="font-pfb">我的工作</q-item-label>
<q-item-label caption lines="1" class="remark-font"
>OKR、教师备课相关功能入口</q-item-label
>
<q-item-label caption lines="1" class="remark-font">OKR、教师备课相关功能入口</q-item-label>
</q-item-section>
</q-item>
</q-item> -->
</q-list>
</q-scroll-area>
</q-card>
<!--<div class="dialog-out-close" @click="closeShenheForm" style="height:40px !important;border-top-left-radius: 4px !important;border-bottom-left-radius: 4px !important;">
<q-icon name="iconfont icon-jujue1" size="26px" />
</div>-->
<form
id="cgForm"
method="post"
target="_blank"
style="display:none;"
action="http://cloud.kookaku.com/user.php?mod=login&op=logging&action=login&loginsubmit=yes&loginhash=LYe3Z&returnType=page&sc=erp"
></form>
<form id="cgForm" method="post" target="_blank" style="display:none;"
action="http://cloud.kookaku.com/user.php?mod=login&op=logging&action=login&loginsubmit=yes&loginhash=LYe3Z&returnType=page&sc=erp">
</form>
</q-dialog>
</template>
<script>
import Lockr from "lockr";
import { url_jump_zc,url_jump_jjwl } from "../../utils/url";
export default {
props: {
showObj: {
type: Object,
default: null
}
},
data() {
return {
persistent: true,
text: "Field content",
reason: "",
saveLoading: false,
saveType: 0,
thumbStyle: {
right: "4px",
borderRadius: "5px",
backgroundColor: "#027be3",
width: "5px",
opacity: 0.75
},
barStyle: {
right: "2px",
borderRadius: "9px",
backgroundColor: "#027be3",
width: "9px",
opacity: 0.2
},
userinfo:{}
};
},
mounted() {
this.userinfo = this.getLocalStorage();
},
methods: {
autoSubmitHandler() {
let userinfo = this.getLocalStorage();
var formData = {
formhash: "6d51f5e5",
referer: "http://cloud.kookaku.com/index.php?mod=explorer",
email: `${userinfo.UserMobile}@kookaku.com`,
password: "lcdjl520"
};
let form = document.getElementById("cgForm");
for (let p in formData) {
if (p != "url") {
let input = document.createElement("input");
input.setAttribute("name", p);
input.setAttribute("value", formData[p]);
form.append(input);
}
import Lockr from "lockr";
import {
url_jump_zc,
url_jump_jjwl
} from "../../utils/url";
export default {
props: {
showObj: {
type: Object,
default: null
}
form.submit();
},
closeShenheForm() {
this.$emit("close");
},
goUrlgeren() {
//个人资料
this.$root.$emit("goworkobj");
this.$router.push({
path: "/user/personalData"
});
},
undefinedGongneng() {
this.$q
.dialog({
title: "功能提示",
message: "此功能即将在下一版本中开放"
})
.onOk(() => {});
data() {
return {
persistent: true,
text: "Field content",
reason: "",
saveLoading: false,
saveType: 0,
thumbStyle: {
right: "4px",
borderRadius: "5px",
backgroundColor: "#027be3",
width: "5px",
opacity: 0.75
},
barStyle: {
right: "2px",
borderRadius: "9px",
backgroundColor: "#027be3",
width: "9px",
opacity: 0.2
},
userinfo: {}
};
},
logout() {
this.$store
.dispatch("LogOut")
.then(() => {
this.$router.push("/login");
})
.catch(e => {});
mounted() {
this.userinfo = this.getLocalStorage();
},
methods: {
autoSubmitHandler() {
let userinfo = this.getLocalStorage();
var formData = {
formhash: "6d51f5e5",
referer: "http://cloud.kookaku.com/index.php?mod=explorer",
email: `${userinfo.UserMobile}@kookaku.com`,
password: "lcdjl520"
};
let form = document.getElementById("cgForm");
for (let p in formData) {
if (p != "url") {
let input = document.createElement("input");
input.setAttribute("name", p);
input.setAttribute("value", formData[p]);
form.append(input);
}
}
form.submit();
},
closeShenheForm() {
this.$emit("close");
},
goUrlgeren() {
//个人资料
this.$root.$emit("goworkobj");
this.$router.push({
path: "/user/personalData"
});
},
undefinedGongneng() {
this.$q
.dialog({
title: "功能提示",
message: "此功能即将在下一版本中开放"
})
.onOk(() => {});
},
logout() {
this.$store
.dispatch("LogOut")
.then(() => {
this.$router.push("/login");
})
.catch(e => {});
},
goUrlZC(type) {
let userinfo = this.getLocalStorage();
let token = Lockr.get("Token");
if (type == 1) {
let url =
url_jump_zc +
"/#/Autologin?ObjInfo=" +
token +
"&SecretKey=" +
userinfo.UploadConfig.SecretKey;
window.open(url);
} else if (type == 2) {
let url =
url_jump_zc +
"/#/Autologin?ObjInfo=" +
token +
"&SecretKey=" +
userinfo.UploadConfig.SecretKey +
"&ComeFrom=2";
window.open(url);
} else if (type == 3) {
let url =
url_jump_zc +
"/#/Autologin?ObjInfo=" +
token +
"&SecretKey=" +
userinfo.UploadConfig.SecretKey +
"&ComeFrom=3";
window.open(url);
} else if (type == 4) {
let url =
url_jump_jjwl +
"/#/login?userId=" + this.userinfo.Id;
window.open(url);
goUrlZC(type) {
let userinfo = this.getLocalStorage();
let token = Lockr.get("Token");
if (type == 1) {
let url =
url_jump_zc +
"/#/Autologin?ObjInfo=" +
token +
"&SecretKey=" +
userinfo.UploadConfig.SecretKey;
window.open(url);
} else if (type == 2) {
let url =
url_jump_zc +
"/#/Autologin?ObjInfo=" +
token +
"&SecretKey=" +
userinfo.UploadConfig.SecretKey +
"&ComeFrom=2";
window.open(url);
} else if (type == 3) {
let url =
url_jump_zc +
"/#/Autologin?ObjInfo=" +
token +
"&SecretKey=" +
userinfo.UploadConfig.SecretKey +
"&ComeFrom=3";
window.open(url);
} else if (type == 4) {
let url =
url_jump_jjwl +
"/#/login?userId=" + this.userinfo.Id;
window.open(url);
}
}
}
}
};
};
</script>
<style></style>
......@@ -6,32 +6,32 @@
<div class="table-body" v-loading="loading">
<table class="enrollTotalSearchTable" border="0" cellspacing="0" cellpadding="0">
<tr class="fix_th">
<th width="12%">单号</th>
<th width="6%">人数</th>
<th width="6%">单价</th>
<th width="6%" v-if="studyOrderType!=1">教材费</th>
<th width="6%" v-if="studyOrderType!=1">课件费</th>
<th width="6%" v-if="studyOrderType!=1">总课时</th>
<th width="6%">成交</th>
<th width="6%">应收总额</th>
<th width="6%">实收</th>
<th width="6%">优惠</th>
<th width="6%">少价金额</th>
<th width="6%">退款</th>
<th width="6%">平台税金</th>
<th width="6%">待收金额</th>
<template v-if="AuthorityObj.isShowStudyRebate">
<th width="6%">留学订单回佣</th>
</template>
<th width="6%">状态</th>
<th v-if="viewType == 0">操作</th>
<th width="12%">单号</th>
<th width="6%">人数</th>
<th width="6%">单价</th>
<th width="6%" v-if="studyOrderType!=1">教材费</th>
<th width="6%" v-if="studyOrderType!=1">课件费</th>
<th width="6%" v-if="studyOrderType!=1">总课时</th>
<th width="6%">成交</th>
<th width="6%">应收总额</th>
<th width="6%">实收</th>
<th width="6%">优惠</th>
<th width="6%">少价金额</th>
<th width="6%">退款</th>
<th width="6%">平台税金</th>
<th width="6%">待收金额</th>
<template v-if="AuthorityObj.isShowStudyRebate">
<th width="6%">留学订单回佣</th>
</template>
<th width="6%">状态</th>
<th v-if="viewType == 0">操作</th>
<tr>
<td v-show="dataList && dataList.length == 0" :colspan="17" align="center">
暂无数据
</td>
</tr>
<template v-for="(item, index) in dataList">
<tr>
<tr :key="`r_d_1_`+index">
<td :rowspan="3" style="text-align: left">
<div>
<span @click="goOrderdetails(item, 1)" class="order_OfferId">{{
......@@ -104,7 +104,6 @@
<div>{{ item.CreateByName }}</div>
<!-- <div>课程顾问:{{ item.ConsultantName||'无' }}</div> -->
<div>市场专员:{{ item.EnterName ||'无' }}</div>
<div style="margin-top: 10px">{{ item.CreateTime }}</div>
<template v-if="AuthorityObj.isShowName">
<div style="font-weight: bold;color:#2961FE;cursor:pointer;" @click="getClassInfo(item)">
......@@ -130,9 +129,10 @@
<template v-if="item.OrderType == 1">
<div v-if="item.ClassList&&item.ClassList.length>0">
课程名称:
<span v-for="(itemc, indexc) in item.ClassList">{{indexc>0?'、':""}}{{itemc.CourseName }}</span>
<span v-for="(itemc, indexc) in item.ClassList"
:key="`c_`+indexc">{{indexc>0?'、':""}}{{itemc.CourseName }}</span>
</div>
<div v-else="item.CourseName">
<div v-else>
课程名称:{{ item.CourseName }}
</div>
<div v-if="item.CourseSubjectName">
......@@ -189,10 +189,10 @@
<td style="border:none;">{{ item.GuestNum }}人</td>
<td style="border:none;">
<template v-if="item.Class_Price >= 0">
{{ item.Class_Price.toFixed(2) }}
</br>
<template v-if="studyOrderType!=1">
({{item.SellPriceType==2?'课时单价':'课时总价'}})</template>
{{ item.Class_Price.toFixed(2) }}
<br />
<template v-if="studyOrderType!=1">
({{item.SellPriceType==2?'课时单价':'课时总价'}})</template>
</template>
</td>
<td style="border:none;" v-if="studyOrderType!=1">
......@@ -206,10 +206,7 @@
</template>
</td>
<td style="border:none;" v-if="studyOrderType!=1">
{{ item.TotalClassHours }}
{{ item.TotalClassHours }}
</td>
<td :style="{
color:
......@@ -449,11 +446,11 @@
</q-btn-dropdown>
</td>
</tr>
<tr>
<tr :key="`r_d_2_`+index">
<td :colspan="studyOrderType!=1?17:14" style="text-align: left">
<div class="row" v-if="item.GuestList && item.GuestList.length > 0">
学生名单:
<template v-for="(x, j) in item.GuestList" :index="j">
<template v-for="(x, j) in item.GuestList">
<span v-if="x.GuestState == 1" style="color:#2961FE;margin-right: 5px" :key="j">{{ x.GuestName }}
</span>
<span v-else style="color:red;margin-right: 5px" :key="j">
......@@ -521,7 +518,7 @@
<span v-if="item.GuestList && item.GuestList.length == 0">暂无</span>
</td>
</tr>
<tr>
<tr :key="`r_d_3_`+index">
<td :colspan="studyOrderType!=1?17:14" style="height: 168px;text-align: left">
<div class="col row remarks q-gutter-x-md">
<div class="col">
......@@ -556,15 +553,11 @@
<div class="col">
<div>教务备注:</div>
<div class="remarks-b ">
<div v-if="
item.TeacherRemark != null || item.TeacherRemark != ''
">
<div v-if="item.TeacherRemark != null || item.TeacherRemark != ''">
<div>{{ item.TeacherRemark }}</div>
<div class="remarks-b-b">
<span class="iconfont icon-xiangxia" style="color: #2961FE;font-size: 10px" v-if="
item.TeacherRemarkList &&
item.TeacherRemarkList.length > 0
"></span>
<span class="iconfont icon-xiangxia" style="color: #2961FE;font-size: 10px"
v-if="item.TeacherRemarkList&&item.TeacherRemarkList.length > 0 "></span>
<q-popup-proxy>
<q-banner>
<div style="width: 500px;">
......@@ -581,9 +574,7 @@
</q-popup-proxy>
</div>
</div>
<span v-if="
item.TeacherRemark == null || item.TeacherRemark == ''
">暂无</span>
<span v-if="item.TeacherRemark == null || item.TeacherRemark == ''">暂无</span>
</div>
</div>
<div class="col">
......@@ -912,16 +903,16 @@
{{ item.TextbookFee.toFixed(2) }}
</template>
</td>
<td style="border:none;" v-if="studyOrderType!=1">
<template v-if="item.CoursewareFee >= 0">
{{ item.CoursewareFee.toFixed(2) }}
</template>
</td>
<td style="border:none;" v-if="studyOrderType!=1">
<td style="border:none;" v-if="studyOrderType!=1">
<template v-if="item.CoursewareFee >= 0">
{{ item.CoursewareFee.toFixed(2) }}
</template>
</td>
<td style="border:none;" v-if="studyOrderType!=1">
{{ item.TotalClassHours }}
</td>
</td>
<td :style="{
<td :style="{
color:
item.Class_Price != item.Unit_Price
? 'var(--q-color-negative)'
......
......@@ -10,6 +10,11 @@
<div class="text-h6">{{objOption.Id==0?'新增试听课程':'修改试听课程'}}</div>
</q-card-section>
<q-card-section class="q-pt-none scroll" style="max-height: 70vh">
<p ><span>试听时间:</span><span style="color:red;">{{timeFormatSeconds(objOption.ReservationDate)}}</span></p>
<q-space />
<p><span style="float:left;">试听需求:</span><div v-html="objOption.Demand" style="color:red;"></div></p>
<q-space />
<div class="row wrap">
<q-input filled v-model="objOption.ClassDate" class=""
:class="[$q.platform.is.desktop?'col-6 q-pr-lg q-pb-lg':'col-12 q-pb-sm']"
......@@ -104,6 +109,8 @@
TrialLessonId: '',
Visitor_Id:0,
Id:0,
ReservationDate:"",
Demand:"",
},
saveLoading: false,
TeacherList: [],
......@@ -171,6 +178,8 @@
this.objOption.ClassRoomId = res.Data[0].ClassRoomId;
this.objOption.TrialLessonId = res.Data[0].TrialLessonId;
this.objOption.Visitor_Id = res.Data[0].Visitor_Id;
this.objOption.ReservationDate = res.Data[0].ReservationDate;
this.objOption.Demand = res.Data[0].Demand;
if(this.objOption.TrialLessonId==0){
this.objOption.ClassDate = this.timeFormatSeconds(res.Data[0].ReservationDate);
}
......
......@@ -113,7 +113,7 @@
</q-item-section>
<q-item-section>{{ x.MenuName }}</q-item-section>
</q-item>
<q-expansion-item v-else :label="x.MenuName">
<q-expansion-item v-else :label="x.MenuName" :key="`s_`+i">
<template v-for="(y, yi) in x.SubList">
<q-item :to="y.MenuUrl" clickable v-ripple :active="currentPath == y.MenuUrl" :key="yi"
class="q-ml-md" v-if="!y.SubList || y.SubList.length == 0">
......@@ -122,7 +122,7 @@
</q-item-section>
<q-item-section>{{ y.MenuName }}</q-item-section>
</q-item>
<q-expansion-item v-else :label="y.MenuName" class="q-ml-md">
<q-expansion-item v-else :label="y.MenuName" class="q-ml-md" :key="`s_`+i+`_t_`+yi">
<q-item :to="z.MenuUrl" clickable v-ripple :active="currentPath == z.MenuUrl" :key="zi"
v-for="(z, zi) in y.SubList" class="q-ml-md">
<q-item-section avatar style="padding-right: 0; min-width: 30px">
......@@ -238,9 +238,7 @@
this.secondNavs =
newVal.MenuList.length > 0 ?
newVal.MenuList[i] && newVal.MenuList[i].SubList ?
newVal.MenuList[i].SubList :
[] :
[];
newVal.MenuList[i].SubList : [] : [];
}
if (newVal && newVal.UserCenterList) {
this.userCenterMenuList = newVal.UserCenterList;
......@@ -262,9 +260,7 @@
this.secondNavs =
this.userInfo.MenuList.length > 0 ?
this.userInfo.MenuList[i] && this.userInfo.MenuList[i].SubList ?
this.userInfo.MenuList[i].SubList :
[] :
[];
this.userInfo.MenuList[i].SubList : [] : [];
}
this.$root.$on("goworkobj", data => {
this.secondNavs = [];
......
<style lang="scss" scoped>
::v-deep .el-input__inner{
background-color: rgba(25,25,25,0);
border: 0;
}
::v-deep .el-input__inner {
background-color: rgba(25, 25, 25, 0);
border: 0;
}
</style>
<template>
<div :class="[$q.platform.is.mobile?'q-pa-md bg-grey-1':'']"
:style="{'height':$q.platform.is.mobile?'100vh':''}">
<p class="text-center small text-weight-bold text-h6" v-if="type">试听开课</p>
<div class="row wrap">
<div style="width:100%;margin-bottom:15px;">试听时间:<span style="color:red;">{{timeFormatSeconds(setClassMsg.ReservationDate)}}</span></div>
<div style="width:100%;margin-bottom:15px;">试听需求:<span style="color:red;">{{setClassMsg.Demand}}</span></div>
</div>
<q-card class="bg-white q-pa-md" flat>
<div class="row studentDate">
<q-field filled dense
:class="[$q.platform.is.mobile?'col-12 q-pb-sm':'col-6 q-pr-lg q-pb-lg']">
<div :class="[$q.platform.is.mobile?'q-pa-md bg-grey-1':'']" :style="{'height':$q.platform.is.mobile?'100vh':''}">
<p class="text-center small text-weight-bold text-h6" v-if="type">试听开课</p>
<div class="row wrap">
<div style="width:100%;margin-bottom:15px;">试听时间:<span
style="color:red;">{{timeFormatSeconds(setClassMsg.ReservationDate)}}</span></div>
<div style="width:100%;margin-bottom:15px;">试听需求:<font style="color:red;" v-html="setClassMsg.Demand"></font></div>
</div>
<q-card class="bg-white q-pa-md" flat>
<div class="row studentDate">
<q-field filled dense :class="[$q.platform.is.mobile?'col-12 q-pb-sm':'col-6 q-pr-lg q-pb-lg']">
<template v-slot:control>
<el-date-picker v-model="setClassMsg.ClassDate" ref="ClassDate" :rules="[val => !!val || '请选择预约日期']"
style="width:100%" size="mini" type="date" placeholder="预约日期" value-format="yyyy-MM-dd">
</el-date-picker>
</template>
</q-field>
<div class="Student_Date " :class="[$q.platform.is.mobile?'col-12 q-pb-sm':'col-6 q-pr-lg q-pb-lg']">
<q-field filled class="" dense>
<template v-slot:control>
<el-date-picker v-model="setClassMsg.ClassDate" ref="ClassDate" :rules="[val => !!val || '请选择预约日期']"
style="width:100%" size="mini" type="date" placeholder="预约日期" value-format="yyyy-MM-dd">
</el-date-picker>
</template>
</q-field>
<div class="Student_Date "
:class="[$q.platform.is.mobile?'col-12 q-pb-sm':'col-6 q-pr-lg q-pb-lg']">
<q-field filled class="" dense>
<template v-slot:control>
<el-time-select v-model="setClassMsg.ClassTime" size="mini" ref="ClassTime" style="width:50%;" :picker-options="{
<el-time-select v-model="setClassMsg.ClassTime" size="mini" ref="ClassTime" style="width:50%;"
:picker-options="{
start: '09:00',
step: '00:15',
end: '21:00',
maxTime: setClassMsg.EndTime
}" placeholder="预约开始时间">
</el-time-select>
<el-time-select v-model="setClassMsg.EndTime" size="mini" dense ref="EndTime" style="width:50%;"
:picker-options="{
</el-time-select>
<el-time-select v-model="setClassMsg.EndTime" size="mini" dense ref="EndTime" style="width:50%;"
:picker-options="{
start: '09:00',
step: '00:15',
end: '21:00',
minTime: setClassMsg.ClassTime
}" placeholder="预约结束时间">
</el-time-select>
</template>
</q-field>
</div>
</div>
<div class="row wrap">
<q-select filled stack-label option-value="TId" option-label="TeacherName" v-model="setClassMsg.TeacherId"
ref="TeacherId" :options="TeacherList" label="选择教师" dense class="col-6"
:class="[$q.platform.is.mobile?'q-pr-sm q-pb-sm':'q-pr-lg q-pb-lg']"emit-value
map-options />
<q-select filled stack-label option-value="RoomId" dense option-label="RoomName" v-model="setClassMsg.ClassRoomId"
ref="ClassRoomId" :options="ClassRoomList" label="关联教室" class="col-6"
:class="[$q.platform.is.mobile?'q-pl-sm q-pb-sm':'q-pr-lg q-pb-lg']" emit-value
map-options />
<q-select filled stack-label option-value="Id" dense option-label="LessonName" v-model="setClassMsg.TrialLessonId"
:options="TrialList" label="试听课程" class="col-6"
:class="[$q.platform.is.mobile?'q-pr-sm':'q-pr-lg q-pb-lg']" emit-value map-options />
</el-time-select>
</template>
</q-field>
</div>
</q-card>
</div>
<div class="row wrap">
<q-select filled stack-label option-value="TId" option-label="TeacherName" v-model="setClassMsg.TeacherId"
ref="TeacherId" :options="TeacherList" label="选择教师" dense class="col-6"
:class="[$q.platform.is.mobile?'q-pr-sm q-pb-sm':'q-pr-lg q-pb-lg']" emit-value map-options />
<q-select filled stack-label option-value="RoomId" dense option-label="RoomName"
v-model="setClassMsg.ClassRoomId" ref="ClassRoomId" :options="ClassRoomList" label="关联教室" class="col-6"
:class="[$q.platform.is.mobile?'q-pl-sm q-pb-sm':'q-pr-lg q-pb-lg']" emit-value map-options />
<q-select filled stack-label option-value="Id" dense option-label="LessonName"
v-model="setClassMsg.TrialLessonId" :options="TrialList" label="试听课程" class="col-6"
:class="[$q.platform.is.mobile?'q-pr-sm':'q-pr-lg q-pb-lg']" emit-value map-options />
</div>
</q-card>
<div slot="footer" class="dialog-footer"
:class="[$q.platform.is.mobile?'text-center q-pt-lg row':'text-right q-pb-lg']">
:class="[$q.platform.is.mobile?'text-center q-pt-lg row':'text-right q-pb-lg']">
<el-button v-if="!$q.platform.is.mobile" @click="closeShitingKaiKe()">取 消</el-button>
<el-button type="primary" @click="SetVisitorReserveClass()"
:class="[$q.platform.is.mobile?'col-12':'']">{{type?'保 存':'确 定'}}</el-button>
<el-button type="primary" @click="SetVisitorReserveClass()" :class="[$q.platform.is.mobile?'col-12':'']">
{{type?'保 存':'确 定'}}</el-button>
</div>
<statusPrompt v-if="isSuccess" :isSuccess="isSuccess" :isSuccessTitle="isSuccessTitle"></statusPrompt>
</div>
......@@ -87,7 +85,7 @@
} from "../../../api/school/index";
import statusPrompt from "./statusPrompt";
export default {
props: ['VisitorReserveClassMsg','type'],
props: ['VisitorReserveClassMsg', 'type'],
components: {
statusPrompt
},
......@@ -97,26 +95,26 @@
TeacherList: [],
ClassRoomList: [],
TrialList: [],
setClassMsg:{
Id:0,
Visitor_Id:0,
Remark:"",
ReserveClassId:0,
ClassDate:"",
ReservationDate:"",
ClassTime:"",
TeacherId:0,
ClassRoomId:0,
ClassContent:"",
EndTime:"",
TrialLessonId:0,
ReserveType:0,
ClassPlanId:0,
Demand:"",
setClassMsg: {
Id: 0,
Visitor_Id: 0,
Remark: "",
ReserveClassId: 0,
ClassDate: "",
ReservationDate: "",
ClassTime: "",
TeacherId: 0,
ClassRoomId: 0,
ClassContent: "",
EndTime: "",
TrialLessonId: 0,
ReserveType: 0,
ClassPlanId: 0,
Demand: "",
},
isSuccess: false,
isSuccessTitle: '',
Id:0,
Id: 0,
}
},
watch: {
......@@ -152,7 +150,7 @@
},
computed: {},
mounted() {
if(this.$route.query.Id){
if (this.$route.query.Id) {
this.Id = this.$route.query.Id
this.GetVisitorReserve()
}
......@@ -161,7 +159,7 @@
this.getClassRoomList()
},
methods: {
//保存
//保存
SetVisitorReserveClass() {
if (this.setClassMsg.ClassDate == "") {
this.$q.notify({
......@@ -218,55 +216,55 @@
return;
}
SetVisitorReserveClass(this.setClassMsg).then(res => {
if (res.Code == 1) {
if(this.type){
this.isSuccess = true
this.isSuccessTitle = '试听课开课成功!'
}else{
this.$q.notify({
icon: "iconfont icon-chenggong",
color: "accent",
timeout: 2000,
message: res.Message,
position: "top"
});
}
this.$emit("success");
if (res.Code == 1) {
if (this.type) {
this.isSuccess = true
this.isSuccessTitle = '试听课开课成功!'
} else {
this.$q.notify({
type: "negative",
position: "top",
icon: "iconfont icon-chenggong",
color: "accent",
timeout: 2000,
message: res.Message
message: res.Message,
position: "top"
});
}
this.$emit('close')
});
this.$emit("success");
} else {
this.$q.notify({
type: "negative",
position: "top",
timeout: 2000,
message: res.Message
});
}
this.$emit('close')
});
},
closeShitingKaiKe(){
closeShitingKaiKe() {
this.setClassMsg = {
Id:0,
Visitor_Id:0,
Remark:"",
ReserveClassId:0,
ClassDate:"",
ReservationDate:"",
ClassTime:"",
TeacherId:0,
ClassRoomId:0,
ClassContent:"",
EndTime:"",
TrialLessonId:0,
ReserveType:0,
ClassPlanId:0,
Demand:"",
Id: 0,
Visitor_Id: 0,
Remark: "",
ReserveClassId: 0,
ClassDate: "",
ReservationDate: "",
ClassTime: "",
TeacherId: 0,
ClassRoomId: 0,
ClassContent: "",
EndTime: "",
TrialLessonId: 0,
ReserveType: 0,
ClassPlanId: 0,
Demand: "",
}
this.$emit('close')
},
timeFormatSeconds(time,type) {
let timeStr="";
if(time==='0001-01-01T00:00:00'){
timeFormatSeconds(time, type) {
let timeStr = "";
if (time === '0001-01-01T00:00:00') {
return timeStr;
}
var d = time ? new Date(time) : new Date();
......@@ -275,17 +273,17 @@
var day = d.getDate();
if (month < 10) month = '0' + month;
if (day < 10) day = '0' + day;
if(type==2){
if (type == 2) {
var hours = d.getHours();
var min = d.getMinutes();
var seconds = d.getSeconds();
if (hours < 0) hours = '0' + hours;
if (min < 10) min = '0' + min;
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;
},
//试听课程列表
......@@ -325,34 +323,34 @@
});
},
GetVisitorReserve() {
GetVisitorReserveById({
Id: this.Id
}).then(res => {
if(res.Data.length>0){
let Data = res.Data[0]
this.setClassMsg = {
Id: Data.Id, //编号
Visitor_Id: Data.Visitor_Id, //访客编号
ReserveClassId: Data.ReserveClassId, //选中的班级编号
ClassDate: Data.ClassDateStr, //预约日期
ClassTime: Data.ClassTime, //预约开始时间
EndTime: Data.EndTime, //预约结束时间
TeacherId: Data.TeacherId, //教师编号
TeacherName: Data.TeacherName,
ClassRoomId: Data.ClassRoomId, //教室编号
RoomName: Data.RoomName,
ClassContent: Data.ClassContent, //主讲内容
TrialLessonId: Data.TrialLessonId,
LessonName: Data.LessonName,
ReserveType: Data.ReserveType,
ClassPlanId: Data.ClassPlanId,
VisitorName: Data.VisitorName,
Demand: Data.Demand,
ReservationDate: Data.ReservationDate,
}
GetVisitorReserveById({
Id: this.Id
}).then(res => {
if (res.Data.length > 0) {
let Data = res.Data[0]
this.setClassMsg = {
Id: Data.Id, //编号
Visitor_Id: Data.Visitor_Id, //访客编号
ReserveClassId: Data.ReserveClassId, //选中的班级编号
ClassDate: Data.ClassDateStr, //预约日期
ClassTime: Data.ClassTime, //预约开始时间
EndTime: Data.EndTime, //预约结束时间
TeacherId: Data.TeacherId, //教师编号
TeacherName: Data.TeacherName,
ClassRoomId: Data.ClassRoomId, //教室编号
RoomName: Data.RoomName,
ClassContent: Data.ClassContent, //主讲内容
TrialLessonId: Data.TrialLessonId,
LessonName: Data.LessonName,
ReserveType: Data.ReserveType,
ClassPlanId: Data.ClassPlanId,
VisitorName: Data.VisitorName,
Demand: Data.Demand,
ReservationDate: Data.ReservationDate,
}
}
})
})
},
}
......
......@@ -3,15 +3,13 @@
background: transparent !important;
border: 0 !important;
}
</style>
<template>
<div class="page-body">
<div class="page-search"
:class="[$q.platform.is.desktop?'row items-center':'']">
<div class="col row wrap q-col-gutter-md"
:class="[$q.platform.is.desktop?'q-mr-lg':'']">
<div
:class="[$q.platform.is.desktop?'col-3':'col-12']">
<div class="page-search" :class="[$q.platform.is.desktop?'row items-center':'']">
<div class="col row wrap q-col-gutter-md" :class="[$q.platform.is.desktop?'q-mr-lg':'']">
<div :class="[$q.platform.is.desktop?'col-3':'col-12']">
<div class="Sysuser_Date">
<q-field filled>
<template v-slot:control>
......@@ -25,37 +23,13 @@
</q-field>
</div>
</div>
<!-- <div class="col-3">
<q-select @input="resetSearch" filled option-value="TId" option-label="TeacherName" v-model="msg.TeacherId"
:options="TeacherList" emit-value map-options label="老师" clearable />
</div>
<div class="col-3">
<q-select @input="resetSearch" filled stack-label option-value="RoomId" option-label="RoomName"
v-model="msg.ClassRoomId" ref="ClassRoomId" :options="ClassRoomList" label="关联教室" clearable :dense="false"
class="col-6 q-pb-lg" emit-value map-options />
</div>
<div class="col-3">
<q-input @input="resetSearch" clearable filled v-model="msg.LessonName" label="试听课程名称" @clear="resetSearch"
maxlength="20" />
</div> -->
</div>
</div>
<reservelist :data="dataList" :authObj="authObj" :loading="loading" @success="resetSearch"></reservelist>
<q-card
class="light-shadow q-pa-md bg-white rounded-borders q-mb-md"
v-if="msg.pageCount > 0"
flat
>
<q-pagination v-if="$q.platform.is.mobile"
class="full-width justify-end"
v-model="msg.pageIndex"
color="primary"
:max="msg.pageCount"
:input="true"
@update:model-value="changePageHandler"
/>
</q-card>
<reservelist :data="dataList" :authObj="authObj" :loading="loading" @success="refreshPage"></reservelist>
<q-card class="light-shadow q-pa-md bg-white rounded-borders q-mb-md" v-if="msg.pageCount > 0" flat>
<q-pagination v-if="$q.platform.is.mobile" class="full-width justify-end" v-model="msg.pageIndex" color="primary"
:max="msg.pageCount" :input="true" @update:model-value="changePageHandler" />
</q-card>
<q-pagination class="full-width justify-end" v-model="msg.pageIndex" color="primary" :max="PageCount" :input="true"
@input="changePage" />
</div>
......@@ -71,7 +45,7 @@
import reservelist from '../../components/schedul/reservestudentlist'
export default {
meta: {
title: "试听班级管理"
title: "试听开课管理"
},
components: {
reservelist
......@@ -88,8 +62,8 @@
ClassRoomId: "", //教室编号
LessonName: '', //课程名称
Visitor_Id: 0,
IsReserve:1,
IsQNotReserveClassId:1,
IsReserve: 1,
IsQNotReserveClassId: 1,
},
dataList: [],
loading: false,
......@@ -106,7 +80,7 @@
var year = nowDay.getFullYear(); //年
var month = nowDay.getMonth() + 1; //月
var day = nowDay.getDate(); //日
this.msg.StartClassDate = year + '-' + month + '-' + day
this.msg.StartClassDate = year + '-' + month + '-' + day
if (this.$route.query) {
if (this.$route.query.StartClassDate) {
......@@ -172,7 +146,9 @@
},
}
}
</script>
<style lang="sass">
@import url('~assets/css/table.sass')
</style>
......@@ -80,12 +80,9 @@ export default {
},
//域名管理对象
Vue.prototype.domainManager = function () {
//let domainUrl = 'http://192.168.10.214';
let domainUrl = 'http://192.168.5.57';
let viewFileUrl = 'http://192.168.5.214:8120';
let mallUrl = "http://192.168.5.2:8088";
let mallUrl = "http://192.168.5.46:8200";
let vtUploadUrl = "http://upload.oytour.com";
let vtViewUrl = "http://192.168.5.214:8130";
let locationName = window.location.hostname;
......
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