e.preventDefault()}>
- {props.children}
+
+
e.preventDefault()}>
+ {props.children}
}
diff --git a/platform/example/src/component/CardItem.tsx b/platform/example/src/component/CardItem.tsx
index a066907..cd38395 100644
--- a/platform/example/src/component/CardItem.tsx
+++ b/platform/example/src/component/CardItem.tsx
@@ -175,6 +175,7 @@ const CardItem = memo((props:CardItemProps) => {
}),
}),[data])
const step = stepMap[data.mold]
+ console.log(step,stepMap,data.mold)
const StepComponent = step&&step.component;
const updateData = (data:string) =>{
@@ -183,9 +184,8 @@ const CardItem = memo((props:CardItemProps) => {
}
const addStepDom = ()=>{
- return
- 新增步骤
-
+ return}>
+ 新建步骤
}
@@ -193,23 +193,28 @@ const CardItem = memo((props:CardItemProps) => {
drag(drop(node))} >
- { (isOver && canDrop && positionRef.current === 'top') &&
拖拽到此处top
}
+ {/*{ (isOver && canDrop && positionRef.current === 'top') &&
拖拽到此处top
}*/}
{data?.index}
{data?.data?.label}
{data?.data?.remark?data.data.remark:"步骤备注"}
{data?.data?.tag&&
{data?.data?.tag}}
- { (isOver && canDrop && positionRef.current === 'bottom' && originalIndex !== len-1 ) &&
拖拽到此处bottom
}
- { (isDragging && canDrop && originalIndex === len-1 && positionRef.current !== 'top') &&
拖拽到此处len
}
+ {/*{ (isOver && canDrop && positionRef.current === 'bottom' && originalIndex !== len-1 ) &&
拖拽到此处bottom
}*/}
+ {/*{ (isDragging && canDrop && originalIndex === len-1 && positionRef.current !== 'top') &&
拖拽到此处len
}*/}
-
- {step&&()}
-
- {props.children}
- {props.data.type===StepDragEnum.CONTAINER&&(
childrenDrop(node)} className={style.woodExampleChildren}>
- 拖动到此处或者
+
+
+ {step&&()}
+
+
+ {props.children}
+
+ {props.data.type===StepDragEnum.CONTAINER&&(
childrenDrop(node)} >
+ 拖动到此处或者
{addStepDom()}
-
)}
+
完成添加
+
)}
+
diff --git a/platform/example/src/component/css/DrapItem.module.less b/platform/example/src/component/css/DrapItem.module.less
index a9e21e5..b720b8b 100644
--- a/platform/example/src/component/css/DrapItem.module.less
+++ b/platform/example/src/component/css/DrapItem.module.less
@@ -38,4 +38,19 @@
.woodExampleIndex{
margin: 0 5px;
color: #333;
+}
+.woodExampleAddStep{
+ text-align: center;
+ padding: 5px 0;
+ margin: 10px 0;
+ border: 1px dashed #d9d9d9;
+}
+.woodExampleContent{
+ padding: 0 10px;
+}
+.woodExampleAddStepbtn{
+ display: inline-block;
+ margin: 0 5px;
+ color: #60abfd;
+ cursor: pointer;
}
\ No newline at end of file
diff --git a/platform/example/src/component/layout/css/header.module.less b/platform/example/src/component/layout/css/header.module.less
index 95c1bd3..fcaefef 100644
--- a/platform/example/src/component/layout/css/header.module.less
+++ b/platform/example/src/component/layout/css/header.module.less
@@ -8,6 +8,7 @@
padding: 3px 5px;
cursor: pointer;
transition: background-color 1s;
+ border-radius: 5px;
&:hover{
background: #95bbff;
}
diff --git a/platform/example/src/component/layout/header.tsx b/platform/example/src/component/layout/header.tsx
index a60049e..1acbff0 100644
--- a/platform/example/src/component/layout/header.tsx
+++ b/platform/example/src/component/layout/header.tsx
@@ -6,26 +6,16 @@ import {stepMap,stepList} from "../step/index"
import drapStore from "@/mobx/DrapStore";
import AddStep from "@/component/AddStep";
-const items: MenuProps['items'] = [
- ...stepList.map(step=>step.Menu)
-];
-
-const onClick: MenuProps['onClick'] = ({ key }) => {
- // 给容器添加组件
- // message.info(`Click on item ${key}`);
- const component = stepMap[key];
- console.log(key,component)
- drapStore.addChildren(null,component.defaultDataFunc())
-};
const Header = () => {
return (
-
+
新增步骤
+
e.preventDefault()}>
diff --git a/platform/example/src/component/step/http/Edit.tsx b/platform/example/src/component/step/http/Edit.tsx
index a9ee715..21da18a 100644
--- a/platform/example/src/component/step/http/Edit.tsx
+++ b/platform/example/src/component/step/http/Edit.tsx
@@ -34,9 +34,9 @@ class HttpEditComponent extends Component {
const content = Object.assign({
url:urlDefaultData
},props.data)
- console.log(1)
+ console.log(props)
this.state = {
- data:content
+ data:content as HttpData
}
console.log(this.state.data)
}
diff --git a/platform/example/src/component/step/index.ts b/platform/example/src/component/step/index.ts
index ab62b23..4585019 100644
--- a/platform/example/src/component/step/index.ts
+++ b/platform/example/src/component/step/index.ts
@@ -6,7 +6,7 @@ import {stepProps} from "@/component/step/type";
export interface MenuItem {
- label: string
+ label: React.ReactNode
key: string
options: {}
}
diff --git a/platform/example/src/component/step/loop/Edit.tsx b/platform/example/src/component/step/loop/Edit.tsx
index 8f816bb..1f6bb65 100644
--- a/platform/example/src/component/step/loop/Edit.tsx
+++ b/platform/example/src/component/step/loop/Edit.tsx
@@ -1,12 +1,43 @@
import {Component} from "react";
import {LoopProps, LoopState} from "@/component/step/loop/type";
+import {InputNumber} from "antd";
+import style from "./loop.module.less"
+import {InfoCircleOutlined} from "@ant-design/icons";
interface Interface {
}
class LoopEditComponent extends Component{
+ constructor(props:LoopProps) {
+ super(props);
+ this.state = {
+ loop:props.data.loop
+ }
+ console.log(props.data)
+ }
+ updateData(){
+ this.props.updateData(JSON.stringify(this.state.data))
+ }
+ valueChange(value:number){
+ this.setState({loop:value})
+ this.updateData()
+ console.log(this.state.loop)
+ }
render() {
- return loop
;
+ return
+
+
+ 循环步骤
+
+
+
+ 可以使用$_index变量获取当前循环的次数,次数从0开始计数
+
+ this.valueChange(e)} min={0} defaultValue={0} />
+
+
+
+
;
}
}
diff --git a/platform/example/src/component/step/loop/index.tsx b/platform/example/src/component/step/loop/index.tsx
index 26e9953..9c8615f 100644
--- a/platform/example/src/component/step/loop/index.tsx
+++ b/platform/example/src/component/step/loop/index.tsx
@@ -5,15 +5,16 @@ import {StepComponentExport} from "@/component/step";
import HttpEditComponent from "@/component/step/http/Edit";
import LoopEditComponent from "@/component/step/loop/Edit";
const tagStore = getDropStoreId("loop")
-const name = "Loop"
+const name = "LOOP"
const LoopData:LoopInterface = {
content: "",
id:0,
label:"循环组件",
remark:"",
- color:"red",
+ color:"#7eabbe",
tag:"LOOP",
value:"",
+ loop:0
}
const defaultDataFunc = () =>{
@@ -32,7 +33,8 @@ const defaultDataFunc = () =>{
originalIndex:store.id,
children:[],
parent:null,
- data:data
+ data:data,
+ destruction:()=>{}
}
return defaultData
}
diff --git a/platform/example/src/component/step/loop/loop.module.less b/platform/example/src/component/step/loop/loop.module.less
new file mode 100644
index 0000000..5d7ecf3
--- /dev/null
+++ b/platform/example/src/component/step/loop/loop.module.less
@@ -0,0 +1,28 @@
+.loopContent{
+ padding: 0 10px;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+
+ >span:last-child{
+ background: #fff;
+ }
+}
+.loopBody{
+ background: #e6f7ff;
+ border: 2px solid #bae4fe;
+ border-radius: 5px;
+ margin: 10px 0;
+ padding: 10px 0;
+
+}
+.loopTitle{
+ font-size: 16px;
+ font-weight: 600;
+}
+.loopHeader{
+ padding: 0 10px;
+ display: flex;
+ align-items: center;
+ justify-content: start;
+}
\ No newline at end of file
diff --git a/platform/example/src/component/step/loop/type.d.ts b/platform/example/src/component/step/loop/type.d.ts
index 897f043..97fe31c 100644
--- a/platform/example/src/component/step/loop/type.d.ts
+++ b/platform/example/src/component/step/loop/type.d.ts
@@ -1,16 +1,17 @@
import {Content, StepDragEnum, StepDragType} from "@/component/type";
import {HttpData} from "@/component/step/http/type";
-interface LoopData {
+
+interface LoopData extends LoopInterface{
}
interface LoopProps {
updateData:(data:string)=>void
- data:HttpData
-}
-interface LoopState {
data:LoopData
}
-interface LoopInterface extends Content{
-
+interface LoopState {
+ loop:number
+}
+interface LoopInterface extends Content{
+ loop:number
}