Commit 2997beee authored by Mac's avatar Mac

1

parent 98f3dab2
......@@ -93,10 +93,10 @@
<el-form-item label="固定时段:" v-if="peopletype==1">
<div v-for="(x,y) in addMsg " :key="y"
style="display: flex;align-items: center;margin-top: 10px;">
<el-time-select :disabled="y==0" placeholder="起始时间" v-model="x.StartHours"
<el-time-select :disabled="x.IsDefault==1" placeholder="起始时间" v-model="x.StartHours"
:picker-options="{ start: '00:00', step: '01:00', end: '23:00', }">
</el-time-select>
<el-time-select :disabled="y==0" placeholder="结束时间" v-model="x.EndHours"
<el-time-select :disabled="x.IsDefault==1" placeholder="结束时间" v-model="x.EndHours" @change="changeTime(y,2)"
:picker-options="{ start: '00:00', step: '01:00', end: '23:00', minTime: x.StartHours}">
</el-time-select>
<el-select v-model="x.EmpId" placeholder="请选择" @change="selectPersonnel(y)">
......@@ -112,10 +112,10 @@
<el-form-item label="固定时段:" v-if="peopletype==2">
<div v-for="(x,y) in addMsg " :key="y" >
<div style="display: flex;align-items: flex-start;margin-top: 10px;">
<el-time-select :disabled="y==0" placeholder="起始时间" v-model="x.StartHours" @change="changeTime()"
<el-time-select :disabled="x.IsDefault==1" placeholder="起始时间" v-model="x.StartHours"
:picker-options="{ start: '00:00', step: '01:00', end: '23:00', }">
</el-time-select>
<el-time-select :disabled="y==0" placeholder="结束时间" v-model="x.EndHours"@change="changeTime()"
<el-time-select :disabled="x.IsDefault==1" placeholder="结束时间" v-model="x.EndHours"@change="changeTime(y,2)"
:picker-options="{ start: '00:00', step: '01:00', end: '23:00', minTime: x.StartHours}">
</el-time-select>
<div style="max-width: 320px;">
......@@ -515,10 +515,71 @@
}
})
},
changeTime(){
console.log('进入')
console.log(this.addMsg)
changeTime(index,type){
if(this.addMsg[index].StartHours==''){
this.$q.notify({
type: 'negative',
message: `先选择开始时间`,
position: 'top'
})
this.addMsg[index].EndHours='';
return
}
let a = this.addMsg[index].StartHours
let b = this.addMsg[index].EndHours
let continuemap = true
this.addMsg.map((x,y)=>{
if(continuemap == false){
return
}
if(x.IsDefault !=1 && y!=index){//默认和选择自己的时候不做判断
let bx = x.StartHours;
let by = x.EndHours;
continuemap = this.checkTime(a,b,bx,by)
if(continuemap == false){
this.$q.notify({
type: 'negative',
message: `时间段存在冲突`,
position: 'top'
})
this.addMsg[index].StartHours='';
this.addMsg[index].EndHours='';
}
}
})
},
checkTime(a,b,x,y){
var times1=[],times2 = [];
times1.push([a,b]);
times2.push([x,y]);
var flag = false;
//循环比较时间段是否冲突
for (var i = 0; i < times1.length; i++) {
if (flag) break;
for (var j = 0; j < times2.length; j++) {
if(this.check(times1[i][0],times1[i][1],times2[j][0],times2[j][1])){
flag = true;
break;
}
}
}
if (flag) {
console.log('发生冲突')
return false;
}else{
console.log('没有冲突')
return true;
}
},
check (a,b,x,y) {
if(a>=y || x>=b){
return false;
}else{
return true;
}
}
}
}
......
......@@ -6,7 +6,7 @@
</div>
</div> -->
<div class="page-content">
<q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" flat wrap-cells='true'
<q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" flat :wrap-cells='true'
class="sticky-column-table" separator="none" title="" :data="dataList" :columns="columns"
row-key="name">
......
......@@ -2,7 +2,7 @@
<div class="textmaterial" style="padding: 0;margin: 0;">
<div class="page-content">
<q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" flat class="sticky-column-table no-bottom-table" wrap-cells='true'
<q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" flat class="sticky-column-table no-bottom-table" :wrap-cells='true'
separator="none" title="" :data="dataList" :columns="columns" row-key="name">
<template v-slot:top="props">
<div class="col-2 q-table__title"></div>
......
......@@ -1600,6 +1600,76 @@
},
changeTime(index,minindex,type){
let list
if(type==1){
list = this.spweeklist[index].list
}
console.log(index,minindex)
if(this.addMsg[index].StartHours==''){
this.$q.notify({
type: 'negative',
message: `先选择开始时间`,
position: 'top'
})
this.addMsg[index].EndHours='';
return
}
let a = this.addMsg[index].StartHours
let b = this.addMsg[index].EndHours
let continuemap = true
this.addMsg.map((x,y)=>{
if(continuemap == false){
return
}
if(x.IsDefault !=1 && y!=index){//默认和选择自己的时候不做判断
let bx = x.StartHours;
let by = x.EndHours;
continuemap = this.checkTime(a,b,bx,by)
if(continuemap == false){
this.$q.notify({
type: 'negative',
message: `时间段存在冲突`,
position: 'top'
})
this.addMsg[index].StartHours='';
this.addMsg[index].EndHours='';
}
}
})
},
checkTime(a,b,x,y){
var times1=[],times2 = [];
times1.push([a,b]);
times2.push([x,y]);
var flag = false;
//循环比较时间段是否冲突
for (var i = 0; i < times1.length; i++) {
if (flag) break;
for (var j = 0; j < times2.length; j++) {
if(this.check(times1[i][0],times1[i][1],times2[j][0],times2[j][1])){
flag = true;
break;
}
}
}
if (flag) {
console.log('发生冲突')
return false;
}else{
console.log('没有冲突')
return true;
}
},
check (a,b,x,y) {
if(a>=y || x>=b){
return false;
}else{
return true;
}
}
}
......
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