diff --git a/src/pages/componentDevelopment/componentList/addApiModal.tsx b/src/pages/componentDevelopment/componentList/addApiModal.tsx index e5d935a..dfbf255 100644 --- a/src/pages/componentDevelopment/componentList/addApiModal.tsx +++ b/src/pages/componentDevelopment/componentList/addApiModal.tsx @@ -6,7 +6,7 @@ import { updateComponentDesign } from '@/api/componentDevelopProcess'; const FormItem = Form.Item; const TextArea = Input.TextArea; -const AddApiModal = ({ visible, baseInfo, componentDesignProgress, onCancel, onOk }) => { +const AddApiModal = ({ visible, baseInfo, componentDesignProgress, componentDesignData, onUpdateComponentDesign, onCancel, onOk }) => { const [form] = Form.useForm(); const [parametersData, setParametersData] = useState([]); const [responsesData, setResponsesData] = useState([]); @@ -48,20 +48,45 @@ const AddApiModal = ({ visible, baseInfo, componentDesignProgress, onCancel, onO try { await form.validate(); const formData = form.getFields(); + + // 构造要提交的数据 const params = { baseInfo }; - params['operates'] = { - ...formData, - type: 'EVENT', - parameters: parametersData, - responses: responsesData - }; + // 如果是编辑模式且有完整的组件设计数据,需要更新对应的记录 + if (componentDesignProgress && componentDesignData && Array.isArray(componentDesignData)) { + // 更新对应的记录 + const updatedOperates = componentDesignData.map(item => { + if (item.ident === componentDesignProgress.ident) { + // 更新记录 + return { + ...formData, + type: 'EVENT', + parameters: parametersData, + responses: responsesData + }; + } + return item; + }); + + params['operates'] = updatedOperates; + } else { + // 新增模式或没有提供完整数据时,只提交当前表单数据 + params['operates'] = { + ...formData, + type: 'EVENT', + parameters: parametersData, + responses: responsesData + }; + } + const res: any = await updateComponentDesign(params); if (res.code === 200) { - Message.success('新增成功'); + Message.success(componentDesignProgress ? '更新成功' : '新增成功'); + // 调用父组件传递的 onUpdateComponentDesign 回调,用于更新父组件中的数据 + onUpdateComponentDesign && onUpdateComponentDesign(params); } else { Message.error(res.message); diff --git a/src/pages/componentDevelopment/componentList/addComponentModal.tsx b/src/pages/componentDevelopment/componentList/addComponentModal.tsx index 97ebbbd..e028842 100644 --- a/src/pages/componentDevelopment/componentList/addComponentModal.tsx +++ b/src/pages/componentDevelopment/componentList/addComponentModal.tsx @@ -20,7 +20,7 @@ import EditorSection from '@/components/EditorSection'; import AddApiModal from '@/pages/componentDevelopment/componentList/addApiModal'; import { getComponentClassify } from '@/api/componentClassify'; import { compProjectValidate, compSubmit, getTagList } from '@/api/componentBase'; -import { getComponentDesign } from '@/api/componentDevelopProcess'; +import { getComponentDesign, updateComponentDesign } from '@/api/componentDevelopProcess'; const FormItem = Form.Item; const Option = Select.Option; @@ -69,14 +69,63 @@ const AddComponentModal = ({ visible, baseInfo, setVisible, onReFresh }) => { { title: '操作', dataIndex: 'op', + width: 240, render: (_, record) => ( - + <> + + + > ) } ]; @@ -485,10 +534,10 @@ const AddComponentModal = ({ visible, baseInfo, setVisible, onReFresh }) => {
组件接口