perf: [BPM 工作流] Simple 模型节点名称修改优化
parent
23a25cb521
commit
070605ec6e
|
@ -144,8 +144,8 @@ function clickIcon() {
|
||||||
showInput.value = true;
|
showInput.value = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 输入框失去焦点
|
// 修改节点名称
|
||||||
function blurEvent() {
|
function changeNodeName() {
|
||||||
showInput.value = false;
|
showInput.value = false;
|
||||||
currentNode.value.name =
|
currentNode.value.name =
|
||||||
currentNode.value.name ||
|
currentNode.value.name ||
|
||||||
|
@ -166,7 +166,8 @@ defineExpose({ open }); // 提供 open 方法,用于打开弹窗
|
||||||
v-if="showInput"
|
v-if="showInput"
|
||||||
type="text"
|
type="text"
|
||||||
class="mr-2 w-48"
|
class="mr-2 w-48"
|
||||||
@blur="blurEvent()"
|
@blur="changeNodeName()"
|
||||||
|
@press-enter="changeNodeName()"
|
||||||
v-model:value="currentNode.name"
|
v-model:value="currentNode.name"
|
||||||
:placeholder="currentNode.name"
|
:placeholder="currentNode.name"
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -75,9 +75,8 @@ const [Drawer, drawerApi] = useVbenDrawer({
|
||||||
const currentNode = useWatchNode(props);
|
const currentNode = useWatchNode(props);
|
||||||
|
|
||||||
// 节点名称
|
// 节点名称
|
||||||
const { nodeName, showInput, clickIcon, blurEvent, inputRef } = useNodeName(
|
const { nodeName, showInput, clickIcon, changeNodeName, inputRef } =
|
||||||
BpmNodeTypeEnum.COPY_TASK_NODE,
|
useNodeName(BpmNodeTypeEnum.COPY_TASK_NODE);
|
||||||
);
|
|
||||||
|
|
||||||
// 激活的 Tab 标签页
|
// 激活的 Tab 标签页
|
||||||
const activeTabName = ref('user');
|
const activeTabName = ref('user');
|
||||||
|
@ -216,7 +215,8 @@ defineExpose({ showCopyTaskNodeConfig }); // 暴露方法给父组件
|
||||||
ref="inputRef"
|
ref="inputRef"
|
||||||
type="text"
|
type="text"
|
||||||
class="config-editable-input"
|
class="config-editable-input"
|
||||||
@blur="blurEvent()"
|
@blur="changeNodeName()"
|
||||||
|
@press-enter="changeNodeName()"
|
||||||
v-model:value="nodeName"
|
v-model:value="nodeName"
|
||||||
:placeholder="nodeName"
|
:placeholder="nodeName"
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -45,9 +45,8 @@ const props = defineProps({
|
||||||
// 当前节点
|
// 当前节点
|
||||||
const currentNode = useWatchNode(props);
|
const currentNode = useWatchNode(props);
|
||||||
// 节点名称
|
// 节点名称
|
||||||
const { nodeName, showInput, clickIcon, blurEvent, inputRef } = useNodeName(
|
const { nodeName, showInput, clickIcon, changeNodeName, inputRef } =
|
||||||
BpmNodeTypeEnum.DELAY_TIMER_NODE,
|
useNodeName(BpmNodeTypeEnum.DELAY_TIMER_NODE);
|
||||||
);
|
|
||||||
// 抄送人表单配置
|
// 抄送人表单配置
|
||||||
const formRef = ref(); // 表单 Ref
|
const formRef = ref(); // 表单 Ref
|
||||||
|
|
||||||
|
@ -161,7 +160,8 @@ defineExpose({ openDrawer }); // 暴露方法给父组件
|
||||||
ref="inputRef"
|
ref="inputRef"
|
||||||
type="text"
|
type="text"
|
||||||
class="mr-2 w-48"
|
class="mr-2 w-48"
|
||||||
@blur="blurEvent()"
|
@blur="changeNodeName()"
|
||||||
|
@press-enter="changeNodeName()"
|
||||||
v-model:value="nodeName"
|
v-model:value="nodeName"
|
||||||
:placeholder="nodeName"
|
:placeholder="nodeName"
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -41,9 +41,8 @@ const processNodeTree = inject<Ref<SimpleFlowNode>>('processNodeTree');
|
||||||
/** 当前节点 */
|
/** 当前节点 */
|
||||||
const currentNode = useWatchNode(props);
|
const currentNode = useWatchNode(props);
|
||||||
/** 节点名称 */
|
/** 节点名称 */
|
||||||
const { nodeName, showInput, clickIcon, blurEvent, inputRef } = useNodeName(
|
const { nodeName, showInput, clickIcon, changeNodeName, inputRef } =
|
||||||
BpmNodeTypeEnum.ROUTER_BRANCH_NODE,
|
useNodeName(BpmNodeTypeEnum.ROUTER_BRANCH_NODE);
|
||||||
);
|
|
||||||
const routerGroups = ref<RouterSetting[]>([]);
|
const routerGroups = ref<RouterSetting[]>([]);
|
||||||
const nodeOptions = ref<any[]>([]);
|
const nodeOptions = ref<any[]>([]);
|
||||||
const conditionRef = ref<any[]>([]);
|
const conditionRef = ref<any[]>([]);
|
||||||
|
@ -209,7 +208,8 @@ defineExpose({ openDrawer }); // 暴露方法给父组件
|
||||||
v-if="showInput"
|
v-if="showInput"
|
||||||
type="text"
|
type="text"
|
||||||
class="mr-2 w-48"
|
class="mr-2 w-48"
|
||||||
@blur="blurEvent()"
|
@blur="changeNodeName()"
|
||||||
|
@press-enter="changeNodeName()"
|
||||||
v-model:value="nodeName"
|
v-model:value="nodeName"
|
||||||
:placeholder="nodeName"
|
:placeholder="nodeName"
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -52,9 +52,8 @@ const deptOptions = inject<Ref<SystemDeptApi.Dept[]>>('deptList');
|
||||||
// 当前节点
|
// 当前节点
|
||||||
const currentNode = useWatchNode(props);
|
const currentNode = useWatchNode(props);
|
||||||
// 节点名称
|
// 节点名称
|
||||||
const { nodeName, showInput, clickIcon, blurEvent, inputRef } = useNodeName(
|
const { nodeName, showInput, clickIcon, changeNodeName, inputRef } =
|
||||||
BpmNodeTypeEnum.START_USER_NODE,
|
useNodeName(BpmNodeTypeEnum.START_USER_NODE);
|
||||||
);
|
|
||||||
// 激活的 Tab 标签页
|
// 激活的 Tab 标签页
|
||||||
const activeTabName = ref('user');
|
const activeTabName = ref('user');
|
||||||
|
|
||||||
|
@ -150,7 +149,8 @@ defineExpose({ showStartUserNodeConfig });
|
||||||
v-if="showInput"
|
v-if="showInput"
|
||||||
type="text"
|
type="text"
|
||||||
class="config-editable-input"
|
class="config-editable-input"
|
||||||
@blur="blurEvent()"
|
@blur="changeNodeName()"
|
||||||
|
@press-enter="changeNodeName()"
|
||||||
v-model:value="nodeName"
|
v-model:value="nodeName"
|
||||||
:placeholder="nodeName"
|
:placeholder="nodeName"
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -72,9 +72,8 @@ const [Drawer, drawerApi] = useVbenDrawer({
|
||||||
// 当前节点
|
// 当前节点
|
||||||
const currentNode = useWatchNode(props);
|
const currentNode = useWatchNode(props);
|
||||||
// 节点名称
|
// 节点名称
|
||||||
const { nodeName, showInput, clickIcon, blurEvent, inputRef } = useNodeName(
|
const { nodeName, showInput, clickIcon, changeNodeName, inputRef } =
|
||||||
BpmNodeTypeEnum.TRIGGER_NODE,
|
useNodeName(BpmNodeTypeEnum.TRIGGER_NODE);
|
||||||
);
|
|
||||||
// 触发器表单配置
|
// 触发器表单配置
|
||||||
const formRef = ref(); // 表单 Ref
|
const formRef = ref(); // 表单 Ref
|
||||||
|
|
||||||
|
@ -392,7 +391,8 @@ onMounted(() => {
|
||||||
v-if="showInput"
|
v-if="showInput"
|
||||||
type="text"
|
type="text"
|
||||||
class="config-editable-input"
|
class="config-editable-input"
|
||||||
@blur="blurEvent()"
|
@blur="changeNodeName()"
|
||||||
|
@press-enter="changeNodeName()"
|
||||||
v-model:value="nodeName"
|
v-model:value="nodeName"
|
||||||
:placeholder="nodeName"
|
:placeholder="nodeName"
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -114,9 +114,8 @@ const [Drawer, drawerApi] = useVbenDrawer({
|
||||||
});
|
});
|
||||||
|
|
||||||
// 节点名称配置
|
// 节点名称配置
|
||||||
const { nodeName, showInput, clickIcon, blurEvent, inputRef } = useNodeName(
|
const { nodeName, showInput, clickIcon, changeNodeName, inputRef } =
|
||||||
BpmNodeTypeEnum.USER_TASK_NODE,
|
useNodeName(BpmNodeTypeEnum.USER_TASK_NODE);
|
||||||
);
|
|
||||||
|
|
||||||
// 激活的 Tab 标签页
|
// 激活的 Tab 标签页
|
||||||
const activeTabName = ref('user');
|
const activeTabName = ref('user');
|
||||||
|
@ -589,7 +588,8 @@ onMounted(() => {
|
||||||
ref="inputRef"
|
ref="inputRef"
|
||||||
type="text"
|
type="text"
|
||||||
class="config-editable-input"
|
class="config-editable-input"
|
||||||
@blur="blurEvent()"
|
@blur="changeNodeName()"
|
||||||
|
@press-enter="changeNodeName()"
|
||||||
v-model:value="nodeName"
|
v-model:value="nodeName"
|
||||||
:placeholder="nodeName"
|
:placeholder="nodeName"
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -32,7 +32,7 @@ const readonly = inject<Boolean>('readonly');
|
||||||
// 监控节点的变化
|
// 监控节点的变化
|
||||||
const currentNode = useWatchNode(props);
|
const currentNode = useWatchNode(props);
|
||||||
// 节点名称编辑
|
// 节点名称编辑
|
||||||
const { showInput, blurEvent, clickTitle, inputRef } = useNodeName2(
|
const { showInput, changeNodeName, clickTitle, inputRef } = useNodeName2(
|
||||||
currentNode,
|
currentNode,
|
||||||
BpmNodeTypeEnum.COPY_TASK_NODE,
|
BpmNodeTypeEnum.COPY_TASK_NODE,
|
||||||
);
|
);
|
||||||
|
@ -71,7 +71,8 @@ function deleteNode() {
|
||||||
v-if="!readonly && showInput"
|
v-if="!readonly && showInput"
|
||||||
type="text"
|
type="text"
|
||||||
class="editable-title-input"
|
class="editable-title-input"
|
||||||
@blur="blurEvent()"
|
@blur="changeNodeName()"
|
||||||
|
@press-enter="changeNodeName()"
|
||||||
v-model:value="currentNode.name"
|
v-model:value="currentNode.name"
|
||||||
:placeholder="currentNode.name"
|
:placeholder="currentNode.name"
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -30,7 +30,7 @@ const readonly = inject<Boolean>('readonly');
|
||||||
// 监控节点的变化
|
// 监控节点的变化
|
||||||
const currentNode = useWatchNode(props);
|
const currentNode = useWatchNode(props);
|
||||||
// 节点名称编辑
|
// 节点名称编辑
|
||||||
const { showInput, blurEvent, clickTitle, inputRef } = useNodeName2(
|
const { showInput, changeNodeName, clickTitle, inputRef } = useNodeName2(
|
||||||
currentNode,
|
currentNode,
|
||||||
BpmNodeTypeEnum.DELAY_TIMER_NODE,
|
BpmNodeTypeEnum.DELAY_TIMER_NODE,
|
||||||
);
|
);
|
||||||
|
@ -68,7 +68,8 @@ function deleteNode() {
|
||||||
v-if="!readonly && showInput"
|
v-if="!readonly && showInput"
|
||||||
type="text"
|
type="text"
|
||||||
class="editable-title-input"
|
class="editable-title-input"
|
||||||
@blur="blurEvent()"
|
@blur="changeNodeName()"
|
||||||
|
@press-enter="changeNodeName()"
|
||||||
v-model:value="currentNode.name"
|
v-model:value="currentNode.name"
|
||||||
:placeholder="currentNode.name"
|
:placeholder="currentNode.name"
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -73,8 +73,8 @@ watch(
|
||||||
{ deep: true },
|
{ deep: true },
|
||||||
);
|
);
|
||||||
|
|
||||||
// 失去焦点
|
// 修改节点名称
|
||||||
function blurEvent(index: number) {
|
function changeNodeName(index: number) {
|
||||||
showInputs.value[index] = false;
|
showInputs.value[index] = false;
|
||||||
const conditionNode = currentNode.value.conditionNodes?.at(
|
const conditionNode = currentNode.value.conditionNodes?.at(
|
||||||
index,
|
index,
|
||||||
|
@ -214,7 +214,8 @@ function recursiveFindParentNode(
|
||||||
"
|
"
|
||||||
type="text"
|
type="text"
|
||||||
class="editable-title-input"
|
class="editable-title-input"
|
||||||
@blur="blurEvent(index)"
|
@blur="changeNodeName(index)"
|
||||||
|
@press-enter="changeNodeName(index)"
|
||||||
v-model:value="item.name"
|
v-model:value="item.name"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -77,8 +77,8 @@ watch(
|
||||||
},
|
},
|
||||||
{ deep: true },
|
{ deep: true },
|
||||||
);
|
);
|
||||||
// 失去焦点
|
// 修改节点名称
|
||||||
function blurEvent(index: number) {
|
function changeNodeName(index: number) {
|
||||||
showInputs.value[index] = false;
|
showInputs.value[index] = false;
|
||||||
const conditionNode = currentNode.value.conditionNodes?.at(
|
const conditionNode = currentNode.value.conditionNodes?.at(
|
||||||
index,
|
index,
|
||||||
|
@ -217,7 +217,8 @@ function recursiveFindParentNode(
|
||||||
"
|
"
|
||||||
type="text"
|
type="text"
|
||||||
class="editable-title-input"
|
class="editable-title-input"
|
||||||
@blur="blurEvent(index)"
|
@blur="changeNodeName(index)"
|
||||||
|
@press-enter="changeNodeName(index)"
|
||||||
v-model:value="item.name"
|
v-model:value="item.name"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -66,8 +66,8 @@ watch(
|
||||||
},
|
},
|
||||||
{ deep: true },
|
{ deep: true },
|
||||||
);
|
);
|
||||||
// 失去焦点
|
// 修改节点名称
|
||||||
function blurEvent(index: number) {
|
function changeNodeName(index: number) {
|
||||||
showInputs.value[index] = false;
|
showInputs.value[index] = false;
|
||||||
const conditionNode = currentNode.value.conditionNodes?.at(
|
const conditionNode = currentNode.value.conditionNodes?.at(
|
||||||
index,
|
index,
|
||||||
|
@ -175,7 +175,8 @@ function recursiveFindParentNode(
|
||||||
"
|
"
|
||||||
type="text"
|
type="text"
|
||||||
class="input-max-width editable-title-input"
|
class="input-max-width editable-title-input"
|
||||||
@blur="blurEvent(index)"
|
@blur="changeNodeName(index)"
|
||||||
|
@press-enter="changeNodeName(index)"
|
||||||
v-model:value="item.name"
|
v-model:value="item.name"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -33,7 +33,7 @@ const readonly = inject<Boolean>('readonly');
|
||||||
// 监控节点的变化
|
// 监控节点的变化
|
||||||
const currentNode = useWatchNode(props);
|
const currentNode = useWatchNode(props);
|
||||||
// 节点名称编辑
|
// 节点名称编辑
|
||||||
const { showInput, blurEvent, clickTitle, inputRef } = useNodeName2(
|
const { showInput, changeNodeName, clickTitle, inputRef } = useNodeName2(
|
||||||
currentNode,
|
currentNode,
|
||||||
BpmNodeTypeEnum.ROUTER_BRANCH_NODE,
|
BpmNodeTypeEnum.ROUTER_BRANCH_NODE,
|
||||||
);
|
);
|
||||||
|
@ -71,7 +71,8 @@ function deleteNode() {
|
||||||
v-if="!readonly && showInput"
|
v-if="!readonly && showInput"
|
||||||
type="text"
|
type="text"
|
||||||
class="editable-title-input"
|
class="editable-title-input"
|
||||||
@blur="blurEvent()"
|
@blur="changeNodeName()"
|
||||||
|
@press-enter="changeNodeName()"
|
||||||
v-model:value="currentNode.name"
|
v-model:value="currentNode.name"
|
||||||
:placeholder="currentNode.name"
|
:placeholder="currentNode.name"
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -37,7 +37,7 @@ const tasks = inject<Ref<any[]>>('tasks', ref([]));
|
||||||
// 监控节点变化
|
// 监控节点变化
|
||||||
const currentNode = useWatchNode(props);
|
const currentNode = useWatchNode(props);
|
||||||
// 节点名称编辑
|
// 节点名称编辑
|
||||||
const { showInput, blurEvent, clickTitle, inputRef } = useNodeName2(
|
const { showInput, changeNodeName, clickTitle, inputRef } = useNodeName2(
|
||||||
currentNode,
|
currentNode,
|
||||||
BpmNodeTypeEnum.START_USER_NODE,
|
BpmNodeTypeEnum.START_USER_NODE,
|
||||||
);
|
);
|
||||||
|
@ -85,7 +85,8 @@ function nodeClick() {
|
||||||
v-if="!readonly && showInput"
|
v-if="!readonly && showInput"
|
||||||
type="text"
|
type="text"
|
||||||
class="editable-title-input"
|
class="editable-title-input"
|
||||||
@blur="blurEvent()"
|
@blur="changeNodeName()"
|
||||||
|
@press-enter="changeNodeName()"
|
||||||
v-model:value="currentNode.name"
|
v-model:value="currentNode.name"
|
||||||
:placeholder="currentNode.name"
|
:placeholder="currentNode.name"
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -35,7 +35,7 @@ const readonly = inject<Boolean>('readonly');
|
||||||
// 监控节点的变化
|
// 监控节点的变化
|
||||||
const currentNode = useWatchNode(props);
|
const currentNode = useWatchNode(props);
|
||||||
// 节点名称编辑
|
// 节点名称编辑
|
||||||
const { showInput, blurEvent, clickTitle, inputRef } = useNodeName2(
|
const { showInput, changeNodeName, clickTitle, inputRef } = useNodeName2(
|
||||||
currentNode,
|
currentNode,
|
||||||
BpmNodeTypeEnum.TRIGGER_NODE,
|
BpmNodeTypeEnum.TRIGGER_NODE,
|
||||||
);
|
);
|
||||||
|
@ -73,7 +73,8 @@ function deleteNode() {
|
||||||
v-if="!readonly && showInput"
|
v-if="!readonly && showInput"
|
||||||
type="text"
|
type="text"
|
||||||
class="editable-title-input"
|
class="editable-title-input"
|
||||||
@blur="blurEvent()"
|
@blur="changeNodeName()"
|
||||||
|
@press-enter="changeNodeName()"
|
||||||
v-model:value="currentNode.name"
|
v-model:value="currentNode.name"
|
||||||
:placeholder="currentNode.name"
|
:placeholder="currentNode.name"
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -36,7 +36,7 @@ const tasks = inject<Ref<any[]>>('tasks', ref([]));
|
||||||
// 监控节点变化
|
// 监控节点变化
|
||||||
const currentNode = useWatchNode(props);
|
const currentNode = useWatchNode(props);
|
||||||
// 节点名称编辑
|
// 节点名称编辑
|
||||||
const { showInput, blurEvent, clickTitle, inputRef } = useNodeName2(
|
const { showInput, changeNodeName, clickTitle, inputRef } = useNodeName2(
|
||||||
currentNode,
|
currentNode,
|
||||||
BpmNodeTypeEnum.USER_TASK_NODE,
|
BpmNodeTypeEnum.USER_TASK_NODE,
|
||||||
);
|
);
|
||||||
|
@ -91,7 +91,8 @@ function findReturnTaskNodes(
|
||||||
v-if="!readonly && showInput"
|
v-if="!readonly && showInput"
|
||||||
type="text"
|
type="text"
|
||||||
class="editable-title-input"
|
class="editable-title-input"
|
||||||
@blur="blurEvent()"
|
@blur="changeNodeName()"
|
||||||
|
@press-enter="changeNodeName()"
|
||||||
v-model:value="currentNode.name"
|
v-model:value="currentNode.name"
|
||||||
:placeholder="currentNode.name"
|
:placeholder="currentNode.name"
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -628,8 +628,8 @@ export function useNodeName(nodeType: BpmNodeTypeEnum) {
|
||||||
function clickIcon() {
|
function clickIcon() {
|
||||||
showInput.value = true;
|
showInput.value = true;
|
||||||
}
|
}
|
||||||
// 节点名称输入框失去焦点
|
// 修改节点名称
|
||||||
function blurEvent() {
|
function changeNodeName() {
|
||||||
showInput.value = false;
|
showInput.value = false;
|
||||||
nodeName.value =
|
nodeName.value =
|
||||||
nodeName.value || (NODE_DEFAULT_NAME.get(nodeType) as string);
|
nodeName.value || (NODE_DEFAULT_NAME.get(nodeType) as string);
|
||||||
|
@ -648,7 +648,7 @@ export function useNodeName(nodeType: BpmNodeTypeEnum) {
|
||||||
showInput,
|
showInput,
|
||||||
inputRef,
|
inputRef,
|
||||||
clickIcon,
|
clickIcon,
|
||||||
blurEvent,
|
changeNodeName,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -670,8 +670,8 @@ export function useNodeName2(
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// 节点名称输入框失去焦点
|
// 修改节点名称
|
||||||
function blurEvent() {
|
function changeNodeName() {
|
||||||
showInput.value = false;
|
showInput.value = false;
|
||||||
node.value.name =
|
node.value.name =
|
||||||
node.value.name || (NODE_DEFAULT_NAME.get(nodeType) as string);
|
node.value.name || (NODE_DEFAULT_NAME.get(nodeType) as string);
|
||||||
|
@ -685,7 +685,7 @@ export function useNodeName2(
|
||||||
showInput,
|
showInput,
|
||||||
inputRef,
|
inputRef,
|
||||||
clickTitle,
|
clickTitle,
|
||||||
blurEvent,
|
changeNodeName,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue