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 (