From 908ed8bd3286fb7e157ce1f4751ba542c621fb6c Mon Sep 17 00:00:00 2001 From: ZLY Date: Wed, 10 Sep 2025 17:41:09 +0800 Subject: [PATCH] =?UTF-8?q?feat(scene):=20=E5=B7=A5=E7=A8=8B=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E6=B7=BB=E5=8A=A0=E6=95=B0=E6=8D=AE=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E5=92=8C=E5=B1=95=E7=A4=BA=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/scene/engineering.tsx | 58 +++++++++++++++---- src/pages/scene/style/engineering.module.less | 4 ++ 2 files changed, 50 insertions(+), 12 deletions(-) diff --git a/src/pages/scene/engineering.tsx b/src/pages/scene/engineering.tsx index 4b18253..b4f6817 100644 --- a/src/pages/scene/engineering.tsx +++ b/src/pages/scene/engineering.tsx @@ -1,8 +1,10 @@ -import React, { useState } from 'react'; +import React, { useState, useEffect } from 'react'; import style from './style/engineering.module.less'; import { Input, Grid, Card, Result, Pagination } from '@arco-design/web-react'; import { IconPlus, IconApps } from '@arco-design/web-react/icon'; import { openWindow, OpenWindowOptions } from '@/utils/common'; +import { getPublicSceneList, getMySceneList } from '@/api/scene'; +import CardWrap from '@/pages/scene/cardWrap'; const InputSearch = Input.Search; const Row = Grid.Row; @@ -16,6 +18,9 @@ interface EngineeringProps { const Engineering: React.FC = ({ dataType, showAdd = true }) => { const [searchValue, setSearchValue] = useState(''); + const [sceneData, setSceneData] = useState({ + list: [] + }); const [count, setCount] = useState(12); const onSearchHandle = (value: string) => { @@ -27,7 +32,7 @@ const Engineering: React.FC = ({ dataType, showAdd = true }) = setSearchValue(value); }; - const openEngineHandle = (index: number) => { + const openEngineHandle = (item) => { const url = `/ideContainer`; const params: OpenWindowOptions = { target: '_blank', @@ -37,6 +42,34 @@ const Engineering: React.FC = ({ dataType, showAdd = true }) = openWindow(url, params); }; + + useEffect(() => { + const fetchData = async () => { + console.log('dataType:', dataType); + // currPage?: number name?: string pageSize?: number + // getPublicSceneList() + // getMySceneList() + const functions = { + public: getPublicSceneList, + my: getMySceneList + }; + const params = { + currPage: 1, + pageSize: 11, + name: '' + }; + const res: any = await functions[dataType](params); + if (res.code === 200) { + console.log('res:', res); + const { data } = res; + setSceneData(data); + setCount(data.totalCount); + } + }; + + fetchData(); + }, [dataType]); + return ( <>
@@ -56,7 +89,7 @@ const Engineering: React.FC = ({ dataType, showAdd = true }) = {/*卡片模式数据渲染*/} - + = ({ dataType, showAdd = true }) = )} {/*遍历生成卡片*/} - {Array.from({ length: count }).map((item, index) => ( + {sceneData.list.map((item, index) => ( - openEngineHandle(index)}> - } - > + openEngineHandle(item)}> + {/*}*/} + {/*>*/} + ))} - +
diff --git a/src/pages/scene/style/engineering.module.less b/src/pages/scene/style/engineering.module.less index c5ed364..162d9d8 100644 --- a/src/pages/scene/style/engineering.module.less +++ b/src/pages/scene/style/engineering.module.less @@ -3,5 +3,9 @@ margin: 5px; border: 1px solid var(--color-neutral-3); cursor: pointer; + + :global(.arco-card-body) { + padding: 0; + } } } \ No newline at end of file