后端修改了预约时间
This commit is contained in:
parent
06aa3853f3
commit
6e902244c9
2499
package-lock.json
generated
2499
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
|
@ -60,6 +60,7 @@
|
|||
<script setup lang="ts">
|
||||
import { onMounted, ref , defineEmits } from 'vue'
|
||||
import { Plus } from '@element-plus/icons-vue';
|
||||
|
||||
const dayList = ref([0, 1, 2, 3]) //今天和未来三天
|
||||
const timeList = ref([ //时间段数组,可以直接通过timeList[index][row]访问对应的时间段
|
||||
[
|
||||
|
@ -99,6 +100,7 @@ const timeList = ref([ //时间段数组,可以直接通过timeList[index][
|
|||
}
|
||||
]
|
||||
])
|
||||
|
||||
//人数数组,初始化好四天六个时间段的人数
|
||||
const minOptions = ref(
|
||||
Array.from({length:4},()=>(
|
||||
|
@ -124,8 +126,26 @@ const appointmentDateAddRequestList = ref(
|
|||
}
|
||||
)),
|
||||
)
|
||||
|
||||
var arr = new Array(4)
|
||||
const init = () => {
|
||||
for (var i = 0; i < 4; i ++ ) {
|
||||
arr[i] = new Array(6)
|
||||
}
|
||||
for (var i = 0; i < 4; i ++ ) {
|
||||
for (var j = 0; j < 6; j ++ ) {
|
||||
arr[i][j] = {
|
||||
timeSlot: '',
|
||||
numberRange: '',
|
||||
isAvailable: ''
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const emit = defineEmits(['time-Info']) //组件绑定
|
||||
onMounted(()=>{
|
||||
init()
|
||||
for(let i=0; i<4; i++) { //开始时初始化人数的数组
|
||||
for(let j=0; j<6; j++) {
|
||||
for(let k=0;k<50;k++) {
|
||||
|
@ -153,12 +173,83 @@ const subList = (index: number, row: number) => {
|
|||
const minNumFun = (number : any,index : number,row : number)=> {
|
||||
maxOptions.value[index][row].splice(0,number-5)
|
||||
}
|
||||
import { transfer } from '../../utils/dealStringArray';
|
||||
//组件传值
|
||||
const onSubmit =()=>{
|
||||
const onSubmit =()=> {
|
||||
let tempArr = transfer(timeList.value, arr)
|
||||
console.log(tempArr)
|
||||
//将数组处理成后端格式
|
||||
emit('time-Info',timeList)
|
||||
emit('time-Info',tempArr)
|
||||
}
|
||||
|
||||
|
||||
|
||||
// const isNotValid = (val:any) => {
|
||||
// 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:any) => {
|
||||
// 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
|
||||
// }
|
||||
|
||||
// const transfer = (val:any) => {
|
||||
// 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].maxNunValue + ")"
|
||||
// arr[i][j].isAvailable = val[i][j].isAvailable
|
||||
// }
|
||||
// }
|
||||
// // console.log(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:any = new Array(4)
|
||||
// for (var i = 0; i < 4; i ++ ) {
|
||||
// newArr[i] = {
|
||||
// timeSlot:'',
|
||||
// numberRange: '',
|
||||
// isAvailable: true
|
||||
// }
|
||||
// }
|
||||
|
||||
// let timeSlotArr:any = []
|
||||
// let numberRangeArr:any = []
|
||||
// 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)
|
||||
// }
|
||||
// }
|
||||
// newArr[i].timeSlot = timeSlotArr.join(';')
|
||||
// newArr[i].numberRange = numberRangeArr.join(';')
|
||||
// timeSlotArr = []
|
||||
// numberRangeArr = []
|
||||
// }
|
||||
// console.log(newArr)
|
||||
// return newArr
|
||||
// }
|
||||
|
||||
|
||||
|
||||
|
||||
const resetForm=()=>{
|
||||
console.log(3333)
|
||||
for(let i=0;i<4;i++) {
|
||||
timeList.value[i] = [{
|
||||
startTime: '',
|
||||
|
|
67
src/utils/dealStringArray.js
Normal file
67
src/utils/dealStringArray.js
Normal file
|
@ -0,0 +1,67 @@
|
|||
|
||||
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) => {
|
||||
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].maxNunValue + ")"
|
||||
arr[i][j].isAvailable = val[i][j].isAvailable
|
||||
}
|
||||
}
|
||||
// console.log(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: true
|
||||
}
|
||||
}
|
||||
|
||||
let timeSlotArr = []
|
||||
let numberRangeArr = []
|
||||
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)
|
||||
}
|
||||
}
|
||||
newArr[i].timeSlot = timeSlotArr.join(';')
|
||||
newArr[i].numberRange = numberRangeArr.join(';')
|
||||
timeSlotArr = []
|
||||
numberRangeArr = []
|
||||
}
|
||||
ElMessage({
|
||||
type: 'success',
|
||||
message: '时间段保存成功'
|
||||
})
|
||||
// console.log(newArr)
|
||||
return newArr
|
||||
}
|
Loading…
Reference in New Issue
Block a user