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

页面修改

parent 5516e5e9
This diff is collapsed.
...@@ -193,7 +193,6 @@ export default { ...@@ -193,7 +193,6 @@ export default {
}, },
mounted() { mounted() {
this.currentMenu = this.menulist[0].id.toString(); this.currentMenu = this.menulist[0].id.toString();
//console.log(this.todoTipList);
}, },
methods: {} methods: {}
}; };
......
<template> <template>
<div class="full-height"> <div class="full-height">
<div class="row items-center"> <div class="row items-center">
<q-avatar <q-avatar size="40px" font-size="20px" color="primary" class="q-mr-md" text-color="white" rounded
size="40px" :icon="`iconfont ${node.icon}`" />
font-size="20px"
color="primary"
class="q-mr-md"
text-color="white"
rounded
:icon="`iconfont ${node.icon}`"
/>
<div class="pingfang text-subtitle1">{{ node.name }}</div> <div class="pingfang text-subtitle1">{{ node.name }}</div>
</div> </div>
<div class="q-my-md row"> <div class="q-my-md row">
<q-input <q-input standout v-model="msg.KeyWords" dense type="text" style="width:250px;" label="关键字(名称/微信/手机号)"
standout class="q-mr-md" />
v-model="msg.KeyWords" <q-btn color="primary" class="q-px-md" label="查询" unelevated dense @click="searchKeyHandler" />
dense
type="text"
style="width:250px;"
label="关键字(名称/微信/手机号)"
class="q-mr-md"
/>
<q-btn
color="primary"
class="q-px-md"
label="查询"
unelevated
dense
@click="searchKeyHandler"
/>
<div class="col text-right text-grey-6 f12"> <div class="col text-right text-grey-6 f12">
TIPS:创建订单后,请及时完成订单款项的入账动作,收款单据点击“修改-选择学员-制单”完成此项任务。 TIPS:创建订单后,请及时完成订单款项的入账动作,收款单据点击“修改-选择学员-制单”完成此项任务。
</div> </div>
</div> </div>
<div style="height:calc(100% - 158px);overflow-y:auto;"> <div style="height:calc(100% - 158px);overflow-y:auto;">
<orderlist <orderlist :dataList="stus" @success="refreshPage" :loading="loading" :authObj="authObj"></orderlist>
:dataList="stus"
@success="refreshPage"
:loading="loading"
:authObj="authObj"
></orderlist>
</div> </div>
<div class="row" style="justify-content: flex-end;padding: 5px 20px"> <div class="row" style="justify-content: flex-end;padding: 5px 20px">
<q-pagination <q-pagination v-model="msg.PageIndex" :max="pageCount" @input="changePage" class="full-width justify-end"
v-model="msg.PageIndex" color="primary" :input="true">
:max="pageCount"
@input="changePage"
class="full-width justify-end"
color="primary"
:input="true"
>
</q-pagination> </q-pagination>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import orderlist from "../sale/orderlist.vue"; import orderlist from "../sale/orderlist.vue";
import { getMyOrderNotBalance } from "../../api/stuMan/index"; import {
export default { getMyOrderNotBalance
components: { orderlist }, } from "../../api/stuMan/index";
export default {
components: {
orderlist
},
props: ["node"], props: ["node"],
data() { data() {
return { return {
...@@ -97,7 +69,6 @@ export default { ...@@ -97,7 +69,6 @@ export default {
.then(r => { .then(r => {
this.stus = r.Data.PageData; this.stus = r.Data.PageData;
this.pageCount = r.Data.PageCount; this.pageCount = r.Data.PageCount;
console.log(this.stus);
setTimeout(() => { setTimeout(() => {
this.loading = false; this.loading = false;
}, 1000); }, 1000);
...@@ -118,7 +89,7 @@ export default { ...@@ -118,7 +89,7 @@ export default {
this.getStudent(); this.getStudent();
} }
} }
}; };
</script> </script>
<style>
<style></style> </style>
\ No newline at end of file
...@@ -225,7 +225,6 @@ export default { ...@@ -225,7 +225,6 @@ export default {
methods: { methods: {
initTodoList() { initTodoList() {
getTodayStatic().then(r => { getTodayStatic().then(r => {
console.log(r);
let d = r.Data; let d = r.Data;
this.todoList.result = d; this.todoList.result = d;
let tempCount = 0; let tempCount = 0;
......
<template> <template>
<div class="page-body room-list" v-loading="loading"> <div class="page-body room-list" v-loading="loading">
<div v-for="(item, i) in classdata" :key="item.Key"> <div v-for="(item, i) in classdata" :key="item.Key">
<template <template v-if="
v-if="
item.SchoolName.indexOf('武侯') == -1 && item.SchoolName.indexOf('武侯') == -1 &&
item.SchoolName.indexOf('眉山') == -1 item.SchoolName.indexOf('眉山') == -1
" ">
>
<div class="row items-center"> <div class="row items-center">
<div class="text-h6 col">{{ item.SchoolName }}</div> <div class="text-h6 col">{{ item.SchoolName }}</div>
<div v-if="i == 0" class="f12">只看在线:</div> <div v-if="i == 0" class="f12">只看在线:</div>
<div v-if="i == 0"> <div v-if="i == 0">
<el-switch <el-switch v-model="queryStatus" @change="changeViewStatusHandler"></el-switch>
v-model="queryStatus"
@change="changeViewStatusHandler"
></el-switch>
</div> </div>
</div> </div>
<div class="q-mt-md q-mb-lg row"> <div class="q-mt-md q-mb-lg row">
<template v-for="(x, xi) in item.RoomList"> <template v-for="(x, xi) in item.RoomList">
<div <div class="class-room" style="width:calc(20% - 10px);margin-right:10px;margin-bottom:10px;"
class="class-room" v-if="queryStatus == 0 || (queryStatus == 1 && x.StatusInfo)" :key="xi">
style="width:calc(20% - 10px);margin-right:10px;margin-bottom:10px;"
v-if="queryStatus == 0 || (queryStatus == 1 && x.StatusInfo)"
:key="xi"
>
<div class="img-box"> <div class="img-box">
<q-img <q-img :src="x.RoomPicList[0]" height="100%" fit="fill" spinner-color="primary" spinner-size="30px"
:src="x.RoomPicList[0]" v-if="x.RoomPicList && x.RoomPicList.length > 0" />
height="100%" <q-img src="../../assets/images/classroom/bg-img.jpg" fit="fill" height="100%" spinner-color="primary"
fit="fill" spinner-size="30px" v-else />
spinner-color="primary"
spinner-size="30px"
v-if="x.RoomPicList && x.RoomPicList.length > 0"
/>
<q-img
src="../../assets/images/classroom/bg-img.jpg"
fit="fill"
height="100%"
spinner-color="primary"
spinner-size="30px"
v-else
/>
</div> </div>
<div class="xuhua"></div> <div class="xuhua"></div>
<div class="q-pa-md"> <div class="q-pa-md">
...@@ -58,37 +37,19 @@ ...@@ -58,37 +37,19 @@
</div> </div>
<div class="q-mt-lg f12 row items-center"> <div class="q-mt-lg f12 row items-center">
<div class="text-grey-6 f12 col"> <div class="text-grey-6 f12 col">
<span <span class="q-px-xs text-white q-mr-md inline-block text-weight-bold"
class="q-px-xs text-white q-mr-md inline-block text-weight-bold" style="border-radius:4px;font-size:15;" :class="{
style="border-radius:4px;font-size:15;"
:class="{
'bg-grey-3': !x.StatusInfo, 'bg-grey-3': !x.StatusInfo,
'bg-negative': x.StatusInfo 'bg-negative': x.StatusInfo
}" }">
>
LIVE LIVE
</span> </span>
<span class="text-grey-6" v-if="!x.StatusInfo" <span class="text-grey-6" v-if="!x.StatusInfo">设备离线</span>
>设备离线</span <span class="text-grey-6" v-else-if="x.StatusInfo.UnLockUserName == 'lock'">设备在线,未解锁</span>
> <span class="text-grey-6" v-else>{{ x.StatusInfo.UnLockUserName }}正在使用</span>
<span
class="text-grey-6"
v-else-if="x.StatusInfo.UnLockUserName == 'lock'"
>设备在线,未解锁</span
>
<span class="text-grey-6" v-else
>{{ x.StatusInfo.UnLockUserName }}正在使用</span
>
</div> </div>
<div v-if="x.StatusInfo"> <div v-if="x.StatusInfo">
<q-btn <q-btn color="primary" dense class="f12" flat label="链接" @click="openVideo(x)" />
color="primary"
dense
class="f12"
flat
label="链接"
@click="openVideo(x)"
/>
</div> </div>
</div> </div>
</div> </div>
...@@ -98,24 +59,20 @@ ...@@ -98,24 +59,20 @@
</template> </template>
</div> </div>
<q-dialog v-model="showVideo" @hide="clearVideo"> <q-dialog v-model="showVideo" @hide="clearVideo">
<q-card <q-card class="my-card"
class="my-card" style="width:64vw !important;max-width:64vw !important;max-height:32vw !important;height:32vw !important;" flat>
style="width:64vw !important;max-width:64vw !important;max-height:32vw !important;height:32vw !important;" <div id="player-con" style="width:100%;height:100%;overflow:hidden;"></div>
flat
>
<div
id="player-con"
style="width:100%;height:100%;overflow:hidden;"
></div>
</q-card> </q-card>
</q-dialog> </q-dialog>
</div> </div>
</template> </template>
<script> <script>
import { getUseClassRoomList } from "../../api/classroom/index"; import {
import * as signalR from "@aspnet/signalr"; getUseClassRoomList
export default { } from "../../api/classroom/index";
import * as signalR from "@aspnet/signalr";
export default {
meta: { meta: {
title: "教室状态" title: "教室状态"
}, },
...@@ -135,7 +92,6 @@ export default { ...@@ -135,7 +92,6 @@ export default {
created() { created() {
let thisVue = this; let thisVue = this;
console.log(process.env.API_SIG);
this.connection = new signalR.HubConnectionBuilder() this.connection = new signalR.HubConnectionBuilder()
.withUrl(process.env.API_SIG, { .withUrl(process.env.API_SIG, {
skipNegotiation: true, skipNegotiation: true,
...@@ -143,9 +99,8 @@ export default { ...@@ -143,9 +99,8 @@ export default {
}) })
.configureLogging(signalR.LogLevel.Information) .configureLogging(signalR.LogLevel.Information)
.build(); .build();
this.connection.on("RoomStatusChange", function(message) { this.connection.on("RoomStatusChange", function (message) {
thisVue.roomStatusList = JSON.parse(message); thisVue.roomStatusList = JSON.parse(message);
console.log(thisVue.roomStatusList);
thisVue.changeStatus(); thisVue.changeStatus();
}); });
this.connection.onclose(async () => { this.connection.onclose(async () => {
...@@ -176,8 +131,7 @@ export default { ...@@ -176,8 +131,7 @@ export default {
}); });
}, },
initPlayer(url) { initPlayer(url) {
this.player = new Aliplayer( this.player = new Aliplayer({
{
id: "player-con", id: "player-con",
source: url, source: url,
width: "100%", width: "100%",
...@@ -190,7 +144,7 @@ export default { ...@@ -190,7 +144,7 @@ export default {
controlBarVisibility: "hover", controlBarVisibility: "hover",
useH5Prism: true useH5Prism: true
}, },
function(player) {} function (player) {}
); );
}, },
changeStatus() { changeStatus() {
...@@ -225,11 +179,9 @@ export default { ...@@ -225,11 +179,9 @@ export default {
this.connection this.connection
.start() .start()
.then(() => { .then(() => {
console.log("linke success");
thatVue.connection.invoke("RegistErp", "IMERP"); thatVue.connection.invoke("RegistErp", "IMERP");
}) })
.catch(e => { .catch(e => {
console.log(e);
setTimeout(() => { setTimeout(() => {
thatVue.linkHub(); thatVue.linkHub();
}, 3000); }, 3000);
...@@ -263,35 +215,39 @@ export default { ...@@ -263,35 +215,39 @@ export default {
}); });
} }
} }
}; };
</script> </script>
<style> <style>
.class-room { .class-room {
border: 1px solid #f5f5f5; border: 1px solid #f5f5f5;
border-radius: 10px; border-radius: 10px;
position: relative; position: relative;
overflow: hidden; overflow: hidden;
} }
.class-room .img-box {
.class-room .img-box {
height: 80px; height: 80px;
} }
.class-room .xuhua {
.class-room .xuhua {
position: absolute; position: absolute;
top: 0; top: 0;
height: 80px; height: 80px;
left: 0; left: 0;
right: 0; right: 0;
backdrop-filter: blur(4px); backdrop-filter: blur(4px);
} }
.class-room:hover .xuhua {
.class-room:hover .xuhua {
backdrop-filter: none; backdrop-filter: none;
} }
.no-data {
.no-data {
height: 75px; height: 75px;
font-size: 14px; font-size: 14px;
color: #000000; color: #000000;
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
} }
</style> </style>
\ No newline at end of file
...@@ -34,7 +34,7 @@ ...@@ -34,7 +34,7 @@
<el-option :key="0" label="全部" :value="0"> </el-option> <el-option :key="0" label="全部" :value="0"> </el-option>
<el-option :key="1" label="跟班课" :value="1"> </el-option> <el-option :key="1" label="跟班课" :value="1"> </el-option>
<el-option :key="2" label="试听课" :value="2"> </el-option> <el-option :key="2" label="试听课" :value="2"> </el-option>
<el-option :key="2" label="预约课" :value="3"> </el-option> <el-option :key="3" label="预约课" :value="3"> </el-option>
<div slot="prefix" class="full-height flex items-center" style="color: #000; padding-right: 10px"> <div slot="prefix" class="full-height flex items-center" style="color: #000; padding-right: 10px">
类型: 类型:
</div> </div>
......
...@@ -2,8 +2,7 @@ ...@@ -2,8 +2,7 @@
<div class="page-body MainPlan xg"> <div class="page-body MainPlan xg">
<div class="col row wrap q-col-gutter-md"> <div class="col row wrap q-col-gutter-md">
<div class="col-2"> <div class="col-2">
<el-select v-model="msg.TeacherId" style="width: 100%" placeholder="教师" size="small" <el-select v-model="msg.TeacherId" style="width: 100%" placeholder="教师" size="small" @change="getTypeWay()">
@change="getTypeWay()">
<el-option v-for="item in TeacherList" :key="item.TeacherName" :label="item.TeacherName" :value="item.TId"> <el-option v-for="item in TeacherList" :key="item.TeacherName" :label="item.TeacherName" :value="item.TId">
</el-option> </el-option>
<div slot="prefix" class="full-height flex items-center" style="color: #000; padding-right: 10px"> <div slot="prefix" class="full-height flex items-center" style="color: #000; padding-right: 10px">
...@@ -36,13 +35,18 @@ ...@@ -36,13 +35,18 @@
<el-option :key="0" label="全部" :value="0"> </el-option> <el-option :key="0" label="全部" :value="0"> </el-option>
<el-option :key="1" label="跟班课" :value="1"> </el-option> <el-option :key="1" label="跟班课" :value="1"> </el-option>
<el-option :key="2" label="试听课" :value="2"> </el-option> <el-option :key="2" label="试听课" :value="2"> </el-option>
<el-option :key="2" label="预约课" :value="3"> </el-option> <el-option :key="3" label="预约课" :value="3"> </el-option>
<div slot="prefix" class="full-height flex items-center" style="color: #000; padding-right: 10px"> <div slot="prefix" class="full-height flex items-center" style="color: #000; padding-right: 10px">
状态: 状态:
</div> </div>
</el-select> </el-select>
</div> </div>
<div class="col-2"> <div class="col-2">
<el-input v-model="msg.StuName" style="width: 100%" placeholder="学员姓名" size="small" @input="getTypeWay()" clearable>
<div slot="prefix" class="full-height flex items-center" style="color: #000; padding-right: 10px">
学员:
</div>
</el-input>
</div> </div>
</div> </div>
<teachTable v-if="commonType == 2" :tableData="tableData" :PageCount="PageCount" :setMsg="tabMsg" :showCZ="true" <teachTable v-if="commonType == 2" :tableData="tableData" :PageCount="PageCount" :setMsg="tabMsg" :showCZ="true"
...@@ -54,11 +58,13 @@ ...@@ -54,11 +58,13 @@
import { import {
getTeacherDropDownList, getTeacherDropDownList,
queryClassRoomList, queryClassRoomList,
getStudentDorpDownList,
} from "../../api/school/index"; } from "../../api/school/index";
import { import {
GetClassPlanStatistical, GetClassPlanStatistical,
GetClassPlanStatisticalPage, GetClassPlanStatisticalPage,
} from "../../api/teacher/index"; } from "../../api/teacher/index";
import classmateForm from "../../components/course/classmate-form"; import classmateForm from "../../components/course/classmate-form";
import teachTable from "../teacher/components/teachTable"; import teachTable from "../teacher/components/teachTable";
import changeClassForm from "../../components/teacher/changeClassForm.vue"; import changeClassForm from "../../components/teacher/changeClassForm.vue";
...@@ -81,13 +87,15 @@ ...@@ -81,13 +87,15 @@
TeacherId: 0, TeacherId: 0,
ClassRoomId: 0, ClassRoomId: 0,
dataList: {}, dataList: {},
loading:false, loading: false,
msg: { msg: {
StartTime: "", StartTime: "",
EndTime: "", EndTime: "",
TeacherId: 0, TeacherId: 0,
ClassRoomId: 0, ClassRoomId: 0,
ClassType: 0, ClassType: 0,
Student_Id: "",
StuName: "",
}, },
commonType: 2, //1日历模式 2列表模式 commonType: 2, //1日历模式 2列表模式
typeName: "列表模式", typeName: "列表模式",
...@@ -101,6 +109,7 @@ ...@@ -101,6 +109,7 @@
ClassRoomId: 0, ClassRoomId: 0,
ClassType: 0, ClassType: 0,
OrderBy: 1, OrderBy: 1,
StuName:"",
}, },
tableData: [], //表格数据 tableData: [], //表格数据
PageCount: 0, PageCount: 0,
...@@ -121,6 +130,7 @@ ...@@ -121,6 +130,7 @@
}, },
}, },
today: "", today: "",
StuList: [], //学员列表
}; };
}, },
created() { created() {
...@@ -148,6 +158,13 @@ ...@@ -148,6 +158,13 @@
this.getTableList(); this.getTableList();
}, },
methods: { methods: {
queryStuList() {
getStudentDorpDownList({}).then(res => {
if (res.Code == 1) {
this.StuList = res.Data;
}
});
},
refreshPage() { refreshPage() {
this.getPlanList(); this.getPlanList();
}, },
...@@ -212,10 +229,11 @@ ...@@ -212,10 +229,11 @@
this.tabMsg.EndTime = this.msg.EndTime; this.tabMsg.EndTime = this.msg.EndTime;
this.tabMsg.ClassRoomId = this.msg.ClassRoomId; this.tabMsg.ClassRoomId = this.msg.ClassRoomId;
this.tabMsg.ClassType = this.msg.ClassType; this.tabMsg.ClassType = this.msg.ClassType;
this.tabMsg.TeacherId=this.msg.TeacherId; this.tabMsg.TeacherId = this.msg.TeacherId;
this.loading=true; this.tabMsg.StuName=this.msg.StuName;
this.loading = true;
GetClassPlanStatisticalPage(this.tabMsg).then((res) => { GetClassPlanStatisticalPage(this.tabMsg).then((res) => {
this.loading=false; this.loading = false;
if (res.Code == 1) { if (res.Code == 1) {
this.tableData = res.Data.PageData; this.tableData = res.Data.PageData;
this.PageCount = res.Data.PageCount; this.PageCount = res.Data.PageCount;
...@@ -235,11 +253,9 @@ ...@@ -235,11 +253,9 @@
}, },
}, },
}; };
</script> </script>
<style lang="scss"> <style lang="scss">
.xg .el-input--prefix .el-input__inner { .xg .el-input--prefix .el-input__inner {
padding-left: 50px; padding-left: 50px;
} }
</style> </style>
\ No newline at end of file
...@@ -38,7 +38,8 @@ ...@@ -38,7 +38,8 @@
</q-td> </q-td>
<template v-for="(subItem,subIndex) in props.row.SubtypeList[cIndex].OptionList"> <template v-for="(subItem,subIndex) in props.row.SubtypeList[cIndex].OptionList">
<q-td :key="subIndex+200000" class="assessmentType_td"> <q-td :key="subIndex+200000" class="assessmentType_td">
<div style="width:150px;white-space:normal; "> {{subItem.LevelDesc}} <q-badge color="green" v-if="subItem.LevelScore>0"> <div style="width:150px;white-space:normal; "> {{subItem.LevelDesc}} <q-badge color="green"
v-if="subItem.LevelScore>0">
{{subItem.LevelScore}} {{subItem.LevelScore}}
</q-badge> </q-badge>
</div> </div>
...@@ -60,7 +61,8 @@ ...@@ -60,7 +61,8 @@
</q-td> </q-td>
<template v-for="(subItem,subIndex) in props.row.SubtypeList[cIndex].OptionList"> <template v-for="(subItem,subIndex) in props.row.SubtypeList[cIndex].OptionList">
<q-td :key="subIndex+400000" class="assessmentType_td"> <q-td :key="subIndex+400000" class="assessmentType_td">
<div style="width:150px;white-space:normal; "> {{subItem.LevelDesc}} <q-badge color="green" v-if="subItem.LevelScore>0"> <div style="width:150px;white-space:normal; "> {{subItem.LevelDesc}} <q-badge color="green"
v-if="subItem.LevelScore>0">
{{subItem.LevelScore}} {{subItem.LevelScore}}
</q-badge> </q-badge>
</div> </div>
...@@ -113,7 +115,6 @@ ...@@ -113,7 +115,6 @@
this.columns = []; this.columns = [];
queryAssessmentTypeList(this.msg).then(res => { queryAssessmentTypeList(this.msg).then(res => {
this.loading = false; this.loading = false;
console.log("res", res);
if (res.Code == 1) { if (res.Code == 1) {
this.dataList = res.Data.result; this.dataList = res.Data.result;
this.columns = res.Data.header; this.columns = res.Data.header;
......
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