|
|
@@ -13,9 +13,11 @@
|
|
|
>{{v.text}}</div>
|
|
|
</el-col>
|
|
|
<!--排班表-->
|
|
|
- <el-col :span="17" class="main" v-if="modelindex == 0">
|
|
|
+ <!-- {{NextOrNewMonthStatus.NextOrNewMonthStatus}} -->
|
|
|
+ <el-col :span="17" class="main" v-if="modelindex == 0 && NextOrNewMonthStatus.NextOrNewMonthStatus == false">
|
|
|
<el-row :gutter="20">
|
|
|
- <el-col :span="10" :offset="2">
|
|
|
+ <!-- {{NextOrNewMonthStatus}} -->
|
|
|
+ <el-col :span="8" :offset="2">
|
|
|
<div class="selectBox">
|
|
|
<div
|
|
|
class="Ageclass"
|
|
|
@@ -59,26 +61,40 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
- <el-col :span="12" class="month">
|
|
|
- <span>{{currentDateStr }}排班情况</span>
|
|
|
+ <el-col :span="6" class="month">
|
|
|
+ <span class="tiplog">{{currentDateStr }}排班情况</span>
|
|
|
<!-- {{DutyTemplateListSTUS}} -->
|
|
|
</el-col>
|
|
|
+ <el-col :span="4" class="month">
|
|
|
+ <div
|
|
|
+ @click="shoeNextOrlastMOntlist(1)"
|
|
|
+ class="NextMonthList"
|
|
|
+ >
|
|
|
+ 查看下月排班情况
|
|
|
+ <span class="el-icon-arrow-right"></span>
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
</el-row>
|
|
|
<el-row :gutter="24">
|
|
|
<el-col :span="20" :offset="2">
|
|
|
<!-- 日期 -->
|
|
|
<div class="date">
|
|
|
<div class="calendar-week">
|
|
|
- <div class="week-item" v-for="item of weekList" :key="item">{{ item }}</div>
|
|
|
+ <div class="week-item" v-for="item of weekList" :key="item">
|
|
|
+ <span :class="[item == '六' || item == '日'?'grayRed':'']">{{item}}</span>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- <div class="calendar-inner">
|
|
|
+ <div
|
|
|
+ class="calendar-inner"
|
|
|
+ v-if="FindCalendarList.list && FindCalendarList.list.length >0"
|
|
|
+ >
|
|
|
<div
|
|
|
class="calendar-item"
|
|
|
v-for="(item, index) of calendarList"
|
|
|
:key="index"
|
|
|
:class="[item.disable ? 'disabled' : '']"
|
|
|
>
|
|
|
- <el-popover placement="bottom" width="500" trigger="click">
|
|
|
+ <el-popover placement="top" width="500" trigger="click">
|
|
|
<div class="month-day">{{month}}月{{today}}日</div>
|
|
|
<el-table
|
|
|
:data="gridData"
|
|
|
@@ -133,7 +149,6 @@
|
|
|
</el-table>
|
|
|
<div
|
|
|
slot="reference"
|
|
|
-
|
|
|
@click="classSet(index,item.date,item.month,item.dateList.intervalList)"
|
|
|
:class="[item.pastDay ? 'psatchecked' : '']"
|
|
|
class="day-setting"
|
|
|
@@ -166,25 +181,34 @@
|
|
|
</el-row>
|
|
|
</el-col>
|
|
|
<!--排班设置-->
|
|
|
- <!-- <SuperworkListSeting v-if="this.modelindex == 1"></SuperworkListSeting> -->
|
|
|
<el-col :span="17" class="main" v-if="modelindex == 1">
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="18" class="month" :offset="2">
|
|
|
- <span>{{currentDateStr }}排班设置</span>
|
|
|
+ <span class="tiplog">{{currentDateStr }}排班设置</span>
|
|
|
<div
|
|
|
+ v-if="this.D <=24"
|
|
|
class="model-btn-items model-grdeen"
|
|
|
- style="float:right"
|
|
|
+ style="float:right; cursor: pointer; "
|
|
|
@click="saveOpenCloseDAys()"
|
|
|
>保存</div>
|
|
|
+ <div v-if="this.D >24" class="tiplogPb" style="float:right; cursor: pointer; ">
|
|
|
+ 请在每月
|
|
|
+ <span style="color:#52CC60;">24号</span>之前设置排班,当前时间已关闭!
|
|
|
+ </div>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row :gutter="24">
|
|
|
<el-col :span="20" :offset="2">
|
|
|
<div class="date">
|
|
|
<div class="calendar-week">
|
|
|
- <div class="week-item" v-for="item of weekList" :key="item">{{ item }}</div>
|
|
|
+ <div class="week-item" v-for="item of weekList" :key="item">
|
|
|
+ <span :class="[item == '六' || item == '日'?'grayRed':'']">{{item}}</span>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- <div class="calendar-inner">
|
|
|
+ <div
|
|
|
+ class="calendar-inner"
|
|
|
+ v-if="DutyTemplateListInfo.dayList && DutyTemplateListInfo.dayList.length>0"
|
|
|
+ >
|
|
|
<div
|
|
|
class="calendar-item"
|
|
|
v-for="(item, index) of setCalendarList"
|
|
|
@@ -192,11 +216,11 @@
|
|
|
:class="[item.disable ? 'disabled' : '']"
|
|
|
>
|
|
|
<el-popover placement="bottom" width="108" trigger="click">
|
|
|
- <div class="date-set" v-if="!item.disable">
|
|
|
+ <div class="date-set" v-if="!item.disable">
|
|
|
<div @click="UnOrWaitOpen(item,1,index)">待开放</div>
|
|
|
<div @click="UnOrWaitOpen(item,2,index)">不开放</div>
|
|
|
</div>
|
|
|
- <div class="date-set" v-if="item.disable">当前时段不可操作!</div>
|
|
|
+ <div class="date-set" v-if="item.disable">当前时段不可操作!</div>
|
|
|
<div
|
|
|
slot="reference"
|
|
|
@click="settingClick(index)"
|
|
|
@@ -205,12 +229,12 @@
|
|
|
>
|
|
|
<div class="date-day-set-num">{{ item.date }}</div>
|
|
|
<div>
|
|
|
- <div class="date-day-set" v-if="item.dateList.isOpen == 1">待开放</div>
|
|
|
- <div
|
|
|
- class="date-day-set"
|
|
|
- style="color:#FF6465"
|
|
|
- v-if="item.dateList.isOpen == 0"
|
|
|
- >不开放</div>
|
|
|
+ <div class="date-day-set" v-if="item.dateList.isOpen == 1">待开放</div>
|
|
|
+ <div
|
|
|
+ class="date-day-set"
|
|
|
+ style="color:#FF6465"
|
|
|
+ v-if="item.dateList.isOpen == 0"
|
|
|
+ >不开放</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</el-popover>
|
|
|
@@ -220,10 +244,16 @@
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</el-col>
|
|
|
+ <!-- 下个月排班实施动态 -->
|
|
|
+ <NextMonthList v-if="modelindex == 0 && NextOrNewMonthStatus.NextOrNewMonthStatus == true"></NextMonthList>
|
|
|
</el-row>
|
|
|
<!-- 添加移除老师弹框 -->
|
|
|
<div class="showModel" @click="allShowModel(3)" v-if="isApporTeacher"></div>
|
|
|
- <div class="model" style="width:30%; top:10%;" v-if="isApporTeacher">
|
|
|
+ <div
|
|
|
+ class="model min-widthScrol"
|
|
|
+ style="width:40%; top:10%;min-width: 300px;"
|
|
|
+ v-if="isApporTeacher"
|
|
|
+ >
|
|
|
<div class="model-text">
|
|
|
<div class="model-text-head">
|
|
|
<div class="teach-block">
|
|
|
@@ -241,10 +271,10 @@
|
|
|
/>
|
|
|
<span @click="SearchFindHaveTeacher()" class="DaySeachIcon el-icon-search"></span>
|
|
|
</div>
|
|
|
- <div style="font-size:12px;text-align:left;font-weight:700;margin-bottom:10px;">
|
|
|
+ <div>
|
|
|
<span class="tr-slogn">最少:{{FindHaveTeacherList.arrangeDetail.miniNum}}</span>
|
|
|
<span class="tr-slogn">已选:{{FindHaveTeacherList.arrangeDetail.haveNum}}</span>
|
|
|
- <span class="tr-slogn">饱和:{{FindHaveTeacherList.arrangeDetail.miniNum}}</span>
|
|
|
+ <span class="tr-slogn">饱和:{{FindHaveTeacherList.arrangeDetail.maxNum}}</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div>
|
|
|
@@ -257,23 +287,29 @@
|
|
|
<div class="tr-secon1">科目</div>
|
|
|
<div class="tr-secon1">出勤率</div>
|
|
|
<div class="tr-secon1">在岗率</div>
|
|
|
- <div class="tr-secon1">当月已选时段</div>
|
|
|
+ <div class="tr-secon1" style="width:30%;">当月已选时段</div>
|
|
|
</div>
|
|
|
<div class="abbTeachers" @click="showAddTeacherModel">
|
|
|
<span class="addLogicon">+</span> 添加老师
|
|
|
</div>
|
|
|
<div class="scrollBox">
|
|
|
- <div class="tr-set" v-for="(item, index) of FindHaveTeacherList.list" :key="index">
|
|
|
+ <div
|
|
|
+ class="tr-set"
|
|
|
+ :class="{BgcColor:index%2 !== 1}"
|
|
|
+ v-for="(item, index) of FindHaveTeacherList.list"
|
|
|
+ :key="index"
|
|
|
+ >
|
|
|
<div class="tr-secon">
|
|
|
<img :src="BASE_URL + item.photo" alt class="table-img" v-if="item.photo" />
|
|
|
<img src="../../assets/img/attt.png" alt v-if="item.photo ==''" class="table-img" />
|
|
|
</div>
|
|
|
- <div class="tr-secon">{{item.teacherName}}</div>
|
|
|
+ <div class="tr-secon tr-sw200">{{item.teacherName}}</div>
|
|
|
<div class="tr-secon tr-sw100">{{item.subject}}</div>
|
|
|
<div class="tr-secon tr-sw100">{{item.attendanceRatio}}%</div>
|
|
|
<div class="tr-secon tr-sw100">{{item.dutyRatio}}%</div>
|
|
|
<div class="tr-secon tr-sw100" style="color:#7297FF">{{item.haveCount }}</div>
|
|
|
- <div class="Buttonhole" @click="detailTeacherTeam(item)">移除</div>
|
|
|
+ <div v-if="item.isEdit==1" class="Buttonhole" @click="detailTeacherTeam(item)">移除</div>
|
|
|
+ <div v-if="item.isEdit==0" class="NoButtonhole"></div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<!-- <div class="btsnius">
|
|
|
@@ -285,11 +321,11 @@
|
|
|
</div>
|
|
|
<!-- 添加老师弹框 -->
|
|
|
<div class="showModel" @click="allShowModel(4)" v-if="AddTeacherModel"></div>
|
|
|
- <div class="model" style="width:30%; top:10%;" v-if="AddTeacherModel">
|
|
|
+ <div class="model" style="width:40%; top:10%;" v-if="AddTeacherModel">
|
|
|
<div class="model-text">
|
|
|
<div class="model-text-head">
|
|
|
<div class="selectTeacher">选择老师</div>
|
|
|
- <div class="teach-block">
|
|
|
+ <div class="teach-block1">
|
|
|
<div class="Dayteach-Allot1">
|
|
|
<input
|
|
|
type="text"
|
|
|
@@ -299,13 +335,10 @@
|
|
|
/>
|
|
|
<span @click="SearchNoHaveTeacher()" class="DaySeachIcon el-icon-search"></span>
|
|
|
</div>
|
|
|
- <div>
|
|
|
- <span
|
|
|
- style="font-size:12px;text-align:left;font-weight:700"
|
|
|
- class
|
|
|
- >最少:{{FindNoHaveTeacherList.arrangeDetail.miniNum}}</span>
|
|
|
- <span class="tr-slogn">饱和:{{FindNoHaveTeacherList.arrangeDetail.maxNum}}</span>
|
|
|
- <span class="tr-slogn">已选:{{FindNoHaveTeacherList.arrangeDetail.haveNum}}</span>
|
|
|
+ <div class="tiplogslogn">
|
|
|
+ <span class="tr-slogn1">最少:{{FindNoHaveTeacherList.arrangeDetail.miniNum}}</span>
|
|
|
+ <span class="tr-slogn1">饱和:{{FindNoHaveTeacherList.arrangeDetail.maxNum}}</span>
|
|
|
+ <span class="tr-slogn1">已选:{{FindNoHaveTeacherList.arrangeDetail.haveNum}}</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div>
|
|
|
@@ -318,10 +351,15 @@
|
|
|
<div class="tr-secon1">科目</div>
|
|
|
<div class="tr-secon1">出勤率</div>
|
|
|
<div class="tr-secon1">在岗率</div>
|
|
|
- <div class="tr-secon1">当月已选时段</div>
|
|
|
+ <div class="tr-secon1" style="width:30%;">当月已选时段</div>
|
|
|
</div>
|
|
|
<div class="scrollBox">
|
|
|
- <div class="tr-set" v-for="(item, index) of FindNoHaveTeacherList.list" :key="index">
|
|
|
+ <div
|
|
|
+ class="tr-setMargin"
|
|
|
+ :class="{BgcColor:index%2 !== 1}"
|
|
|
+ v-for="(item, index) of FindNoHaveTeacherList.list"
|
|
|
+ :key="index"
|
|
|
+ >
|
|
|
<div class="tr-secon">
|
|
|
<img :src="BASE_URL + item.photo" alt class="table-img" v-if="item.photo" />
|
|
|
<img src="../../assets/img/attt.png" alt v-if="item.photo ==''" class="table-img" />
|
|
|
@@ -379,11 +417,11 @@
|
|
|
</template>
|
|
|
<script>
|
|
|
import { mapGetters, mapActions } from "vuex";
|
|
|
-import SuperworkListSeting from "@/components/SuperworkListSeting.vue";
|
|
|
+import NextMonthList from "@/components/NextMonthList.vue";
|
|
|
import { IMG_BASE_URL } from "@/ImgConfig";
|
|
|
import { Message } from "element-ui";
|
|
|
export default {
|
|
|
- components: {SuperworkListSeting},
|
|
|
+ components: { NextMonthList },
|
|
|
name: "actvResolveLabel",
|
|
|
props: {},
|
|
|
data() {
|
|
|
@@ -396,6 +434,7 @@ export default {
|
|
|
isSelected: false,
|
|
|
BASE_URL: IMG_BASE_URL,
|
|
|
selMonth: "",
|
|
|
+ ShowNextMonthList: false,
|
|
|
hiddenModel: false,
|
|
|
isPigai: false,
|
|
|
isApporTeacher: false,
|
|
|
@@ -414,10 +453,10 @@ export default {
|
|
|
today: "",
|
|
|
teacherIds: [],
|
|
|
detetaiTeacherid: [],
|
|
|
- DetailteacherName:'',
|
|
|
+ DetailteacherName: "",
|
|
|
gridData: [],
|
|
|
SettingDays: [],
|
|
|
- setrefultList:[],
|
|
|
+ setrefultList: [],
|
|
|
filters: {
|
|
|
actvNm: "",
|
|
|
actvCrtUserId: "",
|
|
|
@@ -470,7 +509,7 @@ export default {
|
|
|
value: "2",
|
|
|
label: "英语",
|
|
|
str: "英语"
|
|
|
- },
|
|
|
+ }
|
|
|
],
|
|
|
allotList: {
|
|
|
pageNo: 1,
|
|
|
@@ -492,7 +531,7 @@ export default {
|
|
|
},
|
|
|
created() {
|
|
|
this.GetFindCalendarListInfo();
|
|
|
- this.GetDutyTemplateListInfo()
|
|
|
+ this.GetDutyTemplateListInfo();
|
|
|
},
|
|
|
watch: {
|
|
|
SaveSysTeacherDutyStatus(val, oldVal) {
|
|
|
@@ -504,28 +543,26 @@ export default {
|
|
|
//排班列表请求成功的watch监听回调
|
|
|
this.init();
|
|
|
},
|
|
|
- DeleteArrangeByTeacher(val, oldVal) {
|
|
|
+ DeleteArrangeByTeacher(val, oldVal) {
|
|
|
// debugger
|
|
|
//保存排班设置成功的watch监听回调
|
|
|
this.GetFindCalendarListInfo();
|
|
|
},
|
|
|
- AddArrangeByTeacherStatus(val, oldVal) {
|
|
|
+ AddArrangeByTeacherStatus(val, oldVal) {
|
|
|
// debugger
|
|
|
//保存排班设置成功的watch监听回调
|
|
|
this.GetFindCalendarListInfo();
|
|
|
},
|
|
|
TeacherThisMonthDutyREfultInfo(val, oldVal) {
|
|
|
- var that = this;
|
|
|
- if (that.DutyTemplateListInfo && that.DutyTemplateListInfo.dayList){
|
|
|
- for (let t = 0; t < that.DutyTemplateListInfo.dayList.length; t++) {
|
|
|
- if (that.DutyTemplateListInfo.dayList[t].isOpen == 0) {
|
|
|
- this.SettingDays.push(that.DutyTemplateListInfo.dayList[t].day);
|
|
|
- }
|
|
|
-
|
|
|
+ var that = this;
|
|
|
+ if (that.DutyTemplateListInfo && that.DutyTemplateListInfo.dayList) {
|
|
|
+ for (let t = 0; t < that.DutyTemplateListInfo.dayList.length; t++) {
|
|
|
+ if (that.DutyTemplateListInfo.dayList[t].isOpen == 0) {
|
|
|
+ this.SettingDays.push(that.DutyTemplateListInfo.dayList[t].day);
|
|
|
}
|
|
|
-
|
|
|
- }
|
|
|
- },
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
},
|
|
|
// ,'homeworkRecoveryList'
|
|
|
computed: {
|
|
|
@@ -539,7 +576,8 @@ export default {
|
|
|
"DutyTemplateListInfo",
|
|
|
"DutyTemplateListSTUS",
|
|
|
"TeacherThisMonthDutyREfultInfo",
|
|
|
- "DeleteArrangeByTeacher"
|
|
|
+ "DeleteArrangeByTeacher",
|
|
|
+ "NextOrNewMonthStatus"
|
|
|
]),
|
|
|
// 显示当前时间
|
|
|
currentDateStr() {
|
|
|
@@ -553,13 +591,21 @@ export default {
|
|
|
tableheaderClassName({ row, rowIndex }) {
|
|
|
return "table-head-th";
|
|
|
},
|
|
|
+ // 切换下月当月排班表
|
|
|
+ shoeNextOrlastMOntlist(str) {
|
|
|
+ if (str == 1) {
|
|
|
+ this.$store.dispatch("NextOrNewMonthAction", {
|
|
|
+ NextOrNewMonthStatus:true ,
|
|
|
+ });
|
|
|
+ }
|
|
|
+ },
|
|
|
//弹框
|
|
|
- isShow(str, id, timeFnd,DaytimeFn) {
|
|
|
+ isShow(str, id, timeFnd, DaytimeFn) {
|
|
|
let _this = this;
|
|
|
if (str == 1) {
|
|
|
- if (timeFnd < -4 && DaytimeFn <= 0 || DaytimeFn < 0 ){
|
|
|
+ if ((timeFnd < -4 && DaytimeFn <= 0) || DaytimeFn < 0) {
|
|
|
_this.isApporTeacher = true;
|
|
|
- this.HaveTeacherList.teacherName = '';
|
|
|
+ this.HaveTeacherList.teacherName = "";
|
|
|
this.HaveTeacherList.Teacherid = id;
|
|
|
this.GetFindHaveTeacherListInfo();
|
|
|
} else {
|
|
|
@@ -587,14 +633,15 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
showAddTeacherModel() {
|
|
|
- this.NoHaveTeacherList.teacherName = ''
|
|
|
+ this.teacherIds = [];
|
|
|
+ this.NoHaveTeacherList.teacherName = "";
|
|
|
this.isApporTeacher = false;
|
|
|
this.AddTeacherModel = true;
|
|
|
this.GetFindNoHaveTeacherListInfo();
|
|
|
},
|
|
|
// 时段移除老师
|
|
|
detailTeacherTeam(item) {
|
|
|
- this.DetailteacherName = item.teacherName;
|
|
|
+ this.DetailteacherName = item.teacherName;
|
|
|
this.isApporTeacher = false;
|
|
|
this.hiddenModel = true;
|
|
|
this.detetaiTeacherid = item.teacherId;
|
|
|
@@ -615,9 +662,10 @@ export default {
|
|
|
} else if (str == 2) {
|
|
|
_this.isPigai = false;
|
|
|
} else if (str == 3) {
|
|
|
- this.HaveTeacherList.teacherName = '';
|
|
|
+ this.HaveTeacherList.teacherName = "";
|
|
|
_this.isApporTeacher = false;
|
|
|
} else if (str == 4) {
|
|
|
+ this.teacherIds = [];
|
|
|
_this.AddTeacherModel = false;
|
|
|
_this.isApporTeacher = true;
|
|
|
} else if (str == 5) {
|
|
|
@@ -644,28 +692,30 @@ export default {
|
|
|
// console.log(dateDiff + "时间差的毫秒数",dayDiff + "计算出相差天数",leave1 + "计算天数后剩余的毫秒数"
|
|
|
// ,hours + "计算出小时数",minutes + "计算相差分钟数",seconds + "计算相差秒数");
|
|
|
},
|
|
|
- DaytimeFn (d1) {//di作为一个变量传进来
|
|
|
- //如果时间格式是正确的,那下面这一步转化时间格式就可以不用了
|
|
|
- var dateBegin = new Date(d1.replace(/-/g, "/"));//将-转化为/,使用new Date
|
|
|
- var dateEnd = new Date();//获取当前时间
|
|
|
- var dateDiff = dateEnd.getTime() - dateBegin.getTime();//时间差的毫秒数
|
|
|
- var dayDiff = Math.floor(dateDiff / (24 * 3600 * 1000));//计算出相差天数
|
|
|
- var leave1 = dateDiff % (24 * 3600 * 1000) //计算天数后剩余的毫秒数
|
|
|
- var hours = Math.floor(leave1 / (3600 * 1000))//计算出小时数
|
|
|
- //计算相差分钟数
|
|
|
- var leave2 = leave1 % (3600 * 1000) //计算小时数后剩余的毫秒数
|
|
|
- var minutes = Math.floor(leave2 / (60 * 1000))//计算相差分钟数
|
|
|
- //计算相差秒数
|
|
|
- var leave3 = leave2 % (60 * 1000) //计算分钟数后剩余的毫秒数
|
|
|
- var seconds = Math.round(leave3 / 1000)
|
|
|
- // return hours
|
|
|
- return dayDiff
|
|
|
-},
|
|
|
+ DaytimeFn(d1) {
|
|
|
+ //di作为一个变量传进来
|
|
|
+ //如果时间格式是正确的,那下面这一步转化时间格式就可以不用了
|
|
|
+ var dateBegin = new Date(d1.replace(/-/g, "/")); //将-转化为/,使用new Date
|
|
|
+ var dateEnd = new Date(); //获取当前时间
|
|
|
+ var dateDiff = dateEnd.getTime() - dateBegin.getTime(); //时间差的毫秒数
|
|
|
+ var dayDiff = Math.floor(dateDiff / (24 * 3600 * 1000)); //计算出相差天数
|
|
|
+ var leave1 = dateDiff % (24 * 3600 * 1000); //计算天数后剩余的毫秒数
|
|
|
+ var hours = Math.floor(leave1 / (3600 * 1000)); //计算出小时数
|
|
|
+ //计算相差分钟数
|
|
|
+ var leave2 = leave1 % (3600 * 1000); //计算小时数后剩余的毫秒数
|
|
|
+ var minutes = Math.floor(leave2 / (60 * 1000)); //计算相差分钟数
|
|
|
+ //计算相差秒数
|
|
|
+ var leave3 = leave2 % (60 * 1000); //计算分钟数后剩余的毫秒数
|
|
|
+ var seconds = Math.round(leave3 / 1000);
|
|
|
+ // return hours
|
|
|
+ return dayDiff;
|
|
|
+ },
|
|
|
// 获取校区管理员排班表
|
|
|
async GetFindCalendarListInfo() {
|
|
|
this.$store.dispatch("GetFindCalendarList", {
|
|
|
type: this.filters.OptionsValue,
|
|
|
- subject: this.filters.gradesValue
|
|
|
+ subject: this.filters.gradesValue,
|
|
|
+ month:""
|
|
|
});
|
|
|
},
|
|
|
// 选中时段老师列表
|
|
|
@@ -684,7 +734,8 @@ export default {
|
|
|
},
|
|
|
// 时段添加老师
|
|
|
async GetAddArrangeByTeacherStatus() {
|
|
|
- this.AddTeacherModel = false
|
|
|
+ // this.teacherIds = []
|
|
|
+ this.AddTeacherModel = false;
|
|
|
this.$store.dispatch("GetAddArrangeByTeacher", {
|
|
|
id: this.HaveTeacherList.Teacherid,
|
|
|
teacherIds: this.teacherIds
|
|
|
@@ -696,7 +747,7 @@ export default {
|
|
|
days: this.SettingDays
|
|
|
});
|
|
|
},
|
|
|
- async UnOrWaitOpen(item, type, Setindex) {
|
|
|
+ async UnOrWaitOpen(item, type, Setindex) {
|
|
|
if (type == 1) {
|
|
|
const index = this.SettingDays.indexOf(item.value);
|
|
|
if (index > -1) {
|
|
|
@@ -716,7 +767,7 @@ export default {
|
|
|
},
|
|
|
// 排班设置返回接口
|
|
|
async GetDutyTemplateListInfo() {
|
|
|
- this.SettingDays = []
|
|
|
+ this.SettingDays = [];
|
|
|
this.$store.dispatch("GetDutyTemplateList", {});
|
|
|
},
|
|
|
SearchNoHaveTeacher() {
|
|
|
@@ -749,7 +800,7 @@ export default {
|
|
|
if (this.Nowmonth == this.current.month + 1) {
|
|
|
this.nextMonth();
|
|
|
}
|
|
|
- this.SettingDays = []
|
|
|
+ this.SettingDays = [];
|
|
|
this.GetDutyTemplateListInfo();
|
|
|
}
|
|
|
},
|
|
|
@@ -924,7 +975,7 @@ export default {
|
|
|
year: year,
|
|
|
month: curMonth,
|
|
|
date: date,
|
|
|
- disable: curMonth !== month ,
|
|
|
+ disable: curMonth !== month,
|
|
|
status: false,
|
|
|
pastDay: date < today && curMonth == month,
|
|
|
value: this.stringify(year, curMonth, date)
|
|
|
@@ -941,41 +992,41 @@ export default {
|
|
|
begin += oneDayMS;
|
|
|
}
|
|
|
var that = this;
|
|
|
- if (that.FindCalendarList && that.FindCalendarList.list){
|
|
|
- for (let i = 0; i < list.length; i++) {
|
|
|
- if (!list[i].disable) {
|
|
|
- const dateValue = list[i].value;
|
|
|
- for (let t = 0; t < that.FindCalendarList.list.length; t++) {
|
|
|
- if (dateValue == that.FindCalendarList.list[t].arrangeDate) {
|
|
|
- list[i].dateList = that.FindCalendarList.list[t];
|
|
|
- console.log(list[i].dateList)
|
|
|
+ if (that.FindCalendarList && that.FindCalendarList.list) {
|
|
|
+ for (let i = 0; i < list.length; i++) {
|
|
|
+ if (!list[i].disable) {
|
|
|
+ const dateValue = list[i].value;
|
|
|
+ for (let t = 0; t < that.FindCalendarList.list.length; t++) {
|
|
|
+ if (dateValue == that.FindCalendarList.list[t].arrangeDate) {
|
|
|
+ list[i].dateList = that.FindCalendarList.list[t];
|
|
|
+ console.log(list[i].dateList);
|
|
|
+ }
|
|
|
}
|
|
|
+ } else {
|
|
|
+ list[i].dateList = {};
|
|
|
}
|
|
|
- } else {
|
|
|
- list[i].dateList = {};
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
- if (that.DutyTemplateListInfo && that.DutyTemplateListInfo.dayList){
|
|
|
+ if (that.DutyTemplateListInfo && that.DutyTemplateListInfo.dayList) {
|
|
|
for (let i = 0; i < setList.length; i++) {
|
|
|
- if (!setList[i].disable) {
|
|
|
- const dateValue = setList[i].value;
|
|
|
- for (let t = 0; t < that.DutyTemplateListInfo.dayList.length; t++) {
|
|
|
- if (dateValue == that.DutyTemplateListInfo.dayList[t].day) {
|
|
|
- setList[i].dateList = that.DutyTemplateListInfo.dayList[t];
|
|
|
+ if (!setList[i].disable) {
|
|
|
+ const dateValue = setList[i].value;
|
|
|
+ for (let t = 0; t < that.DutyTemplateListInfo.dayList.length; t++) {
|
|
|
+ if (dateValue == that.DutyTemplateListInfo.dayList[t].day) {
|
|
|
+ setList[i].dateList = that.DutyTemplateListInfo.dayList[t];
|
|
|
+ }
|
|
|
}
|
|
|
+ } else {
|
|
|
+ setList[i].dateList = {};
|
|
|
}
|
|
|
- } else {
|
|
|
- setList[i].dateList = {};
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
this.calendarList = list;
|
|
|
this.setCalendarList = setList;
|
|
|
},
|
|
|
// 排班点击
|
|
|
classSet(k, d, m, intervalList) {
|
|
|
- console.log(k,d,m)
|
|
|
+ console.log(k, d, m);
|
|
|
this.month = m + 1;
|
|
|
this.today = d;
|
|
|
for (var i in this.calendarList) {
|
|
|
@@ -995,8 +1046,9 @@ export default {
|
|
|
mounted() {
|
|
|
// debugger
|
|
|
sessionStorage.setItem("tabIndex", 5);
|
|
|
-
|
|
|
- // console.log(DutyTemplateListInfo)
|
|
|
+ this.$store.dispatch("NextOrNewMonthAction", {
|
|
|
+ NextOrNewMonthStatus:false ,
|
|
|
+ });
|
|
|
}
|
|
|
};
|
|
|
</script>
|
|
|
@@ -1071,7 +1123,7 @@ el-table {
|
|
|
background: #000000;
|
|
|
opacity: 0.2;
|
|
|
overflow: hidden;
|
|
|
- z-index: 1000;
|
|
|
+ z-index: 3000;
|
|
|
color: #fff;
|
|
|
}
|
|
|
.model {
|
|
|
@@ -1212,20 +1264,28 @@ el-table {
|
|
|
line-height: 130px;
|
|
|
}
|
|
|
.calendar-item.disabled {
|
|
|
- color:#fff;
|
|
|
+ color: #fff;
|
|
|
}
|
|
|
.checked {
|
|
|
background: #f6f7fb;
|
|
|
}
|
|
|
-.psatchecked{
|
|
|
- color: rgba(0, 0, 0, 0.3);
|
|
|
- opacity: 0.5;
|
|
|
+.psatchecked {
|
|
|
+ color: rgba(0, 0, 0, 0.3);
|
|
|
+ opacity: 0.5;
|
|
|
}
|
|
|
.date-day {
|
|
|
font-size: 16px;
|
|
|
line-height: 60px;
|
|
|
color: #aaa;
|
|
|
}
|
|
|
+.tr-setMargin {
|
|
|
+ margin-top: 10px;
|
|
|
+ height: 50px;
|
|
|
+ line-height: 50px;
|
|
|
+}
|
|
|
+.BgcColor {
|
|
|
+ background-color: #f7fbfc;
|
|
|
+}
|
|
|
.people {
|
|
|
display: flex;
|
|
|
justify-content: space-around;
|
|
|
@@ -1297,7 +1357,7 @@ el-table {
|
|
|
height: 30px;
|
|
|
line-height: 30px;
|
|
|
border-radius: 15px;
|
|
|
- margin:0 auto;
|
|
|
+ margin: 0 auto;
|
|
|
color: #fff;
|
|
|
}
|
|
|
.abbTeachers {
|
|
|
@@ -1312,12 +1372,17 @@ el-table {
|
|
|
margin: 10px 0px;
|
|
|
cursor: pointer;
|
|
|
}
|
|
|
+.tiplogPb {
|
|
|
+ font-size: 14px;
|
|
|
+ color: #7b809d;
|
|
|
+}
|
|
|
.addLogicon {
|
|
|
font-size: 30px;
|
|
|
color: #1989fa;
|
|
|
margin: 0px 20px;
|
|
|
}
|
|
|
.btsnius {
|
|
|
+ margin-top: 40px;
|
|
|
width: 100%;
|
|
|
height: 60px;
|
|
|
}
|
|
|
@@ -1345,6 +1410,9 @@ el-table {
|
|
|
border: 1px solid #52cc60;
|
|
|
cursor: pointer;
|
|
|
}
|
|
|
+.grayRed {
|
|
|
+ color: red;
|
|
|
+}
|
|
|
.scrollBox {
|
|
|
height: 400px;
|
|
|
overflow: auto;
|
|
|
@@ -1380,7 +1448,18 @@ el-table {
|
|
|
color: #fff;
|
|
|
display: inline-block;
|
|
|
}
|
|
|
+.NoButtonhole {
|
|
|
+ cursor: pointer;
|
|
|
+ margin-top: 10px;
|
|
|
+ width: 80px;
|
|
|
+ height: 30px;
|
|
|
+ line-height: 30px;
|
|
|
+ border-radius: 15px;
|
|
|
+ color: #fff;
|
|
|
+ display: inline-block;
|
|
|
+}
|
|
|
.Selectradius {
|
|
|
+ cursor: pointer;
|
|
|
display: inline-block;
|
|
|
}
|
|
|
.table-img {
|
|
|
@@ -1397,6 +1476,7 @@ el-table {
|
|
|
display: inline-block;
|
|
|
}
|
|
|
.model-text-head {
|
|
|
+ padding: 0 !important;
|
|
|
display: flex;
|
|
|
color: #393939;
|
|
|
font-size: 24px;
|
|
|
@@ -1414,8 +1494,8 @@ el-table {
|
|
|
}
|
|
|
.table-heads2 {
|
|
|
background-color: #fff;
|
|
|
- margin-left: 80px !important;
|
|
|
- width: 400px;
|
|
|
+ margin-left: 110px !important;
|
|
|
+ width: 80%;
|
|
|
font-weight: 700;
|
|
|
color: #393939 !important;
|
|
|
font-size: 18px;
|
|
|
@@ -1425,8 +1505,8 @@ el-table {
|
|
|
}
|
|
|
.table-heads3 {
|
|
|
background-color: #fff;
|
|
|
- margin-left: 100px !important;
|
|
|
- width: 400px;
|
|
|
+ margin-left: 160px !important;
|
|
|
+ width: 70%;
|
|
|
font-weight: 700;
|
|
|
color: #393939 !important;
|
|
|
font-size: 18px;
|
|
|
@@ -1441,7 +1521,7 @@ el-table {
|
|
|
font-size: 12px;
|
|
|
text-align: center;
|
|
|
word-wrap: break-word;
|
|
|
- width: 120px;
|
|
|
+ width: 18%;
|
|
|
line-height: 50px;
|
|
|
}
|
|
|
.tr-secon {
|
|
|
@@ -1449,14 +1529,25 @@ el-table {
|
|
|
text-align: center;
|
|
|
word-wrap: break-word;
|
|
|
width: 60px;
|
|
|
- line-height: 50px;
|
|
|
+ line-height: 20px;
|
|
|
display: inline-block;
|
|
|
}
|
|
|
|
|
|
.tr-sw100 {
|
|
|
- width: 80px;
|
|
|
+ height: 40px;
|
|
|
+ line-height: 30px;
|
|
|
+ width: 13%;
|
|
|
text-align: center;
|
|
|
}
|
|
|
+.tr-sw200 {
|
|
|
+ width: 13%;
|
|
|
+ text-align: center;
|
|
|
+ white-space: nowrap;
|
|
|
+ overflow: hidden;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+ /* padding:10px;
|
|
|
+line-height:25px; */
|
|
|
+}
|
|
|
.tiplog {
|
|
|
height: 100px;
|
|
|
width: 200px;
|
|
|
@@ -1486,17 +1577,25 @@ el-table {
|
|
|
.teach-block {
|
|
|
display: inline-block;
|
|
|
}
|
|
|
+.teach-block1 {
|
|
|
+ display: inline-block;
|
|
|
+ width: 100%;
|
|
|
+}
|
|
|
+.min-widthScrol {
|
|
|
+ min-width: 300px;
|
|
|
+}
|
|
|
.Dayteach-Allot {
|
|
|
display: inline-block;
|
|
|
width: 200px;
|
|
|
position: relative;
|
|
|
height: 30px;
|
|
|
top: 5px;
|
|
|
- right: -100px;
|
|
|
+ right: -15%;
|
|
|
}
|
|
|
.Dayteach-Allot1 {
|
|
|
display: inline-block;
|
|
|
- width: 200px;
|
|
|
+ width: 40%;
|
|
|
+ float: left;
|
|
|
position: relative;
|
|
|
height: 30px;
|
|
|
top: 5px;
|
|
|
@@ -1505,7 +1604,7 @@ el-table {
|
|
|
position: absolute;
|
|
|
font-size: 20px;
|
|
|
color: #b6b6b6;
|
|
|
- right: 10%;
|
|
|
+ right: 5%;
|
|
|
margin-top: 5px;
|
|
|
cursor: pointer;
|
|
|
}
|
|
|
@@ -1524,11 +1623,26 @@ el-table {
|
|
|
outline: none !important;
|
|
|
box-shadow: none;
|
|
|
}
|
|
|
+.tiplogslogn {
|
|
|
+ display: inline-block;
|
|
|
+ float: right;
|
|
|
+ margin-top: 10px;
|
|
|
+ margin-right: 20px;
|
|
|
+}
|
|
|
.tr-slogn {
|
|
|
display: inline-block;
|
|
|
- margin: 0 30px;
|
|
|
+ margin-right: 30px;
|
|
|
+ font-size: 12px;
|
|
|
+ text-align: left;
|
|
|
+ float: left;
|
|
|
+ font-weight: 700;
|
|
|
+}
|
|
|
+.tr-slogn1 {
|
|
|
+ display: inline-block;
|
|
|
+ margin-right: 10px;
|
|
|
font-size: 12px;
|
|
|
text-align: left;
|
|
|
+ float: left;
|
|
|
font-weight: 700;
|
|
|
}
|
|
|
.selectTeacher {
|
|
|
@@ -1581,4 +1695,20 @@ el-table {
|
|
|
position: relative;
|
|
|
top: 0;
|
|
|
}
|
|
|
+.NextMonthList {
|
|
|
+ cursor: pointer;
|
|
|
+ margin-top: 20px;
|
|
|
+ width: 250px;
|
|
|
+ height: 40px;
|
|
|
+ border-radius: 20px;
|
|
|
+ line-height: 40px;
|
|
|
+ background-color: #e7f3ff;
|
|
|
+ color: #7297ff;
|
|
|
+ font-size: 12px;
|
|
|
+}
|
|
|
+.IconLeftclass {
|
|
|
+ font-size: 35px;
|
|
|
+ cursor: pointer;
|
|
|
+ font-weight: 700;
|
|
|
+}
|
|
|
</style>
|