Ver código fonte

fix: 修改bug

bill 1 ano atrás
pai
commit
3532004666
1 arquivos alterados com 13 adições e 16 exclusões
  1. 13 16
      src/views/graphic/geos/roadEdge.vue

+ 13 - 16
src/views/graphic/geos/roadEdge.vue

@@ -7,7 +7,8 @@
     :min="0"
     :step="1"
     unit="mm"
-    v-model:value="(lineWidthMenu[2].desc as number)"
+    :value="lineWidthMenu[2].desc as number"
+    @update:value="updateDesc"
   />
 </template>
 
@@ -99,7 +100,7 @@ const lineWidthMenu = reactive([
     key: "setRoadEdageWidth",
     icon: "l_thin",
     text: "宽度",
-    desc: 200,
+    desc: -1,
     onClick: () => {
       showChange.value = !showChange.value;
       childMenus.value = null;
@@ -136,24 +137,20 @@ watchEffect(() => {
   }
 });
 const updateWidth = debounce(() => {
-  vector.value.setRoadSideWidth((lineWidthMenu[2].desc as number) / 1000);
-  drawRef.value.renderer.autoRedraw();
   drawRef.value.history.save();
 }, 500);
-
-watch(
-  () => [style.value, lineWidthMenu[2].desc],
-  () => {
-    if (style.value === VectorStyle.RoadSide) {
-      if (vector.value.geoType == VectorType.CurveRoadEdge) {
-        vector.value.setCurveRoadSideWidth((lineWidthMenu[2].desc as number) / 1000);
-      } else {
-        console.log(lineWidthMenu[2].desc);
-        updateWidth();
-      }
+const updateDesc = (value) => {
+  lineWidthMenu[2].desc = value;
+  if (style.value === VectorStyle.RoadSide) {
+    if (vector.value.geoType == VectorType.CurveRoadEdge) {
+      vector.value.setCurveRoadSideWidth((lineWidthMenu[2].desc as number) / 1000);
+    } else {
+      vector.value.setRoadSideWidth((lineWidthMenu[2].desc as number) / 1000);
+      drawRef.value.renderer.autoRedraw();
+      updateWidth();
     }
   }
-);
+};
 
 const active = computed(() => {
   return toRaw(childMenus.value) === lineTypeMenu