diff --git a/apps/web-antd/src/views/iot/alert/config/data.ts b/apps/web-antd/src/views/iot/alert/config/data.ts index 09ca905c7..935385b0e 100644 --- a/apps/web-antd/src/views/iot/alert/config/data.ts +++ b/apps/web-antd/src/views/iot/alert/config/data.ts @@ -1,12 +1,9 @@ import type { VbenFormSchema } from '#/adapter/form'; import type { VxeTableGridOptions } from '#/adapter/vxe-table'; -import { DICT_TYPE } from '@vben/constants'; -import { getDictOptions } from '@vben/hooks'; - import { getSimpleRuleSceneList } from '#/api/iot/rule/scene'; import { getSimpleUserList } from '#/api/system/user'; -import { getRangePickerDefaultProps } from '#/utils'; +import { DICT_TYPE, getDictOptions, getRangePickerDefaultProps } from '#/utils'; /** 新增/修改告警配置的表单 */ export function useFormSchema(): VbenFormSchema[] { diff --git a/apps/web-antd/src/views/iot/alert/config/index.vue b/apps/web-antd/src/views/iot/alert/config/index.vue index bae250661..5309a6ebb 100644 --- a/apps/web-antd/src/views/iot/alert/config/index.vue +++ b/apps/web-antd/src/views/iot/alert/config/index.vue @@ -9,6 +9,7 @@ import { message } from 'ant-design-vue'; import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table'; import { deleteAlertConfig, getAlertConfigPage } from '#/api/iot/alert/config'; import { $t } from '#/locales'; +import { DICT_TYPE, getDictLabel } from '#/utils'; import { useGridColumns, useGridFormSchema } from './data'; import AlertConfigForm from '../modules/AlertConfigForm.vue'; @@ -27,14 +28,8 @@ function onRefresh() { // 获取告警级别文本 const getLevelText = (level?: number) => { - const levelMap: Record = { - 1: '提示', - 2: '一般', - 3: '警告', - 4: '严重', - 5: '紧急', - }; - return level ? levelMap[level] || `级别${level}` : '-'; + if (!level) return '-'; + return getDictLabel(DICT_TYPE.IOT_ALERT_LEVEL, level); }; // 获取告警级别颜色 @@ -51,14 +46,8 @@ const getLevelColor = (level?: number) => { // 获取接收类型文本 const getReceiveTypeText = (type?: number) => { - const typeMap: Record = { - 1: '站内信', - 2: '邮箱', - 3: '短信', - 4: '微信', - 5: '钉钉', - }; - return type ? typeMap[type] || `类型${type}` : '-'; + if (!type) return '-'; + return getDictLabel(DICT_TYPE.IOT_ALERT_RECEIVE_TYPE, type); }; /** 创建告警配置 */ diff --git a/apps/web-antd/src/views/iot/alert/record/data.ts b/apps/web-antd/src/views/iot/alert/record/data.ts index 10ebb12f3..e81222b40 100644 --- a/apps/web-antd/src/views/iot/alert/record/data.ts +++ b/apps/web-antd/src/views/iot/alert/record/data.ts @@ -1,13 +1,10 @@ import type { VbenFormSchema } from '#/adapter/form'; import type { VxeTableGridOptions } from '#/adapter/vxe-table'; -import { DICT_TYPE } from '@vben/constants'; -import { getDictOptions } from '@vben/hooks'; - import { getSimpleAlertConfigList } from '#/api/iot/alert/config'; import { getSimpleDeviceList } from '#/api/iot/device/device'; import { getSimpleProductList } from '#/api/iot/product/product'; -import { getRangePickerDefaultProps } from '#/utils'; +import { DICT_TYPE, getDictOptions, getRangePickerDefaultProps } from '#/utils'; /** 列表的搜索表单 */ export function useGridFormSchema(): VbenFormSchema[] { diff --git a/apps/web-antd/src/views/iot/alert/record/index.vue b/apps/web-antd/src/views/iot/alert/record/index.vue index 0cdb9b513..cd3efb8ed 100644 --- a/apps/web-antd/src/views/iot/alert/record/index.vue +++ b/apps/web-antd/src/views/iot/alert/record/index.vue @@ -12,6 +12,7 @@ import type { AlertRecord } from '#/api/iot/alert/record'; import { getAlertRecordPage, processAlertRecord } from '#/api/iot/alert/record'; import { getSimpleDeviceList } from '#/api/iot/device/device'; import { getSimpleProductList } from '#/api/iot/product/product'; +import { DICT_TYPE, getDictLabel } from '#/utils'; import { useGridColumns, useGridFormSchema } from './data'; @@ -33,14 +34,8 @@ const loadData = async () => { // 获取告警级别文本 const getLevelText = (level?: number) => { - const levelMap: Record = { - 1: '提示', - 2: '一般', - 3: '警告', - 4: '严重', - 5: '紧急', - }; - return level ? levelMap[level] || `级别${level}` : '-'; + if (!level) return '-'; + return getDictLabel(DICT_TYPE.IOT_ALERT_LEVEL, level); }; // 获取告警级别颜色 diff --git a/apps/web-antd/src/views/iot/device/device/data.ts b/apps/web-antd/src/views/iot/device/device/data.ts index 903c1d9f0..f8becb77a 100644 --- a/apps/web-antd/src/views/iot/device/device/data.ts +++ b/apps/web-antd/src/views/iot/device/device/data.ts @@ -1,10 +1,8 @@ import type { VbenFormSchema } from '#/adapter/form'; import type { VxeTableGridOptions } from '#/adapter/vxe-table'; -import { DICT_TYPE } from '@vben/constants'; -import { getDictOptions } from '@vben/hooks'; - import { z } from '#/adapter/form'; +import { DICT_TYPE, getDictOptions } from '#/utils'; import { getSimpleDeviceGroupList } from '#/api/iot/device/group'; import { DeviceTypeEnum, getSimpleProductList } from '#/api/iot/product/product'; diff --git a/apps/web-antd/src/views/iot/device/device/index.vue b/apps/web-antd/src/views/iot/device/device/index.vue index 5d694f3cb..788a5122f 100644 --- a/apps/web-antd/src/views/iot/device/device/index.vue +++ b/apps/web-antd/src/views/iot/device/device/index.vue @@ -6,11 +6,11 @@ import { useRoute, useRouter } from 'vue-router'; import { Button, Card, Input, message, Select, Space, Tag } from 'ant-design-vue'; import { Page, useVbenModal } from '@vben/common-ui'; -import { DICT_TYPE } from '@vben/constants'; -import { getDictOptions } from '@vben/hooks'; import { downloadFileFromBlobPart } from '@vben/utils'; import { IconifyIcon } from '@vben/icons'; +import { DICT_TYPE, getDictOptions } from '#/utils'; + import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table'; import { deleteDevice, @@ -295,7 +295,7 @@ onMounted(async () => { style="width: 200px" > diff --git a/apps/web-antd/src/views/iot/device/device/modules/DeviceCardView.vue b/apps/web-antd/src/views/iot/device/device/modules/DeviceCardView.vue index 924d6d7db..64257dd3c 100644 --- a/apps/web-antd/src/views/iot/device/device/modules/DeviceCardView.vue +++ b/apps/web-antd/src/views/iot/device/device/modules/DeviceCardView.vue @@ -11,10 +11,10 @@ import { Row, Tag, } from 'ant-design-vue'; -import { DICT_TYPE } from '@vben/constants'; -import { getDictLabel } from '@vben/hooks'; import { IconifyIcon } from '@vben/icons'; +import { DICT_TYPE, getDictLabel } from '#/utils'; + import { DeviceStateEnum, getDevicePage } from '#/api/iot/device/device'; defineOptions({ name: 'DeviceCardView' }); diff --git a/apps/web-antd/src/views/iot/device/device/modules/DeviceImportForm.vue b/apps/web-antd/src/views/iot/device/device/modules/DeviceImportForm.vue index 9d12d3228..e6fa542c9 100644 --- a/apps/web-antd/src/views/iot/device/device/modules/DeviceImportForm.vue +++ b/apps/web-antd/src/views/iot/device/device/modules/DeviceImportForm.vue @@ -3,12 +3,16 @@ import { computed } from 'vue'; import { message } from 'ant-design-vue'; import { useVbenForm, useVbenModal } from '@vben/common-ui'; - -import { importDeviceTemplate } from '#/api/iot/device/device'; +import { useAppConfig } from '@vben/hooks'; import { downloadFileFromBlobPart } from '@vben/utils'; +import { importDeviceTemplate } from '#/api/iot/device/device'; + import { useImportFormSchema } from '../data'; +// @ts-ignore - Vite environment variables +const { apiURL } = useAppConfig(import.meta.env, import.meta.env.PROD); + defineOptions({ name: 'IoTDeviceImportForm' }); const emit = defineEmits(['success']); @@ -50,7 +54,7 @@ const [Modal, modalApi] = useVbenModal({ // 使用 fetch 上传文件 const accessToken = localStorage.getItem('accessToken') || ''; const response = await fetch( - `${import.meta.env.VITE_GLOB_API_URL}/iot/device/import?updateSupport=${values.updateSupport}`, + `${apiURL}/iot/device/import?updateSupport=${values.updateSupport}`, { method: 'POST', headers: { diff --git a/apps/web-antd/src/views/iot/device/device/modules/components/DeviceTableSelect.vue b/apps/web-antd/src/views/iot/device/device/modules/components/DeviceTableSelect.vue index 9e73072c2..c6c8c4bc1 100644 --- a/apps/web-antd/src/views/iot/device/device/modules/components/DeviceTableSelect.vue +++ b/apps/web-antd/src/views/iot/device/device/modules/components/DeviceTableSelect.vue @@ -168,8 +168,7 @@ diff --git a/apps/web-antd/src/views/iot/rule/scene/form/configs/CurrentTimeConditionConfig.vue b/apps/web-antd/src/views/iot/rule/scene/form/configs/CurrentTimeConditionConfig.vue index 92b64223a..472ee9cb1 100644 --- a/apps/web-antd/src/views/iot/rule/scene/form/configs/CurrentTimeConditionConfig.vue +++ b/apps/web-antd/src/views/iot/rule/scene/form/configs/CurrentTimeConditionConfig.vue @@ -7,7 +7,7 @@ @@ -86,6 +86,7 @@ - diff --git a/apps/web-antd/src/views/iot/thingmodel/modules/ThingModelEvent.vue b/apps/web-antd/src/views/iot/thingmodel/modules/ThingModelEvent.vue index d7ed21543..ec2a42861 100644 --- a/apps/web-antd/src/views/iot/thingmodel/modules/ThingModelEvent.vue +++ b/apps/web-antd/src/views/iot/thingmodel/modules/ThingModelEvent.vue @@ -1,32 +1,29 @@ diff --git a/apps/web-antd/src/views/iot/thingmodel/modules/components/DataDefinition.vue b/apps/web-antd/src/views/iot/thingmodel/modules/components/DataDefinition.vue index 516cdb9fb..85aeb8cce 100644 --- a/apps/web-antd/src/views/iot/thingmodel/modules/components/DataDefinition.vue +++ b/apps/web-antd/src/views/iot/thingmodel/modules/components/DataDefinition.vue @@ -1,6 +1,6 @@