jiangchengfeiyi-Web/src/utils/dealStringArray.js
2024-12-04 09:49:16 +08:00

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
}