默认显示这样
选择后不同时间显示不同颜色
这是获得的时间段数据
00:00-24:00:100;00:00-01:30:100,01:30-04:30:150,04:30-06:30:100,06:30-23:30:250,23:30-24:00:100;00:00-01:30:100,01:30-04:30:150,04:30-06:30:100,06:30-09:00:250,09:00-19:30:30,19:30-23:30:250,23:30-24:00:100;00:00-01:30:100,01:30-04:30:150,04:30-06:30:100,06:30-09:00:250,09:00-19:30:30,19:30-23:30:250,23:30-24:00:100;00:00-01:30:100,01:30-04:30:150,04:30-06:30:100,06:30-09:00:250,09:00-19:30:30,19:30-23:30:250,23:30-24:00:100;00:00-01:30:100,01:30-04:30:150,04:30-06:30:100,06:30-23:30:250,23:30-24:00:100;
/**
*
* TODO: 数据回显
*/
const EchoData = async () => {
if (!propsData || propsData == 'all') {
return
}
propsDataAyy = propsData.split(';')
propsDataAyy.forEach((item, i) => {
propsDataAyy[i] = item.split(',')
})
let rowData = {}
let emptyData = ''
propsDataAyy.forEach((item, i) => {
item.forEach((items, index) => {
if (items == 0) {
for (let o = i * splitLen; o < i * splitLen + splitLen; o++) {
datas.rowUnit[o].discount = 0
}
return
} else {
if (item[index - 1]) {
let s =
item[index - 1].split('-')[1].split(':')[0] +
':' +
item[index - 1].split('-')[1].split(':')[1]
let w = items.split('-')[0]
if (s != w) {
rowData = conptCoverGezi(i, s + '-' + w + ':0')
setTableDiscont(index, rowData)
}
}
rowData = conptCoverGezi(i, items)
setTableDiscont(index, rowData)
}
})
})
}
/**
*
* TODO: 组装数据
*/
let submitParams = []
const SpellParms = () => {
submitParams = [[], [], [], [], [], [], []]
let objBefore = {} // 记录变化开始的对象
let changeIndex = 0 // 记录变化开始的下标
datas.rowUnitend.forEach((item, i) => {
item.forEach((items, index) => {
if (index === 0) {
objBefore = items
}
// 如果数据发生变化
if (objBefore.discount != items.discount) {
// 判断是否到了最后一个
if (index === item.length - 1) {
if (objBefore.discount != 0) {
submitParams[i].push(
objBefore.data + '-' + items.data + ':' + objBefore.discount
)
submitParams[i].push(
items.data + '-' + '24:00' + ':' + items.discount
)
}
} else {
if (objBefore.discount != 0) {
submitParams[i].push(
objBefore.data + '-' + item[index].data + ':' + objBefore.discount
)
}
}
changeIndex = index
objBefore = items
}
// 到最后一条数据的时候判断前面数据发生变化时的下标是否是最后一条 如果不是 拼接最后一组数据
if (index === item.length - 1) {
if (changeIndex != index) {
if (objBefore.discount == items.discount) {
if (objBefore.discount === 0) {
submitParams[i].push(0)
} else {
submitParams[i].push(
objBefore.data + '-' + '24:00' + ':' + items.discount
)
}
}
}
}
})
})
submitParams.forEach((item, index) => {
submitParams[index] = item.join(',')
})
console.log(submitParams.join(';'))
}
上述是主要的代码。有需要的留言。