|
@@ -1,86 +1,93 @@
|
|
|
-import { ref, watch } from 'vue'
|
|
|
+import { ref, watch } from "vue";
|
|
|
+import { ElMessageBox } from "element-plus";
|
|
|
|
|
|
const useJumpEditorDrawer = (curNodeRef, graphRef) => {
|
|
|
// 跳转模块得抽屉状态
|
|
|
- const jumpDrawerRef = ref(false)
|
|
|
+ const jumpDrawerRef = ref(false);
|
|
|
// 跳转模块得表单数据
|
|
|
const jumpFormRef = ref({
|
|
|
- jumpNodeId: '',
|
|
|
- jumpNodeName: ''
|
|
|
- })
|
|
|
+ jumpNodeId: "",
|
|
|
+ jumpNodeName: "",
|
|
|
+ });
|
|
|
// 表单规则
|
|
|
const jumpFormRuleRef = ref({
|
|
|
- jumpNodeId: [{ required: true, message: '请选择跳转模块', trigger: 'change' }]
|
|
|
- })
|
|
|
+ jumpNodeName: [
|
|
|
+ { required: true, message: "请选择跳转模块", trigger: "change" },
|
|
|
+ ],
|
|
|
+ });
|
|
|
|
|
|
// 可以跳转得节点列表
|
|
|
- const canJumpNodeListRef = ref([])
|
|
|
+ const canJumpNodeListRef = ref([]);
|
|
|
// 更新可以跳转节点列表
|
|
|
const updataCanJumpNodeList = () => {
|
|
|
- const allNode = graphRef.value.getNodes()
|
|
|
- const curNode = curNodeRef.value
|
|
|
- const curModel = curNode.getModel()
|
|
|
+ const allNode = graphRef.value.getNodes();
|
|
|
+ const curNode = curNodeRef.value;
|
|
|
+ const curModel = curNode.getModel();
|
|
|
// 过滤出非自己本身和直接上级节点的所有节点
|
|
|
- const result = []
|
|
|
+ const result = [];
|
|
|
for (let i = 0; i < allNode.length; i++) {
|
|
|
- const _node = allNode[i]
|
|
|
- const _model = _node.getModel()
|
|
|
- if (_model.type === 'jump-node' || _model.id === curModel.preNodeId) continue
|
|
|
+ const _node = allNode[i];
|
|
|
+ const _model = _node.getModel();
|
|
|
+ if (_model.type === "jump-node" || _model.id === curModel.preNodeId)
|
|
|
+ continue;
|
|
|
result.push({
|
|
|
jumpNodeId: _model.id,
|
|
|
- jumpNodeName: _model.data?.name || ''
|
|
|
- })
|
|
|
+ jumpNodeName: _model.data?.name || "",
|
|
|
+ });
|
|
|
}
|
|
|
- canJumpNodeListRef.value = result
|
|
|
- }
|
|
|
+ canJumpNodeListRef.value = result;
|
|
|
+ };
|
|
|
// 选择跳转节点之后赋值跳转节点名称
|
|
|
const handleChangeJumpTarget = (jumpNodeId) => {
|
|
|
- const target = canJumpNodeListRef.value.find((item) => item.jumpNodeId === jumpNodeId)
|
|
|
- jumpFormRef.value.jumpNodeName = target.jumpNodeName
|
|
|
- }
|
|
|
+ const target = canJumpNodeListRef.value.find(
|
|
|
+ (item) => item.jumpNodeId === jumpNodeId
|
|
|
+ );
|
|
|
+ jumpFormRef.value.jumpNodeId = jumpNodeId;
|
|
|
+ jumpFormRef.value.jumpNodeName = target.jumpNodeName;
|
|
|
+ };
|
|
|
// 关闭抽屉
|
|
|
const handleJumpCancel = () => {
|
|
|
- ElMessageBox.confirm('是否确认取消更改?')
|
|
|
+ ElMessageBox.confirm("是否确认取消更改?")
|
|
|
.then(() => {
|
|
|
- jumpDrawerRef.value = false
|
|
|
- curNodeRef.value = null
|
|
|
+ jumpDrawerRef.value = false;
|
|
|
+ curNodeRef.value = null;
|
|
|
})
|
|
|
.catch(() => {
|
|
|
// catch error
|
|
|
- })
|
|
|
- }
|
|
|
+ });
|
|
|
+ };
|
|
|
// 保存
|
|
|
const handleJumpSave = () => {
|
|
|
- if (!graphRef.value) return console.warn('画布不存在')
|
|
|
+ if (!graphRef.value) return console.warn("画布不存在");
|
|
|
const config = {
|
|
|
data: {
|
|
|
jumpNodeId: jumpFormRef.value.jumpNodeId,
|
|
|
- jumpNodeName: jumpFormRef.value.jumpNodeName
|
|
|
- }
|
|
|
- }
|
|
|
+ jumpNodeName: jumpFormRef.value.jumpNodeName,
|
|
|
+ },
|
|
|
+ };
|
|
|
// 更新当前节点
|
|
|
- graphRef.value.updateItem(curNodeRef.value, config)
|
|
|
- jumpDrawerRef.value = false
|
|
|
- curNodeRef.value = null
|
|
|
- }
|
|
|
+ graphRef.value.updateItem(curNodeRef.value, config);
|
|
|
+ jumpDrawerRef.value = false;
|
|
|
+ curNodeRef.value = null;
|
|
|
+ };
|
|
|
|
|
|
// 根据传入的节点初始化内容
|
|
|
const init = (node) => {
|
|
|
- const model = node.getModel()
|
|
|
- const data = model.data || {}
|
|
|
+ const model = node.getModel();
|
|
|
+ const data = model.data || {};
|
|
|
jumpFormRef.value = {
|
|
|
jumpNodeId: data.jumpNodeId,
|
|
|
- jumpNodeName: data.jumpNodeName
|
|
|
- }
|
|
|
- }
|
|
|
+ jumpNodeName: data.jumpNodeName,
|
|
|
+ };
|
|
|
+ };
|
|
|
|
|
|
watch(
|
|
|
() => curNodeRef.value,
|
|
|
(node) => {
|
|
|
- if (!node) return
|
|
|
- init(node)
|
|
|
+ if (!node) return;
|
|
|
+ init(node);
|
|
|
}
|
|
|
- )
|
|
|
+ );
|
|
|
|
|
|
return {
|
|
|
jumpDrawerRef,
|
|
@@ -90,8 +97,8 @@ const useJumpEditorDrawer = (curNodeRef, graphRef) => {
|
|
|
updataCanJumpNodeList,
|
|
|
handleChangeJumpTarget,
|
|
|
handleJumpCancel,
|
|
|
- handleJumpSave
|
|
|
- }
|
|
|
-}
|
|
|
+ handleJumpSave,
|
|
|
+ };
|
|
|
+};
|
|
|
|
|
|
-export default useJumpEditorDrawer
|
|
|
+export default useJumpEditorDrawer;
|