refactor:【antd】【iot】统一组件文件命名规则,调整导入路径以匹配小写格式

This commit is contained in:
haohao
2025-11-15 12:03:48 +08:00
parent ef5b7e9c07
commit 7e6dd0a4df
88 changed files with 95 additions and 92 deletions

View File

@@ -10,7 +10,7 @@ import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
import { deleteAlertConfig, getAlertConfigPage } from '#/api/iot/alert/config';
import { $t } from '#/locales';
import AlertConfigForm from '../modules/AlertConfigForm.vue';
import AlertConfigForm from '../modules/alert-config-form.vue';
import { useGridColumns, useGridFormSchema } from './data';
defineOptions({ name: 'IoTAlertConfig' });

View File

@@ -32,10 +32,10 @@ import { getSimpleProductList } from '#/api/iot/product/product';
import { $t } from '#/locales';
import { useGridColumns } from './data';
import DeviceCardView from './modules/DeviceCardView.vue';
import DeviceForm from './modules/DeviceForm.vue';
import DeviceGroupForm from './modules/DeviceGroupForm.vue';
import DeviceImportForm from './modules/DeviceImportForm.vue';
import DeviceCardView from './modules/device-card-view.vue';
import DeviceForm from './modules/device-form.vue';
import DeviceGroupForm from './modules/device-group-form.vue';
import DeviceImportForm from './modules/device-import-form.vue';
/** IoT 设备列表 */
defineOptions({ name: 'IoTDevice' });

View File

