rev:流程引擎

This commit is contained in:
2024-05-11 13:17:23 +08:00
parent 0da5aed56b
commit ed91c89d4e
49 changed files with 2421 additions and 51 deletions

View File

@@ -248,13 +248,13 @@ export default {
console.log(JSON.stringify(data))
},
$_LfEvent() {
this.lf.on('node:click', ({data}) => {
console.log('node:click', data)
this.lf.on('node:dbclick', ({data}) => {
console.log('node:dbclick', data)
this.$data.clickNode = data
this.$data.dialogVisible = true
})
this.lf.on('edge:click', ({data}) => {
console.log('edge:click', data)
this.lf.on('edge:dbclick', ({data}) => {
console.log('edge:dbclick', data)
this.$data.clickNode = data
this.$data.dialogVisible = true
})

View File

@@ -36,6 +36,19 @@
</el-select>
<el-input v-else v-model="formData.skipExpression"></el-input>
</el-form-item>
<el-form-item label="单据类型" prop="form_type">
<el-select clearable v-model="formData.form_type" placeholder="请选择" style="width: 370px;">
<el-option
v-for="item in formTypes"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item v-if="formData.category === 'class'" label="配置参数" prop="auxParam">
<el-input v-model="formData.auxParam"></el-input>
</el-form-item>
<el-form-item label="描述" prop="documentation">
<el-input v-model="formData.documentation"></el-input>
</el-form-item>
@@ -70,11 +83,13 @@ export default {
}
this.getTaskTypes()
this.getStrategyList()
this.getTypes()
},
data() {
return {
text: '',
taskTypes: [],
formTypes: [],
strategyList: [],
formData: {
id: '',
@@ -82,7 +97,9 @@ export default {
category: '',
skipExpression: null,
passNode: true,
documentation: ''
form_type: '',
documentation: '',
auxParam: ''
},
rules: {
id: [
@@ -97,6 +114,9 @@ export default {
passNode: [
{required: true, message: '自动执行不能为空', trigger: 'blur'}
],
auxParam: [
{required: true, message: 'auxParam不能为空', trigger: 'blur'}
]
}
}
},
@@ -132,7 +152,12 @@ export default {
curdActDeModel.getStrategyList().then(res => {
this.strategyList = res
})
}
},
getTypes() {
curdActDeModel.getTypes().then(res => {
this.formTypes = res
})
},
}
}
</script>

View File

@@ -30,7 +30,7 @@ import {
registerExecuteFlow,
sequence,
registerSubProcess,
} from './registerNode'
} from '../view_flow/registerNode'
//const demoData = require('./data.json')

View File

@@ -26,6 +26,7 @@ class ResizableEllipseModel extends EllipseResize.model {
}
super.initNodeData(data);
this.text.draggable = true;
this.text.editable = false
}
}

View File

@@ -19,6 +19,7 @@ class ResizableRectModel extends RectResize.model {
}
super.initNodeData(data);
this.text.draggable = true;
this.text.editable = false
}
}

View File

@@ -19,6 +19,8 @@ class ResizableRectModel extends RectResize.model {
}
super.initNodeData(data);
this.text.draggable = true;
this.text.editable = false
}
}

View File

@@ -19,6 +19,8 @@ class ResizableDiamondModel extends DiamondResize.model {
}
super.initNodeData(data);
this.text.draggable = true;
this.text.editable = false
}
}

View File

@@ -19,6 +19,8 @@ class ResizableRectModel extends RectResize.model {
}
super.initNodeData(data);
this.text.draggable = true;
this.text.editable = false
}
}

View File

@@ -19,6 +19,8 @@ class ResizableRectModel extends RectResize.model {
}
super.initNodeData(data);
this.text.draggable = true;
this.text.editable = false
}
}

View File

@@ -19,6 +19,8 @@ class ResizableRectModel extends RectResize.model {
}
super.initNodeData(data);
this.text.draggable = true;
this.text.editable = false
}
}

View File

@@ -26,6 +26,8 @@ class ResizableEllipseModel extends EllipseResize.model {
}
super.initNodeData(data);
this.text.draggable = true;
this.text.editable = false
}
}

View File

@@ -10,12 +10,14 @@ class MyGroupModel extends GroupNode.model {
if (!data.text || typeof data.text === "string") {
data.text = {
value: data.text || "",
x: data.x,
y: data.y + 50
x: data.x + 10,
y: data.y + 10
};
}
super.initNodeData(data);
this.isRestrict = false;
this.isRestrict = true;
this.text.editable = false
this.text.draggable = true
this.resizable = true;
this.foldable = true;
this.width = 500;
@@ -23,12 +25,14 @@ class MyGroupModel extends GroupNode.model {
this.foldedWidth = 50;
this.foldedHeight = 50;
}
getAddableOutlineStyle() {
const style = super.getAddableOutlineStyle();
style.stroke = "#AEAFAE";
style.strokeDasharray = "3 3";
return style;
}
getNodeStyle() {
const style = super.getNodeStyle();
style.stroke = "black";

View File

@@ -19,6 +19,8 @@ class ResizableRectModel extends RectResize.model {
}
super.initNodeData(data);
this.text.draggable = true;
this.text.editable = false
}
}

View File

@@ -1,6 +1,10 @@
import { PolylineEdge, PolylineEdgeModel } from "@logicflow/core";
class SequenceModel extends PolylineEdgeModel {
constructor(data, graphModel) {
super(data, graphModel);
this.text.editable = false
}
setAttributes() {
this.offset = 20;
}