From 785eb8239f2efc530e6621dbef724bae469638d1 Mon Sep 17 00:00:00 2001 From: ZLY Date: Thu, 26 Feb 2026 15:05:15 +0800 Subject: [PATCH] =?UTF-8?q?feat(componentList):=20=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E7=BB=84=E4=BB=B6=E5=92=8C=E4=B8=8B=E8=BD=BD?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=E6=8C=89=E9=92=AE=EF=BC=8C=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E4=B8=8E=E5=8F=91=E5=B8=83=E7=BB=84=E4=BB=B6=E5=92=8C=E5=AF=BC?= =?UTF-8?q?=E5=87=BA=E7=BB=84=E4=BB=B6=E4=B8=80=E8=87=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../componentList/handleButtonGroup.tsx | 23 +++++++++++++++++-- .../componentList/index.tsx | 5 +++- .../componentList/publishComponentModal.tsx | 4 +++- 3 files changed, 28 insertions(+), 4 deletions(-) diff --git a/src/pages/componentDevelopment/componentList/handleButtonGroup.tsx b/src/pages/componentDevelopment/componentList/handleButtonGroup.tsx index 1d036c3..eb978f2 100644 --- a/src/pages/componentDevelopment/componentList/handleButtonGroup.tsx +++ b/src/pages/componentDevelopment/componentList/handleButtonGroup.tsx @@ -12,7 +12,7 @@ interface HandleButtonGroupProps { index: number; permission?: string; // 协作权限:admin, write, read isCollaborator?: boolean; // 是否为协作组件 - onHandlePublishComponent: (row: ComponentItem) => void; + onHandlePublishComponent: (row: ComponentItem, type: 'publish' | 'upload') => void; onGoToReview: (row: ComponentItem) => void; onPublishOrRevokeComponent: (action: 'publish' | 'revoke', identifier: string, version: string) => void; onSourceCodeView: (row: ComponentItem) => void; @@ -72,6 +72,25 @@ const HandleButtonGroup: React.FC = ({ } // 以下操作只在"我的组件"tab显示 if (!isCollaborator) { + // 上传组件 + // + if (row.publicStatus !== publicStatus.REVIEW && isEligible([componentStatusConstant.CODING, componentStatusConstant.DEPLOYED, componentStatusConstant.PUBLISHED], row.componentStatus)) { + items.push( + + + + ); + } + + + // 下载组件 + items.push( + + + + ); + + // 组件复制 - 所有权限都可以复制 if (!isEligible([componentStatusConstant.DEFAULT, componentStatusConstant.DESIGN], row.componentStatus)) { items.push( @@ -128,7 +147,7 @@ const HandleButtonGroup: React.FC = ({ {row.publicStatus !== publicStatus.REVIEW && isEligible([componentStatusConstant.CODING, componentStatusConstant.DEPLOYED, componentStatusConstant.PUBLISHED], row.componentStatus) && ( diff --git a/src/pages/componentDevelopment/componentList/index.tsx b/src/pages/componentDevelopment/componentList/index.tsx index 056658d..c650184 100644 --- a/src/pages/componentDevelopment/componentList/index.tsx +++ b/src/pages/componentDevelopment/componentList/index.tsx @@ -61,6 +61,7 @@ const GlobalVarContainer = () => { const [visible, setVisible] = useState(false); const [publishModalVisible, setPublishModalVisible] = useState(false); const [selectedPublishComponent, setSelectedPublishComponent] = useState(null); + const [selectedPublishComponentType, setSelectedPublishComponentType] = useState<'publish' | 'upload'>('publish'); const [mode, setMode] = useState<'create' | 'edit' | 'copy'>('create'); // 添加模式状态 const [searchValue, setSearchValue] = useState(''); // 添加搜索状态 const [componentStatus, setComponentStatus] = useState(''); // 添加组件状态筛选 @@ -220,8 +221,9 @@ const GlobalVarContainer = () => { index={index} permission={selectedItem === '协同组件' ? record.permission : undefined} isCollaborator={selectedItem === '协同组件'} - onHandlePublishComponent={(row) => { + onHandlePublishComponent={(row, type) => { setSelectedPublishComponent(row); + setSelectedPublishComponentType(type); setPublishModalVisible(true); }} onGoToReview={(row) => { @@ -872,6 +874,7 @@ const GlobalVarContainer = () => { { setPublishModalVisible(false); setSelectedPublishComponent(null); diff --git a/src/pages/componentDevelopment/componentList/publishComponentModal.tsx b/src/pages/componentDevelopment/componentList/publishComponentModal.tsx index 082dc67..1067664 100644 --- a/src/pages/componentDevelopment/componentList/publishComponentModal.tsx +++ b/src/pages/componentDevelopment/componentList/publishComponentModal.tsx @@ -10,6 +10,7 @@ const FormItem = Form.Item; interface PublishComponentModalProps { visible: boolean; componentInfo: any; + type: 'publish' | 'upload'; onCancel: () => void; onSuccess: () => void; } @@ -17,6 +18,7 @@ interface PublishComponentModalProps { const PublishComponentModal: React.FC = ({ visible, componentInfo, + type, onCancel, onSuccess }) => { @@ -127,7 +129,7 @@ const PublishComponentModal: React.FC = ({ return (