From 1b419ccf217dbcace15987f1c0fe26b9e15d1d4b Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期三, 16 十月 2024 10:26:56 +0800
Subject: [PATCH] 工艺绑定优化

---
 src/layouts/default/setting/components/SwitchItem.vue |   66 ++++++++++++++------------------
 1 files changed, 29 insertions(+), 37 deletions(-)

diff --git a/src/layouts/default/setting/components/SwitchItem.vue b/src/layouts/default/setting/components/SwitchItem.vue
index ff27477..3e57893 100644
--- a/src/layouts/default/setting/components/SwitchItem.vue
+++ b/src/layouts/default/setting/components/SwitchItem.vue
@@ -10,50 +10,42 @@
     />
   </div>
 </template>
-<script lang="ts">
-  import { defineComponent, PropType, computed } from 'vue';
+<script lang="ts" setup>
+  import { PropType, computed } from 'vue';
 
-  import { Switch } from 'ant-design-vue';
-  import { useDesign } from '/@/hooks/web/useDesign';
-  import { useI18n } from '/@/hooks/web/useI18n';
+  import { Switch, type SwitchProps } from 'ant-design-vue';
+  import { useDesign } from '@/hooks/web/useDesign';
+  import { useI18n } from '@/hooks/web/useI18n';
   import { baseHandler } from '../handler';
   import { HandlerEnum } from '../enum';
 
-  export default defineComponent({
-    name: 'SwitchItem',
-    components: { Switch },
-    props: {
-      event: {
-        type: Number as PropType<HandlerEnum>,
-      },
-      disabled: {
-        type: Boolean,
-      },
-      title: {
-        type: String,
-      },
-      def: {
-        type: Boolean,
-      },
-    },
-    setup(props) {
-      const { prefixCls } = useDesign('setting-switch-item');
-      const { t } = useI18n();
+  defineOptions({ name: 'SwitchItem' });
 
-      const getBindValue = computed(() => {
-        return props.def ? { checked: props.def } : {};
-      });
-      function handleChange(e: ChangeEvent) {
-        props.event && baseHandler(props.event, e);
-      }
-      return {
-        prefixCls,
-        t,
-        handleChange,
-        getBindValue,
-      };
+  const props = defineProps({
+    event: {
+      type: Number as PropType<HandlerEnum>,
+    },
+    disabled: {
+      type: Boolean,
+    },
+    title: {
+      type: String,
+    },
+    def: {
+      type: Boolean,
     },
   });
+
+  const { prefixCls } = useDesign('setting-switch-item');
+  const { t } = useI18n();
+
+  const getBindValue = computed(() => {
+    return props.def ? { checked: props.def } : {};
+  });
+
+  const handleChange: SwitchProps['onChange'] = (val) => {
+    props.event && baseHandler(props.event, val);
+  };
 </script>
 <style lang="less" scoped>
   @prefix-cls: ~'@{namespace}-setting-switch-item';

--
Gitblit v1.9.3