历史数据分析前端代码数据完善

This commit is contained in:
赵正易 2025-09-08 11:07:30 +08:00
parent 7850bfafd8
commit 0c823cfe79

View File

@ -85,7 +85,52 @@ watch(
const activeKey = ref(1)
const loading = ref(false)
const tableData = ref([])
const lineChartData = ref({})
const lineChartData = ref({
title: "各车间点位值趋势图", //
xAxis: [
"00时", "01时", "02时", "03时", "04时", "05时",
"06时", "07时", "08时", "09时", "10时", "11时" //
],
series: [
{
name: "总装车间",
data: [128, 115, 98, 86, 75, 92, 135, 168, 192, 215, 230, 222],
itemStyle: { color: "#409eff" } //
}
]
})
const shopFakeDataTemplate = {
上海干巷总装车间: {
DAY: {
time: ["00时", "01时", "02时", "03时", "04时", "05时", "06时", "07时", "08时", "09时", "10时", "11时", "12时", "13时", "14时", "15时", "16时", "17时", "18时", "19时", "20时", "21时", "22时", "23时"],
data: [120, 115, 110, 105, 100, 70, 130, 150, 160, 165, 170, 175, 180, 178, 70, 170, 165, 180, 190, 70, 170, 150, 130, 125]
},
HOUR: {
time: ["14:00", "14:10", "14:20", "14:30", "14:40", "14:50"],
data: [160, 162, 165, 163, 168, 170]
}
},
上海干巷涂装车间: {
DAY: {
time: ["00时", "01时", "02时", "03时", "04时", "05时", "06时", "07时", "08时", "09时", "10时", "11时", "12时", "13时", "14时", "15时", "16时", "17时", "18时", "19时", "20时", "21时", "22时", "23时"],
data: [90, 85, 100, 75, 80, 95, 110, 130, 125, 135, 100, 138, 145, 142, 138, 140, 145, 100, 148, 140, 120, 100, 95, 92]
},
HOUR: {
time: ["14:00", "14:10", "14:20", "14:30", "14:40", "14:50"],
data: [130, 128, 135, 132, 140, 138]
}
},
上海干巷注塑车间: {
DAY: {
time: ["00时", "01时", "02时", "03时", "04时", "05时", "06时", "07时", "08时", "09时", "10时", "11时", "12时", "13时", "14时", "15时", "16时", "17时", "18时", "19时", "20时", "21时", "22时", "23时"],
data: [180, 175, 170, 165, 160, 170, 190, 210, 230, 240, 250, 255, 260, 20, 270, 268, 275, 280, 278, 270, 250, 230, 210, 190]
},
HOUR: {
time: ["14:00", "14:10", "14:20", "14:30", "14:40", "14:50"],
data: [240, 245, 250, 255, 260, 265]
}
}
};
const electricityMeter = ref([])
const data = reactive({
queryParams: {
@ -98,28 +143,69 @@ const data = reactive({
query: { ...useRoute().query },
})
const { queryParams, query } = toRefs(data)
function getElectricityMeter(params) {
getEnergyIndexByModelId(params).then((res) => {
if (res.code === 200) {
electricityMeter.value = res.data.map((item) => {
return {
...item,
label: item.indexName,
value: item.indexId,
}
})
queryParams.value.meterId = res.data.length > 0 ? res.data[0].indexId : ""
getList()
}
})
}
/** 节点单击事件 */
// function getElectricityMeter(params) {
// getEnergyIndexByModelId(params).then((res) => {
// if (res.code === 200) {
// electricityMeter.value = res.data.map((item) => {
// return {
// ...item,
// label: item.indexName,
// value: item.indexId,
// }
// })
// queryParams.value.meterId = res.data.length > 0 ? res.data[0].indexId : ""
// getList()
// }
// })
// }
// /** */
// function handleNodeClick(data) {
// queryParams.value.nodeId = data.id
// queryParams.value.nodeName = data.label
// setTimeout(() => {
// handleTimeType(queryParams.value.timeType)
// }, 200)
// }
//
function handleNodeClick(data) {
queryParams.value.nodeId = data.id
queryParams.value.nodeName = data.label
queryParams.value.nodeId = data.id;
queryParams.value.nodeName = data.label; // label
console.log("当前点击的车间:", queryParams.value.nodeName);
setTimeout(() => {
handleTimeType(queryParams.value.timeType)
}, 200)
handleTimeType(queryParams.value.timeType);
}, 100);
}
function getElectricityMeter(params) {
const currentShop = queryParams.value.nodeName;
const supportShops = ["上海干巷总装车间", "上海干巷涂装车间", "上海干巷注塑车间"];
if (shopFakeDataTemplate[currentShop]) {
electricityMeter.value = [
{
label: `${currentShop}-主点位`,
value: `${currentShop}_main`,
indexName: `${currentShop}-主点位`
}
];
queryParams.value.meterId = electricityMeter.value[0].value;
getList();
} else {
//
electricityMeter.value = [];
proxy.$message.info(`暂不支持【${currentShop}】数据查看,当前支持的车间:${supportShops.join('、')}`);
//
queryParams.value.nodeName = supportShops[0];
getElectricityMeter(params); //
}
}
//
function changeTimeType(e) {
queryParams.value.timeType = e;
queryParams.value.dataTime = proxy.dayjs(new Date()).format("YYYY-MM-DD HH:00:00");
getList(); //
}
function handleTimeType(e) {
queryParams.value.timeType = e
@ -127,11 +213,11 @@ function handleTimeType(e) {
getElectricityMeter({ modelId: queryParams.value.nodeId })
}
function changeTimeType(e) {
console.log(e)
queryParams.value.dataTime = proxy.dayjs(new Date()).format("YYYY-MM-DD HH:00:00")
getElectricityMeter({ modelId: queryParams.value.nodeId })
}
// function changeTimeType(e) {
// console.log(e)
// queryParams.value.dataTime = proxy.dayjs(new Date()).format("YYYY-MM-DD HH:00:00")
// getElectricityMeter({ modelId: queryParams.value.nodeId })
// }
function switchBtnType(e) {
activeKey.value = e
@ -140,48 +226,95 @@ function switchBtnType(e) {
}
}
const LineChartRef = ref()
// function getList() {
// loading.value = true
// let params = {
// nodeId: queryParams.value.nodeId,
// timeType: queryParams.value.timeType,
// dataTime: queryParams.value.dataTime,
// indexId: queryParams.value.meterId,
// }
// if (queryParams.value.timeType == "DAY") {
// params.timeCode = proxy.dayjs(new Date(queryParams.value.dataTime)).format("YYYY-MM-DD")
// } else if (queryParams.value.timeType == "MONTH") {
// params.timeCode = proxy.dayjs(new Date(queryParams.value.dataTime)).format("YYYY-MM")
// } else if (queryParams.value.timeType == "YEAR") {
// params.timeCode = proxy.dayjs(new Date(queryParams.value.dataTime)).format("YYYY")
// }
// getHistoricalDataByIndexId(params)
// .then((res) => {
// if (res.code == 200) {
// loading.value = false
// tableData.value = res.data
// let itemList = res.data
// lineChartData.value = {
// title: "",
// xAxis: itemList.map((item) => {
// return queryParams.value.timeType == "DAY"
// ? item.dataTime.slice(11, 13) + ""
// : item.dataTime.slice(11, 16)
// }),
// series: [
// {
// name: "",
// data: itemList.map((item) => {
// return item.value
// }),
// },
// ],
// }
// }
// })
// .catch(() => {
// loading.value = false
// })
// }
function getList() {
loading.value = true
let params = {
nodeId: queryParams.value.nodeId,
timeType: queryParams.value.timeType,
dataTime: queryParams.value.dataTime,
indexId: queryParams.value.meterId,
loading.value = true;
const currentShop = queryParams.value.nodeName; //
const currentTimeType = queryParams.value.timeType; // /
//
const shopData = shopFakeDataTemplate[currentShop]?.[currentTimeType];
if (!shopData) {
loading.value = false;
proxy.$message.warning(`暂无${currentShop}${currentTimeType === 'DAY' ? '日维度' : '小时维度'}数据`);
return;
}
if (queryParams.value.timeType == "DAY") {
params.timeCode = proxy.dayjs(new Date(queryParams.value.dataTime)).format("YYYY-MM-DD")
} else if (queryParams.value.timeType == "MONTH") {
params.timeCode = proxy.dayjs(new Date(queryParams.value.dataTime)).format("YYYY-MM")
} else if (queryParams.value.timeType == "YEAR") {
params.timeCode = proxy.dayjs(new Date(queryParams.value.dataTime)).format("YYYY")
}
getHistoricalDataByIndexId(params)
.then((res) => {
if (res.code == 200) {
loading.value = false
tableData.value = res.data
let itemList = res.data
lineChartData.value = {
title: "",
xAxis: itemList.map((item) => {
return queryParams.value.timeType == "DAY"
? item.dataTime.slice(11, 13) + "时"
: item.dataTime.slice(11, 16)
}),
series: [
{
name: "点位值",
data: itemList.map((item) => {
return item.value
}),
},
],
//
const baseDate = proxy.dayjs(queryParams.value.dataTime).format("YYYY-MM-DD");
const fakeTableData = shopData.time.map((time, index) => {
const fullTime = currentTimeType === 'DAY'
? `${baseDate} ${time.replace('时', '')}:00:00`
: `${baseDate} ${time}:00`;
return {
indexName: currentShop,
value: shopData.data[index],
dataTime: fullTime
};
});
lineChartData.value = {
title: `${currentShop}${currentTimeType === 'DAY' ? '日维度' : '小时维度'}点位值趋势(假数据)`,
xAxis: shopData.time, // X0014:00
series: [
{
name: `${currentShop}点位值`,
data: shopData.data, // Y
itemStyle: {
// 便
color: currentShop === '上海干巷总装车间' ? '#409eff' :
currentShop === '上海干巷涂装车间' ? '#f56c6c' : '#67c23a'
}
}
})
.catch(() => {
loading.value = false
})
]
};
// 4.
tableData.value = fakeTableData;
loading.value = false;
}
// --
function handleQuery() {