From f32818c6aa0f20f9c065edbc7c29bca0aedf14ad Mon Sep 17 00:00:00 2001 From: xingyu4j Date: Sat, 14 Mar 2026 13:28:45 +0800 Subject: [PATCH] fix(lint): resolve shared form and utility warnings --- .../src/components/form-create/components/use-api-select.tsx | 1 + apps/web-antd/src/components/form-create/rules/data.ts | 4 ++-- .../iot/device/device/detail/modules/modbus-point-form.vue | 2 +- .../src/views/mall/product/spu/components/sku-list.vue | 2 +- apps/web-ele/src/components/cropper/cropper.vue | 4 ++-- .../src/components/form-create/components/use-api-select.tsx | 1 + apps/web-ele/src/components/form-create/rules/data.ts | 4 ++-- .../src/views/mall/product/spu/components/sku-list.vue | 2 +- packages/utils/src/helpers/generate-menus.ts | 2 -- 9 files changed, 11 insertions(+), 11 deletions(-) diff --git a/apps/web-antd/src/components/form-create/components/use-api-select.tsx b/apps/web-antd/src/components/form-create/components/use-api-select.tsx index 530fc6eef..023869350 100644 --- a/apps/web-antd/src/components/form-create/components/use-api-select.tsx +++ b/apps/web-antd/src/components/form-create/components/use-api-select.tsx @@ -194,6 +194,7 @@ export function useApiSelect(option: ApiSelectProps) { if (props.parseFunc) { // 解析字符串函数 // oxlint-disable-next-line typescript/no-implied-eval + // oxlint-disable-next-line no-new-func, typescript/no-implied-eval parse = new Function(`return ${props.parseFunc}`)(); } return parse; diff --git a/apps/web-antd/src/components/form-create/rules/data.ts b/apps/web-antd/src/components/form-create/rules/data.ts index 5680e840e..e6f659c7d 100644 --- a/apps/web-antd/src/components/form-create/rules/data.ts +++ b/apps/web-antd/src/components/form-create/rules/data.ts @@ -133,7 +133,7 @@ const apiSelectRule = [ type: 'input', field: 'labelField', title: 'label 属性', - info: '可以使用 el 表达式:${属性},来实现复杂数据组合。如:${nickname}-${id}', + info: `可以使用 el 表达式:\${属性},来实现复杂数据组合。如:\${nickname}-\${id}`, props: { placeholder: 'nickname', }, @@ -142,7 +142,7 @@ const apiSelectRule = [ type: 'input', field: 'valueField', title: 'value 属性', - info: '可以使用 el 表达式:${属性},来实现复杂数据组合。如:${nickname}-${id}', + info: `可以使用 el 表达式:\${属性},来实现复杂数据组合。如:\${nickname}-\${id}`, props: { placeholder: 'id', }, diff --git a/apps/web-antd/src/views/iot/device/device/detail/modules/modbus-point-form.vue b/apps/web-antd/src/views/iot/device/device/detail/modules/modbus-point-form.vue index 755ac1a2d..db5fc0674 100644 --- a/apps/web-antd/src/views/iot/device/device/detail/modules/modbus-point-form.vue +++ b/apps/web-antd/src/views/iot/device/device/detail/modules/modbus-point-form.vue @@ -118,7 +118,7 @@ function useFormSchema(): VbenFormSchema[] { rules: 'required', suffix: () => { const addr = formApi.form.values?.registerAddress; - if (addr == null) { + if (addr === null || addr === undefined) { return ''; } return h( diff --git a/apps/web-antd/src/views/mall/product/spu/components/sku-list.vue b/apps/web-antd/src/views/mall/product/spu/components/sku-list.vue index 383cda1cd..f64a981f1 100644 --- a/apps/web-antd/src/views/mall/product/spu/components/sku-list.vue +++ b/apps/web-antd/src/views/mall/product/spu/components/sku-list.vue @@ -110,7 +110,7 @@ function validateSku() { let validate = true; for (const sku of formData.value!.skus!) { - for (const rule of props?.ruleConfig as RuleConfig[]) { + for (const rule of props.ruleConfig as RuleConfig[]) { const value = getNestedValue(sku, rule.name); if (!rule.rule(value)) { validate = false; diff --git a/apps/web-ele/src/components/cropper/cropper.vue b/apps/web-ele/src/components/cropper/cropper.vue index de601d615..d768fd87a 100644 --- a/apps/web-ele/src/components/cropper/cropper.vue +++ b/apps/web-ele/src/components/cropper/cropper.vue @@ -114,9 +114,9 @@ function cropped() { imgInfo, }); }; - fileReader.onerror = () => { + fileReader.addEventListener('error', () => { emit('cropendError'); - }; + }); }, 'image/png'); } diff --git a/apps/web-ele/src/components/form-create/components/use-api-select.tsx b/apps/web-ele/src/components/form-create/components/use-api-select.tsx index 5cd69ec20..6df1ae49e 100644 --- a/apps/web-ele/src/components/form-create/components/use-api-select.tsx +++ b/apps/web-ele/src/components/form-create/components/use-api-select.tsx @@ -194,6 +194,7 @@ export function useApiSelect(option: ApiSelectProps) { if (props.parseFunc) { // 解析字符串函数 // oxlint-disable-next-line typescript/no-implied-eval + // oxlint-disable-next-line no-new-func, typescript/no-implied-eval parse = new Function(`return ${props.parseFunc}`)(); } return parse; diff --git a/apps/web-ele/src/components/form-create/rules/data.ts b/apps/web-ele/src/components/form-create/rules/data.ts index cb3454085..e754031e0 100644 --- a/apps/web-ele/src/components/form-create/rules/data.ts +++ b/apps/web-ele/src/components/form-create/rules/data.ts @@ -133,7 +133,7 @@ const apiSelectRule = [ type: 'input', field: 'labelField', title: 'label 属性', - info: '可以使用 el 表达式:${属性},来实现复杂数据组合。如:${nickname}-${id}', + info: `可以使用 el 表达式:\${属性},来实现复杂数据组合。如:\${nickname}-\${id}`, props: { placeholder: 'nickname', }, @@ -142,7 +142,7 @@ const apiSelectRule = [ type: 'input', field: 'valueField', title: 'value 属性', - info: '可以使用 el 表达式:${属性},来实现复杂数据组合。如:${nickname}-${id}', + info: `可以使用 el 表达式:\${属性},来实现复杂数据组合。如:\${nickname}-\${id}`, props: { placeholder: 'id', }, diff --git a/apps/web-ele/src/views/mall/product/spu/components/sku-list.vue b/apps/web-ele/src/views/mall/product/spu/components/sku-list.vue index bcf6eb617..5dfd77b27 100644 --- a/apps/web-ele/src/views/mall/product/spu/components/sku-list.vue +++ b/apps/web-ele/src/views/mall/product/spu/components/sku-list.vue @@ -116,7 +116,7 @@ function validateSku() { let validate = true; for (const sku of formData.value!.skus!) { - for (const rule of props?.ruleConfig as RuleConfig[]) { + for (const rule of props.ruleConfig as RuleConfig[]) { const value = getNestedValue(sku, rule.name); if (!rule.rule(value)) { validate = false; diff --git a/packages/utils/src/helpers/generate-menus.ts b/packages/utils/src/helpers/generate-menus.ts index 697bf4b11..43047a384 100644 --- a/packages/utils/src/helpers/generate-menus.ts +++ b/packages/utils/src/helpers/generate-menus.ts @@ -139,8 +139,6 @@ function convertServerMenuToRouteRecordStringComponent( return; } else if (menu.children && menu.parentId === 0) { menu.component = 'BasicLayout'; - } else if (!menu.children) { - menu.component = menu.component as string; } if (menu.component === 'Layout') { menu.component = 'BasicLayout';