Parcourir la source

feature/流程图bug修复

dengrui il y a 11 mois
Parent
commit
88010e279a

+ 3 - 0
src/views/base/craftManagement/route/bindProcess.vue

@@ -193,6 +193,9 @@ const nodeType = ref("custom");
 const editStatus = ref(false);
 const changeEditStatus = () => {
   editStatus.value = !editStatus.value;
+  if (editStatus.value == false) {
+    currentProcess.value = {};
+  }
 };
 const router = useRouter();
 const route = useRoute();

+ 17 - 20
src/views/base/craftManagement/route/components/CustomNode/index.vue

@@ -1,32 +1,23 @@
 <script setup>
 import { Position, Handle } from "@vue-flow/core";
-// props were passed from the slot using `v-bind="customNodeProps"`
 const props = defineProps(["data", "id"]);
 const currentProcess = inject("currentProcess");
 const selectStatus = ref(false);
-const selectNode = () => {
-  if (currentProcess != null) {
-    if (props.id == currentProcess.value.id) {
-      selectStatus.value = true;
-    } else {
-      selectStatus.value = false;
-    }
-  } else {
-    selectStatus.value = false;
+
+const getBorderClass = computed(() => {
+  let str = "borderBlack";
+  if (selectStatus.value) {
+    str = "borderBlue";
   }
-  console.log(selectStatus.value, "222");
-};
-watch(
-  () => currentProcess.value.id,
-  () => {
-    selectNode();
-  },
-  { deep: true }
-);
+  return str;
+});
+watchEffect(() => {
+  selectStatus.value = props.id == currentProcess.value.id;
+});
 </script>
 
 <template>
-  <div class="nodes" :style="{ borderColor: selectStatus ? 'blue' : 'balck' }">
+  <div class="nodes" :class="getBorderClass">
     <Handle
       :style="{
         height: '13px',
@@ -73,4 +64,10 @@ watch(
   justify-content: center;
   border: 1px solid black;
 }
+.borderBlack {
+  border-color: black;
+}
+.borderBlue {
+  border-color: blue;
+}
 </style>