diff --git a/.playwright-mcp/console-2026-05-08T02-04-09-373Z.log b/.playwright-mcp/console-2026-05-08T02-04-09-373Z.log new file mode 100644 index 0000000..6c71d5b --- /dev/null +++ b/.playwright-mcp/console-2026-05-08T02-04-09-373Z.log @@ -0,0 +1,2 @@ +[ 909ms] [INFO] %cDownload the React DevTools for a better development experience: https://react.dev/link/react-devtools font-weight:bold @ http://127.0.0.1:5173/node_modules/.vite/deps/react-dom_client.js?v=2852bbef:20102 +[ 1197ms] [ERROR] Failed to load resource: the server responded with a status of 404 (Not Found) @ http://127.0.0.1:5173/favicon.ico:0 diff --git a/.playwright-mcp/console-2026-05-08T02-05-10-848Z.log b/.playwright-mcp/console-2026-05-08T02-05-10-848Z.log new file mode 100644 index 0000000..839e9ad --- /dev/null +++ b/.playwright-mcp/console-2026-05-08T02-05-10-848Z.log @@ -0,0 +1 @@ +[ 30ms] [INFO] %cDownload the React DevTools for a better development experience: https://react.dev/link/react-devtools font-weight:bold @ http://127.0.0.1:5173/node_modules/.vite/deps/react-dom_client.js?v=2852bbef:20102 diff --git a/.playwright-mcp/page-2026-05-08T02-04-10-573Z.yml b/.playwright-mcp/page-2026-05-08T02-04-10-573Z.yml new file mode 100644 index 0000000..91eba2f --- /dev/null +++ b/.playwright-mcp/page-2026-05-08T02-04-10-573Z.yml @@ -0,0 +1,59 @@ +- main [ref=e3]: + - generic: + - generic: 众为数字化管理平台 + - generic: 众为数字化管理平台 + - generic: 众为数字化管理平台 + - generic: 众为数字化管理平台 + - generic: 众为数字化管理平台 + - generic: 众为数字化管理平台 + - generic: 众为数字化管理平台 + - generic: 众为数字化管理平台 + - generic: 众为数字化管理平台 + - generic: 众为数字化管理平台 + - generic: 众为数字化管理平台 + - generic: 众为数字化管理平台 + - generic: 众为数字化管理平台 + - generic: 众为数字化管理平台 + - generic: 众为数字化管理平台 + - generic: 众为数字化管理平台 + - generic: 众为数字化管理平台 + - generic: 众为数字化管理平台 + - region "年度费用模板" [ref=e4]: + - region "年度总费用图表" [ref=e5]: + - generic [ref=e6]: + - button "纵坐标:造价(元)" [ref=e8] [cursor=pointer]: 造价(元) + - button "全屏(F11)" [ref=e9] [cursor=pointer] + - generic [ref=e11]: + - figure "图表,共有0个系列": + - generic [ref=e12]: + - img "interactive chart": + - generic: + - img + - img + - region [ref=e13] + - toolbar "标注" [ref=e14]: + - button "均" [disabled] [ref=e15]: + - generic: 均 + - button "Line Tool" [disabled] [ref=e16] + - button "Text Tool" [disabled] [ref=e17] + - button "Shape Tool" [disabled] [ref=e18] + - button "Fibonacci Tool" [disabled] [ref=e19] + - button "Clear annotations" [disabled] [ref=e20] + - status: + - generic: 没有数据显示 + - toolbar "缩放" [ref=e21]: + - button "缩小" [disabled] [ref=e22] + - button "放大" [ref=e23] [cursor=pointer] + - button "左移" [disabled] [ref=e24] + - button "右移" [disabled] [ref=e25] + - button "重置" [disabled] [ref=e26] + - generic [ref=e27]: 请选择右侧分类项 + - complementary "选择内容" [ref=e28]: + - tablist "选择内容切换项" [ref=e29]: + - tab "自然地理区位" [selected] [ref=e30] [cursor=pointer] + - tab "设施类别" [ref=e31] [cursor=pointer] + - tab "建设阶段" [ref=e32] [cursor=pointer] + - tab "规划形式" [ref=e33] [cursor=pointer] + - generic [ref=e34]: + - generic [ref=e35]: 自然地理区位 + - generic [ref=e36]: 加载中 \ No newline at end of file diff --git a/.playwright-mcp/page-2026-05-08T02-05-11-092Z.yml b/.playwright-mcp/page-2026-05-08T02-05-11-092Z.yml new file mode 100644 index 0000000..91eba2f --- /dev/null +++ b/.playwright-mcp/page-2026-05-08T02-05-11-092Z.yml @@ -0,0 +1,59 @@ +- main [ref=e3]: + - generic: + - generic: 众为数字化管理平台 + - generic: 众为数字化管理平台 + - generic: 众为数字化管理平台 + - generic: 众为数字化管理平台 + - generic: 众为数字化管理平台 + - generic: 众为数字化管理平台 + - generic: 众为数字化管理平台 + - generic: 众为数字化管理平台 + - generic: 众为数字化管理平台 + - generic: 众为数字化管理平台 + - generic: 众为数字化管理平台 + - generic: 众为数字化管理平台 + - generic: 众为数字化管理平台 + - generic: 众为数字化管理平台 + - generic: 众为数字化管理平台 + - generic: 众为数字化管理平台 + - generic: 众为数字化管理平台 + - generic: 众为数字化管理平台 + - region "年度费用模板" [ref=e4]: + - region "年度总费用图表" [ref=e5]: + - generic [ref=e6]: + - button "纵坐标:造价(元)" [ref=e8] [cursor=pointer]: 造价(元) + - button "全屏(F11)" [ref=e9] [cursor=pointer] + - generic [ref=e11]: + - figure "图表,共有0个系列": + - generic [ref=e12]: + - img "interactive chart": + - generic: + - img + - img + - region [ref=e13] + - toolbar "标注" [ref=e14]: + - button "均" [disabled] [ref=e15]: + - generic: 均 + - button "Line Tool" [disabled] [ref=e16] + - button "Text Tool" [disabled] [ref=e17] + - button "Shape Tool" [disabled] [ref=e18] + - button "Fibonacci Tool" [disabled] [ref=e19] + - button "Clear annotations" [disabled] [ref=e20] + - status: + - generic: 没有数据显示 + - toolbar "缩放" [ref=e21]: + - button "缩小" [disabled] [ref=e22] + - button "放大" [ref=e23] [cursor=pointer] + - button "左移" [disabled] [ref=e24] + - button "右移" [disabled] [ref=e25] + - button "重置" [disabled] [ref=e26] + - generic [ref=e27]: 请选择右侧分类项 + - complementary "选择内容" [ref=e28]: + - tablist "选择内容切换项" [ref=e29]: + - tab "自然地理区位" [selected] [ref=e30] [cursor=pointer] + - tab "设施类别" [ref=e31] [cursor=pointer] + - tab "建设阶段" [ref=e32] [cursor=pointer] + - tab "规划形式" [ref=e33] [cursor=pointer] + - generic [ref=e34]: + - generic [ref=e35]: 自然地理区位 + - generic [ref=e36]: 加载中 \ No newline at end of file diff --git a/demo.html b/demo.html deleted file mode 100644 index 91f5659..0000000 --- a/demo.html +++ /dev/null @@ -1,783 +0,0 @@ - - \ No newline at end of file diff --git a/src/App.tsx b/src/App.tsx index f21cb5a..ee7dfe7 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -14,7 +14,7 @@ import { AG_CHARTS_LOCALE_ZH_CN } from 'ag-charts-locale'; LicenseManager.setLicenseKey('[v3][RELEASE][0102]_NDg2Njc4MzY3MDgzNw==16d78ca762fb5d2ff740aed081e2af7b'); ModuleRegistry.registerModules([AnnotationsModule, ContextMenuModule, ZoomModule, CrosshairModule]); -const API_BASE_URL = 'http://127.0.0.1:9089/api/v1'; +const API_BASE_URL = 'https://nest.zwgczx.com/api/v1'; const statisticOptions = [ { key: 'minValue', label: '最低值', shortLabel: '低' }, @@ -365,9 +365,6 @@ function App() { ); const getNodeColor = (contentKey: ContentKey, nodeId: string) => { - const selectedIndex = selectedContentNodes.findIndex((node) => node.contentKey === contentKey && node.id === nodeId); - if (selectedIndex >= 0) return selectedContentNodes[selectedIndex].color; - let hash = 0; const key = getSelectionKey(contentKey, nodeId); for (let index = 0; index < key.length; index += 1) { @@ -506,8 +503,7 @@ function App() { return current.filter((_, index) => index !== existingIndex); } - const usedColors = new Set(current.map((item) => item.color)); - const color = chartLineColors.find((item) => !usedColors.has(item)) ?? chartLineColors[current.length % chartLineColors.length]; + const color = getNodeColor(contentKey, node.id); return [...current, { id: node.id, contentKey, label: node.label, color }]; }); }; @@ -588,7 +584,6 @@ function App() { } catch (error) { if (controller.signal.aborted) return; setLoadError(error instanceof Error ? error.message : '接口请求失败'); - setChartDataBySelection({}); } finally { if (!controller.signal.aborted) { setLoading(false); @@ -601,7 +596,7 @@ function App() { return () => { controller.abort(); }; - }, [chartDataBySelection, chartQueryVersion, groupKey, metricKey, selectedContentNodes]); + }, [chartQueryVersion, groupKey, metricKey, selectedContentNodes]); useEffect(() => { const frame = chartFrameRef.current; @@ -785,6 +780,11 @@ function App() { enabled: true, items: ['defaults'], }, + overlays: { + noData: { + text: '请选择右侧分类项', + }, + }, annotations: { enabled: true, toolbar: { @@ -969,9 +969,7 @@ function App() { ) : null} - {loading || loadError || selectedContentNodes.length === 0 ? ( -