zhp #7

Merged
juzi merged 2 commits from zhp into features/warning 2024-09-13 16:58:48 +08:00
5 changed files with 74 additions and 26 deletions

View File

@ -1,7 +1,7 @@
/*
* @Author: zhp
* @Date: 2024-08-29 09:46:11
* @LastEditTime: 2024-09-13 14:35:10
* @LastEditTime: 2024-09-13 16:27:51
* @LastEditors: zhp
* @Description:
*/
@ -26,14 +26,23 @@ function BlueRect(props) {
};
// const parentRef = useRef(null);
// const pointsRef = useRef(null);
const [mousePosition, setMousePosition] = useState({ x: 0, y: 0 });
const [pointsPosition, setPointsPosition] = useState({ left: 'initial', top: 'initial' });
const handleMouseMove = (event) => {
setMousePosition({ x: event.clientX, y: event.clientY });
};
const handleToggleVisibility = () => {
setIsVisible(!isVisible);
if (isVisible) {
console.log(props)
//
setChartData(null);
} else {
console.log('props',props)
setPointsPosition({
left: `${mousePosition.x + 100}px`,
top: `${mousePosition.y - 100}px`,
});
//
setChartData({
title,
@ -42,15 +51,8 @@ function BlueRect(props) {
});
}
}
// useEffect(() => {
// if (parentRef.current && pointsRef.current &&!props.blue && isVisible) {
// const parentRect = parentRef.current.getBoundingClientRect();
// pointsRef.current.style.left = `${parentRect.right}px`;
// pointsRef.current.style.top = `${parentRect.top}px`;
// }
// }, [props.blue, isVisible]);
return (
<div>
<div onMouseMove={handleMouseMove}>
<div
// ref={parentRef}
className={`${cls.blueRect} ${cls[title]}`}
@ -81,10 +83,11 @@ function BlueRect(props) {
)}
</div>
{isVisible && !props.blue && <Points dataSource={chartData}
// ref={pointsRef}
updateVisibilityState={updateVisibilityState} //
style={{
position: "fixed",
left: pointsPosition.left,
top: pointsPosition.top,
zIndex: 9999,
}}/>}
</div>

View File

@ -1,7 +1,7 @@
/*
* @Author: zhp
* @Date: 2024-08-28 09:25:58
* @LastEditTime: 2024-09-13 14:30:06
* @LastEditTime: 2024-09-13 16:50:40
* @LastEditors: zhp
* @Description:
*/
@ -10,7 +10,29 @@ import ReactECharts from "echarts-for-react";
import getOptions from "./chart.config";
import * as echarts from "echarts";
import { useState } from "react";
function compareArrays(arr1, arr2) {
let allDataInFirstArray = true;
for (let i = 0; i < arr1.length; i++) {
if (!arr1[i]) {
allDataInFirstArray = false;
break;
}
}
if (allDataInFirstArray) {
return [];
} else {
const result = [];
for (let i = 0; i < arr1.length; i++) {
if (!arr1[i]) {
result.push(arr2[i]);
} else {
result.push(null);
}
}
return result;
}
}
function CommonChart(props) {
const { dataSource } = props;
@ -23,7 +45,7 @@ function CommonChart(props) {
const times = [];
// }
let forecastList = []
if (modelFlag === true) {
// if (modelFlag === true) {
for (let i = 0; i < data.length; i++) {
let item = data[i];
let min = item - 5;
@ -31,7 +53,7 @@ function CommonChart(props) {
let randomValue = Math.random() * (max - min) + min;
forecastList.push(randomValue.toFixed(1));
}
}
// }
for(let i = 0; i < 7; i++) {
@ -106,7 +128,7 @@ function CommonChart(props) {
<div className={cls.commonChart}>
{data.length > 0 && (
<ReactECharts
option={getOptions(data, times, yRange, yName,forecastList,color,color1,areaStyle,areaStyle1)}
option={getOptions(data, times, yRange, yName,compareArrays(data,forecastList),color,color1,areaStyle,areaStyle1)}
style={{ height: "100%" }}
/>
)}

View File

@ -11,7 +11,29 @@ import ReactECharts from "echarts-for-react";
import getOptions from "./chart.config";
import * as echarts from "echarts";
import { useState } from "react";
function compareArrays(arr1, arr2) {
let allDataInFirstArray = true;
for (let i = 0; i < arr1.length; i++) {
if (!arr1[i]) {
allDataInFirstArray = false;
break;
}
}
if (allDataInFirstArray) {
return [];
} else {
const result = [];
for (let i = 0; i < arr1.length; i++) {
if (!arr1[i]) {
result.push(arr2[i]);
} else {
result.push(null);
}
}
return result;
}
}
function CommonChart(props) {
const { dataSource } = props;
const data = dataSource.data || [];
@ -22,7 +44,7 @@ function CommonChart(props) {
const xData = dataSource.xData || [];
console.log('xData',props);
let forecastList = [];
if (modelFlag === true) {
// if (modelFlag === true) {
for (let i = 0; i < data.length; i++) {
let item = data[i];
let min = item - .5;
@ -31,7 +53,7 @@ function CommonChart(props) {
forecastList.push(randomValue.toFixed(1));
}
console.log(forecastList)
}
// }
let areaStyle = {
opacity: 0.8,
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
@ -65,7 +87,7 @@ function CommonChart(props) {
<div className={cls.commonChart}>
{data.length > 0 && (
<ReactECharts
option={getOptions(data, xData, yRange, yName,forecastList,color,color1,areaStyle,areaStyle1)}
option={getOptions(data, xData, yRange, yName,compareArrays(data,forecastList),color,color1,areaStyle,areaStyle1)}
style={{ height: "100%" }}
/>
)}

View File

@ -1,7 +1,7 @@
/*
* @Author: zhp
* @Date: 2024-08-20 14:09:17
* @LastEditTime: 2024-08-30 14:53:39
* @LastEditTime: 2024-09-13 16:39:20
* @LastEditors: zhp
* @Description:
*/
@ -14,6 +14,7 @@ import SeasonToggle from "../seasonButton";
import InputDataToggle from "../inputData";
function paramsInput(props) {
const handleClick = () => {
console.log(11111);
props.onSendValueToParent(true);
};
return (

View File

@ -37,7 +37,7 @@ export default function Home({ active }) {
const handleValueFromGrandChild = (value) => {
setModelFlag(value);
console.log('modelFlag',modelFlag);
console.log('modelFlag',value);
};
const ctx = useSelector((state) => state.fireInfo);
const fireDir = ctx.fireDirection || null;