From 3a2301efcead78b864457cede24155d75a5f3aef Mon Sep 17 00:00:00 2001 From: ChenYi <296215406@outlook.com> Date: Sun, 4 Jan 2026 17:29:53 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=B9=E9=87=8F=E8=AE=BE=E5=A4=87=E5=8D=87?= =?UTF-8?q?=E7=BA=A7=E5=BC=B9=E7=AA=97=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/web-antd/src/api-client/schemas.gen.ts | 71 +++++ apps/web-antd/src/api-client/services.gen.ts | 32 +- apps/web-antd/src/api-client/types.gen.ts | 75 +++++ .../devicemanagement/deviceinfo/index.vue | 290 +++++++++++++++++- .../devicemanagement/deviceinfo/schema.ts | 246 +++++++++++++++ 5 files changed, 708 insertions(+), 6 deletions(-) diff --git a/apps/web-antd/src/api-client/schemas.gen.ts b/apps/web-antd/src/api-client/schemas.gen.ts index 00c5e20..f851c6c 100644 --- a/apps/web-antd/src/api-client/schemas.gen.ts +++ b/apps/web-antd/src/api-client/schemas.gen.ts @@ -464,6 +464,26 @@ export const BatchCreateDeviceAggregationInputSchema = { description: '批量创建设备信息' } as const; +export const BatchUpdateStatusInputSchema = { + required: ['ids', 'upgradeStatus'], + type: 'object', + properties: { + ids: { + type: 'array', + items: { + type: 'string', + format: 'uuid' + }, + description: '设备升级记录Id集合' + }, + upgradeStatus: { + '$ref': '#/components/schemas/DeviceUpgradeStatusTypeEnum' + } + }, + additionalProperties: false, + description: '批量更新设备升级记录状态信息输入' +} as const; + export const BindingDeviceThingModelInputSchema = { type: 'object', properties: { @@ -2013,6 +2033,40 @@ export const DeleteTextTemplateInputSchema = { description: '删除模板' } as const; +export const DeviceBatchUpgradeForApiInputSchema = { + required: ['addressList', 'ioTPlatform', 'ioTPlatformProductId', 'nowFirmwareVersionDataId'], + type: 'object', + properties: { + addressList: { + type: 'array', + items: { + type: 'string' + }, + description: '设备地址列表' + }, + ioTPlatform: { + '$ref': '#/components/schemas/IoTPlatformTypeEnum' + }, + ioTPlatformProductId: { + minLength: 1, + type: 'string', + description: '物联网平台中对应的产品Id' + }, + nowFirmwareVersionDataId: { + type: 'string', + description: '固件版本信息', + format: 'uuid' + }, + upgradeDescription: { + type: 'string', + description: '升级描述', + nullable: true + } + }, + additionalProperties: false, + description: '设备批量升级信息' +} as const; + export const DeviceCommandForApiInputSchema = { required: ['commandContent', 'id'], type: 'object', @@ -11190,6 +11244,23 @@ export const UpdateSettingInputSchema = { additionalProperties: false } as const; +export const UpdateStatusInputSchema = { + required: ['id', 'upgradeStatus'], + type: 'object', + properties: { + id: { + type: 'string', + description: '设备升级记录Id', + format: 'uuid' + }, + upgradeStatus: { + '$ref': '#/components/schemas/DeviceUpgradeStatusTypeEnum' + } + }, + additionalProperties: false, + description: '更新升级状态' +} as const; + export const UpdateTenantInputSchema = { type: 'object', properties: { diff --git a/apps/web-antd/src/api-client/services.gen.ts b/apps/web-antd/src/api-client/services.gen.ts index 0c30417..5996aa6 100644 --- a/apps/web-antd/src/api-client/services.gen.ts +++ b/apps/web-antd/src/api-client/services.gen.ts @@ -1,7 +1,7 @@ // This file is auto-generated by @hey-api/openapi-ts import { createClient, createConfig, type Options, formDataBodySerializer } from '@hey-api/client-axios'; -import type { GetApiAbpApiDefinitionData, GetApiAbpApiDefinitionError, GetApiAbpApiDefinitionResponse, GetApiAbpApplicationConfigurationData, GetApiAbpApplicationConfigurationError, GetApiAbpApplicationConfigurationResponse, GetApiAbpApplicationLocalizationData, GetApiAbpApplicationLocalizationError, GetApiAbpApplicationLocalizationResponse, PostApiAppAccountLoginData, PostApiAppAccountLoginError, PostApiAppAccountLoginResponse, PostApiAppAccountLogin2FaData, PostApiAppAccountLogin2FaError, PostApiAppAccountLogin2FaResponse, PostApiAppAccountLoginOidcData, PostApiAppAccountLoginOidcError, PostApiAppAccountLoginOidcResponse, PostApiAppAccountRefreshTokenData, PostApiAppAccountRefreshTokenError, PostApiAppAccountRefreshTokenResponse, PostApiAppAccountLogoutError, PostApiAppAccountLogoutResponse, PostAuditLogsPageData, PostAuditLogsPageError, PostAuditLogsPageResponse, PostAggregationBusinessReceiveCommandInfoAsyncData, PostAggregationBusinessReceiveCommandInfoAsyncError, PostAggregationBusinessReceiveCommandInfoAsyncResponse, PostAggregationBusinessBatchQueryDeviceDataInfoAsyncData, PostAggregationBusinessBatchQueryDeviceDataInfoAsyncError, PostAggregationBusinessBatchQueryDeviceDataInfoAsyncResponse, PostAggregationBusinessBatchCreateDeviceInfoAsyncData, PostAggregationBusinessBatchCreateDeviceInfoAsyncError, PostAggregationBusinessBatchCreateDeviceInfoAsyncResponse, GetCommonGetSelectListData, GetCommonGetSelectListError, GetCommonGetSelectListResponse, PostCtWingAccountInsertAsyncData, PostCtWingAccountInsertAsyncError, PostCtWingAccountInsertAsyncResponse, PostCtWingAccountModifyAsyncData, PostCtWingAccountModifyAsyncError, PostCtWingAccountModifyAsyncResponse, PostCtWingAccountDeleteAsyncData, PostCtWingAccountDeleteAsyncError, PostCtWingAccountDeleteAsyncResponse, PostCtWingAccountListAsyncData, PostCtWingAccountListAsyncError, PostCtWingAccountListAsyncResponse, PostCtWingProductInsertAsyncData, PostCtWingProductInsertAsyncError, PostCtWingProductInsertAsyncResponse, PostCtWingProductModifyAsyncData, PostCtWingProductModifyAsyncError, PostCtWingProductModifyAsyncResponse, PostCtWingProductDeleteAsyncData, PostCtWingProductDeleteAsyncError, PostCtWingProductDeleteAsyncResponse, PostCtWingProductGetAsyncData, PostCtWingProductGetAsyncError, PostCtWingProductGetAsyncResponse, PostCtWingProductProductStatusChangeAsyncData, PostCtWingProductProductStatusChangeAsyncError, PostCtWingProductProductStatusChangeAsyncResponse, PostCtWingProductListAsyncData, PostCtWingProductListAsyncError, PostCtWingProductListAsyncResponse, PostCtWingServiceReceiveStatusChangeError, PostCtWingServiceReceiveStatusChangeResponse, PostCtWingServiceReceiveDataChangeError, PostCtWingServiceReceiveDataChangeResponse, PostCtWingServiceReceiveCommandChangeError, PostCtWingServiceReceiveCommandChangeResponse, PostCtWingServiceReceiveEventChangeError, PostCtWingServiceReceiveEventChangeResponse, PostCtWingServiceReceiveDeviceChangeError, PostCtWingServiceReceiveDeviceChangeResponse, PostDataDictionaryPageData, PostDataDictionaryPageError, PostDataDictionaryPageResponse, PostDataDictionaryPageDetailData, PostDataDictionaryPageDetailError, PostDataDictionaryPageDetailResponse, PostDataDictionarySelectDetailData, PostDataDictionarySelectDetailError, PostDataDictionarySelectDetailResponse, PostDataDictionaryCreateData, PostDataDictionaryCreateError, PostDataDictionaryCreateResponse, PostDataDictionaryCreateDetailData, PostDataDictionaryCreateDetailError, PostDataDictionaryCreateDetailResponse, PostDataDictionaryStatusData, PostDataDictionaryStatusError, PostDataDictionaryStatusResponse, PostDataDictionaryUpdateDetailData, PostDataDictionaryUpdateDetailError, PostDataDictionaryUpdateDetailResponse, PostDataDictionaryDeleteData, PostDataDictionaryDeleteError, PostDataDictionaryDeleteResponse, PostDataDictionaryDeleteDataDictionaryTypeData, PostDataDictionaryDeleteDataDictionaryTypeError, PostDataDictionaryDeleteDataDictionaryTypeResponse, PostDataDictionaryUpdateData, PostDataDictionaryUpdateError, PostDataDictionaryUpdateResponse, PostAggregationDeviceCreateAsyncData, PostAggregationDeviceCreateAsyncError, PostAggregationDeviceCreateAsyncResponse, PostAggregationDeviceBatchCreateAsyncData, PostAggregationDeviceBatchCreateAsyncError, PostAggregationDeviceBatchCreateAsyncResponse, PostAggregationDeviceDeleteAsyncData, PostAggregationDeviceDeleteAsyncError, PostAggregationDeviceDeleteAsyncResponse, PostAggregationDeviceFindByIdAsyncData, PostAggregationDeviceFindByIdAsyncError, PostAggregationDeviceFindByIdAsyncResponse, PostAggregationDeviceRepushDeviceInfoToIoTplatformData, PostAggregationDeviceRepushDeviceInfoToIoTplatformError, PostAggregationDeviceRepushDeviceInfoToIoTplatformResponse, PostAggregationDeviceDeviceCommandForApiAsyncData, PostAggregationDeviceDeviceCommandForApiAsyncError, PostAggregationDeviceDeviceCommandForApiAsyncResponse, PostAggregationDeviceGetDevicePropertyValueForApiAsyncData, PostAggregationDeviceGetDevicePropertyValueForApiAsyncError, PostAggregationDeviceGetDevicePropertyValueForApiAsyncResponse, PostAggregationDeviceDeviceUpgradeForApiAsyncData, PostAggregationDeviceDeviceUpgradeForApiAsyncError, PostAggregationDeviceDeviceUpgradeForApiAsyncResponse, PostAggregationDeviceDownloadFirmwareData, PostAggregationDeviceDownloadFirmwareError, PostAggregationDeviceDownloadFirmwareResponse, GetAggregationDeviceDownloadFirmwareData, GetAggregationDeviceDownloadFirmwareError, GetAggregationDeviceDownloadFirmwareResponse, PostFirmwareInfoCreateAsyncData, PostFirmwareInfoCreateAsyncError, PostFirmwareInfoCreateAsyncResponse, PostFirmwareInfoUpdateAsyncData, PostFirmwareInfoUpdateAsyncError, PostFirmwareInfoUpdateAsyncResponse, PostFirmwareInfoDeleteAsyncData, PostFirmwareInfoDeleteAsyncError, PostFirmwareInfoDeleteAsyncResponse, PostFirmwareInfoFindByIdAsyncData, PostFirmwareInfoFindByIdAsyncError, PostFirmwareInfoFindByIdAsyncResponse, PostFirmwareInfoUpdateStatusByIdAsyncData, PostFirmwareInfoUpdateStatusByIdAsyncError, PostFirmwareInfoUpdateStatusByIdAsyncResponse, PostFirmwareInfoFindByDeviceProductIdAsyncData, PostFirmwareInfoFindByDeviceProductIdAsyncError, PostFirmwareInfoFindByDeviceProductIdAsyncResponse, PostFirmwareInfoPageData, PostFirmwareInfoPageError, PostFirmwareInfoPageResponse, PostDeviceInfoFindByDeviceAddressData, PostDeviceInfoFindByDeviceAddressError, PostDeviceInfoFindByDeviceAddressResponse, PostDeviceInfoPageData, PostDeviceInfoPageError, PostDeviceInfoPageResponse, PostDeviceInfoCacheDeviceDataToRedisError, PostDeviceInfoCacheDeviceDataToRedisResponse, PostDeviceInfoBindingDeviceThingModelData, PostDeviceInfoBindingDeviceThingModelError, PostDeviceInfoBindingDeviceThingModelResponse, PostDeviceThingModelManagementCreateAsyncData, PostDeviceThingModelManagementCreateAsyncError, PostDeviceThingModelManagementCreateAsyncResponse, PostDeviceThingModelManagementUpdateAsyncData, PostDeviceThingModelManagementUpdateAsyncError, PostDeviceThingModelManagementUpdateAsyncResponse, PostDeviceThingModelManagementDeleteAsyncData, PostDeviceThingModelManagementDeleteAsyncError, PostDeviceThingModelManagementDeleteAsyncResponse, PostDeviceThingModelManagementFindByIdAsyncData, PostDeviceThingModelManagementFindByIdAsyncError, PostDeviceThingModelManagementFindByIdAsyncResponse, PostDeviceThingModelManagementGetDeviceThingModelAllInfoByIdAsyncData, PostDeviceThingModelManagementGetDeviceThingModelAllInfoByIdAsyncError, PostDeviceThingModelManagementGetDeviceThingModelAllInfoByIdAsyncResponse, PostDeviceThingModelManagementBuildAnalysisScriptByIdAsyncData, PostDeviceThingModelManagementBuildAnalysisScriptByIdAsyncError, PostDeviceThingModelManagementBuildAnalysisScriptByIdAsyncResponse, PostDeviceThingModelManagementBuildAnalysisScriptAsyncData, PostDeviceThingModelManagementBuildAnalysisScriptAsyncError, PostDeviceThingModelManagementBuildAnalysisScriptAsyncResponse, PostDeviceThingModelManagementUpdateAnalysisScriptByIdAsyncData, PostDeviceThingModelManagementUpdateAnalysisScriptByIdAsyncError, PostDeviceThingModelManagementUpdateAnalysisScriptByIdAsyncResponse, PostDeviceThingModelManagementMessageAnalysisTestAsyncData, PostDeviceThingModelManagementMessageAnalysisTestAsyncError, PostDeviceThingModelManagementMessageAnalysisTestAsyncResponse, PostDeviceThingModelManagementFindByPlatformProductIdAsyncData, PostDeviceThingModelManagementFindByPlatformProductIdAsyncError, PostDeviceThingModelManagementFindByPlatformProductIdAsyncResponse, PostDeviceThingModelManagementCopyAnotherDeviceThingModelAsyncData, PostDeviceThingModelManagementCopyAnotherDeviceThingModelAsyncError, PostDeviceThingModelManagementCopyAnotherDeviceThingModelAsyncResponse, PostDeviceThingModelManagementCopyIoTplatformThingModelToDeviceAsyncData, PostDeviceThingModelManagementCopyIoTplatformThingModelToDeviceAsyncError, PostDeviceThingModelManagementCopyIoTplatformThingModelToDeviceAsyncResponse, PostDeviceThingModelManagementPageAsyncData, PostDeviceThingModelManagementPageAsyncError, PostDeviceThingModelManagementPageAsyncResponse, PostDeviceThingModelManagementPropertyCreateAsyncData, PostDeviceThingModelManagementPropertyCreateAsyncError, PostDeviceThingModelManagementPropertyCreateAsyncResponse, PostDeviceThingModelManagementPropertyUpdateAsyncData, PostDeviceThingModelManagementPropertyUpdateAsyncError, PostDeviceThingModelManagementPropertyUpdateAsyncResponse, PostDeviceThingModelManagementPropertyDeleteAsyncData, PostDeviceThingModelManagementPropertyDeleteAsyncError, PostDeviceThingModelManagementPropertyDeleteAsyncResponse, PostDeviceThingModelManagementPropertyFindByIdAsyncData, PostDeviceThingModelManagementPropertyFindByIdAsyncError, PostDeviceThingModelManagementPropertyFindByIdAsyncResponse, PostDeviceThingModelManagementPropertyPageAsyncData, PostDeviceThingModelManagementPropertyPageAsyncError, PostDeviceThingModelManagementPropertyPageAsyncResponse, PostDeviceThingModelManagementCommandCreateAsyncData, PostDeviceThingModelManagementCommandCreateAsyncError, PostDeviceThingModelManagementCommandCreateAsyncResponse, PostDeviceThingModelManagementCommandUpdateAsyncData, PostDeviceThingModelManagementCommandUpdateAsyncError, PostDeviceThingModelManagementCommandUpdateAsyncResponse, PostDeviceThingModelManagementCommandDeleteAsyncData, PostDeviceThingModelManagementCommandDeleteAsyncError, PostDeviceThingModelManagementCommandDeleteAsyncResponse, PostDeviceThingModelManagementCommandFindByIdAsyncData, PostDeviceThingModelManagementCommandFindByIdAsyncError, PostDeviceThingModelManagementCommandFindByIdAsyncResponse, PostDeviceThingModelManagementCommandPageAsyncData, PostDeviceThingModelManagementCommandPageAsyncError, PostDeviceThingModelManagementCommandPageAsyncResponse, PostDeviceThingModelManagementCacheDeviceThingModelToRedisAsyncData, PostDeviceThingModelManagementCacheDeviceThingModelToRedisAsyncError, PostDeviceThingModelManagementCacheDeviceThingModelToRedisAsyncResponse, PostDeviceThingModelManagementCacheAllDeviceThingModelToRedisAsyncError, PostDeviceThingModelManagementCacheAllDeviceThingModelToRedisAsyncResponse, PostUpgradeRecordDeleteAsyncData, PostUpgradeRecordDeleteAsyncError, PostUpgradeRecordDeleteAsyncResponse, PostUpgradeRecordPageData, PostUpgradeRecordPageError, PostUpgradeRecordPageResponse, PostFeaturesListData, PostFeaturesListError, PostFeaturesListResponse, PostFeaturesUpdateData, PostFeaturesUpdateError, PostFeaturesUpdateResponse, PostFeaturesDeleteData, PostFeaturesDeleteError, PostFeaturesDeleteResponse, PostFilesPageData, PostFilesPageError, PostFilesPageResponse, PostFilesUploadData, PostFilesUploadError, PostFilesUploadResponse, PostFilesDeleteData, PostFilesDeleteError, PostFilesDeleteResponse, PostFilesDownloadData, PostFilesDownloadError, PostFilesDownloadResponse, PostIdentitySecurityLogsPageData, PostIdentitySecurityLogsPageError, PostIdentitySecurityLogsPageResponse, PostAggregationIoTplatformGetIoTplatformProductInfoAsyncData, PostAggregationIoTplatformGetIoTplatformProductInfoAsyncError, PostAggregationIoTplatformGetIoTplatformProductInfoAsyncResponse, PostAggregationIoTplatformGetIoTplatformAccountInfoAsyncData, PostAggregationIoTplatformGetIoTplatformAccountInfoAsyncError, PostAggregationIoTplatformGetIoTplatformAccountInfoAsyncResponse, PostAggregationIoTplatformGetIoTplatformProductPropertyInfoAsyncData, PostAggregationIoTplatformGetIoTplatformProductPropertyInfoAsyncError, PostAggregationIoTplatformGetIoTplatformProductPropertyInfoAsyncResponse, PostAggregationIoTplatformUpdateIoTplatformProductPropertyInfoAsyncData, PostAggregationIoTplatformUpdateIoTplatformProductPropertyInfoAsyncError, PostAggregationIoTplatformUpdateIoTplatformProductPropertyInfoAsyncResponse, PostIoTplatformThingModelInfoCreateAsyncData, PostIoTplatformThingModelInfoCreateAsyncError, PostIoTplatformThingModelInfoCreateAsyncResponse, PostIoTplatformThingModelInfoUpdateAsyncData, PostIoTplatformThingModelInfoUpdateAsyncError, PostIoTplatformThingModelInfoUpdateAsyncResponse, PostIoTplatformThingModelInfoDeleteAsyncData, PostIoTplatformThingModelInfoDeleteAsyncError, PostIoTplatformThingModelInfoDeleteAsyncResponse, PostIoTplatformThingModelInfoFindByIdAsyncData, PostIoTplatformThingModelInfoFindByIdAsyncError, PostIoTplatformThingModelInfoFindByIdAsyncResponse, PostIoTplatformThingModelInfoFindByPlatformProductIdAsyncData, PostIoTplatformThingModelInfoFindByPlatformProductIdAsyncError, PostIoTplatformThingModelInfoFindByPlatformProductIdAsyncResponse, PostIoTplatformThingModelInfoCopyAnotherThingModelAsyncData, PostIoTplatformThingModelInfoCopyAnotherThingModelAsyncError, PostIoTplatformThingModelInfoCopyAnotherThingModelAsyncResponse, PostIoTplatformThingModelInfoCopyStandardThingModelData, PostIoTplatformThingModelInfoCopyStandardThingModelError, PostIoTplatformThingModelInfoCopyStandardThingModelResponse, PostIoTplatformThingModelInfoPageAsyncData, PostIoTplatformThingModelInfoPageAsyncError, PostIoTplatformThingModelInfoPageAsyncResponse, PostIoTplatformThingModelInfoStandardThingModelPageAsyncError, PostIoTplatformThingModelInfoStandardThingModelPageAsyncResponse, PostLanguagesAllError, PostLanguagesAllResponse, PostLanguagesPageData, PostLanguagesPageError, PostLanguagesPageResponse, PostLanguagesCreateData, PostLanguagesCreateError, PostLanguagesCreateResponse, PostLanguagesUpdateData, PostLanguagesUpdateError, PostLanguagesUpdateResponse, PostLanguagesDeleteData, PostLanguagesDeleteError, PostLanguagesDeleteResponse, PostLanguagesSetDefaultData, PostLanguagesSetDefaultError, PostLanguagesSetDefaultResponse, PostLanguageTextsAllResourceError, PostLanguageTextsAllResourceResponse, PostLanguageTextsPageData, PostLanguageTextsPageError, PostLanguageTextsPageResponse, PostLanguageTextsCreateData, PostLanguageTextsCreateError, PostLanguageTextsCreateResponse, PostLanguageTextsUpdateData, PostLanguageTextsUpdateError, PostLanguageTextsUpdateResponse, PostMenusUserMenuError, PostMenusUserMenuResponse, PostMenusPageData, PostMenusPageError, PostMenusPageResponse, PostMenusCreateData, PostMenusCreateError, PostMenusCreateResponse, PostMenusUpdateData, PostMenusUpdateError, PostMenusUpdateResponse, PostMenusDeleteData, PostMenusDeleteError, PostMenusDeleteResponse, PostMenusTreeError, PostMenusTreeResponse, PostNotificationNotificationPageData, PostNotificationNotificationPageError, PostNotificationNotificationPageResponse, PostNotificationNotificationSubscriptionPageData, PostNotificationNotificationSubscriptionPageError, PostNotificationNotificationSubscriptionPageResponse, PostNotificationDeleteData, PostNotificationDeleteError, PostNotificationDeleteResponse, PostNotificationSendCommonWarningMessageData, PostNotificationSendCommonWarningMessageError, PostNotificationSendCommonWarningMessageResponse, PostNotificationSendCommonInformationMessageData, PostNotificationSendCommonInformationMessageError, PostNotificationSendCommonInformationMessageResponse, PostNotificationSendCommonErrorMessageData, PostNotificationSendCommonErrorMessageError, PostNotificationSendCommonErrorMessageResponse, PostNotificationSendBroadCastWarningMessageData, PostNotificationSendBroadCastWarningMessageError, PostNotificationSendBroadCastWarningMessageResponse, PostNotificationSendBroadCastInformationMessageData, PostNotificationSendBroadCastInformationMessageError, PostNotificationSendBroadCastInformationMessageResponse, PostNotificationSendBroadCastErrorMessageData, PostNotificationSendBroadCastErrorMessageError, PostNotificationSendBroadCastErrorMessageResponse, PostNotificationReadData, PostNotificationReadError, PostNotificationReadResponse, PostNotificationBatchReadData, PostNotificationBatchReadError, PostNotificationBatchReadResponse, PostOneNetAccountInsertAsyncData, PostOneNetAccountInsertAsyncError, PostOneNetAccountInsertAsyncResponse, PostOneNetAccountModifyAsyncData, PostOneNetAccountModifyAsyncError, PostOneNetAccountModifyAsyncResponse, PostOneNetAccountDeleteAsyncData, PostOneNetAccountDeleteAsyncError, PostOneNetAccountDeleteAsyncResponse, PostOneNetAccountListAsyncData, PostOneNetAccountListAsyncError, PostOneNetAccountListAsyncResponse, PostOneNetProductInsertAsyncData, PostOneNetProductInsertAsyncError, PostOneNetProductInsertAsyncResponse, PostOneNetProductModifyAsyncData, PostOneNetProductModifyAsyncError, PostOneNetProductModifyAsyncResponse, PostOneNetProductDeleteAsyncData, PostOneNetProductDeleteAsyncError, PostOneNetProductDeleteAsyncResponse, PostOneNetProductGetAsyncData, PostOneNetProductGetAsyncError, PostOneNetProductGetAsyncResponse, PostOneNetProductProductStatusChangeAsyncData, PostOneNetProductProductStatusChangeAsyncError, PostOneNetProductProductStatusChangeAsyncResponse, PostOneNetProductUpdateThingModelAsyncData, PostOneNetProductUpdateThingModelAsyncError, PostOneNetProductUpdateThingModelAsyncResponse, PostOneNetProductListAsyncData, PostOneNetProductListAsyncError, PostOneNetProductListAsyncResponse, PostOneNetServiceReceivePlaintextDataChangeData, PostOneNetServiceReceivePlaintextDataChangeError, PostOneNetServiceReceivePlaintextDataChangeResponse, GetOneNetServiceReceivePlaintextDataChangeData, GetOneNetServiceReceivePlaintextDataChangeError, GetOneNetServiceReceivePlaintextDataChangeResponse, PostOneNetServiceReceiveCiphertextDataChangeData, PostOneNetServiceReceiveCiphertextDataChangeError, PostOneNetServiceReceiveCiphertextDataChangeResponse, GetOneNetServiceReceiveCiphertextDataChangeData, GetOneNetServiceReceiveCiphertextDataChangeError, GetOneNetServiceReceiveCiphertextDataChangeResponse, GetOneNetServiceCheckLocalMemroyData, GetOneNetServiceCheckLocalMemroyError, GetOneNetServiceCheckLocalMemroyResponse, PostOrganizationUnitsTreeError, PostOrganizationUnitsTreeResponse, PostOrganizationUnitsCreateData, PostOrganizationUnitsCreateError, PostOrganizationUnitsCreateResponse, PostOrganizationUnitsDeleteData, PostOrganizationUnitsDeleteError, PostOrganizationUnitsDeleteResponse, PostOrganizationUnitsUpdateData, PostOrganizationUnitsUpdateError, PostOrganizationUnitsUpdateResponse, PostOrganizationUnitsAddRoleToOrganizationUnitAsyncData, PostOrganizationUnitsAddRoleToOrganizationUnitAsyncError, PostOrganizationUnitsAddRoleToOrganizationUnitAsyncResponse, PostOrganizationUnitsRemoveRoleFromOrganizationUnitAsyncData, PostOrganizationUnitsRemoveRoleFromOrganizationUnitAsyncError, PostOrganizationUnitsRemoveRoleFromOrganizationUnitAsyncResponse, PostOrganizationUnitsAddUserToOrganizationUnitData, PostOrganizationUnitsAddUserToOrganizationUnitError, PostOrganizationUnitsAddUserToOrganizationUnitResponse, PostOrganizationUnitsRemoveUserFromOrganizationUnitData, PostOrganizationUnitsRemoveUserFromOrganizationUnitError, PostOrganizationUnitsRemoveUserFromOrganizationUnitResponse, PostOrganizationUnitsGetUsersData, PostOrganizationUnitsGetUsersError, PostOrganizationUnitsGetUsersResponse, PostOrganizationUnitsGetRolesData, PostOrganizationUnitsGetRolesError, PostOrganizationUnitsGetRolesResponse, PostOrganizationUnitsGetUnAddUsersData, PostOrganizationUnitsGetUnAddUsersError, PostOrganizationUnitsGetUnAddUsersResponse, PostOrganizationUnitsGetUnAddRolesData, PostOrganizationUnitsGetUnAddRolesError, PostOrganizationUnitsGetUnAddRolesResponse, PostPermissionsTreeData, PostPermissionsTreeError, PostPermissionsTreeResponse, PostPermissionsUpdateData, PostPermissionsUpdateError, PostPermissionsUpdateResponse, PostRolesAllError, PostRolesAllResponse, PostRolesPageData, PostRolesPageError, PostRolesPageResponse, PostRolesCreateData, PostRolesCreateError, PostRolesCreateResponse, PostRolesUpdateData, PostRolesUpdateError, PostRolesUpdateResponse, PostRolesDeleteData, PostRolesDeleteError, PostRolesDeleteResponse, GetApiAppAbpProBasicApplicationConfigurationError, GetApiAppAbpProBasicApplicationConfigurationResponse, PostSettingsAllError, PostSettingsAllResponse, PostSettingsUpdateData, PostSettingsUpdateError, PostSettingsUpdateResponse, PostTableModelPacketInfoPageData, PostTableModelPacketInfoPageError, PostTableModelPacketInfoPageResponse, PostTableModelDeviceDataInfoPageData, PostTableModelDeviceDataInfoPageError, PostTableModelDeviceDataInfoPageResponse, PostTableModelCtWingLogInfoData, PostTableModelCtWingLogInfoError, PostTableModelCtWingLogInfoResponse, PostTableModelOneNetLogInfoData, PostTableModelOneNetLogInfoError, PostTableModelOneNetLogInfoResponse, PostTenantsFindData, PostTenantsFindError, PostTenantsFindResponse, PostTenantsPageData, PostTenantsPageError, PostTenantsPageResponse, PostTenantsCreateData, PostTenantsCreateError, PostTenantsCreateResponse, PostTenantsUpdateData, PostTenantsUpdateError, PostTenantsUpdateResponse, PostTenantsDeleteData, PostTenantsDeleteError, PostTenantsDeleteResponse, PostTenantsPageConnectionStringData, PostTenantsPageConnectionStringError, PostTenantsPageConnectionStringResponse, PostTenantsAddOrUpdateConnectionStringData, PostTenantsAddOrUpdateConnectionStringError, PostTenantsAddOrUpdateConnectionStringResponse, PostTenantsDeleteConnectionStringData, PostTenantsDeleteConnectionStringError, PostTenantsDeleteConnectionStringResponse, PostTextTemplatesPageData, PostTextTemplatesPageError, PostTextTemplatesPageResponse, PostTextTemplatesCreateData, PostTextTemplatesCreateError, PostTextTemplatesCreateResponse, PostTextTemplatesUpdateData, PostTextTemplatesUpdateError, PostTextTemplatesUpdateResponse, PostTextTemplatesDeleteData, PostTextTemplatesDeleteError, PostTextTemplatesDeleteResponse, PostTextTemplatesExportData, PostTextTemplatesExportError, PostTextTemplatesExportResponse, PostTreeModelDeviceDataInfoPageData, PostTreeModelDeviceDataInfoPageError, PostTreeModelDeviceDataInfoPageResponse, PostUsersPageData, PostUsersPageError, PostUsersPageResponse, PostUsersListData, PostUsersListError, PostUsersListResponse, PostUsersExportData, PostUsersExportError, PostUsersExportResponse, PostUsersCreateData, PostUsersCreateError, PostUsersCreateResponse, PostUsersUpdateData, PostUsersUpdateError, PostUsersUpdateResponse, PostUsersDeleteData, PostUsersDeleteError, PostUsersDeleteResponse, PostUsersRoleData, PostUsersRoleError, PostUsersRoleResponse, PostUsersChangePasswordData, PostUsersChangePasswordError, PostUsersChangePasswordResponse, PostUsersResetPasswordData, PostUsersResetPasswordError, PostUsersResetPasswordResponse, PostUsersLockData, PostUsersLockError, PostUsersLockResponse, PostUsersFindByUserNameData, PostUsersFindByUserNameError, PostUsersFindByUserNameResponse, PostUsersMyProfileError, PostUsersMyProfileResponse, PostUsersCanUseTwoFactorError, PostUsersCanUseTwoFactorResponse, PostUsersGetQrCodeError, PostUsersGetQrCodeResponse, PostUsersEnabledTwoFactorData, PostUsersEnabledTwoFactorError, PostUsersEnabledTwoFactorResponse, PostUsersDisabledTwoFactorData, PostUsersDisabledTwoFactorError, PostUsersDisabledTwoFactorResponse, PostUsersResetTwoFactorData, PostUsersResetTwoFactorError, PostUsersResetTwoFactorResponse, PostUsersNeedChangePasswordError, PostUsersNeedChangePasswordResponse, PostAggregationWorkshopReceiveWorkshopProductionInfoAsyncData, PostAggregationWorkshopReceiveWorkshopProductionInfoAsyncError, PostAggregationWorkshopReceiveWorkshopProductionInfoAsyncResponse, PostAggregationWorkshopGetProductListAsyncData, PostAggregationWorkshopGetProductListAsyncError, PostAggregationWorkshopGetProductListAsyncResponse } from './types.gen'; +import type { GetApiAbpApiDefinitionData, GetApiAbpApiDefinitionError, GetApiAbpApiDefinitionResponse, GetApiAbpApplicationConfigurationData, GetApiAbpApplicationConfigurationError, GetApiAbpApplicationConfigurationResponse, GetApiAbpApplicationLocalizationData, GetApiAbpApplicationLocalizationError, GetApiAbpApplicationLocalizationResponse, PostApiAppAccountLoginData, PostApiAppAccountLoginError, PostApiAppAccountLoginResponse, PostApiAppAccountLogin2FaData, PostApiAppAccountLogin2FaError, PostApiAppAccountLogin2FaResponse, PostApiAppAccountLoginOidcData, PostApiAppAccountLoginOidcError, PostApiAppAccountLoginOidcResponse, PostApiAppAccountRefreshTokenData, PostApiAppAccountRefreshTokenError, PostApiAppAccountRefreshTokenResponse, PostApiAppAccountLogoutError, PostApiAppAccountLogoutResponse, PostAuditLogsPageData, PostAuditLogsPageError, PostAuditLogsPageResponse, PostAggregationBusinessReceiveCommandInfoAsyncData, PostAggregationBusinessReceiveCommandInfoAsyncError, PostAggregationBusinessReceiveCommandInfoAsyncResponse, PostAggregationBusinessBatchQueryDeviceDataInfoAsyncData, PostAggregationBusinessBatchQueryDeviceDataInfoAsyncError, PostAggregationBusinessBatchQueryDeviceDataInfoAsyncResponse, PostAggregationBusinessBatchCreateDeviceInfoAsyncData, PostAggregationBusinessBatchCreateDeviceInfoAsyncError, PostAggregationBusinessBatchCreateDeviceInfoAsyncResponse, GetCommonGetSelectListData, GetCommonGetSelectListError, GetCommonGetSelectListResponse, PostCtWingAccountInsertAsyncData, PostCtWingAccountInsertAsyncError, PostCtWingAccountInsertAsyncResponse, PostCtWingAccountModifyAsyncData, PostCtWingAccountModifyAsyncError, PostCtWingAccountModifyAsyncResponse, PostCtWingAccountDeleteAsyncData, PostCtWingAccountDeleteAsyncError, PostCtWingAccountDeleteAsyncResponse, PostCtWingAccountListAsyncData, PostCtWingAccountListAsyncError, PostCtWingAccountListAsyncResponse, PostCtWingProductInsertAsyncData, PostCtWingProductInsertAsyncError, PostCtWingProductInsertAsyncResponse, PostCtWingProductModifyAsyncData, PostCtWingProductModifyAsyncError, PostCtWingProductModifyAsyncResponse, PostCtWingProductDeleteAsyncData, PostCtWingProductDeleteAsyncError, PostCtWingProductDeleteAsyncResponse, PostCtWingProductGetAsyncData, PostCtWingProductGetAsyncError, PostCtWingProductGetAsyncResponse, PostCtWingProductProductStatusChangeAsyncData, PostCtWingProductProductStatusChangeAsyncError, PostCtWingProductProductStatusChangeAsyncResponse, PostCtWingProductListAsyncData, PostCtWingProductListAsyncError, PostCtWingProductListAsyncResponse, PostCtWingServiceReceiveStatusChangeError, PostCtWingServiceReceiveStatusChangeResponse, PostCtWingServiceReceiveDataChangeError, PostCtWingServiceReceiveDataChangeResponse, PostCtWingServiceReceiveCommandChangeError, PostCtWingServiceReceiveCommandChangeResponse, PostCtWingServiceReceiveEventChangeError, PostCtWingServiceReceiveEventChangeResponse, PostCtWingServiceReceiveDeviceChangeError, PostCtWingServiceReceiveDeviceChangeResponse, PostDataDictionaryPageData, PostDataDictionaryPageError, PostDataDictionaryPageResponse, PostDataDictionaryPageDetailData, PostDataDictionaryPageDetailError, PostDataDictionaryPageDetailResponse, PostDataDictionarySelectDetailData, PostDataDictionarySelectDetailError, PostDataDictionarySelectDetailResponse, PostDataDictionaryCreateData, PostDataDictionaryCreateError, PostDataDictionaryCreateResponse, PostDataDictionaryCreateDetailData, PostDataDictionaryCreateDetailError, PostDataDictionaryCreateDetailResponse, PostDataDictionaryStatusData, PostDataDictionaryStatusError, PostDataDictionaryStatusResponse, PostDataDictionaryUpdateDetailData, PostDataDictionaryUpdateDetailError, PostDataDictionaryUpdateDetailResponse, PostDataDictionaryDeleteData, PostDataDictionaryDeleteError, PostDataDictionaryDeleteResponse, PostDataDictionaryDeleteDataDictionaryTypeData, PostDataDictionaryDeleteDataDictionaryTypeError, PostDataDictionaryDeleteDataDictionaryTypeResponse, PostDataDictionaryUpdateData, PostDataDictionaryUpdateError, PostDataDictionaryUpdateResponse, PostAggregationDeviceCreateAsyncData, PostAggregationDeviceCreateAsyncError, PostAggregationDeviceCreateAsyncResponse, PostAggregationDeviceBatchCreateAsyncData, PostAggregationDeviceBatchCreateAsyncError, PostAggregationDeviceBatchCreateAsyncResponse, PostAggregationDeviceDeleteAsyncData, PostAggregationDeviceDeleteAsyncError, PostAggregationDeviceDeleteAsyncResponse, PostAggregationDeviceFindByIdAsyncData, PostAggregationDeviceFindByIdAsyncError, PostAggregationDeviceFindByIdAsyncResponse, PostAggregationDeviceRepushDeviceInfoToIoTplatformData, PostAggregationDeviceRepushDeviceInfoToIoTplatformError, PostAggregationDeviceRepushDeviceInfoToIoTplatformResponse, PostAggregationDeviceDeviceCommandForApiAsyncData, PostAggregationDeviceDeviceCommandForApiAsyncError, PostAggregationDeviceDeviceCommandForApiAsyncResponse, PostAggregationDeviceGetDevicePropertyValueForApiAsyncData, PostAggregationDeviceGetDevicePropertyValueForApiAsyncError, PostAggregationDeviceGetDevicePropertyValueForApiAsyncResponse, PostAggregationDeviceDeviceUpgradeForApiAsyncData, PostAggregationDeviceDeviceUpgradeForApiAsyncError, PostAggregationDeviceDeviceUpgradeForApiAsyncResponse, PostAggregationDeviceDeviceBatchUpgradeForApiAsyncData, PostAggregationDeviceDeviceBatchUpgradeForApiAsyncError, PostAggregationDeviceDeviceBatchUpgradeForApiAsyncResponse, PostAggregationDeviceDownloadFirmwareData, PostAggregationDeviceDownloadFirmwareError, PostAggregationDeviceDownloadFirmwareResponse, GetAggregationDeviceDownloadFirmwareData, GetAggregationDeviceDownloadFirmwareError, GetAggregationDeviceDownloadFirmwareResponse, PostFirmwareInfoCreateAsyncData, PostFirmwareInfoCreateAsyncError, PostFirmwareInfoCreateAsyncResponse, PostFirmwareInfoUpdateAsyncData, PostFirmwareInfoUpdateAsyncError, PostFirmwareInfoUpdateAsyncResponse, PostFirmwareInfoDeleteAsyncData, PostFirmwareInfoDeleteAsyncError, PostFirmwareInfoDeleteAsyncResponse, PostFirmwareInfoFindByIdAsyncData, PostFirmwareInfoFindByIdAsyncError, PostFirmwareInfoFindByIdAsyncResponse, PostFirmwareInfoUpdateStatusByIdAsyncData, PostFirmwareInfoUpdateStatusByIdAsyncError, PostFirmwareInfoUpdateStatusByIdAsyncResponse, PostFirmwareInfoFindByDeviceProductIdAsyncData, PostFirmwareInfoFindByDeviceProductIdAsyncError, PostFirmwareInfoFindByDeviceProductIdAsyncResponse, PostFirmwareInfoPageData, PostFirmwareInfoPageError, PostFirmwareInfoPageResponse, PostDeviceInfoFindByDeviceAddressData, PostDeviceInfoFindByDeviceAddressError, PostDeviceInfoFindByDeviceAddressResponse, PostDeviceInfoPageData, PostDeviceInfoPageError, PostDeviceInfoPageResponse, PostDeviceInfoCacheDeviceDataToRedisError, PostDeviceInfoCacheDeviceDataToRedisResponse, PostDeviceInfoBindingDeviceThingModelData, PostDeviceInfoBindingDeviceThingModelError, PostDeviceInfoBindingDeviceThingModelResponse, PostDeviceThingModelManagementCreateAsyncData, PostDeviceThingModelManagementCreateAsyncError, PostDeviceThingModelManagementCreateAsyncResponse, PostDeviceThingModelManagementUpdateAsyncData, PostDeviceThingModelManagementUpdateAsyncError, PostDeviceThingModelManagementUpdateAsyncResponse, PostDeviceThingModelManagementDeleteAsyncData, PostDeviceThingModelManagementDeleteAsyncError, PostDeviceThingModelManagementDeleteAsyncResponse, PostDeviceThingModelManagementFindByIdAsyncData, PostDeviceThingModelManagementFindByIdAsyncError, PostDeviceThingModelManagementFindByIdAsyncResponse, PostDeviceThingModelManagementGetDeviceThingModelAllInfoByIdAsyncData, PostDeviceThingModelManagementGetDeviceThingModelAllInfoByIdAsyncError, PostDeviceThingModelManagementGetDeviceThingModelAllInfoByIdAsyncResponse, PostDeviceThingModelManagementBuildAnalysisScriptByIdAsyncData, PostDeviceThingModelManagementBuildAnalysisScriptByIdAsyncError, PostDeviceThingModelManagementBuildAnalysisScriptByIdAsyncResponse, PostDeviceThingModelManagementBuildAnalysisScriptAsyncData, PostDeviceThingModelManagementBuildAnalysisScriptAsyncError, PostDeviceThingModelManagementBuildAnalysisScriptAsyncResponse, PostDeviceThingModelManagementUpdateAnalysisScriptByIdAsyncData, PostDeviceThingModelManagementUpdateAnalysisScriptByIdAsyncError, PostDeviceThingModelManagementUpdateAnalysisScriptByIdAsyncResponse, PostDeviceThingModelManagementMessageAnalysisTestAsyncData, PostDeviceThingModelManagementMessageAnalysisTestAsyncError, PostDeviceThingModelManagementMessageAnalysisTestAsyncResponse, PostDeviceThingModelManagementFindByPlatformProductIdAsyncData, PostDeviceThingModelManagementFindByPlatformProductIdAsyncError, PostDeviceThingModelManagementFindByPlatformProductIdAsyncResponse, PostDeviceThingModelManagementCopyAnotherDeviceThingModelAsyncData, PostDeviceThingModelManagementCopyAnotherDeviceThingModelAsyncError, PostDeviceThingModelManagementCopyAnotherDeviceThingModelAsyncResponse, PostDeviceThingModelManagementCopyIoTplatformThingModelToDeviceAsyncData, PostDeviceThingModelManagementCopyIoTplatformThingModelToDeviceAsyncError, PostDeviceThingModelManagementCopyIoTplatformThingModelToDeviceAsyncResponse, PostDeviceThingModelManagementPageAsyncData, PostDeviceThingModelManagementPageAsyncError, PostDeviceThingModelManagementPageAsyncResponse, PostDeviceThingModelManagementPropertyCreateAsyncData, PostDeviceThingModelManagementPropertyCreateAsyncError, PostDeviceThingModelManagementPropertyCreateAsyncResponse, PostDeviceThingModelManagementPropertyUpdateAsyncData, PostDeviceThingModelManagementPropertyUpdateAsyncError, PostDeviceThingModelManagementPropertyUpdateAsyncResponse, PostDeviceThingModelManagementPropertyDeleteAsyncData, PostDeviceThingModelManagementPropertyDeleteAsyncError, PostDeviceThingModelManagementPropertyDeleteAsyncResponse, PostDeviceThingModelManagementPropertyFindByIdAsyncData, PostDeviceThingModelManagementPropertyFindByIdAsyncError, PostDeviceThingModelManagementPropertyFindByIdAsyncResponse, PostDeviceThingModelManagementPropertyPageAsyncData, PostDeviceThingModelManagementPropertyPageAsyncError, PostDeviceThingModelManagementPropertyPageAsyncResponse, PostDeviceThingModelManagementCommandCreateAsyncData, PostDeviceThingModelManagementCommandCreateAsyncError, PostDeviceThingModelManagementCommandCreateAsyncResponse, PostDeviceThingModelManagementCommandUpdateAsyncData, PostDeviceThingModelManagementCommandUpdateAsyncError, PostDeviceThingModelManagementCommandUpdateAsyncResponse, PostDeviceThingModelManagementCommandDeleteAsyncData, PostDeviceThingModelManagementCommandDeleteAsyncError, PostDeviceThingModelManagementCommandDeleteAsyncResponse, PostDeviceThingModelManagementCommandFindByIdAsyncData, PostDeviceThingModelManagementCommandFindByIdAsyncError, PostDeviceThingModelManagementCommandFindByIdAsyncResponse, PostDeviceThingModelManagementCommandPageAsyncData, PostDeviceThingModelManagementCommandPageAsyncError, PostDeviceThingModelManagementCommandPageAsyncResponse, PostDeviceThingModelManagementCacheDeviceThingModelToRedisAsyncData, PostDeviceThingModelManagementCacheDeviceThingModelToRedisAsyncError, PostDeviceThingModelManagementCacheDeviceThingModelToRedisAsyncResponse, PostDeviceThingModelManagementCacheAllDeviceThingModelToRedisAsyncError, PostDeviceThingModelManagementCacheAllDeviceThingModelToRedisAsyncResponse, PostUpgradeRecordUpdateStatusAsyncData, PostUpgradeRecordUpdateStatusAsyncError, PostUpgradeRecordUpdateStatusAsyncResponse, PostUpgradeRecordBatchUpdateStatusAsyncData, PostUpgradeRecordBatchUpdateStatusAsyncError, PostUpgradeRecordBatchUpdateStatusAsyncResponse, PostUpgradeRecordDeleteAsyncData, PostUpgradeRecordDeleteAsyncError, PostUpgradeRecordDeleteAsyncResponse, PostUpgradeRecordPageData, PostUpgradeRecordPageError, PostUpgradeRecordPageResponse, PostFeaturesListData, PostFeaturesListError, PostFeaturesListResponse, PostFeaturesUpdateData, PostFeaturesUpdateError, PostFeaturesUpdateResponse, PostFeaturesDeleteData, PostFeaturesDeleteError, PostFeaturesDeleteResponse, PostFilesPageData, PostFilesPageError, PostFilesPageResponse, PostFilesUploadData, PostFilesUploadError, PostFilesUploadResponse, PostFilesDeleteData, PostFilesDeleteError, PostFilesDeleteResponse, PostFilesDownloadData, PostFilesDownloadError, PostFilesDownloadResponse, PostIdentitySecurityLogsPageData, PostIdentitySecurityLogsPageError, PostIdentitySecurityLogsPageResponse, PostAggregationIoTplatformGetIoTplatformProductInfoAsyncData, PostAggregationIoTplatformGetIoTplatformProductInfoAsyncError, PostAggregationIoTplatformGetIoTplatformProductInfoAsyncResponse, PostAggregationIoTplatformGetIoTplatformAccountInfoAsyncData, PostAggregationIoTplatformGetIoTplatformAccountInfoAsyncError, PostAggregationIoTplatformGetIoTplatformAccountInfoAsyncResponse, PostAggregationIoTplatformGetIoTplatformProductPropertyInfoAsyncData, PostAggregationIoTplatformGetIoTplatformProductPropertyInfoAsyncError, PostAggregationIoTplatformGetIoTplatformProductPropertyInfoAsyncResponse, PostAggregationIoTplatformUpdateIoTplatformProductPropertyInfoAsyncData, PostAggregationIoTplatformUpdateIoTplatformProductPropertyInfoAsyncError, PostAggregationIoTplatformUpdateIoTplatformProductPropertyInfoAsyncResponse, PostIoTplatformThingModelInfoCreateAsyncData, PostIoTplatformThingModelInfoCreateAsyncError, PostIoTplatformThingModelInfoCreateAsyncResponse, PostIoTplatformThingModelInfoUpdateAsyncData, PostIoTplatformThingModelInfoUpdateAsyncError, PostIoTplatformThingModelInfoUpdateAsyncResponse, PostIoTplatformThingModelInfoDeleteAsyncData, PostIoTplatformThingModelInfoDeleteAsyncError, PostIoTplatformThingModelInfoDeleteAsyncResponse, PostIoTplatformThingModelInfoFindByIdAsyncData, PostIoTplatformThingModelInfoFindByIdAsyncError, PostIoTplatformThingModelInfoFindByIdAsyncResponse, PostIoTplatformThingModelInfoFindByPlatformProductIdAsyncData, PostIoTplatformThingModelInfoFindByPlatformProductIdAsyncError, PostIoTplatformThingModelInfoFindByPlatformProductIdAsyncResponse, PostIoTplatformThingModelInfoCopyAnotherThingModelAsyncData, PostIoTplatformThingModelInfoCopyAnotherThingModelAsyncError, PostIoTplatformThingModelInfoCopyAnotherThingModelAsyncResponse, PostIoTplatformThingModelInfoCopyStandardThingModelData, PostIoTplatformThingModelInfoCopyStandardThingModelError, PostIoTplatformThingModelInfoCopyStandardThingModelResponse, PostIoTplatformThingModelInfoPageAsyncData, PostIoTplatformThingModelInfoPageAsyncError, PostIoTplatformThingModelInfoPageAsyncResponse, PostIoTplatformThingModelInfoStandardThingModelPageAsyncError, PostIoTplatformThingModelInfoStandardThingModelPageAsyncResponse, PostLanguagesAllError, PostLanguagesAllResponse, PostLanguagesPageData, PostLanguagesPageError, PostLanguagesPageResponse, PostLanguagesCreateData, PostLanguagesCreateError, PostLanguagesCreateResponse, PostLanguagesUpdateData, PostLanguagesUpdateError, PostLanguagesUpdateResponse, PostLanguagesDeleteData, PostLanguagesDeleteError, PostLanguagesDeleteResponse, PostLanguagesSetDefaultData, PostLanguagesSetDefaultError, PostLanguagesSetDefaultResponse, PostLanguageTextsAllResourceError, PostLanguageTextsAllResourceResponse, PostLanguageTextsPageData, PostLanguageTextsPageError, PostLanguageTextsPageResponse, PostLanguageTextsCreateData, PostLanguageTextsCreateError, PostLanguageTextsCreateResponse, PostLanguageTextsUpdateData, PostLanguageTextsUpdateError, PostLanguageTextsUpdateResponse, PostMenusUserMenuError, PostMenusUserMenuResponse, PostMenusPageData, PostMenusPageError, PostMenusPageResponse, PostMenusCreateData, PostMenusCreateError, PostMenusCreateResponse, PostMenusUpdateData, PostMenusUpdateError, PostMenusUpdateResponse, PostMenusDeleteData, PostMenusDeleteError, PostMenusDeleteResponse, PostMenusTreeError, PostMenusTreeResponse, PostNotificationNotificationPageData, PostNotificationNotificationPageError, PostNotificationNotificationPageResponse, PostNotificationNotificationSubscriptionPageData, PostNotificationNotificationSubscriptionPageError, PostNotificationNotificationSubscriptionPageResponse, PostNotificationDeleteData, PostNotificationDeleteError, PostNotificationDeleteResponse, PostNotificationSendCommonWarningMessageData, PostNotificationSendCommonWarningMessageError, PostNotificationSendCommonWarningMessageResponse, PostNotificationSendCommonInformationMessageData, PostNotificationSendCommonInformationMessageError, PostNotificationSendCommonInformationMessageResponse, PostNotificationSendCommonErrorMessageData, PostNotificationSendCommonErrorMessageError, PostNotificationSendCommonErrorMessageResponse, PostNotificationSendBroadCastWarningMessageData, PostNotificationSendBroadCastWarningMessageError, PostNotificationSendBroadCastWarningMessageResponse, PostNotificationSendBroadCastInformationMessageData, PostNotificationSendBroadCastInformationMessageError, PostNotificationSendBroadCastInformationMessageResponse, PostNotificationSendBroadCastErrorMessageData, PostNotificationSendBroadCastErrorMessageError, PostNotificationSendBroadCastErrorMessageResponse, PostNotificationReadData, PostNotificationReadError, PostNotificationReadResponse, PostNotificationBatchReadData, PostNotificationBatchReadError, PostNotificationBatchReadResponse, PostOneNetAccountInsertAsyncData, PostOneNetAccountInsertAsyncError, PostOneNetAccountInsertAsyncResponse, PostOneNetAccountModifyAsyncData, PostOneNetAccountModifyAsyncError, PostOneNetAccountModifyAsyncResponse, PostOneNetAccountDeleteAsyncData, PostOneNetAccountDeleteAsyncError, PostOneNetAccountDeleteAsyncResponse, PostOneNetAccountListAsyncData, PostOneNetAccountListAsyncError, PostOneNetAccountListAsyncResponse, PostOneNetProductInsertAsyncData, PostOneNetProductInsertAsyncError, PostOneNetProductInsertAsyncResponse, PostOneNetProductModifyAsyncData, PostOneNetProductModifyAsyncError, PostOneNetProductModifyAsyncResponse, PostOneNetProductDeleteAsyncData, PostOneNetProductDeleteAsyncError, PostOneNetProductDeleteAsyncResponse, PostOneNetProductGetAsyncData, PostOneNetProductGetAsyncError, PostOneNetProductGetAsyncResponse, PostOneNetProductProductStatusChangeAsyncData, PostOneNetProductProductStatusChangeAsyncError, PostOneNetProductProductStatusChangeAsyncResponse, PostOneNetProductUpdateThingModelAsyncData, PostOneNetProductUpdateThingModelAsyncError, PostOneNetProductUpdateThingModelAsyncResponse, PostOneNetProductListAsyncData, PostOneNetProductListAsyncError, PostOneNetProductListAsyncResponse, PostOneNetServiceReceivePlaintextDataChangeData, PostOneNetServiceReceivePlaintextDataChangeError, PostOneNetServiceReceivePlaintextDataChangeResponse, GetOneNetServiceReceivePlaintextDataChangeData, GetOneNetServiceReceivePlaintextDataChangeError, GetOneNetServiceReceivePlaintextDataChangeResponse, PostOneNetServiceReceiveCiphertextDataChangeData, PostOneNetServiceReceiveCiphertextDataChangeError, PostOneNetServiceReceiveCiphertextDataChangeResponse, GetOneNetServiceReceiveCiphertextDataChangeData, GetOneNetServiceReceiveCiphertextDataChangeError, GetOneNetServiceReceiveCiphertextDataChangeResponse, GetOneNetServiceCheckLocalMemroyData, GetOneNetServiceCheckLocalMemroyError, GetOneNetServiceCheckLocalMemroyResponse, PostOrganizationUnitsTreeError, PostOrganizationUnitsTreeResponse, PostOrganizationUnitsCreateData, PostOrganizationUnitsCreateError, PostOrganizationUnitsCreateResponse, PostOrganizationUnitsDeleteData, PostOrganizationUnitsDeleteError, PostOrganizationUnitsDeleteResponse, PostOrganizationUnitsUpdateData, PostOrganizationUnitsUpdateError, PostOrganizationUnitsUpdateResponse, PostOrganizationUnitsAddRoleToOrganizationUnitAsyncData, PostOrganizationUnitsAddRoleToOrganizationUnitAsyncError, PostOrganizationUnitsAddRoleToOrganizationUnitAsyncResponse, PostOrganizationUnitsRemoveRoleFromOrganizationUnitAsyncData, PostOrganizationUnitsRemoveRoleFromOrganizationUnitAsyncError, PostOrganizationUnitsRemoveRoleFromOrganizationUnitAsyncResponse, PostOrganizationUnitsAddUserToOrganizationUnitData, PostOrganizationUnitsAddUserToOrganizationUnitError, PostOrganizationUnitsAddUserToOrganizationUnitResponse, PostOrganizationUnitsRemoveUserFromOrganizationUnitData, PostOrganizationUnitsRemoveUserFromOrganizationUnitError, PostOrganizationUnitsRemoveUserFromOrganizationUnitResponse, PostOrganizationUnitsGetUsersData, PostOrganizationUnitsGetUsersError, PostOrganizationUnitsGetUsersResponse, PostOrganizationUnitsGetRolesData, PostOrganizationUnitsGetRolesError, PostOrganizationUnitsGetRolesResponse, PostOrganizationUnitsGetUnAddUsersData, PostOrganizationUnitsGetUnAddUsersError, PostOrganizationUnitsGetUnAddUsersResponse, PostOrganizationUnitsGetUnAddRolesData, PostOrganizationUnitsGetUnAddRolesError, PostOrganizationUnitsGetUnAddRolesResponse, PostPermissionsTreeData, PostPermissionsTreeError, PostPermissionsTreeResponse, PostPermissionsUpdateData, PostPermissionsUpdateError, PostPermissionsUpdateResponse, PostRolesAllError, PostRolesAllResponse, PostRolesPageData, PostRolesPageError, PostRolesPageResponse, PostRolesCreateData, PostRolesCreateError, PostRolesCreateResponse, PostRolesUpdateData, PostRolesUpdateError, PostRolesUpdateResponse, PostRolesDeleteData, PostRolesDeleteError, PostRolesDeleteResponse, GetApiAppAbpProBasicApplicationConfigurationError, GetApiAppAbpProBasicApplicationConfigurationResponse, PostSettingsAllError, PostSettingsAllResponse, PostSettingsUpdateData, PostSettingsUpdateError, PostSettingsUpdateResponse, PostTableModelPacketInfoPageData, PostTableModelPacketInfoPageError, PostTableModelPacketInfoPageResponse, PostTableModelDeviceDataInfoPageData, PostTableModelDeviceDataInfoPageError, PostTableModelDeviceDataInfoPageResponse, PostTableModelCtWingLogInfoData, PostTableModelCtWingLogInfoError, PostTableModelCtWingLogInfoResponse, PostTableModelOneNetLogInfoData, PostTableModelOneNetLogInfoError, PostTableModelOneNetLogInfoResponse, PostTenantsFindData, PostTenantsFindError, PostTenantsFindResponse, PostTenantsPageData, PostTenantsPageError, PostTenantsPageResponse, PostTenantsCreateData, PostTenantsCreateError, PostTenantsCreateResponse, PostTenantsUpdateData, PostTenantsUpdateError, PostTenantsUpdateResponse, PostTenantsDeleteData, PostTenantsDeleteError, PostTenantsDeleteResponse, PostTenantsPageConnectionStringData, PostTenantsPageConnectionStringError, PostTenantsPageConnectionStringResponse, PostTenantsAddOrUpdateConnectionStringData, PostTenantsAddOrUpdateConnectionStringError, PostTenantsAddOrUpdateConnectionStringResponse, PostTenantsDeleteConnectionStringData, PostTenantsDeleteConnectionStringError, PostTenantsDeleteConnectionStringResponse, PostTextTemplatesPageData, PostTextTemplatesPageError, PostTextTemplatesPageResponse, PostTextTemplatesCreateData, PostTextTemplatesCreateError, PostTextTemplatesCreateResponse, PostTextTemplatesUpdateData, PostTextTemplatesUpdateError, PostTextTemplatesUpdateResponse, PostTextTemplatesDeleteData, PostTextTemplatesDeleteError, PostTextTemplatesDeleteResponse, PostTextTemplatesExportData, PostTextTemplatesExportError, PostTextTemplatesExportResponse, PostTreeModelDeviceDataInfoPageData, PostTreeModelDeviceDataInfoPageError, PostTreeModelDeviceDataInfoPageResponse, PostUsersPageData, PostUsersPageError, PostUsersPageResponse, PostUsersListData, PostUsersListError, PostUsersListResponse, PostUsersExportData, PostUsersExportError, PostUsersExportResponse, PostUsersCreateData, PostUsersCreateError, PostUsersCreateResponse, PostUsersUpdateData, PostUsersUpdateError, PostUsersUpdateResponse, PostUsersDeleteData, PostUsersDeleteError, PostUsersDeleteResponse, PostUsersRoleData, PostUsersRoleError, PostUsersRoleResponse, PostUsersChangePasswordData, PostUsersChangePasswordError, PostUsersChangePasswordResponse, PostUsersResetPasswordData, PostUsersResetPasswordError, PostUsersResetPasswordResponse, PostUsersLockData, PostUsersLockError, PostUsersLockResponse, PostUsersFindByUserNameData, PostUsersFindByUserNameError, PostUsersFindByUserNameResponse, PostUsersMyProfileError, PostUsersMyProfileResponse, PostUsersCanUseTwoFactorError, PostUsersCanUseTwoFactorResponse, PostUsersGetQrCodeError, PostUsersGetQrCodeResponse, PostUsersEnabledTwoFactorData, PostUsersEnabledTwoFactorError, PostUsersEnabledTwoFactorResponse, PostUsersDisabledTwoFactorData, PostUsersDisabledTwoFactorError, PostUsersDisabledTwoFactorResponse, PostUsersResetTwoFactorData, PostUsersResetTwoFactorError, PostUsersResetTwoFactorResponse, PostUsersNeedChangePasswordError, PostUsersNeedChangePasswordResponse, PostAggregationWorkshopReceiveWorkshopProductionInfoAsyncData, PostAggregationWorkshopReceiveWorkshopProductionInfoAsyncError, PostAggregationWorkshopReceiveWorkshopProductionInfoAsyncResponse, PostAggregationWorkshopGetProductListAsyncData, PostAggregationWorkshopGetProductListAsyncError, PostAggregationWorkshopGetProductListAsyncResponse } from './types.gen'; export const client = createClient(createConfig()); @@ -456,6 +456,16 @@ export const postAggregationDeviceDeviceUpgradeForApiAsync = (options?: Options) => { + return (options?.client ?? client).post({ + ...options, + url: '/Aggregation/Device/DeviceBatchUpgradeForApiAsync' + }); +}; + /** * 下载设备固件文件 */ @@ -836,6 +846,26 @@ export const postDeviceThingModelManagementCacheAllDeviceThingModelToRedisAsync }); }; +/** + * 更新设备升级记录状态信息 + */ +export const postUpgradeRecordUpdateStatusAsync = (options?: Options) => { + return (options?.client ?? client).post({ + ...options, + url: '/UpgradeRecord/UpdateStatusAsync' + }); +}; + +/** + * 批量更新设备升级记录状态信息 + */ +export const postUpgradeRecordBatchUpdateStatusAsync = (options?: Options) => { + return (options?.client ?? client).post({ + ...options, + url: '/UpgradeRecord/BatchUpdateStatusAsync' + }); +}; + /** * 删除设备升级记录信息 */ diff --git a/apps/web-antd/src/api-client/types.gen.ts b/apps/web-antd/src/api-client/types.gen.ts index 08149b9..7b21278 100644 --- a/apps/web-antd/src/api-client/types.gen.ts +++ b/apps/web-antd/src/api-client/types.gen.ts @@ -172,6 +172,17 @@ export type BatchCreateDeviceAggregationInput = { deviceSourceTypeEnum?: DeviceSourceTypeEnum; }; +/** + * 批量更新设备升级记录状态信息输入 + */ +export type BatchUpdateStatusInput = { + /** + * 设备升级记录Id集合 + */ + ids: Array<(string)>; + upgradeStatus: DeviceUpgradeStatusTypeEnum; +}; + /** * 绑定设备物模型输入 */ @@ -1106,6 +1117,29 @@ export type DeleteTextTemplateInput = { id?: string; }; +/** + * 设备批量升级信息 + */ +export type DeviceBatchUpgradeForApiInput = { + /** + * 设备地址列表 + */ + addressList: Array<(string)>; + ioTPlatform: IoTPlatformTypeEnum; + /** + * 物联网平台中对应的产品Id + */ + ioTPlatformProductId: string; + /** + * 固件版本信息 + */ + nowFirmwareVersionDataId: string; + /** + * 升级描述 + */ + upgradeDescription?: (string) | null; +}; + /** * 设备命令 */ @@ -6086,6 +6120,17 @@ export type UpdateSettingInput = { } | null; }; +/** + * 更新升级状态 + */ +export type UpdateStatusInput = { + /** + * 设备升级记录Id + */ + id: string; + upgradeStatus: DeviceUpgradeStatusTypeEnum; +}; + export type UpdateTenantInput = { id?: string; name?: (string) | null; @@ -6537,6 +6582,16 @@ export type PostAggregationDeviceDeviceUpgradeForApiAsyncResponse = (boolean); export type PostAggregationDeviceDeviceUpgradeForApiAsyncError = unknown; +export type PostAggregationDeviceDeviceBatchUpgradeForApiAsyncData = { + query?: { + input?: DeviceBatchUpgradeForApiInput; + }; +}; + +export type PostAggregationDeviceDeviceBatchUpgradeForApiAsyncResponse = (boolean); + +export type PostAggregationDeviceDeviceBatchUpgradeForApiAsyncError = unknown; + export type PostAggregationDeviceDownloadFirmwareData = { query?: { input?: IdInput; @@ -6907,6 +6962,26 @@ export type PostDeviceThingModelManagementCacheAllDeviceThingModelToRedisAsyncRe export type PostDeviceThingModelManagementCacheAllDeviceThingModelToRedisAsyncError = unknown; +export type PostUpgradeRecordUpdateStatusAsyncData = { + query?: { + input?: UpdateStatusInput; + }; +}; + +export type PostUpgradeRecordUpdateStatusAsyncResponse = (DeviceUpgradeRecordDto); + +export type PostUpgradeRecordUpdateStatusAsyncError = unknown; + +export type PostUpgradeRecordBatchUpdateStatusAsyncData = { + query?: { + input?: BatchUpdateStatusInput; + }; +}; + +export type PostUpgradeRecordBatchUpdateStatusAsyncResponse = (DeviceUpgradeRecordDto); + +export type PostUpgradeRecordBatchUpdateStatusAsyncError = unknown; + export type PostUpgradeRecordDeleteAsyncData = { query?: { input?: IdInput; diff --git a/apps/web-antd/src/views/devicemanagement/deviceinfo/index.vue b/apps/web-antd/src/views/devicemanagement/deviceinfo/index.vue index dafc921..3e88fe9 100644 --- a/apps/web-antd/src/views/devicemanagement/deviceinfo/index.vue +++ b/apps/web-antd/src/views/devicemanagement/deviceinfo/index.vue @@ -24,6 +24,7 @@ import { postAggregationDeviceBatchCreateAsync, postAggregationDeviceCreateAsync, postAggregationDeviceDeleteAsync, + postAggregationDeviceDeviceBatchUpgradeForApiAsync, postAggregationDeviceDeviceCommandForApiAsync, postAggregationDeviceDeviceUpgradeForApiAsync, postAggregationDeviceGetDevicePropertyValueForApiAsync, @@ -31,7 +32,6 @@ import { postDeviceInfoBindingDeviceThingModel, postDeviceInfoCacheDeviceDataToRedis, postDeviceInfoPage, - postFirmwareInfoFindByDeviceProductIdAsync, postIoTplatformThingModelInfoPageAsync, } from '#/api-client'; import { Icon } from '#/components/icon'; @@ -42,6 +42,7 @@ import { $t } from '#/locales'; import { addDeviceFormSchema, batchAddDeviceFormSchema, + batchUpgradeDeviceFormSchema, bindDeviceThingModelFormSchema, commandFormSchema, deviceUpgradeFormSchema, @@ -70,10 +71,8 @@ const formOptions: VbenFormProps = { } // 当平台类型变化时,清除产品ID(因为不同平台的产品列表不同) - if (changedFields.includes('ioTPlatform')) { - if (gridApi?.formApi) { - await gridApi.formApi.setFieldValue('ioTPlatformProductId', undefined); - } + if (changedFields.includes('ioTPlatform') && gridApi?.formApi) { + await gridApi.formApi.setFieldValue('ioTPlatformProductId', undefined); } // 当产品切换时,触发搜索 @@ -765,6 +764,259 @@ const [BatchAddModal, batchAddModalApi] = useVbenModal({ }, }); +// 批量设备升级表单 +const [BatchUpgradeForm, batchUpgradeFormApi] = useVbenForm({ + collapsed: false, + commonConfig: { + labelWidth: 120, + componentProps: { + class: 'w-full', + }, + }, + layout: 'horizontal', + schema: batchUpgradeDeviceFormSchema.value, + showCollapseButton: false, + showDefaultActions: false, + wrapperClass: 'grid-cols-1', + handleValuesChange: async (values, changedFields) => { + // 当账号切换时,清空产品名称字段 + if (changedFields.includes('ioTPlatformAccountId')) { + await batchUpgradeFormApi.setFieldValue( + 'ioTPlatformProductId', + undefined, + ); + await batchUpgradeFormApi.setFieldValue('targetVersionId', undefined); + } + // 当产品ID变化时,触发目标版本字段重新加载 + if (changedFields.includes('ioTPlatformProductId')) { + await nextTick(); + await batchUpgradeFormApi.setFieldValue('targetVersionId', undefined); + } + }, +}); + +// 批量设备升级提交逻辑 +const submitBatchUpgrade = async () => { + const { valid } = await batchUpgradeFormApi.validate(); + if (!valid) return; + + const formValues = await batchUpgradeFormApi.getValues(); + + // 处理设备地址列表 + const addressList = formValues.addressList + .split('\n') + .map((address: string) => address.trim()) + .filter((address: string) => address.length > 0); + + if (addressList.length === 0) { + Message.error('请输入至少一个设备地址'); + return; + } + + // 验证必要字段 + if (!formValues.ioTPlatform) { + Message.error('请选择平台类型'); + return; + } + + if (!formValues.ioTPlatformProductId) { + Message.error('请选择产品'); + return; + } + + // 验证目标版本 + if (!formValues.targetVersionId) { + Message.error('请选择目标版本'); + return; + } + + try { + batchUpgradeModalApi.setState({ loading: true, confirmLoading: true }); + + // 调用批量升级接口 + const result = await postAggregationDeviceDeviceBatchUpgradeForApiAsync({ + body: { + addressList, + ioTPlatform: + typeof formValues.ioTPlatform === 'string' + ? Number.parseInt(formValues.ioTPlatform) + : formValues.ioTPlatform, + ioTPlatformProductId: String(formValues.ioTPlatformProductId), + nowFirmwareVersionDataId: formValues.targetVersionId, + upgradeDescription: formValues.upgradeDescription || null, + }, + }); + + if (result.data) { + Message.success(`批量升级任务已提交,共 ${addressList.length} 个设备`); + batchUpgradeModalApi.close(); + batchUpgradeFormApi.resetForm(); + gridApi.reload(); + } else { + Message.error('批量升级失败'); + } + } catch (error) { + console.error('批量升级失败:', error); + Message.error('批量升级失败'); + } finally { + batchUpgradeModalApi.setState({ loading: false, confirmLoading: false }); + } +}; + +// 批量升级地址行数 +const batchUpgradeAddressLines = ref(0); + +// 监听批量升级表单值变化,实时更新行数 +watch( + () => batchUpgradeFormApi.getValues()?.addressList, + (newValue) => { + try { + if (!newValue || typeof newValue !== 'string') { + batchUpgradeAddressLines.value = 0; + return; + } + const lines = newValue.split('\n').filter((line: string) => line.trim()); + batchUpgradeAddressLines.value = lines.length; + } catch { + batchUpgradeAddressLines.value = 0; + } + }, + { immediate: true }, +); + +// 监听表单值变化,实时更新行数(备用方案) +watch( + () => batchUpgradeFormApi.getValues(), + (formValues) => { + try { + const addressList = formValues?.addressList; + if (!addressList || typeof addressList !== 'string') { + batchUpgradeAddressLines.value = 0; + return; + } + const lines = addressList + .split('\n') + .filter((line: string) => line.trim()); + batchUpgradeAddressLines.value = lines.length; + } catch { + batchUpgradeAddressLines.value = 0; + } + }, + { deep: true, immediate: true }, +); + +// 使用定时器定期检查批量升级行数(第三种方案) +let batchUpgradeLineCheckInterval: NodeJS.Timeout | null = null; + +// 在批量升级模态框打开时启动定时器 +const startBatchUpgradeLineCheck = () => { + if (batchUpgradeLineCheckInterval) { + clearInterval(batchUpgradeLineCheckInterval); + } + batchUpgradeLineCheckInterval = setInterval(() => { + try { + // 尝试多种方式获取表单值 + let addressList = ''; + + // 方式1:直接获取 + const formValues = batchUpgradeFormApi.getValues(); + addressList = formValues?.addressList || ''; + + // 方式2:如果方式1失败,尝试其他方法 + if (!addressList) { + try { + const rawValues = batchUpgradeFormApi.getValues(); + addressList = rawValues?.addressList || ''; + } catch (error) { + console.log('方式2失败:', error); + } + } + + // 方式3:直接从DOM获取 + if (!addressList) { + const textarea = document.querySelector( + 'textarea[name="addressList"]', + ) as HTMLTextAreaElement; + if (textarea) { + addressList = textarea.value; + } + } + + if (addressList && typeof addressList === 'string') { + const lines = addressList + .split('\n') + .filter((line: string) => line.trim()); + const newLineCount = lines.length; + console.log( + '批量升级计算出的行数:', + newLineCount, + '当前行数:', + batchUpgradeAddressLines.value, + ); + // 无论是否相同都更新,确保响应式触发 + if (newLineCount !== batchUpgradeAddressLines.value) { + console.log('批量升级更新行数:', newLineCount); + batchUpgradeAddressLines.value = newLineCount; + // 使用 nextTick 确保 DOM 更新 + nextTick(() => { + console.log( + '批量升级行数已更新到:', + batchUpgradeAddressLines.value, + ); + }); + } + } else { + // 如果地址列表为空,重置为0 + if (batchUpgradeAddressLines.value !== 0) { + batchUpgradeAddressLines.value = 0; + } + } + } catch (error) { + console.error('定时器检查批量升级行数失败:', error); + } + }, 300); +}; + +// 在批量升级模态框关闭时清除定时器 +const stopBatchUpgradeLineCheck = () => { + if (batchUpgradeLineCheckInterval) { + clearInterval(batchUpgradeLineCheckInterval); + batchUpgradeLineCheckInterval = null; + } +}; + +// 打开批量升级弹窗 +const openBatchUpgradeModal = () => { + batchUpgradeFormApi.resetForm(); + batchUpgradeAddressLines.value = 0; // 重置行数 + batchUpgradeModalApi.open(); +}; + +const [BatchUpgradeModal, batchUpgradeModalApi] = useVbenModal({ + draggable: true, + onConfirm: submitBatchUpgrade, + onBeforeClose: () => { + batchUpgradeFormApi.resetForm(); + batchUpgradeAddressLines.value = 0; // 重置行数 + stopBatchUpgradeLineCheck(); + return true; + }, + onOpenChange: (isOpen) => { + if (isOpen) { + // 模态框打开时启动行数检查 + setTimeout(() => { + startBatchUpgradeLineCheck(); + }, 100); + } else { + // 模态框关闭时停止行数检查 + stopBatchUpgradeLineCheck(); + } + }, +}); + +// 获取批量升级模态框的状态 +const batchUpgradeModalState = batchUpgradeModalApi.useStore(); + // 设备升级表单 const [UpgradeForm, upgradeFormApi] = useVbenForm({ collapsed: false, @@ -1640,6 +1892,13 @@ const toolbarActions = computed(() => [ onClick: openBatchBindModal, auth: ['AbpIdentity.Users.Create'], }, + { + label: '批量升级', + type: 'default', + icon: 'ant-design:link-outlined', + onClick: openBatchUpgradeModal, + auth: ['AbpIdentity.Users.Create'], + }, { label: cacheRefreshLoading.value ? $t('common.loading') @@ -1820,5 +2079,26 @@ const toolbarActions = computed(() => [ + + + + diff --git a/apps/web-antd/src/views/devicemanagement/deviceinfo/schema.ts b/apps/web-antd/src/views/devicemanagement/deviceinfo/schema.ts index 94fb305..d1120c5 100644 --- a/apps/web-antd/src/views/devicemanagement/deviceinfo/schema.ts +++ b/apps/web-antd/src/views/devicemanagement/deviceinfo/schema.ts @@ -941,3 +941,249 @@ export const batchAddDeviceFormSchema: any = computed(() => [ rules: z.string().optional(), }, ]); + +// 批量设备升级表单 +export const batchUpgradeDeviceFormSchema: any = computed(() => [ + { + component: 'Textarea', + fieldName: 'addressList', + label: '设备地址列表', + componentProps: { + rows: 4, + placeholder: '请输入设备地址,每行一个设备地址', + showCount: false, + maxLength: 10_000, + style: { + resize: 'vertical', + minHeight: '32px', + maxHeight: '200px', + }, + }, + rules: z.string().min(1, { + message: '请输入设备地址', + }), + }, + { + component: 'ApiSelect', + fieldName: 'ioTPlatform', + label: $t('abp.deviceInfos.ioTPlatform'), + componentProps: { + api: getCommonGetSelectList, + params: { + query: { + typeName: 'IoTPlatformTypeEnum', + }, + }, + labelField: 'value', + valueField: 'key', + optionsPropName: 'options', + immediate: true, + allowClear: true, + placeholder: + $t('common.pleaseSelect') + $t('abp.deviceInfos.ioTPlatform'), + afterFetch: (res: any) => { + if (Array.isArray(res)) { + return res; + } + if (res && Array.isArray(res.items)) { + return res.items; + } + if (res && Array.isArray(res.data)) { + return res.data; + } + return []; + }, + }, + rules: z.string().min(1, { + message: `${$t('common.pleaseSelect')}${$t('abp.deviceInfos.ioTPlatform')}`, + }), + }, + { + component: 'ApiSelect', + fieldName: 'ioTPlatformAccountId', + label: $t('abp.deviceInfos.ioTPlatformAccountName'), + dependencies: { + show(values: any) { + return !!values.ioTPlatform; + }, + rules(values: any) { + if (values.ioTPlatform) { + return 'required'; + } + return null; + }, + triggerFields: ['ioTPlatform'], + }, + componentProps: (formValues: any) => { + const platform = formValues?.ioTPlatform; + + return { + api: platform + ? postAggregationIoTplatformGetIoTplatformAccountInfoAsync + : null, + params: platform + ? { + body: { + ioTPlatformType: + typeof platform === 'string' + ? Number.parseInt(platform) + : platform, + }, + } + : {}, + labelField: 'ioTPlatformPhoneNumber', + valueField: 'ioTPlatformAccountId', + optionsPropName: 'options', + immediate: false, + allowClear: true, + placeholder: + $t('common.pleaseSelect') + + $t('abp.deviceInfos.ioTPlatformAccountName'), + afterFetch: (res: any) => { + let items: any[] = []; + if (Array.isArray(res)) { + items = res; + } else if (res && Array.isArray(res.items)) { + items = res.items; + } else if (res && Array.isArray(res.data)) { + items = res.data; + } else if (res && res.data && Array.isArray(res.data.items)) { + items = res.data.items; + } + return items.map((item: any) => ({ + ...item, + ioTPlatformAccountId: item.ioTPlatformAccount, + label: item.ioTPlatformPhoneNumber || item.ioTPlatformAccount || '', + })); + }, + }; + }, + rules: z.string().optional(), + }, + { + component: 'ApiSelect', + fieldName: 'ioTPlatformProductId', + label: $t('abp.deviceInfos.ioTPlatformProductName'), + dependencies: { + show(values: any) { + return !!values.ioTPlatform && !!values.ioTPlatformAccountId; + }, + rules(values: any) { + if (values.ioTPlatform && values.ioTPlatformAccountId) { + return 'required'; + } + return null; + }, + triggerFields: ['ioTPlatform', 'ioTPlatformAccountId'], + }, + componentProps: (formValues: any) => { + const platform = formValues?.ioTPlatform; + const accountId = formValues?.ioTPlatformAccountId; + + return { + api: + platform && accountId + ? postAggregationIoTplatformGetIoTplatformProductInfoAsync + : null, + params: + platform && accountId + ? { + body: { + ioTPlatformType: + typeof platform === 'string' + ? Number.parseInt(platform) + : platform, + ioTPlatformAccount: accountId, + }, + } + : {}, + labelField: 'productName', + valueField: 'ioTPlatformProductId', + optionsPropName: 'options', + immediate: false, + allowClear: true, + placeholder: + $t('common.pleaseSelect') + + $t('abp.deviceInfos.ioTPlatformProductName'), + afterFetch: (res: any) => { + if (Array.isArray(res)) { + return res; + } + if (res && Array.isArray(res.items)) { + return res.items; + } + if (res && Array.isArray(res.data)) { + return res.data; + } + if (res && res.data && Array.isArray(res.data.items)) { + return res.data.items; + } + return []; + }, + }; + }, + rules: z.string().optional(), + }, + { + component: 'ApiSelect', + fieldName: 'targetVersionId', + label: '目标版本', + dependencies: { + show(values: any) { + return !!values.ioTPlatformProductId; + }, + rules(values: any) { + if (values.ioTPlatformProductId) { + return 'required'; + } + return null; + }, + triggerFields: ['ioTPlatformProductId'], + }, + componentProps: (formValues: any) => { + const productId = formValues?.ioTPlatformProductId; + + return { + api: productId ? postFirmwareInfoFindByDeviceProductIdAsync : null, + params: productId + ? { + query: { + id: String(productId), + }, + } + : {}, + labelField: 'firmwareVersion', + valueField: 'id', + optionsPropName: 'options', + immediate: false, + allowClear: true, + placeholder: '请选择目标版本', + afterFetch: (res: any) => { + let firmwareList: any[] = []; + if (Array.isArray(res)) { + firmwareList = res; + } else if (res && Array.isArray(res.items)) { + firmwareList = res.items; + } else if (res && Array.isArray(res.data)) { + firmwareList = res.data; + } else if (res && res.data && Array.isArray(res.data.items)) { + firmwareList = res.data.items; + } + return firmwareList.filter((item: any) => item.isEnable === true); + }, + }; + }, + rules: z.string().optional(), + }, + { + component: 'Textarea', + fieldName: 'upgradeDescription', + label: '升级说明', + componentProps: { + rows: 4, + placeholder: '请输入升级说明(可选)', + maxLength: 500, + showCount: true, + }, + }, +]);