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 }