92 lines
2.8 KiB
JavaScript
92 lines
2.8 KiB
JavaScript
import { ElMessage } from 'element-plus';
|
|
|
|
const isNotValid = (val) => {
|
|
const timeRegex = /^([0-1]?[0-9]|2[0-3]):([0-5]?[0-9])-(?:[0-1]?[0-9]|2[0-3]):([0-5]?[0-9])$/;
|
|
const rangeRegex = /^\(\d+,\d+\)$/
|
|
return timeRegex.test(val.timeSlot) && rangeRegex.test(val.numberRange)
|
|
}
|
|
|
|
const isValidPlus = (val) => {
|
|
const timeRegex = /^([0-1]?[0-9]|2[0-3]):([0-5]?[0-9])-(?:[0-1]?[0-9]|2[0-3]):([0-5]?[0-9])$/;
|
|
const rangeRegex = /^\(\d+,\d+\)$/
|
|
if(val.timeSlot === '' && val.numberRange === '') return false
|
|
if(timeRegex.test(val.timeSlot) && rangeRegex.test(val.numberRange)) return false
|
|
return true
|
|
}
|
|
|
|
export const transfer = (val, arr, isAvailableArr) => {
|
|
console.log('这是val:', val)
|
|
for (var i = 0; i < val.length; i ++ ) {
|
|
for (var j = 0; j < val[i].length; j ++ ) {
|
|
arr[i][j].timeSlot = val[i][j].startTime + "-" + val[i][j].endTime
|
|
arr[i][j].numberRange = "(" + val[i][j].minNumValue + "," + val[i][j].maxNumValue + ")"
|
|
}
|
|
}
|
|
console.log('这是arr:', arr)
|
|
for (var i = 0; i < 4; i ++ ) {
|
|
for (var j = 0; j < 6; j ++ ) {
|
|
if(isValidPlus(arr[i][j])) {
|
|
ElMessage({
|
|
type: 'error',
|
|
message: '请检查表单数据是否完整填写'
|
|
})
|
|
return ;
|
|
}
|
|
}
|
|
}
|
|
let newArr = new Array(4)
|
|
for (var i = 0; i < 4; i ++ ) {
|
|
newArr[i] = {
|
|
timeSlot:'',
|
|
numberRange: '',
|
|
isAvailable: false
|
|
}
|
|
}
|
|
|
|
let timeSlotArr = []
|
|
let numberRangeArr = []
|
|
let cnt = 0
|
|
let k = 0
|
|
for (var i = 0; i < val.length; i ++ ) {
|
|
for (var j = 0; j < val[i].length; j ++ ) {
|
|
if(isNotValid(arr[i][j])) {
|
|
timeSlotArr.push(arr[i][j].timeSlot)
|
|
numberRangeArr.push(arr[i][j].numberRange)
|
|
}
|
|
}
|
|
if(val[i].length == 0){
|
|
newArr[i].timeSlot = "00:00-00:00"
|
|
newArr[i].numberRange = "(0,0)"
|
|
newArr[i].isAvailable = 0
|
|
k ++
|
|
cnt ++
|
|
}else{
|
|
newArr[i].timeSlot = timeSlotArr.join(';')
|
|
newArr[i].numberRange = numberRangeArr.join(';')
|
|
newArr[i].isAvailable = isAvailableArr[i] ? 1 : 0
|
|
if(!isAvailableArr[i]) k ++
|
|
}
|
|
if(cnt == 4) {
|
|
ElMessage({
|
|
type: 'error',
|
|
message: '至少得有一个预约时间段'
|
|
})
|
|
return ;
|
|
}
|
|
if(k == 4) {
|
|
ElMessage({
|
|
type: 'error',
|
|
message: '至少有一天可以预约'
|
|
})
|
|
return ;
|
|
}
|
|
timeSlotArr = []
|
|
numberRangeArr = []
|
|
}
|
|
ElMessage({
|
|
type: 'success',
|
|
message: '时间段保存成功'
|
|
})
|
|
// console.log(newArr)
|
|
return newArr
|
|
} |