@@ -8,7 +8,7 @@ import { useRouter } from 'vue-router';
import { Button, Card, Descriptions, message } from 'ant-design-vue';
import DeviceForm from '../DeviceForm.vue';
import DeviceForm from '../device-form.vue';
interface Props {
product: IotProductApi.Product;

View File

@@ -22,13 +22,13 @@ import {
} from 'ant-design-vue';
import { DeviceStateEnum, sendDeviceMessage } from '#/api/iot/device/device';
import DataDefinition from '#/views/iot/thingmodel/modules/components/DataDefinition.vue';
import DataDefinition from '#/views/iot/thingmodel/modules/components/data-definition.vue';
import {
IotDeviceMessageMethodEnum,
IoTThingModelTypeEnum,
} from '#/views/iot/utils/constants';
import DeviceDetailsMessage from './DeviceDetailsMessage.vue';
import DeviceDetailsMessage from './device-details-message.vue';
const props = defineProps<{
device: IotDeviceApi.Device;

View File

@@ -22,7 +22,8 @@ import {
import { getLatestDeviceProperties } from '#/api/iot/device/device';
import DeviceDetailsThingModelPropertyHistory from './DeviceDetailsThingModelPropertyHistory.vue';
import DeviceDetailsThingModelPropertyHistory
from './device-details-thing-model-property-history.vue';
const props = defineProps<{ deviceId: number }>();

View File

@@ -9,8 +9,8 @@ import { ContentWrap } from '@vben/common-ui';
import { Tabs } from 'ant-design-vue';
import DeviceDetailsThingModelEvent from './DeviceDetailsThingModelEvent.vue';
import DeviceDetailsThingModelProperty from './DeviceDetailsThingModelProperty.vue';
import DeviceDetailsThingModelService from './DeviceDetailsThingModelService.vue';
import DeviceDetailsThingModelProperty from './device-details-thing-model-property.vue';
import DeviceDetailsThingModelService from './device-details-thing-model-service.vue';
const props = defineProps<{
deviceId: number;

View File

@@ -14,11 +14,11 @@ import { getDevice } from '#/api/iot/device/device';
import { DeviceTypeEnum, getProduct } from '#/api/iot/product/product';
import { getThingModelListByProductId } from '#/api/iot/thingmodel';
import DeviceDetailConfig from './DeviceDetailConfig.vue';
import DeviceDetailsHeader from './DeviceDetailsHeader.vue';
import DeviceDetailsInfo from './DeviceDetailsInfo.vue';
import DeviceDetailsMessage from './DeviceDetailsMessage.vue';
import DeviceDetailsSimulator from './DeviceDetailsSimulator.vue';
import DeviceDetailConfig from './device-detail-config.vue';
import DeviceDetailsHeader from './device-details-header.vue';
import DeviceDetailsInfo from './device-details-info.vue';
import DeviceDetailsMessage from './device-details-message.vue';
import DeviceDetailsSimulator from './device-details-simulator.vue';
import DeviceDetailsSubDevice from './DeviceDetailsSubDevice.vue';
import DeviceDetailsThingModel from './DeviceDetailsThingModel.vue';

View File

@@ -6,10 +6,10 @@ import { Col, Row } from 'ant-design-vue';
// 导入业务逻辑
import { useIotHome } from './data';
// 导入组件
import ComparisonCard from './modules/ComparisonCard.vue';
import DeviceCountCard from './modules/DeviceCountCard.vue';
import DeviceStateCountCard from './modules/DeviceStateCountCard.vue';
import MessageTrendCard from './modules/MessageTrendCard.vue';
import ComparisonCard from './modules/comparison-card.vue';
import DeviceCountCard from './modules/device-count-card.vue';
import DeviceStateCountCard from './modules/device-state-count-card.vue';
import MessageTrendCard from './modules/message-trend-card.vue';
defineOptions({ name: 'IoTHome' });

View File

@@ -13,7 +13,7 @@ import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
import { deleteOtaFirmware, getOtaFirmwarePage } from '#/api/iot/ota/firmware';
import { $t } from '#/locales';
import Form from '../modules/OtaFirmwareForm.vue';
import OtaFirmwareForm from '../modules/ota-firmware-form.vue';
import { useGridColumns, useGridFormSchema } from './data';
defineOptions({ name: 'IoTOtaFirmware' });
@@ -21,7 +21,7 @@ defineOptions({ name: 'IoTOtaFirmware' });
const { push } = useRouter();
const [FormModal, formModalApi] = useVbenModal({
connectedComponent: Form,
connectedComponent: OtaFirmwareForm,
destroyOnClose: true,
});

View File

@@ -11,7 +11,7 @@ import { deleteOtaFirmware, getOtaFirmwarePage } from '#/api/iot/ota/firmware';
import { $t } from '#/locales';
import { useGridColumns, useGridFormSchema } from './data';
import OtaFirmwareForm from './modules/OtaFirmwareForm.vue';
import OtaFirmwareForm from './modules/ota-firmware-form.vue';
defineOptions({ name: 'IoTOtaFirmware' });

View File

@@ -12,7 +12,7 @@ import { getOtaFirmware } from '#/api/iot/ota/firmware';
import { getOtaTaskRecordStatusStatistics } from '#/api/iot/ota/task/record';
import { IoTOtaTaskRecordStatusEnum } from '#/views/iot/utils/constants';
import OtaTaskList from '../task/OtaTaskList.vue';
import OtaTaskList from '../task/ota-task-list.vue';
/** IoT OTA 固件详情 */
defineOptions({ name: 'IoTOtaFirmwareDetail' });

View File

@@ -12,7 +12,7 @@ import { getOtaFirmware } from '#/api/iot/ota/firmware';
import { getOtaTaskRecordStatusStatistics } from '#/api/iot/ota/task/record';
import { IoTOtaTaskRecordStatusEnum } from '#/views/iot/utils/constants';
import OtaTaskList from '../task/OtaTaskList.vue';
import OtaTaskList from '../task/ota-task-list.vue';
/** IoT OTA 固件详情 */
defineOptions({ name: 'IoTOtaFirmwareDetail' });

View File

@@ -22,8 +22,8 @@ import {
import { getOtaTaskPage } from '#/api/iot/ota/task';
import { IoTOtaTaskStatusEnum } from '#/views/iot/utils/constants';
import OtaTaskDetail from './OtaTaskDetail.vue';
import OtaTaskForm from './OtaTaskForm.vue';
import OtaTaskDetail from './ota-task-detail.vue';
import OtaTaskForm from './ota-task-form.vue';
/** IoT OTA 任务列表 */
defineOptions({ name: 'OtaTaskList' });

View File

@@ -14,12 +14,12 @@ import {
import { $t } from '#/locales';
import { useGridColumns, useGridFormSchema } from './data';
import Form from './modules/ProductCategoryForm.vue';
import ProductCategoryForm from './modules/product-category-form.vue';
defineOptions({ name: 'IoTProductCategory' });
const [FormModal, formModalApi] = useVbenModal({
connectedComponent: Form,
connectedComponent: ProductCategoryForm,
destroyOnClose: true,
});

View File

@@ -20,8 +20,8 @@ import {
import { $t } from '#/locales';
import { useGridColumns, useImagePreview } from './data';
import ProductCardView from './modules/ProductCardView.vue';
import ProductForm from './modules/ProductForm.vue';
import ProductCardView from './modules/product-card-view.vue';
import ProductForm from './modules/product-form.vue';
defineOptions({ name: 'IoTProduct' });

View File

@@ -12,8 +12,8 @@ import { getDeviceCount } from '#/api/iot/device/device';
import { getProduct } from '#/api/iot/product/product';
import IoTProductThingModel from '#/views/iot/thingmodel/index.vue';
import ProductDetailsHeader from './ProductDetailsHeader.vue';
import ProductDetailsInfo from './ProductDetailsInfo.vue';
import ProductDetailsHeader from './product-details-header.vue';
import ProductDetailsInfo from './product-details-info.vue';
defineOptions({ name: 'IoTProductDetail' });

View File

@@ -8,7 +8,7 @@ import { Button, Card, Descriptions, message } from 'ant-design-vue';
import { updateProductStatus } from '#/api/iot/product/product';
import ProductForm from '../ProductForm.vue';
import ProductForm from '../product-form.vue';
interface Props {
product: IotProductApi.Product;

View File

@@ -10,7 +10,7 @@ import { deleteDataRule, getDataRulePage } from '#/api/iot/rule/data/rule';
import { $t } from '#/locales';
import { useGridColumns, useGridFormSchema } from './data';
import DataRuleForm from './rule/DataRuleForm.vue';
import DataRuleForm from './rule/data-rule-form.vue';
/** IoT 数据流转规则列表 */
defineOptions({ name: 'IoTDataRule' });

View File

@@ -14,7 +14,7 @@ import {
import { getDataSinkSimpleList } from '#/api/iot/rule/data/sink';
import { $t } from '#/locales';
import SourceConfigForm from './components/SourceConfigForm.vue';
import SourceConfigForm from './components/source-config-form.vue';
import { useRuleFormSchema } from './data';
const emit = defineEmits(['success']);

View File

@@ -10,7 +10,7 @@ import { deleteDataRule, getDataRulePage } from '#/api/iot/rule/data/rule';
import { $t } from '#/locales';
import { useGridColumns, useGridFormSchema } from './data';
import DataRuleForm from './DataRuleForm.vue';
import DataRuleForm from './data-rule-form.vue';
/** IoT 数据流转规则列表 */
defineOptions({ name: 'IotDataRule' });

View File

@@ -6,7 +6,7 @@ import { isEmpty } from '@vben/utils';
import { useVModel } from '@vueuse/core';
import { FormItem, Input, Select } from 'ant-design-vue';
import KeyValueEditor from './components/KeyValueEditor.vue';
import KeyValueEditor from './components/key-value-editor.vue';
defineOptions({ name: 'HttpConfigForm' });

View File

@@ -1,6 +1,6 @@
export { default as HttpConfigForm } from './HttpConfigForm.vue';
export { default as KafkaMQConfigForm } from './KafkaMQConfigForm.vue';
export { default as MqttConfigForm } from './MqttConfigForm.vue';
export { default as RabbitMQConfigForm } from './RabbitMQConfigForm.vue';
export { default as RedisStreamConfigForm } from './RedisStreamConfigForm.vue';
export { default as RocketMQConfigForm } from './RocketMQConfigForm.vue';
export {default as HttpConfigForm} from './http-config-form.vue';
export {default as KafkaMqConfigForm} from './kafka-mq-config-form.vue';
export {default as MqttConfigForm} from './mqtt-config-form.vue';
export {default as RabbitMqConfigForm} from './rabbit-mq-config-form.vue';
export {default as RedisStreamConfigForm} from './redis-stream-config-form.vue';
export {default as RocketMqConfigForm} from './rocket-mq-config-form.vue';

View File

@@ -15,11 +15,11 @@ import { $t } from '#/locales';
import {
HttpConfigForm,
KafkaMQConfigForm,
KafkaMqConfigForm,
MqttConfigForm,
RabbitMQConfigForm,
RabbitMqConfigForm,
RedisStreamConfigForm,
RocketMQConfigForm,
RocketMqConfigForm,
} from './config';
import { useSinkFormSchema } from './data';
@@ -128,15 +128,15 @@ watch(
v-if="IotDataSinkTypeEnum.MQTT === formData.type"
v-model="formData.config"
/>
<RocketMQConfigForm
<RocketMqConfigForm
v-if="IotDataSinkTypeEnum.ROCKETMQ === formData.type"
v-model="formData.config"
/>
<KafkaMQConfigForm
<KafkaMqConfigForm
v-if="IotDataSinkTypeEnum.KAFKA === formData.type"
v-model="formData.config"
/>
<RabbitMQConfigForm
<RabbitMqConfigForm
v-if="IotDataSinkTypeEnum.RABBITMQ === formData.type"
v-model="formData.config"
/>

View File

@@ -10,7 +10,7 @@ import { deleteDataSink, getDataSinkPage } from '#/api/iot/rule/data/sink';
import { $t } from '#/locales';
import { useGridColumns, useGridFormSchema } from './data';
import DataSinkForm from './DataSinkForm.vue';
import DataSinkForm from './data-sink-form.vue';
/** IoT 数据流转目的 列表 */
defineOptions({ name: 'IotDataSink' });

View File

@@ -14,12 +14,12 @@ import {
IotRuleSceneTriggerConditionTypeEnum,
} from '#/views/iot/utils/constants';
import ValueInput from '../inputs/ValueInput.vue';
import DeviceSelector from '../selectors/DeviceSelector.vue';
import OperatorSelector from '../selectors/OperatorSelector.vue';
import ProductSelector from '../selectors/ProductSelector.vue';
import PropertySelector from '../selectors/PropertySelector.vue';
import CurrentTimeConditionConfig from './CurrentTimeConditionConfig.vue';
import ValueInput from '../inputs/value-input.vue';
import DeviceSelector from '../selectors/device-selector.vue';
import OperatorSelector from '../selectors/operator-selector.vue';
import ProductSelector from '../selectors/product-selector.vue';
import PropertySelector from '../selectors/property-selector.vue';
import CurrentTimeConditionConfig from './current-time-condition-config.vue';
/** 单个条件配置组件 */
defineOptions({ name: 'ConditionConfig' });

View File

@@ -20,9 +20,9 @@ import {
IoTThingModelAccessModeEnum,
} from '#/views/iot/utils/constants';
import JsonParamsInput from '../inputs/JsonParamsInput.vue';
import DeviceSelector from '../selectors/DeviceSelector.vue';
import ProductSelector from '../selectors/ProductSelector.vue';
import JsonParamsInput from '../inputs/json-params-input.vue';
import DeviceSelector from '../selectors/device-selector.vue';
import ProductSelector from '../selectors/product-selector.vue';
/** 设备控制配置组件 */
defineOptions({ name: 'DeviceControlConfig' });

View File

@@ -9,8 +9,8 @@ import { IconifyIcon } from '@vben/icons';
import { useVModel } from '@vueuse/core';
import { Button, Tag } from 'ant-design-vue';
import MainConditionInnerConfig from './MainConditionInnerConfig.vue';
import SubConditionGroupConfig from './SubConditionGroupConfig.vue';
import MainConditionInnerConfig from './main-condition-inner-config.vue';
import SubConditionGroupConfig from './sub-condition-group-config.vue';
/** 设备触发配置组件 */
defineOptions({ name: 'DeviceTriggerConfig' });

View File

@@ -14,12 +14,12 @@ import {
triggerTypeOptions,
} from '#/views/iot/utils/constants';
import JsonParamsInput from '../inputs/JsonParamsInput.vue';
import ValueInput from '../inputs/ValueInput.vue';
import DeviceSelector from '../selectors/DeviceSelector.vue';
import OperatorSelector from '../selectors/OperatorSelector.vue';
import ProductSelector from '../selectors/ProductSelector.vue';
import PropertySelector from '../selectors/PropertySelector.vue';
import JsonParamsInput from '../inputs/json-params-input.vue';
import ValueInput from '../inputs/value-input.vue';
import DeviceSelector from '../selectors/device-selector.vue';
import OperatorSelector from '../selectors/operator-selector.vue';
import ProductSelector from '../selectors/product-selector.vue';
import PropertySelector from '../selectors/property-selector.vue';
/** 主条件内部配置组件 */
defineOptions({ name: 'MainConditionInnerConfig' });

View File

@@ -13,7 +13,7 @@ import {
IotRuleSceneTriggerConditionTypeEnum,
} from '#/views/iot/utils/constants';
import ConditionConfig from './ConditionConfig.vue';
import ConditionConfig from './condition-config.vue';
/** 子条件组配置组件 */
defineOptions({ name: 'SubConditionGroupConfig' });

View File

@@ -16,9 +16,9 @@ import {
isDeviceTrigger,
} from '#/views/iot/utils/constants';
import ActionSection from './sections/ActionSection.vue';
import BasicInfoSection from './sections/BasicInfoSection.vue';
import TriggerSection from './sections/TriggerSection.vue';
import ActionSection from './sections/action-section.vue';
import BasicInfoSection from './sections/basic-info-section.vue';
import TriggerSection from './sections/trigger-section.vue';
/** IoT 场景联动规则表单 - 主表单组件 */
defineOptions({ name: 'RuleSceneForm' });

View File

@@ -13,8 +13,8 @@ import {
IotRuleSceneActionTypeEnum,
} from '#/views/iot/utils/constants';
import AlertConfig from '../configs/AlertConfig.vue';
import DeviceControlConfig from '../configs/DeviceControlConfig.vue';
import AlertConfig from '../configs/alert-config.vue';
import DeviceControlConfig from '../configs/device-control-config.vue';
/** 执行器配置组件 */
defineOptions({ name: 'ActionSection' });

View File

@@ -8,6 +8,7 @@ import { IconifyIcon } from '@vben/icons';
import { useVModel } from '@vueuse/core';
import { Card, Col, Form, Input, Radio, Row } from 'ant-design-vue';
import { DictTag } from "#/components/dict-tag";
/** 基础信息配置组件 */
defineOptions({ name: 'BasicInfoSection' });

View File

@@ -15,7 +15,7 @@ import {
isDeviceTrigger,
} from '#/views/iot/utils/constants';
import DeviceTriggerConfig from '../configs/DeviceTriggerConfig.vue';
import DeviceTriggerConfig from '../configs/device-trigger-config.vue';
/** 触发器配置组件 */
defineOptions({ name: 'TriggerSection' });

View File

@@ -7,6 +7,7 @@ import { DICT_TYPE } from '@vben/constants';
import { Select } from 'ant-design-vue';
import { getSimpleProductList } from '#/api/iot/product/product';
import { DictTag } from "#/components/dict-tag";
/** 产品选择器组件 */
defineOptions({ name: 'ProductSelector' });

View File

@@ -14,8 +14,8 @@ import { deleteThingModel, getThingModelPage } from '#/api/iot/thingmodel';
import { getDataTypeOptionsLabel, IOT_PROVIDE_KEY } from '../utils/constants';
import { useGridColumns, useGridFormSchema } from './data';
import { DataDefinition } from './modules/components';
import ThingModelForm from './modules/ThingModelForm.vue';
import ThingModelTSL from './modules/ThingModelTSL.vue';
import ThingModelForm from './modules/thing-model-form.vue';
import ThingModelTsl from './modules/thing-model-tsl.vue';
defineOptions({ name: 'IoTThingModel' });
@@ -180,6 +180,6 @@ onMounted(async () => {
<ThingModelForm ref="thingModelFormRef" @success="handleRefresh" />
<!-- TSL 弹窗 -->
<ThingModelTSL ref="thingModelTSLRef" />
<ThingModelTsl ref="thingModelTSLRef"/>
</Page>
</template>

View File

@@ -1 +1 @@
export { default as DataDefinition } from './DataDefinition.vue';
export {default as DataDefinition} from './data-definition.vue';

View File

@@ -1,4 +1,4 @@
export { default as ThingModelArrayDataSpecs } from './ThingModelArrayDataSpecs.vue';
export { default as ThingModelEnumDataSpecs } from './ThingModelEnumDataSpecs.vue';
export { default as ThingModelNumberDataSpecs } from './ThingModelNumberDataSpecs.vue';
export { default as ThingModelStructDataSpecs } from './ThingModelStructDataSpecs.vue';
export {default as ThingModelArrayDataSpecs} from './thing-model-array-data-specs.vue';
export {default as ThingModelEnumDataSpecs} from './thing-model-enum-data-specs.vue';
export {default as ThingModelNumberDataSpecs} from './thing-model-number-data-specs.vue';
export {default as ThingModelStructDataSpecs} from './thing-model-struct-data-specs.vue';

View File

@@ -10,7 +10,7 @@ import {
IoTDataSpecsDataTypeEnum,
} from '#/views/iot/utils/constants';
import ThingModelStructDataSpecs from './ThingModelStructDataSpecs.vue';
import ThingModelStructDataSpecs from './thing-model-struct-data-specs.vue';
/** 数组型的 dataSpecs 配置组件 */
defineOptions({ name: 'ThingModelArrayDataSpecs' });

View File

@@ -11,7 +11,7 @@ import { Button, Divider, Form, Input, Modal } from 'ant-design-vue';
import { IoTDataSpecsDataTypeEnum } from '#/views/iot/utils/constants';
import ThingModelProperty from '../ThingModelProperty.vue';
import ThingModelProperty from '../thing-model-property.vue';
/** Struct 型的 dataSpecs 配置组件 */
defineOptions({ name: 'ThingModelStructDataSpecs' });

View File

@@ -14,7 +14,7 @@ import {
IoTThingModelParamDirectionEnum,
} from '#/views/iot/utils/constants';
import ThingModelInputOutputParam from './ThingModelInputOutputParam.vue';
import ThingModelInputOutputParam from './thing-model-input-output-param.vue';
/** IoT 物模型事件 */
defineOptions({ name: 'ThingModelEvent' });

View File

@@ -25,9 +25,9 @@ import {
IoTThingModelTypeEnum,
} from '#/views/iot/utils/constants';
import ThingModelEvent from './ThingModelEvent.vue';
import ThingModelProperty from './ThingModelProperty.vue';
import ThingModelService from './ThingModelService.vue';
import ThingModelEvent from './thing-model-event.vue';
import ThingModelProperty from './thing-model-property.vue';
import ThingModelService from './thing-model-service.vue';
/** IoT 物模型数据表单 */
defineOptions({ name: 'IoTThingModelForm' });

View File

@@ -11,7 +11,7 @@ import { Button, Divider, Form, Input, Modal } from 'ant-design-vue';
import { IoTDataSpecsDataTypeEnum } from '#/views/iot/utils/constants';
import ThingModelProperty from './ThingModelProperty.vue';
import ThingModelProperty from './thing-model-property.vue';
/** 输入输出参数配置组件 */
defineOptions({ name: 'ThingModelInputOutputParam' });

View File

@@ -14,7 +14,7 @@ import {
IoTThingModelServiceCallTypeEnum,
} from '#/views/iot/utils/constants';
import ThingModelInputOutputParam from './ThingModelInputOutputParam.vue';
import ThingModelInputOutputParam from './thing-model-input-output-param.vue';
/** IoT 物模型服务 */
defineOptions({ name: 'ThingModelService' });

View File

@@ -10,7 +10,7 @@ import { Modal, Radio, Textarea } from 'ant-design-vue';
import { getThingModelTSL } from '#/api/iot/thingmodel';
import { IOT_PROVIDE_KEY } from '#/views/iot/utils/constants';
defineOptions({ name: 'ThingModelTSL' });
defineOptions({name: 'ThingModelTsl'});
const dialogVisible = ref(false); //
const dialogTitle = ref('物模型 TSL'); //