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 09ca905c7734db069aaf3a790926c407627b3fac..935385b0e2b316b8e470989cbd31b9790a8d350a 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 bae250661cec61a10b8838fde22c6e0c56f9f31d..5309a6ebbf86fd28bc502726d218e3da16499322 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 10ebb12f3907ba4895afeba982b5a65b414e2fc0..e81222b408b033ce6c2bf703c4448338fe0178a4 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 0cdb9b513612f81f54d5fb234e227a624dca940f..cd3efb8edb4bb148c9dcae247adc8b7e4bb6d8c6 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 903c1d9f0c26fe70b1df34d412ece97f38d81443..f8becb77a716e0d1ab65e8b6bfeced55a3776ee8 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 5d694f3cbb4072c37ba287fea1ea4bd4665d4f03..788a5122f00af154609c17ca15ae1e14af4ac39d 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 924d6d7db0b570ad404589fdfdbfe6c0df40d47d..64257dd3cd14a27785ae938e7744b85dec4b39b7 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 9d12d3228ae68322970e8979b1ef25e8516ad17e..e6fa542c9ae2a00c71c0936504029f982ffac62f 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 { useAppConfig } from '@vben/hooks'; +import { downloadFileFromBlobPart } from '@vben/utils'; import { importDeviceTemplate } from '#/api/iot/device/device'; -import { downloadFileFromBlobPart } from '@vben/utils'; 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 9e73072c24b3993597294c83c9edd8ecb4ecdbe9..c6c8c4bc14203e240308bf8a1704402b0d478d06 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 92b64223a087c943b5b8e2246f6a46669485a7fb..472ee9cb122c1493ab495e5a1894ee20c5b6ee1d 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 d7ed21543d22ba3e8b7b08a3b252aa2339709f61..ec2a4286115b068a3735aa78d966192d38eaef2a 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 516cdb9fbb99ea8eb78e2f148359393a115f46b6..85aeb8cce1bde61681e07bd7224f1fe21ec0894a 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 @@