| | |
| | | if (tempData) { |
| | | xData.push(tempData.lst) |
| | | yAvg.push(tempData.dayAvg) |
| | | yOnline.push(this.deleteLastStr(tempData.dayOnline)) |
| | | yValid.push(this.deleteLastStr(tempData.dayValid)) |
| | | yExceed.push(this.deleteLastStr(tempData.dayExceeding)) |
| | | |
| | | yOnline.push(tempData.dayOnline) |
| | | yValid.push(tempData.dayValid) |
| | | yExceed.push(tempData.dayExceeding) |
| | | continue |
| | | } |
| | | |
| | |
| | | }, |
| | | |
| | | /** |
| | | * 返回无数据的时间段 |
| | | * @param: |
| | | * @returns: |
| | | */ |
| | | backNoDataInteval(dataBeginTime, dataEndTime) { |
| | | const result = [] |
| | | // 数据开始时间 |
| | | const start = dayjs(dataBeginTime) |
| | | // 数据结束时间 |
| | | const end = dayjs(dataEndTime) |
| | | // 该月的1号 |
| | | const monthStart = start.startOf('month') |
| | | // 该月最后一天 |
| | | const monthEnd = start.endOf('month') |
| | | |
| | | // 数据起始不等于月初 且 数据结束不等于月末 |
| | | if (!start.isSame(monthStart, 'day') && !end.isSame(monthEnd, 'day')) { |
| | | result.push([monthStart.format('YYYY-MM-DD'), start.format('YYYY-MM-DD')]) |
| | | result.push([end.format('YYYY-MM-DD'), monthEnd.format('YYYY-MM-DD')]) |
| | | } |
| | | |
| | | // 数据起始等于月初 且 数据结束不等于月末 |
| | | if (start.isSame(monthStart, 'day') && !end.isSame(monthEnd, 'day')) { |
| | | result.push([end.format('YYYY-MM-DD'), monthEnd.format('YYYY-MM-DD')]) |
| | | } |
| | | |
| | | // 数据起始不等于月初 且 数据结束等于月末 |
| | | if (!start.isSame(monthStart, 'day') && end.isSame(monthEnd, 'day')) { |
| | | result.push([monthStart.format('YYYY-MM-DD'), start.format('YYYY-MM-DD')]) |
| | | } |
| | | |
| | | // 数据起始等于月初 且 数据结束等于月末 (这种情况没有空数据的时间间隔) |
| | | return result |
| | | }, |
| | | |
| | | /** |
| | | * 组成无数据区域 |
| | | * @param: 2维数组 |
| | | * @returns: |
| | | */ |
| | | getMarkArea(timeInteval,describe='无数据') { |
| | | getMarkArea(timeInteval, describe = '无数据') { |
| | | let result = [] |
| | | for (let i = 0; i < timeInteval.length; i++) { |
| | | let temp = [] |
| | |
| | | */ |
| | | deleteLastStr(valueStr) { |
| | | return valueStr.slice(0, -1) |
| | | }, |
| | | |
| | | /** |
| | | * 指定时间区间的线段变颜色 |
| | | * @param: |
| | | * @returns: |
| | | */ |
| | | getLineColor(timeInteval, xList) { |
| | | let result = [] |
| | | |
| | | // 只取 |
| | | let temp = [] |
| | | for (let i = 0; i < timeInteval.length; i++) { |
| | | if (timeInteval[i][0] != timeInteval[i][1]) { |
| | | temp.push(timeInteval[i]) |
| | | } |
| | | } |
| | | |
| | | // 无连续的数据 直接退出 |
| | | if (temp.length == 0) { |
| | | return [] |
| | | } |
| | | |
| | | // 取第一个连续的时段 |
| | | result.push([ |
| | | { |
| | | lte: temp[0][0], |
| | | color: 'green' |
| | | }, |
| | | { |
| | | gt: temp[0][0], |
| | | lte: temp[0][1], |
| | | color: 'red' |
| | | }, |
| | | { |
| | | gt: temp[0][1], |
| | | lte: xList[xList.length - 1], |
| | | color: 'green' |
| | | } |
| | | ]) |
| | | return result[0] |
| | | } |
| | | } |