From ad592ef134e417cdccf5ce29d42d0b8ca0320b40 Mon Sep 17 00:00:00 2001 From: ZLY Date: Thu, 9 Oct 2025 15:50:04 +0800 Subject: [PATCH] =?UTF-8?q?feat(componentDeployment):=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=E9=83=A8=E7=BD=B2=E9=A1=B5=E9=9D=A2=E5=8F=8A?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E7=BB=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../componentDeployment/collapseList.tsx | 228 ++++++++++++++++++ .../componentDeployment/index.tsx | 48 ++++ .../style/collapseList.module.less | 25 ++ .../style/index.module.less | 13 + src/pages/ideContainer/index.tsx | 2 +- 5 files changed, 315 insertions(+), 1 deletion(-) create mode 100644 src/pages/componentDevelopment/componentDeployment/collapseList.tsx create mode 100644 src/pages/componentDevelopment/componentDeployment/index.tsx create mode 100644 src/pages/componentDevelopment/componentDeployment/style/collapseList.module.less create mode 100644 src/pages/componentDevelopment/componentDeployment/style/index.module.less diff --git a/src/pages/componentDevelopment/componentDeployment/collapseList.tsx b/src/pages/componentDevelopment/componentDeployment/collapseList.tsx new file mode 100644 index 0000000..2001533 --- /dev/null +++ b/src/pages/componentDevelopment/componentDeployment/collapseList.tsx @@ -0,0 +1,228 @@ +import React from 'react'; +import { Collapse, Space, Tag, Button, Table, TableColumnProps } from '@arco-design/web-react'; +import styles from './style/collapseList.module.less'; +import { IconEye } from '@arco-design/web-react/icon'; + +const CollapseItem = Collapse.Item; + + +const headerNode = () => { + return ( +
+ + +
小车零件中心点识别
+
+ + + 视觉AI组件 + X86_64 + 启用中 +
+ + 4 +
+
+
+ ); +}; + +const extraNode = () => { + return ( +
+ +
+ + 未编译 +
+
+ + 重新编译 +
+
+ + 新增实例 +
+
+ + 下架组件 +
+
+ + 更多操作 +
+
+
+ ); +}; + +const extraNode1 = () => { + return ( +
+ +
+ + 已编译 +
+
+ + 重新编译 +
+
+ + 新增实例 +
+
+ + 下架组件 +
+
+ + 更多操作 +
+
+
+ ); +}; + +const columns: TableColumnProps[] = [ + { + title: '#', + dataIndex: 'key', + align: 'center' + }, + { + title: '组件标识', + dataIndex: 'name', + align: 'center' + }, + { + title: '实例名称', + dataIndex: 'salary', + align: 'center' + }, + { + title: '运行类型', + dataIndex: 'address', + align: 'center' + }, + { + title: '运行状态', + dataIndex: 'email', + align: 'center' + }, + { + title: '创建时间', + dataIndex: 'email', + align: 'center' + }, + { + title: '操作', + dataIndex: '', + align: 'center', + render: (col, record, index) => ( +
+ + + + + + + + + +
+ ) + } +]; +const data = [ + { + key: '1', + name: 'Jane Doe', + salary: 23000, + address: '32 Park Road, London', + email: 'jane.doe@example.com' + }, + { + key: '2', + name: 'Alisa Ross', + salary: 25000, + address: '35 Park Road, London', + email: 'alisa.ross@example.com' + }, + { + key: '3', + name: 'Kevin Sandra', + salary: 22000, + address: '31 Park Road, London', + email: 'kevin.sandra@example.com' + }, + { + key: '4', + name: 'Ed Hellen', + salary: 17000, + address: '42 Park Road, London', + email: 'ed.hellen@example.com' + }, + { + key: '5', + name: 'William Smith', + salary: 27000, + address: '62 Park Road, London', + email: 'william.smith@example.com' + } +]; + +const listNode = () => { + return ( + + ); +}; + +const CollapseList = () => { + return ( +
+ + + {listNode()} + + + + {listNode()} + + + + {listNode()} + + +
+ ); +}; + +export default CollapseList; \ No newline at end of file diff --git a/src/pages/componentDevelopment/componentDeployment/index.tsx b/src/pages/componentDevelopment/componentDeployment/index.tsx new file mode 100644 index 0000000..17157b8 --- /dev/null +++ b/src/pages/componentDevelopment/componentDeployment/index.tsx @@ -0,0 +1,48 @@ +import React from 'react'; +import styles from './style/index.module.less'; +import { Button, Input, Radio, Space } from '@arco-design/web-react'; +import { IconSearch } from '@arco-design/web-react/icon'; +import CollapseList from './collapseList'; + +const ComponentDeployment = () => { + return ( +
+
+ + {['全部', '启用中', '已下架'].map((item) => { + return ( + + {({ checked }) => { + return ( + + ); + }} + + ); + })} + + + + } + placeholder={'搜索'} + style={{ width: 236 }} + /> + + +
+
+ +
+
+ ); +}; + +export default ComponentDeployment; \ No newline at end of file diff --git a/src/pages/componentDevelopment/componentDeployment/style/collapseList.module.less b/src/pages/componentDevelopment/componentDeployment/style/collapseList.module.less new file mode 100644 index 0000000..62ee218 --- /dev/null +++ b/src/pages/componentDevelopment/componentDeployment/style/collapseList.module.less @@ -0,0 +1,25 @@ +.collapse-list { + :global(.arco-collapse-item-content-box) { + padding: 0; + } +} + +.header-node { + display: flex; + align-items: center; +} + +.extra-node { + margin-right: 20px; +} + +.flex-box { + display: flex; + align-items: center; +} + +.table-handle-box { + :global(.arco-btn) { + padding: 0; + } +} \ No newline at end of file diff --git a/src/pages/componentDevelopment/componentDeployment/style/index.module.less b/src/pages/componentDevelopment/componentDeployment/style/index.module.less new file mode 100644 index 0000000..d3d5b03 --- /dev/null +++ b/src/pages/componentDevelopment/componentDeployment/style/index.module.less @@ -0,0 +1,13 @@ +.component-deployment { + height: 98%; + background-color: #ffffff; + padding: 17px 19px 0 24px; + + .header { + display: flex; + justify-content: space-between; + padding-bottom: 15px; + border-bottom: 1px solid #ebebeb; + margin-bottom: 25px; + } +} \ No newline at end of file diff --git a/src/pages/ideContainer/index.tsx b/src/pages/ideContainer/index.tsx index 4dc7ca9..ba1f91c 100644 --- a/src/pages/ideContainer/index.tsx +++ b/src/pages/ideContainer/index.tsx @@ -17,6 +17,7 @@ import GlobalVarContainer from '@/pages/orchestration/globalVar'; import AppCompComponent from '@/pages/orchestration/appCompComponent'; import ComponentList from '@/pages/componentDevelopment/componentList'; import ComponentCoding from '@/pages/componentDevelopment/componentCoding'; +import ComponentDeployment from '@/pages/componentDevelopment/componentDeployment'; type UrlParamsOptions = { identity?: string; @@ -28,7 +29,6 @@ const AppInstanceComponent = () =>
我的组件
; const MatchingComponents = () =>
协同组件
; const ComponentReview = () =>
组件审核
; -const ComponentDeployment = () =>
组件部署
; const ComponentTest = () =>
组件测试
; const EnvConfig = () =>
环境配置
;