feat: 调整流程节点

This commit is contained in:
zhanghao 2026-07-17 10:58:59 +08:00
parent 18072915a3
commit c7d8a49b3b
19 changed files with 62 additions and 29 deletions

View File

@ -61,3 +61,11 @@ export function flowStop(instId) {
method: 'post'
})
}
export function getArmStatus(params) {
return request({
url: '/api/arm/getPose',
method: 'get',
params: params
})
}

View File

@ -59,14 +59,14 @@ defineExpose({ confirmSave })
// /
const handleSaveSuccess = () => {
emitter.emit('setProperties', { id: props.data.id })
emitter.emit("throwAnError", { id: props.data.id, hasError: false });
emitter.emit("throwAnError", { id: props.data.id, hasError: false, type: props.data.type });
//
emits('close')
}
const handleSaveError = () => {
emitter.emit('setProperties', { id: props.data.id })
emitter.emit("throwAnError", { id: props.data.id, hasError: true });
emitter.emit("throwAnError", { id: props.data.id, hasError: true, type: props.data.type });
emits('close')
}

View File

@ -231,7 +231,7 @@ const robotFormAction = ref()
const submitRobotForm = () => {
if (robotFormAction.value === 'AGV_MOVE_TO_POINT') {
} else if (robotFormAction.value === 'ALM') {
} else if (robotFormAction.value === 'ARM_MOVE_TO_POINT') {
robotFormRef.value.validate(async (valid) => {
if (valid) {
try {

View File

@ -383,7 +383,7 @@ function handler(params) {
name: "机械臂",
type: "serviceNode",
desc: "控制机器人的手臂",
action: 'ALM',
action: 'ARM_MOVE_TO_POINT',
nodeType: 'EDGE',
nodeParams: [
{ name: "deviceId", type: "input", input: "", disabled: true },

View File

@ -542,8 +542,8 @@ const initFlow = () => {
keys: ["backspace", "delete"], //
callback: () => {
const activeElem = document.activeElement;
if (activeElem.tagName === "INPUT" || activeElem.tagName === "TEXTAREA") {
return; //
if (["INPUT", "TEXTAREA"].includes(activeElem.tagName)) {
return false
}
const { nodes, edges } = lf.getSelectElements();
@ -555,7 +555,7 @@ const initFlow = () => {
if (hasProtectedNode) {
lf.selectElementById(null); //
return; //
return false; //
}
//
@ -571,7 +571,7 @@ const initFlow = () => {
//
lf.deleteEdgeByNodeId(node.id);
});
return;
return false;
}
if (nodes.length === 0 && edges.length > 0) {
edges.forEach((node) => {
@ -584,12 +584,12 @@ const initFlow = () => {
{
keys: ["ctrl+z"], //
callback: () => {
return false;
return true;
},
},
{
keys: ["ctrl+shift+z"],
callback: () => false,
callback: () => true,
},
],
},
@ -789,8 +789,23 @@ onMounted(() => {
emitter.on("throwAnError", (data) => {
//
const { id, hasError } = data;
const element = document.getElementsByClassName(`node__container ${id}`)[0].parentElement;
const { id, hasError, type } = data;
let element
if (type === 'loop') {
const tt = document.getElementsByClassName(`group__container ${id}`)[0];
if (tt?.parentElement) {
element = tt.parentElement;
} else {
element = tt
}
} else {
const tt = document.getElementsByClassName(`node__container ${id}`)[0]
if (tt?.parentElement) {
element = tt.parentElement;
} else {
element = tt
}
}
if (hasError) {
if (!nodeErrorList.value.includes(id)) {
nodeErrorList.value.push(id);
@ -889,10 +904,12 @@ onUnmounted(() => {
.node__container {
border-color: #8dc99d;
// pointer-events: none;
}
.group__container {
border-color: #8dc99d;
// pointer-events: none;
}
}
}

View File

@ -181,7 +181,7 @@ class EndNodeHtmlModel extends HtmlNodeModel {
getOutlineStyle() {
const style = super.getOutlineStyle();
style.stroke = "none";
style.hover.stroke = "none";
// style.hover.stroke = "none";
return style;
}
}

View File

@ -198,7 +198,7 @@ class ServiceNodeHtmlModel extends HtmlNodeModel {
getOutlineStyle() {
const style = super.getOutlineStyle();
style.stroke = "none";
style.hover.stroke = "none";
// style.hover.stroke = "none";
return style;
}
}

View File

@ -180,7 +180,7 @@ class StartNodeHtmlModel extends HtmlNodeModel {
getOutlineStyle() {
const style = super.getOutlineStyle();
style.stroke = 'none';
style.hover.stroke = 'none';
// style.hover.stroke = 'none';
return style;
}
}

View File

@ -198,7 +198,7 @@ class CodeNodeHtmlModel extends HtmlNodeModel {
getOutlineStyle() {
const style = super.getOutlineStyle();
style.stroke = "none";
style.hover.stroke = "none";
// style.hover.stroke = "none";
return style;
}
}

View File

@ -204,7 +204,7 @@ class CurrentLoopNodeHtmlModel extends HtmlNodeModel {
getOutlineStyle() {
const style = super.getOutlineStyle();
style.stroke = "none";
style.hover.stroke = "none";
// style.hover.stroke = "none";
return style;
}
}

View File

@ -198,7 +198,7 @@ class HttpNodeHtmlModel extends HtmlNodeModel {
getOutlineStyle() {
const style = super.getOutlineStyle();
style.stroke = "none";
style.hover.stroke = "none";
// style.hover.stroke = "none";
return style;
}
}

View File

@ -45,7 +45,6 @@ class loopBodyModel extends GroupNodeModel {
// 计算子节点的包围盒(包含所有子节点的最小矩形区域)
getChildrenBBox() {
const children = this.getAllValidChildren(this.children, this.graphModel)
console.log('children', children)
// Array.from(this.children).forEach((id) => {
// const node = this.graphModel.getNodeModelById(id)
// if (node) {
@ -109,14 +108,16 @@ class loopBodyModel extends GroupNodeModel {
return [
{
x: x + width / 2 ,
y: y + height / 2,
// y: y + height / 2,
y:y,
name: "right",
id: "".concat(this.id, "_1"),
properties: { connectionType: "source" },
},
{
x: x - width / 2,
y: y + height / 2,
// y: y + height / 2,
y:y,
name: "left",
id: "".concat(this.id, "_3"),
properties: { connectionType: "target" },
@ -241,6 +242,13 @@ class loopBodyView extends HtmlNode {
return svgH('g', {}, anchorShapes);
}
getOutlineStyle() {
const style = super.getOutlineStyle();
style.stroke = "none";
// style.hover.stroke = "none";
return style;
}
/**
* HTML 内容设置到指定的根元素上
* @param rootEl 根元素

View File

@ -87,13 +87,13 @@ onUnmounted(() => {
.group__container {
width: 100%;
height: 100%;
min-height: 420px;
// min-height: 420px;
background: #fff;
padding: 12px;
cursor: default;
border-radius: 12px;
border: 2px solid white;
box-shadow: 0 5px 15px 0#00000008;
// box-shadow: 0 5px 15px 0#00000008;
display: flex;
flex-direction: column;
position: relative;

View File

@ -198,7 +198,7 @@ class SdAgentNodeHtmlModel extends HtmlNodeModel {
getOutlineStyle() {
const style = super.getOutlineStyle();
style.stroke = "none";
style.hover.stroke = "none";
// style.hover.stroke = "none";
return style;
}
}

View File

@ -198,7 +198,7 @@ class SleepNodeHtmlModel extends HtmlNodeModel {
getOutlineStyle() {
const style = super.getOutlineStyle();
style.stroke = "none";
style.hover.stroke = "none";
// style.hover.stroke = "none";
return style;
}
}

View File

@ -176,7 +176,7 @@ class StopLoopHtmlModel extends HtmlNodeModel {
getOutlineStyle() {
const style = super.getOutlineStyle();
style.stroke = "none";
style.hover.stroke = "none";
// style.hover.stroke = "none";
return style;
}
}

View File

@ -171,7 +171,7 @@ class SubEndNodeHtmlModel extends HtmlNodeModel {
getOutlineStyle() {
const style = super.getOutlineStyle();
style.stroke = "none";
style.hover.stroke = "none";
// style.hover.stroke = "none";
return style;
}
}

View File

@ -170,7 +170,7 @@ class SubStartNodeHtmlModel extends HtmlNodeModel {
getOutlineStyle() {
const style = super.getOutlineStyle();
style.stroke = "none";
style.hover.stroke = "none";
// style.hover.stroke = "none";
return style;
}
}

View File

@ -303,7 +303,7 @@ class SwitchHtmlModel extends HtmlNodeModel {
getOutlineStyle() {
const style = super.getOutlineStyle();
style.stroke = "none";
style.hover.stroke = "none";
// style.hover.stroke = "none";
return style;
}
}