From b6163e1bed94b4d02d1b6f01fdc2eb3f15ca22e3 Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期一, 07 十月 2024 15:47:46 +0800
Subject: [PATCH] 保存默认工艺路线,工单批次优化

---
 src/components/Container/src/ScrollContainer.vue |  132 +++++++++++++++++++++----------------------
 1 files changed, 64 insertions(+), 68 deletions(-)

diff --git a/src/components/Container/src/ScrollContainer.vue b/src/components/Container/src/ScrollContainer.vue
index ca19003..26b135f 100644
--- a/src/components/Container/src/ScrollContainer.vue
+++ b/src/components/Container/src/ScrollContainer.vue
@@ -1,80 +1,77 @@
 <template>
-  <Scrollbar ref="scrollbarRef" class="scroll-container" v-bind="$attrs">
+  <Scrollbar
+    ref="scrollbarRef"
+    class="scroll-container"
+    :scrollHeight="scrollHeight"
+    v-bind="$attrs"
+  >
     <slot></slot>
   </Scrollbar>
 </template>
 
-<script lang="ts">
-  import { defineComponent, ref, unref, nextTick } from 'vue';
-  import { Scrollbar, ScrollbarType } from '/@/components/Scrollbar';
+<script lang="ts" setup>
+  import { ref, unref, nextTick } from 'vue';
+  import { Scrollbar, ScrollbarType } from '@/components/Scrollbar';
   import { useScrollTo } from '@vben/hooks';
   import { type Nullable } from '@vben/types';
 
-  export default defineComponent({
-    name: 'ScrollContainer',
-    components: { Scrollbar },
-    setup() {
-      const scrollbarRef = ref<Nullable<ScrollbarType>>(null);
+  defineOptions({ name: 'ScrollContainer' });
 
-      /**
-       * Scroll to the specified position
-       */
-      function scrollTo(to: number, duration = 500) {
-        const scrollbar = unref(scrollbarRef);
-        if (!scrollbar) {
-          return;
-        }
-        nextTick(() => {
-          const wrap = unref(scrollbar.wrap);
-          if (!wrap) {
-            return;
-          }
-          const { start } = useScrollTo({
-            el: wrap,
-            to,
-            duration,
-          });
-          start();
-        });
-      }
-
-      function getScrollWrap() {
-        const scrollbar = unref(scrollbarRef);
-        if (!scrollbar) {
-          return null;
-        }
-        return scrollbar.wrap;
-      }
-
-      /**
-       * Scroll to the bottom
-       */
-      function scrollBottom() {
-        const scrollbar = unref(scrollbarRef);
-        if (!scrollbar) {
-          return;
-        }
-        nextTick(() => {
-          const wrap = unref(scrollbar.wrap) as any;
-          if (!wrap) {
-            return;
-          }
-          const scrollHeight = wrap.scrollHeight as number;
-          const { start } = useScrollTo({
-            el: wrap,
-            to: scrollHeight,
-          });
-          start();
-        });
-      }
-
-      return {
-        scrollbarRef,
-        scrollTo,
-        scrollBottom,
-        getScrollWrap,
-      };
+  defineProps({
+    scrollHeight: {
+      type: Number,
     },
+  });
+
+  const scrollbarRef = ref<Nullable<ScrollbarType>>(null);
+
+  function getScrollWrap() {
+    const scrollbar = unref(scrollbarRef);
+    if (!scrollbar) {
+      return null;
+    }
+    return scrollbar.wrap;
+  }
+
+  /**
+   * Scroll to the specified position
+   */
+  function scrollTo(to: number, duration = 500) {
+    const wrap = unref(getScrollWrap());
+    nextTick(() => {
+      if (!wrap) {
+        return;
+      }
+      const { start } = useScrollTo({
+        el: wrap,
+        to,
+        duration,
+      });
+      start();
+    });
+  }
+
+  /**
+   * Scroll to the bottom
+   */
+  function scrollBottom() {
+    const wrap = unref(getScrollWrap());
+    nextTick(() => {
+      if (!wrap) {
+        return;
+      }
+      const scrollHeight = wrap.scrollHeight as number;
+      const { start } = useScrollTo({
+        el: wrap,
+        to: scrollHeight,
+      });
+      start();
+    });
+  }
+
+  defineExpose({
+    scrollTo,
+    scrollBottom,
   });
 </script>
 <style lang="less">
@@ -84,7 +81,6 @@
 
     .scrollbar__wrap {
       margin-bottom: 18px !important;
-      overflow-x: hidden;
     }
 
     .scrollbar__view {

--
Gitblit v1.9.3