|
@@ -2,7 +2,7 @@ import { TitleComponent } from '@/components';
|
|
|
import ReactJson from 'react-json-view';
|
|
import ReactJson from 'react-json-view';
|
|
|
import { request } from 'umi';
|
|
import { request } from 'umi';
|
|
|
import MonacoEditor from 'react-monaco-editor';
|
|
import MonacoEditor from 'react-monaco-editor';
|
|
|
-import { Button, Input } from 'antd';
|
|
|
|
|
|
|
+import { Button, Input, Popconfirm } from 'antd';
|
|
|
import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
|
import { createSchemaField, FormProvider, observer } from '@formily/react';
|
|
import { createSchemaField, FormProvider, observer } from '@formily/react';
|
|
|
import { ApiModel } from '@/pages/system/Platforms/Api/base';
|
|
import { ApiModel } from '@/pages/system/Platforms/Api/base';
|
|
@@ -11,6 +11,7 @@ import { ArrayTable, Editable, FormItem, Input as FormilyInput } from '@formily/
|
|
|
import type { ISchema } from '@formily/json-schema';
|
|
import type { ISchema } from '@formily/json-schema';
|
|
|
import SystemConst from '@/utils/const';
|
|
import SystemConst from '@/utils/const';
|
|
|
import classNames from 'classnames';
|
|
import classNames from 'classnames';
|
|
|
|
|
+import { DeleteOutlined } from '@ant-design/icons';
|
|
|
|
|
|
|
|
export default observer(() => {
|
|
export default observer(() => {
|
|
|
const [result, setResult] = useState({});
|
|
const [result, setResult] = useState({});
|
|
@@ -18,6 +19,22 @@ export default observer(() => {
|
|
|
|
|
|
|
|
const editor: any = useRef(null);
|
|
const editor: any = useRef(null);
|
|
|
|
|
|
|
|
|
|
+ const RemoveButton = () => {
|
|
|
|
|
+ const index = ArrayTable.useIndex!();
|
|
|
|
|
+ const array = ArrayTable.useArray!();
|
|
|
|
|
+ return (
|
|
|
|
|
+ <Popconfirm
|
|
|
|
|
+ title="确定删除"
|
|
|
|
|
+ onConfirm={() => {
|
|
|
|
|
+ array.field?.remove?.(index);
|
|
|
|
|
+ array.props?.onRemove?.(index);
|
|
|
|
|
+ }}
|
|
|
|
|
+ >
|
|
|
|
|
+ <DeleteOutlined />
|
|
|
|
|
+ </Popconfirm>
|
|
|
|
|
+ );
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
useEffect(() => {
|
|
useEffect(() => {
|
|
|
if (ApiModel.debugger.body && editor.current) {
|
|
if (ApiModel.debugger.body && editor.current) {
|
|
|
const { editor: MEditor } = editor.current;
|
|
const { editor: MEditor } = editor.current;
|
|
@@ -36,6 +53,7 @@ export default observer(() => {
|
|
|
Editable,
|
|
Editable,
|
|
|
Input: FormilyInput,
|
|
Input: FormilyInput,
|
|
|
ArrayTable,
|
|
ArrayTable,
|
|
|
|
|
+ RemoveButton,
|
|
|
},
|
|
},
|
|
|
});
|
|
});
|
|
|
|
|
|
|
@@ -100,6 +118,7 @@ export default observer(() => {
|
|
|
}, [body]);
|
|
}, [body]);
|
|
|
|
|
|
|
|
useEffect(() => {
|
|
useEffect(() => {
|
|
|
|
|
+ // console.log('ApiModel.debugger',ApiModel.debugger)
|
|
|
if (form && ApiModel.debugger && ApiModel.debugger.params) {
|
|
if (form && ApiModel.debugger && ApiModel.debugger.params) {
|
|
|
const arr = ApiModel.debugger.params.map((item: any) => {
|
|
const arr = ApiModel.debugger.params.map((item: any) => {
|
|
|
return {
|
|
return {
|
|
@@ -168,7 +187,7 @@ export default observer(() => {
|
|
|
properties: {
|
|
properties: {
|
|
|
remove: {
|
|
remove: {
|
|
|
type: 'void',
|
|
type: 'void',
|
|
|
- 'x-component': 'ArrayTable.Remove',
|
|
|
|
|
|
|
+ 'x-component': 'RemoveButton',
|
|
|
},
|
|
},
|
|
|
},
|
|
},
|
|
|
},
|
|
},
|
|
@@ -200,6 +219,7 @@ export default observer(() => {
|
|
|
width: `calc(100% - ${ApiModel.swagger.method !== 'delete' ? '140px' : '150px'})`,
|
|
width: `calc(100% - ${ApiModel.swagger.method !== 'delete' ? '140px' : '150px'})`,
|
|
|
}}
|
|
}}
|
|
|
value={ApiModel.swagger.url}
|
|
value={ApiModel.swagger.url}
|
|
|
|
|
+ disabled
|
|
|
/>
|
|
/>
|
|
|
<Button type="primary" onClick={onSearch}>
|
|
<Button type="primary" onClick={onSearch}>
|
|
|
发送
|
|
发送
|