jiangchengfeiyi-Web/src/utils/dealStringArray.js

92 lines
2.8 KiB
JavaScript
Raw Normal View History

2024-12-03 04:29:33 +00:00
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
}
2024-12-03 11:51:45 +00:00
export const transfer = (val, arr, isAvailableArr) => {
2024-12-03 18:26:43 +00:00
console.log('这是val:', val)
2024-12-03 04:29:33 +00:00
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
2024-12-03 11:51:45 +00:00
arr[i][j].numberRange = "(" + val[i][j].minNumValue + "," + val[i][j].maxNumValue + ")"
2024-12-03 04:29:33 +00:00
}
}
2024-12-03 18:26:43 +00:00
console.log('这是arr:', arr)
2024-12-03 04:29:33 +00:00
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: '',
2024-12-03 11:51:45 +00:00
isAvailable: false
2024-12-03 04:29:33 +00:00
}
}
let timeSlotArr = []
let numberRangeArr = []
2024-12-04 01:49:16 +00:00
let cnt = 0
let k = 0
2024-12-03 04:29:33 +00:00
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)
}
}
2024-12-03 18:26:43 +00:00
if(val[i].length == 0){
newArr[i].timeSlot = "00:00-00:00"
newArr[i].numberRange = "(0,0)"
newArr[i].isAvailable = 0
2024-12-04 01:49:16 +00:00
k ++
cnt ++
2024-12-03 18:26:43 +00:00
}else{
newArr[i].timeSlot = timeSlotArr.join(';')
newArr[i].numberRange = numberRangeArr.join(';')
newArr[i].isAvailable = isAvailableArr[i] ? 1 : 0
2024-12-04 01:49:16 +00:00
if(!isAvailableArr[i]) k ++
}
if(cnt == 4) {
ElMessage({
type: 'error',
message: '至少得有一个预约时间段'
})
return ;
}
if(k == 4) {
ElMessage({
type: 'error',
message: '至少有一天可以预约'
})
return ;
2024-12-03 18:26:43 +00:00
}
2024-12-03 04:29:33 +00:00
timeSlotArr = []
numberRangeArr = []
}
ElMessage({
type: 'success',
message: '时间段保存成功'
})
// console.log(newArr)
return newArr
}