From a73aec666f26921ef2f9f4fb0a959d79ff648d76 Mon Sep 17 00:00:00 2001 From: cxc Date: Thu, 5 Jan 2023 09:48:56 +0800 Subject: [PATCH] auto open form collapse item. --- src/components/ProcessDesigner/index.vue | 28 +++++++++++++------ src/plugins/package/penal/PropertiesPanel.vue | 8 +++++- .../package/penal/base/ElementBaseInfo.vue | 10 +++---- 3 files changed, 31 insertions(+), 15 deletions(-) diff --git a/src/components/ProcessDesigner/index.vue b/src/components/ProcessDesigner/index.vue index c7fc479..ea87f28 100644 --- a/src/components/ProcessDesigner/index.vue +++ b/src/components/ProcessDesigner/index.vue @@ -34,8 +34,8 @@ import "@/plugins/package/theme/index.scss"; // import "highlight.js/styles/atom-one-dark-reasonable.css"; import CustomContentPadProvider from "@/plugins/package/designer/plugins/content-pad"; import CustomPaletteProvider from "@/plugins/package/designer/plugins/palette"; -import { ref } from "vue"; -import { ElMessage, ElMessageBox } from "element-plus"; +import { ref, nextTick, reactive, toRefs } from "vue"; +import { ElMessageBox } from "element-plus"; const props = defineProps({ bpmnXml: { @@ -70,9 +70,10 @@ const { controlForm } = toRefs(data); const bmpnProcessPenalRef = ref(); function elementClick(elementArgv) { element = elementArgv; - // if(elementArgv) - debugger; - goToFormSelect(); + + if (elementArgv.type != "bpmn:StartEvent") { + goToFormSelect(); + } } function initModeler(modelerArgv) { setTimeout(() => { @@ -102,7 +103,11 @@ function goToFormSelect() { ); const EventBus = window.bpmnInstances.eventBus; if (element.type != "bpmn:StartEvent") { + console.log(bmpnProcessPenalRef.value); startEle && EventBus.fire("element.click", { element: startEle }); + nextTick(() => { + bmpnProcessPenalRef.value.openFormColla(); + }); } }, }); @@ -135,17 +140,22 @@ body { margin: 0; box-sizing: border-box; } + body, body * { /* 滚动条 */ &::-webkit-scrollbar-track-piece { - background-color: #fff; /*滚动条的背景颜色*/ - -webkit-border-radius: 0; /*滚动条的圆角宽度*/ + background-color: #fff; + /*滚动条的背景颜色*/ + -webkit-border-radius: 0; + /*滚动条的圆角宽度*/ } &::-webkit-scrollbar { - width: 10px; /*滚动条的宽度*/ - height: 8px; /*滚动条的高度*/ + width: 10px; + /*滚动条的宽度*/ + height: 8px; + /*滚动条的高度*/ } &::-webkit-scrollbar-thumb:vertical { diff --git a/src/plugins/package/penal/PropertiesPanel.vue b/src/plugins/package/penal/PropertiesPanel.vue index d7f35c4..c448778 100644 --- a/src/plugins/package/penal/PropertiesPanel.vue +++ b/src/plugins/package/penal/PropertiesPanel.vue @@ -126,7 +126,7 @@ import ElementListeners from "./listeners/ElementListeners"; import ElementProperties from "./properties/ElementProperties"; import ElementForm from "./form/ElementForm"; import UserTaskListeners from "./listeners/UserTaskListeners"; -import { provide, toRefs, watch } from "vue"; +import { provide, toRefs, watch, nextTick } from "vue"; const props = defineProps({ bpmnModeler: Object, @@ -156,6 +156,11 @@ const conditionFormVisible = ref(false); // 流转条件设置 const formVisible = ref(false); // 表单配置 let timer; let bpmnElement; +function openFormColla() { + nextTick(() => { + activeTab.value = ["base", "condition"]; + }); +} function initModels() { // 初始化 modeler 以及其他 moddle if (!bpmnModeler.value) { @@ -243,5 +248,6 @@ initModels(); defineExpose({ initFormOnChanged, + openFormColla, }); diff --git a/src/plugins/package/penal/base/ElementBaseInfo.vue b/src/plugins/package/penal/base/ElementBaseInfo.vue index 4b68b67..29ea553 100644 --- a/src/plugins/package/penal/base/ElementBaseInfo.vue +++ b/src/plugins/package/penal/base/ElementBaseInfo.vue @@ -83,11 +83,11 @@ function resetBaseInfo() { elementBaseInfo.value = JSON.parse( JSON.stringify(bpmnElement.businessObject) ); - if (type.value === "StartEvent") { - elementBaseInfo.value.name = "开始"; - } else if (type.value === "EndEvent") { - elementBaseInfo.value.name = "结束"; - } + // if (type.value === "StartEvent") { + // elementBaseInfo.value.name = "开始"; + // } else if (type.value === "EndEvent") { + // elementBaseInfo.value.name = "结束"; + // } } function updateBaseInfo(key) { const attrObj = Object.create(null);