diff --git a/src/api/componentMarket.ts b/src/api/componentMarket.ts
index fa1f988..883c6b7 100644
--- a/src/api/componentMarket.ts
+++ b/src/api/componentMarket.ts
@@ -1,5 +1,5 @@
import axios from 'axios';
-import { ComponentMarketParams, ReviewGroup } from '@/api/interface';
+import { ComponentMarketParams, PublishComponentParams, ReviewGroup } from '@/api/interface';
// 公共路径
const urlPrefix = '/api/v1/bpms-workbench';
@@ -17,4 +17,18 @@ export function copyDesign(params) {
// 组件市场
export function getComponentMarket(params: ComponentMarketParams) {
return axios.get(`${urlPrefix}/componentMarket/list`, { params });
+}
+
+// 组件发布
+export function publishComponent(params: PublishComponentParams) {
+ return axios.post(`${urlPrefix}/componentMarket/componentSubmitNew`, params);
+}
+
+// 多文件上传
+export function uploadComponentFile(formData: FormData) {
+ return axios.post(`${urlPrefix}/componentMarket/multiFileUpload`, formData, {
+ headers: {
+ 'Content-Type': 'multipart/form-data'
+ }
+ });
}
\ No newline at end of file
diff --git a/src/api/interface/index.ts b/src/api/interface/index.ts
index 723cafa..c9f2a8a 100644
--- a/src/api/interface/index.ts
+++ b/src/api/interface/index.ts
@@ -1,5 +1,5 @@
// application
-import { getReviewGroupByNew } from '@/api/componentMarket';
+import { getReviewGroupByNew, publishComponent, uploadComponentFile } from '@/api/componentMarket';
export interface CronModel {
appId: string;
@@ -271,4 +271,11 @@ export interface ComponentMarketParams {
keyword: string;
current?: string | number;
size?: string | number;
+}
+
+export interface PublishComponentParams {
+ id: string;
+ recommend: string;
+ files?: string;
+ filesName?: string;
}
\ No newline at end of file
diff --git a/src/pages/componentDevelopment/componentList/addComponentModal.tsx b/src/pages/componentDevelopment/componentList/addComponentModal.tsx
index eb869b5..b7db7d9 100644
--- a/src/pages/componentDevelopment/componentList/addComponentModal.tsx
+++ b/src/pages/componentDevelopment/componentList/addComponentModal.tsx
@@ -529,7 +529,7 @@ const AddComponentModal = ({ visible, baseInfo, setVisible, onReFresh, mode = 'c
visible={visible}
autoFocus={false}
focusLock={true}
- style={{ width: '60%' }}
+ style={{ width: '75%' }}
footer={modalFooter}
onCancel={() => setVisible(false)}
afterClose={() => {
@@ -561,7 +561,7 @@ const AddComponentModal = ({ visible, baseInfo, setVisible, onReFresh, mode = 'c
-
+
-
+
-
+
-
+
= ({
return (
<>
- {/* 发布组件/更新版本*/}
- {row.publicStatus !== publicStatus.REVIEW && isEligible([componentStatusConstant.CODING, componentStatusConstant.DEPLOYED, componentStatusConstant.PUBLISHED], row.componentStatus) && (
+ {/* 发布组件*/}
+ {row.publicStatus !== publicStatus.PUBLISHED && 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 3013f69..86188ec 100644
--- a/src/pages/componentDevelopment/componentList/index.tsx
+++ b/src/pages/componentDevelopment/componentList/index.tsx
@@ -7,6 +7,7 @@ import { getReviewGroupByNew } from '@/api/componentMarket';
import { componentRelease, componentRevoke } from '@/api/componentRelease';
import { ComponentItem } from '@/api/interface';
import AddComponentModal from '@/pages/componentDevelopment/componentList/addComponentModal';
+import PublishComponentModal from '@/pages/componentDevelopment/componentList/publishComponentModal';
import HandleButtonGroup from '@/pages/componentDevelopment/componentList/handleButtonGroup';
import {
componentStatusConstant,
@@ -32,6 +33,8 @@ const GlobalVarContainer = () => {
});
const [loading, setLoading] = useState(false);
const [visible, setVisible] = useState(false);
+ const [publishModalVisible, setPublishModalVisible] = useState(false);
+ const [selectedPublishComponent, setSelectedPublishComponent] = useState(null);
const [mode, setMode] = useState<'create' | 'edit' | 'copy'>('create'); // 添加模式状态
const [searchValue, setSearchValue] = useState(''); // 添加搜索状态
const [componentStatus, setComponentStatus] = useState(''); // 添加组件状态筛选
@@ -135,8 +138,8 @@ const GlobalVarContainer = () => {
row={record}
index={index}
onHandlePublishComponent={(row) => {
- // TODO: 实现发布组件逻辑
- console.log('Handle publish component', row);
+ setSelectedPublishComponent(row);
+ setPublishModalVisible(true);
}}
onGoToReview={(row) => {
// TODO: 实现查看审核逻辑
@@ -465,6 +468,19 @@ const GlobalVarContainer = () => {
onReFresh={fetchComponentData}
mode={mode} // 传递模式
/>
+
+ {/*发布组件弹窗*/}
+ {
+ setPublishModalVisible(false);
+ setSelectedPublishComponent(null);
+ }}
+ onSuccess={() => {
+ fetchComponentData();
+ }}
+ />
>
);
};
diff --git a/src/pages/componentDevelopment/componentList/style/addComponentModal.module.less b/src/pages/componentDevelopment/componentList/style/addComponentModal.module.less
index a884c5c..12dda2a 100644
--- a/src/pages/componentDevelopment/componentList/style/addComponentModal.module.less
+++ b/src/pages/componentDevelopment/componentList/style/addComponentModal.module.less
@@ -40,7 +40,7 @@
}
.markdown-editor {
- padding-left: 50px;
+ padding-left: 25px;
padding-right: 40px;
}
}
diff --git a/src/pages/componentDevelopment/componentList/style/compReview.module.less b/src/pages/componentDevelopment/componentList/style/compReview.module.less
index 3a95b2f..91449f6 100644
--- a/src/pages/componentDevelopment/componentList/style/compReview.module.less
+++ b/src/pages/componentDevelopment/componentList/style/compReview.module.less
@@ -1,5 +1,5 @@
.comp-review-container {
- width: 300px;
+ width: 100%;
border-radius: 8px;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
overflow: hidden;