diff --git a/src/components/Form/src/hooks/useFormValues.ts b/src/components/Form/src/hooks/useFormValues.ts
index a3ddabe4..ca4cf3aa 100644
--- a/src/components/Form/src/hooks/useFormValues.ts
+++ b/src/components/Form/src/hooks/useFormValues.ts
@@ -13,7 +13,7 @@ interface UseFormValuesContext {
 }
 
 /**
- * @desription deconstruct array-link key. This method will mutate the target.
+ * @description deconstruct array-link key. This method will mutate the target.
  */
 function tryDeconstructArray(key: string, value: any, target: Recordable) {
   const pattern = /^\[(.+)\]$/
@@ -31,7 +31,7 @@ function tryDeconstructArray(key: string, value: any, target: Recordable) {
 }
 
 /**
- * @desription deconstruct object-link key. This method will mutate the target.
+ * @description deconstruct object-link key. This method will mutate the target.
  */
 function tryDeconstructObject(key: string, value: any, target: Recordable) {
   const pattern = /^\{(.+)\}$/
@@ -122,10 +122,11 @@ export function useFormValues({ defaultValueRef, getSchema, formModel, getProps
       const { defaultValue, defaultValueObj } = item
       const fieldKeys = Object.keys(defaultValueObj || {})
       if (fieldKeys.length) {
+        // eslint-disable-next-line array-callback-return
         fieldKeys.map((field) => {
-          obj[field] = defaultValueObj[field]
+          obj[field] = defaultValueObj![field]
           if (formModel[field] === undefined)
-            formModel[field] = defaultValueObj[field]
+            formModel[field] = defaultValueObj![field]
         })
       }
       if (!isNullOrUnDef(defaultValue)) {
diff --git a/src/components/FormDesign/src/components/VFormDesign/components/ComponentProps.vue b/src/components/FormDesign/src/components/VFormDesign/components/ComponentProps.vue
index bcd8ad97..c4e537c5 100644
--- a/src/components/FormDesign/src/components/VFormDesign/components/ComponentProps.vue
+++ b/src/components/FormDesign/src/components/VFormDesign/components/ComponentProps.vue
@@ -128,14 +128,14 @@ export default defineComponent({
     // 控制性的选项
     const controlOptions = computed(() => {
       return allOptions.value.filter((item) => {
-        return item.category == 'control'
+        return item.category === 'control'
       })
     })
 
     // 非控制性选择
     const inputOptions = computed(() => {
       return allOptions.value.filter((item) => {
-        return item.category == 'input'
+        return item.category === 'input'
       })
     })
 
diff --git a/src/components/FormDesign/src/components/index.ts b/src/components/FormDesign/src/components/index.ts
index ea8613b6..fb8b3704 100644
--- a/src/components/FormDesign/src/components/index.ts
+++ b/src/components/FormDesign/src/components/index.ts
@@ -1,6 +1,7 @@
 import type { Component } from 'vue'
 import {
   Input,
+  // eslint-disable-next-line sort-imports
   Button,
   Select,
   Radio,
diff --git a/src/components/FormDesign/src/hooks/useVFormMethods.ts b/src/components/FormDesign/src/hooks/useVFormMethods.ts
index ec9f7929..3044fb23 100644
--- a/src/components/FormDesign/src/hooks/useVFormMethods.ts
+++ b/src/components/FormDesign/src/hooks/useVFormMethods.ts
@@ -78,20 +78,6 @@ export function useVFormMethods(
       formItem[key] = value
   }
 
-  /**
-   * 设置表单项的props
-   * @param {string} field 需要设置的表单项field
-   * @param {string} key 需要设置的key
-   * @param value 需要设置的值
-   */
-  const setProps: ISetProps = (field, key, value) => {
-    const formItem = get(field)
-    if (formItem?.componentProps) {
-      ['options', 'treeData'].includes(key) && setValue(field, undefined)
-
-      formItem.componentProps[key] = value
-    }
-  }
   /**
    * 设置字段的值,设置后触发校验
    * @param {string} field  需要设置的字段
@@ -111,6 +97,20 @@ export function useVFormMethods(
       })
     }
   }
+  /**
+   * 设置表单项的props
+   * @param {string} field 需要设置的表单项field
+   * @param {string} key 需要设置的key
+   * @param value 需要设置的值
+   */
+  const setProps: ISetProps = (field, key, value) => {
+    const formItem = get(field)
+    if (formItem?.componentProps) {
+      ['options', 'treeData'].includes(key) && setValue(field, undefined)
+
+      formItem.componentProps[key] = value
+    }
+  }
   /**
    * 设置表单配置方法
    * @param {string} key
diff --git a/src/components/FormDesign/src/utils/index.ts b/src/components/FormDesign/src/utils/index.ts
index 15f69536..ea3a56a4 100644
--- a/src/components/FormDesign/src/utils/index.ts
+++ b/src/components/FormDesign/src/utils/index.ts
@@ -199,6 +199,7 @@ export function strToReg(rules: IValidationRule[]) {
  */
 export function runCode<T>(code: any): T {
   try {
+    // eslint-disable-next-line @typescript-eslint/no-implied-eval, no-new-func
     return new Function(`return ${code}`)()
   }
   catch {
diff --git a/src/components/Table/src/components/editable/EditableCell.vue b/src/components/Table/src/components/editable/EditableCell.vue
index 1bf72ea6..827efe88 100644
--- a/src/components/Table/src/components/editable/EditableCell.vue
+++ b/src/components/Table/src/components/editable/EditableCell.vue
@@ -1,3 +1,4 @@
+<!-- eslint-disable vue/no-mutating-props -->
 <script lang="tsx">
 import type { CSSProperties } from 'vue'
 import { computed, defineComponent, nextTick, ref, toRaw, unref, watchEffect } from 'vue'
@@ -138,6 +139,11 @@ export default defineComponent({
       return option?.label ?? value
     })
 
+    const getRowEditable = computed(() => {
+      const { editable } = props.record || {}
+      return !!editable
+    })
+
     const getWrapperStyle = computed((): CSSProperties => {
       if (unref(getIsCheckComp) || unref(getRowEditable))
         return {}
@@ -152,11 +158,6 @@ export default defineComponent({
       return `edit-cell-align-${align}`
     })
 
-    const getRowEditable = computed(() => {
-      const { editable } = props.record || {}
-      return !!editable
-    })
-
     watchEffect(() => {
       // defaultValueRef.value = props.value;
       currentValueRef.value = props.value
@@ -339,10 +340,8 @@ export default defineComponent({
     }
 
     function initCbs(cbs: 'submitCbs' | 'validCbs' | 'cancelCbs', handle: Fn) {
-      if (props.record) {
-        /* eslint-disable  */
+      if (props.record)
         isArray(props.record[cbs]) ? props.record[cbs]?.push(handle) : (props.record[cbs] = [handle])
-      }
     }
 
     if (props.record) {
@@ -351,19 +350,19 @@ export default defineComponent({
       initCbs('cancelCbs', handleCancel)
 
       if (props.column.dataIndex) {
-        if (!props.record.editValueRefs) props.record.editValueRefs = {}
+        if (!props.record.editValueRefs)
+          props.record.editValueRefs = {}
         props.record.editValueRefs[props.column.dataIndex as any] = currentValueRef
       }
-      /* eslint-disable  */
       props.record.onCancelEdit = () => {
-        isArray(props.record?.cancelCbs) && props.record?.cancelCbs.forEach((fn) => fn())
+        isArray(props.record?.cancelCbs) && props.record?.cancelCbs.forEach(fn => fn())
       }
-      /* eslint-disable */
       props.record.onSubmitEdit = async () => {
         if (isArray(props.record?.submitCbs)) {
-          if (!props.record?.onValid?.()) return
+          if (!props.record?.onValid?.())
+            return
           const submitFns = props.record?.submitCbs || []
-          submitFns.forEach((fn) => fn(false, false))
+          submitFns.forEach(fn => fn(false, false))
           table.emit?.('edit-row-end')
           return true
         }
@@ -392,7 +391,7 @@ export default defineComponent({
       getValues,
       handleEnter,
       handleSubmitClick,
-      spinning
+      spinning,
     }
   },
   render() {
@@ -406,11 +405,11 @@ export default defineComponent({
           <div class="cell-content" title={this.column.ellipsis ? this.getValues ?? '' : ''}>
             {this.column.editRender
               ? this.column.editRender({
-                  text: this.value,
-                  record: this.record as Recordable,
-                  column: this.column,
-                  index: this.index
-                })
+                text: this.value,
+                record: this.record as Recordable,
+                column: this.column,
+                index: this.index,
+              })
               : this.getValues ?? '\u00A0'}
           </div>
           {!this.column.editRow && <FormOutlined class={`${this.prefixCls}__normal-icon`} />}
@@ -442,9 +441,10 @@ export default defineComponent({
         )}
       </div>
     )
-  }
+  },
 })
 </script>
+
 <style lang="less">
 @prefix-cls: ~'@{namespace}-editable-cell';
 
diff --git a/src/components/Table/src/types/column.ts b/src/components/Table/src/types/column.ts
index e6e5877e..8527e811 100644
--- a/src/components/Table/src/types/column.ts
+++ b/src/components/Table/src/types/column.ts
@@ -135,7 +135,7 @@ export interface ColumnProps<T> {
    * Sort function for local sort, see Array.sort's compareFunction. If you need sort buttons only, set to true
    * @type boolean | Function
    */
-  sorter?: boolean | Function
+  sorter?: boolean | Fn
 
   /**
    * Order of sorted values: 'ascend' 'descend' false
diff --git a/src/enums/appEnum.ts b/src/enums/appEnum.ts
index 7d0f1d3e..61534d44 100644
--- a/src/enums/appEnum.ts
+++ b/src/enums/appEnum.ts
@@ -59,7 +59,6 @@ export enum IconEnum {
   TEST = 'ant-design:deployment-unit-outlined',
   EDIT = 'clarity:note-edit-line',
   AUTH = 'ant-design:safety-certificate-outlined',
-  DATA = 'clarity:note-edit-line',
   DELETE = 'ant-design:delete-outlined',
   SEARCH = 'ant-design:search-outlined',
   RESET = 'ant-design:sync-outlined',
diff --git a/src/hooks/web/useDesign.ts b/src/hooks/web/useDesign.ts
index ef39ea66..f05ac6d7 100644
--- a/src/hooks/web/useDesign.ts
+++ b/src/hooks/web/useDesign.ts
@@ -16,6 +16,7 @@ export function useDesign(scope: string) {
   // }
   return {
     // prefixCls: computed(() => `${values.prefixCls}-${scope}`),
+    // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
     prefixCls: `${values.prefixCls}-${scope}`,
     prefixVar: values.prefixCls,
     // style,
diff --git a/src/hooks/web/usePage.ts b/src/hooks/web/usePage.ts
index b4c964d7..bc2608f4 100644
--- a/src/hooks/web/usePage.ts
+++ b/src/hooks/web/usePage.ts
@@ -1,3 +1,4 @@
+/* eslint-disable @typescript-eslint/unbound-method */
 import type { RouteLocationRaw, Router } from 'vue-router'
 
 import { unref } from 'vue'
diff --git a/src/layouts/default/header/components/user-dropdown/DropMenuItem.vue b/src/layouts/default/header/components/user-dropdown/DropMenuItem.vue
index 7701fa1d..18483127 100644
--- a/src/layouts/default/header/components/user-dropdown/DropMenuItem.vue
+++ b/src/layouts/default/header/components/user-dropdown/DropMenuItem.vue
@@ -8,7 +8,7 @@ import { propTypes } from '@/utils/propTypes'
 defineOptions({ name: 'DropdownMenuItem' })
 
 const props = defineProps({
-  // eslint-disable-next-line
+  // eslint-disable-next-line vue/no-reserved-props
   key: propTypes.string,
   text: propTypes.string,
   icon: propTypes.string,
diff --git a/src/locales/setupI18n.ts b/src/locales/setupI18n.ts
index dffa9971..9a9dd40c 100644
--- a/src/locales/setupI18n.ts
+++ b/src/locales/setupI18n.ts
@@ -8,6 +8,7 @@ import { useLocaleStoreWithOut } from '@/store/modules/locale'
 
 const { fallback, availableLocales } = localeSetting
 
+// eslint-disable-next-line import/no-mutable-exports
 export let i18n: ReturnType<typeof createI18n>
 
 async function createI18nOptions(): Promise<I18nOptions> {
diff --git a/src/router/helper/routeHelper.ts b/src/router/helper/routeHelper.ts
index df9aaec4..fed23a59 100644
--- a/src/router/helper/routeHelper.ts
+++ b/src/router/helper/routeHelper.ts
@@ -80,7 +80,7 @@ export function transformObjToRoute<T = AppRouteModule>(routeList: AppRouteModul
   routeList.forEach((route) => {
     if (isUrl(route.path))
       route.component = 'IFrame'
-    else if (route.children && route.parentId == 0)
+    else if (route.children && route.parentId === 0)
       route.component = 'LAYOUT'
     else if (!route.children)
       route.component = route.component as string
diff --git a/src/utils/auth/index.ts b/src/utils/auth/index.ts
index 99c63ae4..473bbef8 100644
--- a/src/utils/auth/index.ts
+++ b/src/utils/auth/index.ts
@@ -1,3 +1,4 @@
+/* eslint-disable @typescript-eslint/unbound-method */
 import type { BasicKeys } from '@/utils/cache/persistent'
 import { Persistent } from '@/utils/cache/persistent'
 import { ACCESS_TOKEN_KEY, CacheTypeEnum, REFRESH_TOKEN_KEY, TENANT_ID_KEY } from '@/enums/cacheEnum'
diff --git a/src/utils/bem.ts b/src/utils/bem.ts
index 2d0d01ad..c62539eb 100644
--- a/src/utils/bem.ts
+++ b/src/utils/bem.ts
@@ -13,6 +13,7 @@ function genBem(name: string, mods?: Mods): string {
     return ` ${name}--${mods}`
 
   if (Array.isArray(mods))
+    // eslint-disable-next-line @typescript-eslint/restrict-plus-operands
     return mods.reduce((ret, item) => ret + genBem(name, item), '')
 
   return Object.keys(mods).reduce((ret, key) => ret + (mods[key] ? genBem(name, key) : ''), '')
diff --git a/src/utils/tree.ts b/src/utils/tree.ts
index 494dcaa9..d5d4b3c1 100644
--- a/src/utils/tree.ts
+++ b/src/utils/tree.ts
@@ -268,6 +268,7 @@ export function handleTree2(data, id, parentId, children, rootId) {
       // 返回每一项的子级数组
       return father[id] === child[parentId]
     })
+    // eslint-disable-next-line no-unused-expressions
     branchArr.length > 0 ? (father.children = branchArr) : ''
     // 返回第一层
     return father[parentId] === rootId
diff --git a/src/views/base/login/RegisterForm.vue b/src/views/base/login/RegisterForm.vue
index ac30a3b4..f2b175f6 100644
--- a/src/views/base/login/RegisterForm.vue
+++ b/src/views/base/login/RegisterForm.vue
@@ -32,6 +32,7 @@ const getShow = computed(() => unref(getLoginState) === LoginStateEnum.REGISTER)
 async function handleRegister() {
   const data = await validForm()
   if (!data)
+    // eslint-disable-next-line no-useless-return
     return
 }
 </script>
diff --git a/src/views/member/point/record/index.vue b/src/views/member/point/record/index.vue
index 29fdf1fd..623123e1 100644
--- a/src/views/member/point/record/index.vue
+++ b/src/views/member/point/record/index.vue
@@ -5,7 +5,7 @@ import { getRecordPage } from '@/api/member/point/record'
 
 defineOptions({ name: 'PointRecord' })
 
-const [registerTable, { reload }] = useTable({
+const [registerTable] = useTable({
   title: '积分记录列表',
   api: getRecordPage,
   columns,
diff --git a/src/views/pay/notify/index.vue b/src/views/pay/notify/index.vue
index d7715ac4..46a3372c 100644
--- a/src/views/pay/notify/index.vue
+++ b/src/views/pay/notify/index.vue
@@ -39,7 +39,7 @@ async function handleQueryDetails(record: Recordable) {
         <template v-if="column.key === 'action'">
           <TableAction
             :actions="[
-              { icon: IconEnum.DATA, label: t('action.detail'), auth: 'pay:order:query', onClick: handleQueryDetails.bind(null, record) },
+              { icon: IconEnum.VIEW, label: t('action.detail'), auth: 'pay:order:query', onClick: handleQueryDetails.bind(null, record) },
             ]"
           />
         </template>
diff --git a/src/views/pay/order/index.vue b/src/views/pay/order/index.vue
index ccb9e69b..a9076225 100644
--- a/src/views/pay/order/index.vue
+++ b/src/views/pay/order/index.vue
@@ -59,7 +59,7 @@ async function handleExport() {
         <template v-if="column.key === 'action'">
           <TableAction
             :actions="[
-              { icon: IconEnum.DATA, label: t('action.detail'), auth: 'pay:order:query', onClick: handleQueryDetails.bind(null, record) },
+              { icon: IconEnum.VIEW, label: t('action.detail'), auth: 'pay:order:query', onClick: handleQueryDetails.bind(null, record) },
             ]"
           />
         </template>
diff --git a/src/views/pay/refund/index.vue b/src/views/pay/refund/index.vue
index be49553a..44278aa9 100644
--- a/src/views/pay/refund/index.vue
+++ b/src/views/pay/refund/index.vue
@@ -59,7 +59,7 @@ async function handleExport() {
         <template v-if="column.key === 'action'">
           <TableAction
             :actions="[
-              { icon: IconEnum.DATA, label: t('action.detail'), auth: 'pay:order:query', onClick: handleQueryDetails.bind(null, record) },
+              { icon: IconEnum.VIEW, label: t('action.detail'), auth: 'pay:order:query', onClick: handleQueryDetails.bind(null, record) },
             ]"
           />
         </template>