|
|
@ -136,8 +136,9 @@ export default { |
|
|
|
let options = reactive({ |
|
|
|
times: [], |
|
|
|
currentTime: null, |
|
|
|
date: moment().format('YYYY-MM-DD 00:00:00'), |
|
|
|
date: moment().format('YYYY-MM-DD HH:00:00'), |
|
|
|
index: 0, |
|
|
|
changeLocate: 'nj', |
|
|
|
currentIndicator: 'plan-advice', |
|
|
|
currentProduct: 'control-experiment', |
|
|
|
items: [{ |
|
|
@ -261,50 +262,11 @@ export default { |
|
|
|
creates.pollutionIndicator.init(); |
|
|
|
} |
|
|
|
|
|
|
|
const drawPollutionIndicator = (result: CustomeArray<any>) => { |
|
|
|
if (result[0].time == null) return; |
|
|
|
const data = prepareChartData(result); |
|
|
|
creates.pollutionIndicator.updateSeries(0, data[0]); |
|
|
|
creates.pollutionIndicator.updateSeries(1, data[1]); |
|
|
|
creates.pollutionIndicator.updateSeries(2, data[2]); |
|
|
|
options.loadingPollutionIndicatorStatus = false |
|
|
|
} |
|
|
|
|
|
|
|
const prepareChartData = (result) => { |
|
|
|
if (result[0].data == null) { |
|
|
|
let temp = [] |
|
|
|
for (let i = 0; i < 72; i++) { |
|
|
|
temp.push(NaN); |
|
|
|
} |
|
|
|
result[0].data = group(temp ,24) |
|
|
|
} |
|
|
|
let prepareData = [] |
|
|
|
let startTimeMoment = moment(result[0].time, 'M_D_H').add(8, 'h') |
|
|
|
result[0].data.forEach(item => { |
|
|
|
let interval = (24 / item.length); |
|
|
|
let data = [] |
|
|
|
for (let i = 0, len = item.length; i < len; i++) { |
|
|
|
data.push([startTimeMoment.clone().add(interval * i, 'h').valueOf(), item[i]]) |
|
|
|
} |
|
|
|
prepareData.push(data) |
|
|
|
}) |
|
|
|
return prepareData; |
|
|
|
} |
|
|
|
|
|
|
|
const group = (array, subGroupLength) => { |
|
|
|
let index = 0; |
|
|
|
let newArray = []; |
|
|
|
while(index < array.length) { |
|
|
|
newArray.push(array.slice(index, index += subGroupLength)); |
|
|
|
} |
|
|
|
return newArray; |
|
|
|
} |
|
|
|
|
|
|
|
const reloadChartsRecognition = (element: string, callback: any) => { |
|
|
|
options.loadingPollutionIndicatorStatus = true |
|
|
|
let result = new CustomeArray(callback); |
|
|
|
let time = moment(options.date); |
|
|
|
reloadPollutionIndicator(time.format('M_D_H'), element, result); |
|
|
|
let time = moment(options.date) |
|
|
|
reloadPollutionIndicator(time.add(-1, 'd').format('M_D'), element, result); |
|
|
|
} |
|
|
|
|
|
|
|
const reloadPollutionIndicator = (time: string, elementCode, result: CustomeArray<any>) => { |
|
|
@ -323,7 +285,7 @@ export default { |
|
|
|
const prepareApiParams = (time, elementCode) => { |
|
|
|
return { |
|
|
|
var: elementCode, |
|
|
|
locate: 'nj', |
|
|
|
locate: options.changeLocate, |
|
|
|
date: moment(time, 'MM_DD_hh').format('M_D'), |
|
|
|
} |
|
|
|
} |
|
|
@ -336,6 +298,46 @@ export default { |
|
|
|
}) |
|
|
|
} |
|
|
|
|
|
|
|
const prepareChartData = (result) => { |
|
|
|
if (result[0].data == null) { |
|
|
|
let temp = [] |
|
|
|
for (let i = 0; i < 72; i++) { |
|
|
|
temp.push(NaN); |
|
|
|
} |
|
|
|
result[0].data = group(temp, 24) |
|
|
|
} |
|
|
|
let prepareData = [] |
|
|
|
let startTimeMoment = moment(result[0].time, 'M_D').add(8, 'h') |
|
|
|
result[0].data.forEach(item => { |
|
|
|
let interval = (24 / item.length); |
|
|
|
let data = [] |
|
|
|
for (let i = 0, len = item.length; i < len; i++) { |
|
|
|
data.push([startTimeMoment.clone().add(interval * i, 'h').valueOf(), item[i]]) |
|
|
|
} |
|
|
|
prepareData.push(data) |
|
|
|
}) |
|
|
|
return prepareData; |
|
|
|
} |
|
|
|
|
|
|
|
const drawPollutionIndicator = (result: CustomeArray<any>) => { |
|
|
|
if (result[0].time == null) return; |
|
|
|
const data = prepareChartData(result); |
|
|
|
creates.pollutionIndicator.updateSeries(0, data[0]); |
|
|
|
creates.pollutionIndicator.updateSeries(1, data[1]); |
|
|
|
creates.pollutionIndicator.updateSeries(2, data[2]); |
|
|
|
options.loadingPollutionIndicatorStatus = false |
|
|
|
} |
|
|
|
|
|
|
|
const group = (array, subGroupLength) => { |
|
|
|
let index = 0; |
|
|
|
let newArray = []; |
|
|
|
while (index < array.length) { |
|
|
|
newArray.push(array.slice(index, index += subGroupLength)); |
|
|
|
} |
|
|
|
return newArray; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
const initTimeLineDay = () => { |
|
|
|
options.times = []; |
|
|
|
options.currentTime = moment(options.date).format('YYYY-MM-DD'); |
|
|
|