Commit f0d4aeea authored by 罗超's avatar 罗超
parents f1fe3797 d3c4cfd5
......@@ -158,6 +158,24 @@
line-height: 41px;
text-align: center;
}
.classFlictTable {
width: 500px;
text-align: center;
}
.classFlictTable tr td {
height: 40px;
color: #000;
}
.classFlictTable tr th {
height: 40px;
background-color: rgb(238, 238, 239);
}
.resStyle{
color:red;
}
</style>
<template>
......@@ -226,9 +244,7 @@
<template v-slot:body-cell-TimeList="props">
<q-td auto-width :props="props">
<div v-for="(item, index) in props.row.TimeList" class="lessForm_Class">
{{ index + 1 }}节课 {{ item.StartTime }}-{{
item.EndTime
}}
{{ index + 1 }}节课 {{ item.StartTime }}-{{item.EndTime}}
</div>
</q-td>
</template>
......@@ -246,9 +262,7 @@
<template v-slot:body-cell-TargetTimeList="props">
<q-td auto-width :props="props">
<div v-for="(item, index) in props.row.NewPlan.TimeList" class="lessForm_Class">
{{ index + 1 }}节课 {{ item.StartTime }}-{{
item.EndTime
}}
{{ index + 1 }}节课 {{ item.StartTime }}-{{item.EndTime}}
</div>
<q-popup-edit :validate="proteinRangeValidation" persistent v-model="props.row.NewPlan.TimeList"
title="变更时间" buttons label-set="确认" label-cancel="取消">
......@@ -507,7 +521,7 @@
</div>
<q-input filled type="textarea" :rows="3" style="margin-top: 20px" stack-label maxlength="2000"
v-model="msg.Remarks" :dense="false" class="col-12 q-pb-lg" label="备注" />
<div class="row">
<div class="row" style="display:none;">
<div class="col-12 q-mt-md text-grey-6">
上传附件:<span class="fj-tip" style="font-size: 10px; color: #f00">*单文件限制5M内</span>
</div>
......@@ -569,6 +583,62 @@
</div>
</div>
</div>
<q-table no-data-label="暂无相关数据" :data="conflictData" v-if="conflictData.length>0" :columns="columns3" flat style="max-height: 300px"
:pagination="pages" class="sticky-column-table no-bottom-table" separator="none" row-key="ClassPlanId">
<template v-slot:top="props">
<div class="text-caption q-px-md text-grey-6 col">
冲突数据
</div>
<q-space />
</template>
<template v-slot:body-cell-PlanTimeList="props">
<q-td>
<div v-for="(item,index) in props.row.PlanTimeList" :key="index">
{{item.StartTime}}-{{item.EndTime}}
</div>
</q-td>
</template>
<template v-slot:body-cell-optioned="props">
<q-td :props="props">
<span>
<q-btn flat size="xs" icon="iconfont icon-View" color="accent" style="font-weight:400" label="查看" />
<q-popup-proxy>
<q-banner>
<table class="classFlictTable" style="border-collapse:collapse;">
<tr>
<th>班级</th>
<th>日期</th>
<th>老师</th>
<th>教室</th>
<th>上课时段</th>
</tr>
<tr v-for="(subItem,subIndex) in props.row.PlanRepeatList" :key="subIndex">
<td style="width:180px;text-align:left;">
{{subItem.ClassName}}
</td>
<td>{{subItem.ClassDate}}</td>
<td><span :class="{'resStyle':props.row.TeacherId==subItem.TeacherId}">
{{subItem.TeacherName}}</span>
</td>
<td>
<span
:class="{'resStyle':props.row.ClassRoomId==subItem.ClassRoomId}">{{subItem.RoomName}}</span>
</td>
<td>
<template v-if="subItem.PlanTimeList&&subItem.PlanTimeList.length>0">
<div v-for="(cItem,cIndex) in subItem.PlanTimeList" :key="cIndex">
{{cItem.StartTime}}-{{cItem.EndTime}}
</div>
</template>
</td>
</tr>
</table>
</q-banner>
</q-popup-proxy>
</span>
</q-td>
</template>
</q-table>
</q-scroll-area>
</q-card-section>
......@@ -840,6 +910,37 @@
picIsShow: false,
picObj: [],
initialIndex: 0,
columns3: [{
name: "ClassDate",
label: "日期",
field: "ClassDate",
align: "left"
},
{
name: "TeacherName",
label: "老师",
field: "TeacherName",
align: "left"
},
{
name: "RoomName",
label: "教室",
field: "RoomName",
align: "left"
},
{
name: "PlanTimeList",
label: "上课时段",
field: "PlanTimeList",
align: "left",
},
{
name: "optioned",
label: "操作",
field: "CourseId"
}
],
conflictData: [],
};
},
created() {
......@@ -910,7 +1011,11 @@
if (month < 10) {
month = "0" + month;
}
var toDay = myDate.getFullYear() + "/" + month + "/" + myDate.getDate();
let day = myDate.getDate();
if(day < 10){
day = "0" + day
}
var toDay = myDate.getFullYear() + "/" + month + "/" + day;
return date >= toDay;
},
//保存修改
......@@ -1099,6 +1204,11 @@
position: "top",
});
}
}).catch((e) => {
if (e.Code == 0) {
//注释 不要删
this.conflictData = e.Data;
}
});
})
.onCancel(() => {});
......@@ -1184,7 +1294,7 @@
this.classList.unshift(obj);
if (this.msg.ClassId > 0 && isClear == 0) {
this.currentClass = this.classList.find((x) => {
return x.ClassId == this.msg.ClassId ;
return x.ClassId == this.msg.ClassId;
}).PlanList;
}
}
......
......@@ -47,8 +47,8 @@
</div>
<q-list style="width:180px;overflow:hidden">
<template v-for="(x,i) in secondNavs">
<q-item :to="x.MenuUrl" clickable v-ripple :active="currentPath==x.MenuUrl" v-if="x.SubList.length==0"
:key="i">
<q-item :to="x.MenuUrl" clickable v-ripple :active="currentPath==x.MenuUrl"
v-if="x.SubList&&x.SubList.length==0" :key="i">
<q-item-section avatar style="min-width:30px;">
<q-icon :name="x.MenuIcon" size="20px" />
</q-item-section>
......@@ -68,7 +68,8 @@
</div>
</div>
<div class="col" style="background: #f2f4f7;">
<q-scroll-area :thumb-style="thumbStyle" :bar-style="barStyle" visible class="fit content-scroll full-width full-height">
<q-scroll-area :thumb-style="thumbStyle" :bar-style="barStyle" visible
class="fit content-scroll full-width full-height">
<router-view />
</q-scroll-area>
</div>
......@@ -119,7 +120,7 @@
isExpend: false,
IsShowLeft: true,
userCenterMenuList: [], //用户中心菜单
socektArr:[], //消息数组
socektArr: [], //消息数组
}
},
components: {
......@@ -153,7 +154,8 @@
handler: function (newVal) {
let i = this.tab.split('_')[1];
if (newVal && newVal.MenuList) {
this.secondNavs = newVal.MenuList.length > 0 ? newVal.MenuList[i].SubList : [];
this.secondNavs = newVal.MenuList.length > 0 ? (newVal.MenuList[i] && newVal.MenuList[i].SubList ? newVal
.MenuList[i].SubList : []) : [];
}
if (newVal && newVal.UserCenterList) {
this.userCenterMenuList = newVal.UserCenterList;
......@@ -176,11 +178,11 @@
}
this.tab = `navs_${i}`
if (this.userInfo && this.userInfo.MenuList) {
this.secondNavs = this.userInfo.MenuList.length > 0 ? this.userInfo.MenuList[i].SubList : []
this.secondNavs = this.userInfo.MenuList.length > 0 ? (this.userInfo.MenuList[i] && this.userInfo.MenuList[i]
.SubList ? this.userInfo.MenuList[i].SubList : []) : []
}
this.$root.$on("goworkobj", (data)=>{
// this.setNavs(0)
this.secondNavs=[]
this.$root.$on("goworkobj", (data) => {
this.secondNavs = []
});
this.getLogList();
this.getMsg();
......@@ -213,7 +215,7 @@
})
},
//获取日志列表
getLogList(){
getLogList() {
GetMsgLogList().then(res => {
if (res.Code == 1) {
this.socektArr = res.Data;
......@@ -231,8 +233,8 @@
getDataFunc(e) {
if (e.data) {
var newData = JSON.parse(e.data)
if(newData.length>0){
for(var i=0;i<newData.length;i++){
if (newData.length > 0) {
for (var i = 0; i < newData.length; i++) {
this.socektArr.unshift(newData[i])
}
}
......
......@@ -341,7 +341,7 @@
ClassName: '', //班级名称
StartTime: '', //开始时间
EndTime: '', //结束时间
School_Id: 0, //关联校区
School_Id: '', //关联校区
CouseId: 0, //课程id
Teacher_Id: 0, //教师id
Q_CanApply: "0", //是否可以报名 1是
......@@ -407,10 +407,6 @@
if (!tempArray) {
tempArray = [];
}
tempArray.unshift({
SId: 0,
SName: "不限"
})
this.schoolList = tempArray;
}
})
......
<style>
._addUpload_stu {
display: block;
margin-top: 15px;
}
._addUpload_stu img {
width: 100%;
}
._addUpload_stu > div {
display:inline-block;
width: 138px;
height: 92px;
border: 1px dashed rgba(210, 210, 210, 1);
border-radius: 2px;
cursor: pointer;
margin-bottom: 10px;
padding: 5px;
margin-right: 10px;
position: relative;
}
._addUpload_stu > div:hover {
background-color: #f5f5f5;
}
.stuCard .el-upload-dragger {
font-size: 28px;
color: #8c939d;
width: 126px;
height: 80px;
line-height: 41px;
text-align: center;
}
._addUpload_stu .icon-guanbi1 {
font-size: 12px;
color: white;
display: inline-block;
margin-left: 15px;
position: absolute;
right: -6px;
top: -9px;
background-color: #f56c6c;
border-radius: 50%;
height: 20px;
width: 20px;
text-align: center;
line-height: 20px;
}
</style>
<template>
<div class="page-body">
<div class="page-content">
......@@ -49,7 +98,7 @@
</q-table>
</div>
<q-dialog v-model="persistent" content-class="bg-grey-1" persistent transition-show="scale" transition-hide="scale">
<q-card style="width: 800px;max-width:900px;">
<q-card style="width: 800px;max-width:900px;" class="stuCard">
<q-card-section>
<div class="text-h6">{{addMsg.Id==0?'新增学员':'修改学员'}}</div>
</q-card-section>
......@@ -152,6 +201,41 @@
<q-input filled stack-label :dense="false" v-model="addMsg.StudyRemark" type="textarea" class="col-12"
label="备注" maxlength="300" />
</div>
<div class="row wrap" style="margin:0 20px;">
<q-input clearable filled class="col-6 q-pb-lg q-pr-lg" v-model="addMsg.GuestContractNo" label="合同编号" />
<q-select class="col-6 q-pb-lg" ref="ContractType" @input="resetContractArr" standout="bg-primary text-white"
option-value="Id" option-label="Name" v-model="addMsg.ContractType" :options="ContractTypeList" emit-value map-options label="上传类型"
use-input new-value-mode="add-unique" />
</div>
<div class="row wrap" style="margin:0 20px;">
<div class="col-12 text-grey-6">
上传附件:<span class="fj-tip" style="font-size: 10px; color: #f00"></span>
</div>
</div>
<div>
<div class="_addUpload_stu" style="margin:15px 0 0 20px;min-height:100px;">
<template v-for="(file, fIndex) in saveMsg">
<div v-if="file.Type == 2">
<div style="width: 100%; height: 100%; overflow: hidden">
<img :src="file.Url ? file.Url : file.Content" @click="showUpLoadFile(file)" />
</div>
<span class="iconfont icon-guanbi1" @click="deleteUploadFile(fIndex)"></span>
</div>
<div v-if="file.Type == 1" style="float:left;">
<div class="iconfont icon-pdf" style="font-size:38px;color:green;text-align:center;line-height:75px;" @click="showUpLoadFile(file)"></div>
<span class="iconfont icon-guanbi1" @click="deleteUploadFile(fIndex)"></span>
</div>
</template>
<div class="_pic_upload">
<el-upload drag :http-request="uploadFileBtn" :multiple="true" :show-file-list="false" action="">
<i class="el-icon-plus avatar-uploader-icon"></i>
<div class="el-upload__text">
{{ $t("active.ld_djscwj") }}
</div>
</el-upload>
</div>
</div>
</div>
<q-separator />
<q-card-actions align="right" class="bg-white">
<q-btn label="取消" flat color="grey-10" style="font-weight:400 !important" @click="closeSaveForm" />
......@@ -160,6 +244,23 @@
</q-card-actions>
</q-card>
</q-dialog>
<div v-if="picIsShow" class="_show_img_box" @click="(picIsShow = false), (picObj = [])">
<div style="
position: absolute;
width: 800px;
height: 600px;
left: 50%;
top: 50%;
margin-left: -400px;
margin-top: -300px;
">
<el-carousel :initial-index="initialIndex" height="600px" :interval="5000" trigger="click">
<el-carousel-item style="height: 600px; overflow: auto" v-for="(item, index) in picObj" :key="index">
<img :src="item" style="" />
</el-carousel-item>
</el-carousel>
</div>
</div>
</div>
</template>
......@@ -323,7 +424,10 @@
StudyRemark: "", //留学就业备注
BirthDate: "", //出生日期
TotalHours: 0, //总课时
StuIcon: '' //头像
StuIcon: '', //头像
GuestContractNo: '', //合同编号
ContractType: 1, //上传类型 1-PDF 2图片
ContractUrl: [] //合同链接
},
GBList: [], //日语基础列表
GEList: [], //学历列表
......@@ -335,6 +439,17 @@
visibleColumns: [
], //可见列
saveMsg: [],
picObj: [],
picIsShow:false,
initialIndex: 0,
ContractTypeList:[{
Name:'PDF',
Id:1
},{
Name:'图片',
Id:2
}]
}
},
created() {
......@@ -375,6 +490,117 @@
this.getGuestPage();
},
methods: {
resetContractArr(){
this.saveMsg = [];
this.addMsg.ContractUrl = [];
},
showUpLoadFile(i) {
// 预览上传文件
if (i.Type == 3) {
this.picObj.push(i.Url);
// this.imgList.push(i.Url)
this.picIsShow = true;
} else {
if (
i.Content.substring(
i.Content.lastIndexOf(".") + 1,
i.Content.length
).toUpperCase() == "PDF" ||
i.Content.substring(
i.Content.lastIndexOf(".") + 1,
i.Content.length
).toUpperCase() == "TXT"
) {
this.previewPDF(i.Url);
} else {
window.open(
"https://view.officeapps.live.com/op/view.aspx?src=" + i.Url
);
}
}
},
deleteUploadFile(i) {
// 删除上传文件
this.saveMsg.splice(i, 1);
this.addMsg.ContractUrl.splice(i, 1);
},
uploadFileBtn(file) {
// 1 文档 2 数据 3 图片,4压缩包,5视频
let typeArr = [{
stringArr: "GIF|JPG|JPEG|PNG|BMP|WEBP",
type: 2,
},
{
stringArr: "PDF|pdf",
type: 1,
},
];
let ft = file.file.name
.substring(file.file.name.lastIndexOf(".") + 1, file.file.name.length)
.toUpperCase();
let fileTypeNumber = 2;
typeArr.forEach((x) => {
if (x.stringArr.indexOf(ft) != "-1") {
fileTypeNumber = x.type;
}
});
if(this.addMsg.ContractType==1){
if(fileTypeNumber!=1){
this.$q.notify({
type: 'negative',
position: "top",
message: `请上传pdf文件`
})
return
}
}
if(this.addMsg.ContractType==2){
if(fileTypeNumber!=2){
this.$q.notify({
type: 'negative',
position: "top",
message: `请上传图片`
})
return
}
}
this.$message.info(this.$t("tips.shangchuanzhong"));
UploadSelfFile(
"Temporary",
file.file,
(x) => {
if (x.Code == 1) {
if(this.addMsg.ContractType==1){
if(this.addMsg.ContractUrl.length<1){
this.saveMsg.push({
Content: x.FileUrl,
ID: 0,
Type: fileTypeNumber,
Url: x.FileUrl,
});
this.addMsg.ContractUrl.push(x.FileUrl);
}else{
this.$q.notify({
type: 'negative',
position: "top",
message: `只能上传一个PDF文件`
})
}
}else{
this.saveMsg.push({
Content: x.FileUrl,
ID: 0,
Type: fileTypeNumber,
Url: x.FileUrl,
});
this.addMsg.ContractUrl.push(x.FileUrl);
}
this.$message.success(this.$t("tips.scchenggong"));
}
},
1
);
},
getOrderInfo() {
var qMsg = {
ClassId: this.msg.ClassId,
......@@ -516,7 +742,7 @@
VolunteerMajor: "", //志愿专业
Price: 0, //价格
StudyRemark: "", //留学就业备注
TotalHours:this.CourseClassHourse,
TotalHours: this.CourseClassHourse,
}
},
//新增学员弹窗
......@@ -552,6 +778,20 @@
}
this.addMsg.TotalHours = item.TotalHours;
this.addMsg.StuIcon = item.StuIcon;
this.addMsg.ContractType = item.ContractType;
this.addMsg.GuestContractNo = item.GuestContractNo;
this.addMsg.ContractUrl = item.ContractUrlList;
this.saveMsg=[];
if(this.addMsg.ContractUrl&&this.addMsg.ContractUrl.length>0){
this.addMsg.ContractUrl.forEach(x=>{
this.saveMsg.push({
Content: x,
ID: 0,
Type: this.addMsg.ContractType,
Url: x
});
})
}
this.persistent = true;
},
//删除学员
......
......@@ -114,9 +114,8 @@
// if(endTime){
// return Date.now() - 8.64e7>time.getTime()>=new Date(endTime).getTime()- 8.64e7
// }else{
return time.getTime() < Date.now() - 8.64e7
// return time.getTime() < Date.now() - 8.64e7
// }
}
},
pickerEnd: {
......@@ -127,7 +126,6 @@
} else {
return time.getTime() < Date.now() - 8.64e7
}
}
}
};
......@@ -138,12 +136,9 @@
}
let date = new Date();
let today = date.getFullYear() + '-' + (date.getMonth() < 9 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) +
'-' + (date.getDate() < 10 ? '0' + date.getDate() < 10 : date.getDate())
'-' + (date.getDate() < 10 ? '0' + date.getDate() : date.getDate())
this.msg.StartTime = today
this.tabMsg.StartTime = today
// let userinfo = this.getLocalStorage();
// this.msg.TeacherId = userinfo.AccountId;
// this.tabMsg.TeacherId = userinfo.AccountId;
this.getClassRoomList();
},
mounted() {
......
<template>
<div class="page-body MainPlan xg">
<div class="col row wrap q-col-gutter-md">
<div class="col-2 flex">
<el-select
v-model="msg.TeacherId"
style="width: 100%"
placeholder="教师"
size="small"
@change="getTableList()"
>
<el-option
v-for="item in TeacherList"
:key="item.TeacherName"
:label="item.TeacherName"
:value="item.TId"
>
<div class="col-2">
<el-select v-model="msg.TeacherId" style="width: 100%" placeholder="教师" size="small"
@change="getTypeWay()">
<el-option v-for="item in TeacherList" :key="item.TeacherName" :label="item.TeacherName" :value="item.TId">
</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>
</el-select>
</div>
<div class="col-2">
<el-select
v-model="msg.ClassRoomId"
style="width: 100%"
placeholder="教室"
size="small"
@change="getTypeWay()"
>
<el-option
v-for="item in ClassRoomList"
:key="item.RoomName"
:label="item.RoomName"
:value="item.RoomId"
>
<el-select v-model="msg.ClassRoomId" style="width: 100%" placeholder="教室" size="small" @change="getTypeWay()">
<el-option v-for="item in ClassRoomList" :key="item.RoomName" :label="item.RoomName" :value="item.RoomId">
</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>
</el-select>
</div>
<div class="col-2">
<el-date-picker
v-model="msg.StartTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="开始日期"
size="small"
style="width: 100%"
@change="getTypeWay()"
:picker-options="picker"
:clearable="false"
>
<el-date-picker v-model="msg.StartTime" type="date" value-format="yyyy-MM-dd" placeholder="开始日期" size="small"
style="width: 100%" @change="getTypeWay()" :picker-options="picker" :clearable="false">
</el-date-picker>
</div>
<div class="col-2">
<el-date-picker
v-model="msg.EndTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="结束日期"
size="small"
style="width: 100%"
@change="getTypeWay()"
clear-icon="iconfont icon-guanbi"
:picker-options="pickerEnd"
:clearable="false"
>
<el-date-picker v-model="msg.EndTime" type="date" value-format="yyyy-MM-dd" placeholder="结束日期" size="small"
style="width: 100%" @change="getTypeWay()" clear-icon="iconfont icon-guanbi" :picker-options="pickerEnd"
:clearable="false">
</el-date-picker>
</div>
<div class="col-2">
<el-select
v-model="msg.ClassType"
style="width: 100%"
placeholder="类型"
size="small"
@change="getTypeWay()"
>
<el-select v-model="msg.ClassType" style="width: 100%" placeholder="类型" size="small" @change="getTypeWay()">
<el-option :key="0" label="全部" :value="0"> </el-option>
<el-option :key="1" label="正常" :value="1"> </el-option>
<el-option :key="2" label="试听课" :value="2"> </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>
</el-select>
</div>
<div class="col-2">
<!-- <q-btn
color="accent"
size="sm"
class="q-mr-md"
style="margin-top: 2px"
@click="exchangeType"
:label="typeName"
/> -->
<!-- <q-btn
color="negative"
size="sm"
label="调课申请"
@click="openForm"
></q-btn> -->
</div>
</div>
<!-- <classmateForm :dataList="dataList" v-if="commonType == 1"></classmateForm> -->
<!-- <change-class-form
v-if="persistent"
@close="closeSaveForm"
@success="refreshPage"
></change-class-form> -->
<teachTable
v-if="commonType == 2"
:tableData="tableData"
:PageCount="PageCount"
:setMsg="tabMsg"
:showCZ="true"
@getChange="getChange"
></teachTable>
<teachTable v-if="commonType == 2" :tableData="tableData" :PageCount="PageCount" :setMsg="tabMsg" :showCZ="true"
@getChange="getChange"></teachTable>
</div>
</template>
<script>
import {
import {
getTeacherDropDownList,
queryClassRoomList,
} from "../../api/school/index";
import {
} from "../../api/school/index";
import {
GetClassPlanStatistical,
GetClassPlanStatisticalPage,
} from "../../api/teacher/index";
import classmateForm from "../../components/course/classmate-form";
import teachTable from "../teacher/components/teachTable";
import changeClassForm from "../../components/teacher/changeClassForm.vue";
export default {
} from "../../api/teacher/index";
import classmateForm from "../../components/course/classmate-form";
import teachTable from "../teacher/components/teachTable";
import changeClassForm from "../../components/teacher/changeClassForm.vue";
export default {
meta: {
title: "我的课表",
},
......@@ -163,7 +80,6 @@ export default {
TeacherId: 0,
ClassRoomId: 0,
dataList: {},
activeNames: [1],
msg: {
StartTime: "",
EndTime: "",
......@@ -188,17 +104,18 @@ export default {
PageCount: 0,
picker: {
disabledDate: (time) => {
let endTime = this.msg.EndTime;
if (endTime) {
return time.getTime() >= new Date(endTime).getTime() - 8.64e6;
if (this.msg.EndTime == null) {
return false;
} else {
return time.getTime() >= Date.now() - 8.64e6;
let endTime = new Date(this.msg.EndTime);
return endTime.getTime() < time.getTime();
}
},
},
pickerEnd: {
disabledDate: (time) => {
return time.getTime() >= Date.now() - 8.64e6;
let startTime = new Date(this.msg.StartTime);
return startTime.getTime() >= time.getTime();
},
},
today: "",
......@@ -212,19 +129,16 @@ export default {
let today =
date.getFullYear() +
"-" +
(date.getMonth() < 9
? "0" + (date.getMonth() + 1)
: date.getMonth() + 1) +
(date.getMonth() < 9 ?
"0" + (date.getMonth() + 1) :
date.getMonth() + 1) +
"-" +
(date.getDate() < 10 ? "0" + date.getDate() < 10 : date.getDate());
(date.getDate() < 10 ? "0" + date.getDate() : date.getDate());
this.today = today;
this.msg.StartTime = today;
this.tabMsg.StartTime = today;
this.msg.EndTime = today;
this.tabMsg.EndTime = today;
// let userinfo = this.getLocalStorage();
// this.msg.TeacherId = userinfo.AccountId;
// this.tabMsg.TeacherId = userinfo.AccountId;
this.getClassRoomList();
},
mounted() {
......@@ -296,7 +210,7 @@ export default {
this.tabMsg.EndTime = this.msg.EndTime;
this.tabMsg.ClassRoomId = this.msg.ClassRoomId;
this.tabMsg.ClassType = this.msg.ClassType;
this.tabMsg.TeacherId=this.msg.TeacherId;
GetClassPlanStatisticalPage(this.tabMsg).then((res) => {
if (res.Code == 1) {
this.tableData = res.Data.PageData;
......@@ -316,10 +230,12 @@ export default {
}
},
},
};
};
</script>
<style lang="scss">
.xg .el-input--prefix .el-input__inner {
.xg .el-input--prefix .el-input__inner {
padding-left: 50px;
}
}
</style>
This diff is collapsed.
......@@ -254,8 +254,8 @@
}
],
msg: {
StartDate: '2021-07-20',
School_Id: -1,
StartDate: '',
School_Id: '',
CouseId: 0,
ClassId: 0,
OrderGuestId: '',
......@@ -332,10 +332,6 @@
if (!tempArray) {
tempArray = [];
}
tempArray.unshift({
SId: -1,
SName: "不限"
})
this.schoolList = tempArray;
}
})
......
......@@ -8,13 +8,14 @@
</div>
<div class="col-3">
<q-select @input="resetSearch" standout="bg-primary text-white" option-value="Id" clearable
option-label="EmployeeName" v-model="msg.CreateBy" :options="EmployeeList" emit-value map-options label="业务员" use-input @filter="filterFn2"/>
option-label="EmployeeName" v-model="msg.CreateBy" :options="EmployeeList" emit-value map-options
label="业务员" use-input @filter="filterFn2" />
</div>
<div class="col-3">
<q-field filled>
 <template v-slot:control>
<el-date-picker v-model="dateList2" @change="resetSearch()" value-format="yyyy-MM-dd" type="daterange" style="border:none;" :picker-options="option"
 range-separator="至"  start-placeholder="开班开始时间"  end-placeholder="开班结束时间">
<el-date-picker v-model="dateList2" @change="resetSearch()" value-format="yyyy-MM-dd" type="daterange" style="border:none;"
:picker-options="option"  range-separator="至"  start-placeholder="开班开始时间"  end-placeholder="开班结束时间">
 </el-date-picker>       
</template>
</q-field>
......@@ -30,6 +31,11 @@
<q-space />
</template>
<template v-slot:body-cell-Name="props">
<q-td>
<span style="color:#2961FE;cursor:pointer;" @click="getDetail(props.row)">{{props.row.Name}}</span>
</q-td>
</template>
<template v-slot:body-cell-VisitorStatus="props">
<q-td :props="props">
<img v-if="props.row.VisitorStatus==1" title="正常" src="../../assets/images/normal.png" />
......@@ -54,20 +60,27 @@
</template>
</q-table>
</div>
<schedulFanke v-if="isShowDetail" @close="closeDetail" :save-obj="sendObj"></schedulFanke>
</div>
</template>
</template>
<script>
<script>
import {
getVisitorAllPageList,
} from '../../api/stuMan/index'
import { queryEmployee } from '../../api/users/user';
import {
queryEmployee
} from '../../api/users/user';
import schedulFanke from '../../components/schedul/schedul-fanke'
export default {
meta: {
title: "访问记录"
},
components: {
schedulFanke
},
data() {
return {
......@@ -76,13 +89,13 @@
pageSize: 10,
rowsPerPage: 10,
KeyWords: "",
CreateBy:'',
StartTime:'',
EndTime:'',
CreateBy: '',
StartTime: '',
EndTime: '',
},
pageCount: 0,
dataList: [],
dateList2:[],
dateList2: [],
loading: false,
columns: [{
name: 'Name',
......@@ -165,13 +178,15 @@
},
],
option:{
disabledDate:(time)=> {
option: {
disabledDate: (time) => {
return time.getTime() > Date.now()
}
},
EmployeeList:[],//业务员
AllemployeeList:[],
EmployeeList: [], //业务员
AllemployeeList: [],
isShowDetail:false,
sendObj: {},
}
},
mounted() {
......@@ -182,7 +197,15 @@
},
methods: {
//关闭
closeDetail() {
this.isShowDetail = false;
},
//获取详情
getDetail(obj) {
this.sendObj = obj;
this.isShowDetail = true;
},
getList() {
this.loading = true;
if (this.dateList2 && this.dateList2.length > 0) {
......@@ -221,13 +244,13 @@
var qMsg = {
Dept_Id: 0
}
qMsg.Dept_Id=id;
qMsg.Dept_Id = id;
queryEmployee(qMsg).then(res => {
if(res.Code==1){
if (res.Code == 1) {
this.EmployeeList = res.Data;
let obj={
Id:"",
EmployeeName:"不限"
let obj = {
Id: "",
EmployeeName: "不限"
}
this.EmployeeList.unshift(obj)
this.AllemployeeList = JSON.parse(JSON.stringify(this.EmployeeList));
......@@ -253,13 +276,14 @@
}
}
</script>
<style >
</script>
<style>
.visitorRecord .border-bottom {
border-bottom: 1px dashed #EEE;
padding-bottom: 5px;
margin-bottom: 5px;
}
.visitorRecord .el-input {
width: 100%;
border: none;
......@@ -271,15 +295,13 @@
border: none;
background-color: transparent;
}
.visitorRecord .el-range-input {
background-color: transparent !important;
}
</style>
<style lang="sass">
</style>
<style lang="sass">
@import url('~assets/css/table.sass')
</style>
\ No newline at end of file
</style>
......@@ -177,7 +177,7 @@
DeptName: "", //部门名称
DeptId: 0, //部门编号
Status: "-1",
School_Id: 0,
School_Id: -1,
DeptTier: "",
ParentId: "",
},
......@@ -229,7 +229,7 @@
tempSchoolArray = [];
}
tempSchoolArray.unshift({
SId: 0,
SId: -1,
SName: "不限"
});
this.schoolList = tempSchoolArray;
......
......@@ -49,7 +49,7 @@
</div>
</div>
<div class="page-content">
<classlist :data="data" :authObj="authObj" @success="refreshPage"></classlist>
<classlist :data="data" :authObj="authObj" :loading="loading" @success="refreshPage"></classlist>
<q-pagination class="full-width justify-end" v-model="msg.pageIndex" color="primary" :max="pageCount"
:input="true" @input="changePage" />
......@@ -97,7 +97,8 @@
//权限判断
authObj: {
isShowLessonCost: true, //显示月度课耗
}
},
loading:false
}
},
created() {
......
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