Compare commits

..

No commits in common. "2b19953855753c4e7c91eeab89867d2c66dcda41" and "572cad895a0077ef31645b28d206ab440c5d2037" have entirely different histories.

13 changed files with 117 additions and 1098 deletions

View File

@ -1,9 +1,3 @@
###
# @Description: 文件内容描述
# @Author: 陈益
# @Date: 2025-09-18 10:20:18
# @LastEditors: 陈益
###
# 端口号 # 端口号
VITE_PORT=4200 VITE_PORT=4200
@ -36,9 +30,9 @@ VITE_REFRESH_ROLE = true
# 后端接口地址 # 后端接口地址
#VITE_APP_API_ADDRESS=http://47.110.53.196:28080 #VITE_APP_API_ADDRESS=http://47.110.53.196:28080
VITE_APP_API_ADDRESS=http://10.10.90.3:10500 VITE_APP_API_ADDRESS=http://10.10.70.11:10500
# websocket地址 # websocket地址
VITE_WEBSOCKET_URL=http://10.10.90.3:10500/signalr/notification VITE_WEBSOCKET_URL=http://10.10.70.11:10500/signalr/notification

View File

@ -1180,24 +1180,6 @@ export const ControllerInterfaceApiDescriptionModelSchema = {
additionalProperties: false additionalProperties: false
} as const; } as const;
export const CopyAnotherProductInputSchema = {
type: 'object',
properties: {
pendingCopyDataId: {
type: 'string',
description: '待复制设备物模型数据ID',
format: 'uuid'
},
ioTPlatformProductId: {
type: 'string',
description: '产品ID',
nullable: true
}
},
additionalProperties: false,
description: '根据数据ID复制已存在物模型信息'
} as const;
export const CreateDataDictinaryDetailInputSchema = { export const CreateDataDictinaryDetailInputSchema = {
type: 'object', type: 'object',
properties: { properties: {
@ -1220,11 +1202,6 @@ export const CreateDataDictinaryDetailInputSchema = {
order: { order: {
type: 'integer', type: 'integer',
format: 'int32' format: 'int32'
},
extendedAttribute: {
type: 'string',
description: '扩展属性',
nullable: true
} }
}, },
additionalProperties: false additionalProperties: false
@ -1456,40 +1433,6 @@ export const CreateTextTemplateInputSchema = {
description: '创建模板' description: '创建模板'
} as const; } as const;
export const CreateThingModelInputSchema = {
type: 'object',
properties: {
ioTPlatform: {
'$ref': '#/components/schemas/IoTPlatformTypeEnum'
},
ioTPlatformProductId: {
type: 'string',
description: '物联网平台中对应的产品Id',
nullable: true
},
filedType: {
type: 'string',
description: '物联网平台中对应产品物模型属性或者事件类型 JiShe.ServicePro.Core.DataDictionaryTypeConst',
nullable: true
},
rawFieldName: {
type: 'string',
description: '物联网平台中对应的产品物模型属性或者事件名称',
nullable: true
},
standardFieldName: {
type: 'string',
description: '管理后台产品标准的物模型属性或者事件名称',
nullable: true
},
isValueNeedConvert: {
type: 'boolean',
description: '是否需要值类型转换'
}
},
additionalProperties: false
} as const;
export const CurrentCultureDtoSchema = { export const CurrentCultureDtoSchema = {
type: 'object', type: 'object',
properties: { properties: {
@ -1796,12 +1739,6 @@ export const DeviceCommandForApiInputSchema = {
minLength: 1, minLength: 1,
type: 'string', type: 'string',
description: '设备在物联网平台中发送的命令内容JSON格式' description: '设备在物联网平台中发送的命令内容JSON格式'
},
deviceType: {
'$ref': '#/components/schemas/DeviceTypeEnum'
},
telemetryType: {
'$ref': '#/components/schemas/DeviceTelemetryCommandTypeEnum'
} }
}, },
additionalProperties: false, additionalProperties: false,
@ -2001,11 +1938,11 @@ export const DeviceOnlineStatusEnumSchema = {
} as const; } as const;
export const DeviceSourceTypeEnumSchema = { export const DeviceSourceTypeEnumSchema = {
enum: [1, 2, 3, 4, 5, 6], enum: [1, 2, 3, 4],
type: 'integer', type: 'integer',
description: '设备来源类型枚举', description: '设备来源类型枚举',
format: 'int32', format: 'int32',
'说明:': '管理后台=1,生产车间=2,CTWing推送=3,OneNET推送=4,预付费业务系统推送=5,能耗业务系统推送=6' '说明:': '管理后台=1,生产车间=2,CTWing推送=3,OneNET推送=4'
} as const; } as const;
export const DeviceTableModelDataInfoPageInputSchema = { export const DeviceTableModelDataInfoPageInputSchema = {
@ -2059,10 +1996,6 @@ export const DeviceTableModelDataInfoPageInputSchema = {
description: '结束创建时间', description: '结束创建时间',
format: 'date-time', format: 'date-time',
nullable: true nullable: true
},
isNeedPaging: {
type: 'boolean',
description: '是否需要分页, 默认为true'
} }
}, },
additionalProperties: false, additionalProperties: false,
@ -2131,137 +2064,6 @@ export const DeviceTableModelDataInfoPageOutputPagedResultDtoSchema = {
additionalProperties: false additionalProperties: false
} as const; } as const;
export const DeviceTelemetryCommandTypeEnumSchema = {
enum: [1, 2],
type: 'integer',
description: '设备数据包命令类型枚举',
format: 'int32',
'说明:': '阀控=1,抄读=2'
} as const;
export const DeviceThingModelInfoDtoSchema = {
type: 'object',
properties: {
id: {
type: 'string',
format: 'uuid'
},
creationTime: {
type: 'string',
format: 'date-time'
},
creatorId: {
type: 'string',
format: 'uuid',
nullable: true
},
lastModificationTime: {
type: 'string',
format: 'date-time',
nullable: true
},
lastModifierId: {
type: 'string',
format: 'uuid',
nullable: true
},
isDeleted: {
type: 'boolean'
},
deleterId: {
type: 'string',
format: 'uuid',
nullable: true
},
deletionTime: {
type: 'string',
format: 'date-time',
nullable: true
},
tenantId: {
type: 'string',
description: '租户Id',
format: 'uuid',
nullable: true
},
remark: {
type: 'string',
description: '备注',
nullable: true
},
osaCreatorId: {
type: 'integer',
description: '旧系统授权创建者Id',
format: 'int32',
nullable: true
},
osaLastModifierId: {
type: 'integer',
description: '旧系统授权最后修改者Id',
format: 'int32',
nullable: true
},
osaDeleterId: {
type: 'integer',
description: '旧系统授权最后删除者Id',
format: 'int32',
nullable: true
},
extraProperties: {
type: 'object',
additionalProperties: {},
description: '扩展属性,用于存储自定义字段,JSON格式',
nullable: true
},
ioTPlatform: {
'$ref': '#/components/schemas/IoTPlatformTypeEnum'
},
ioTPlatformProductId: {
type: 'string',
description: '物联网平台中对应的产品Id',
nullable: true
},
filedType: {
type: 'string',
description: '物联网平台中对应产品物模型属性或者事件类型 JiShe.ServicePro.Core.DataDictionaryTypeConst',
nullable: true
},
rawFieldName: {
type: 'string',
description: '物联网平台中对应的产品物模型属性或者事件名称',
nullable: true
},
standardFieldName: {
type: 'string',
description: '管理后台产品标准的物模型属性或者事件名称',
nullable: true
},
isValueNeedConvert: {
type: 'boolean',
description: '是否需要值类型转换'
}
},
additionalProperties: false
} as const;
export const DeviceThingModelInfoDtoPagedResultDtoSchema = {
type: 'object',
properties: {
items: {
type: 'array',
items: {
'$ref': '#/components/schemas/DeviceThingModelInfoDto'
},
nullable: true
},
totalCount: {
type: 'integer',
format: 'int64'
}
},
additionalProperties: false
} as const;
export const DeviceTreeModelDataInfoInputSchema = { export const DeviceTreeModelDataInfoInputSchema = {
type: 'object', type: 'object',
properties: { properties: {
@ -2313,10 +2115,6 @@ export const DeviceTreeModelDataInfoInputSchema = {
description: '结束创建时间', description: '结束创建时间',
format: 'date-time', format: 'date-time',
nullable: true nullable: true
},
isNeedPaging: {
type: 'boolean',
description: '是否需要分页, 默认为true'
} }
}, },
additionalProperties: false, additionalProperties: false,
@ -4540,10 +4338,6 @@ export const MeterReadingPacketInfoPageInputSchema = {
format: 'date-time', format: 'date-time',
nullable: true nullable: true
}, },
isNeedPaging: {
type: 'boolean',
description: '是否需要分页, 默认为true'
},
ioTPlatformDeviceOpenInfo: { ioTPlatformDeviceOpenInfo: {
type: 'string', type: 'string',
description: '物联网平台设备ID', description: '物联网平台设备ID',
@ -4590,12 +4384,6 @@ JiShe.ServicePro.Enums.DeviceTypeEnum`,
format: 'date-time', format: 'date-time',
readOnly: true readOnly: true
}, },
timestampStr: {
type: 'string',
description: '字符串格式时标',
nullable: true,
readOnly: true
},
devicePath: { devicePath: {
type: 'string', type: 'string',
description: '设备路径,树模型使用,表模型会在数据插入的时候直接获取继承类的名称作为表明', description: '设备路径,树模型使用,表模型会在数据插入的时候直接获取继承类的名称作为表明',
@ -6333,60 +6121,6 @@ export const PageTextTemplateOutputPagedResultDtoSchema = {
additionalProperties: false additionalProperties: false
} as const; } as const;
export const PageThingModelInputSchema = {
type: 'object',
properties: {
pageIndex: {
type: 'integer',
description: '当前页面.默认从1开始',
format: 'int32'
},
pageSize: {
type: 'integer',
description: '每页多少条.每页显示多少记录',
format: 'int32'
},
skipCount: {
type: 'integer',
description: '跳过多少条',
format: 'int32',
readOnly: true
},
sorting: {
type: 'string',
description: `排序
<example>
name desc
</example>`,
nullable: true
},
ioTPlatform: {
'$ref': '#/components/schemas/IoTPlatformTypeEnum'
},
searchKeyword: {
type: 'string',
description: '搜索关键字',
nullable: true
},
ioTPlatformProductId: {
type: 'string',
description: '物联网平台中对应的产品Id',
nullable: true
},
filedType: {
type: 'string',
description: '物联网平台中对应产品物模型属性或者事件类型 JiShe.ServicePro.Core.DataDictionaryTypeConst',
nullable: true
},
rawFieldName: {
type: 'string',
description: '物联网平台中对应的产品物模型属性或者事件名称',
nullable: true
}
},
additionalProperties: false
} as const;
export const PagingAuditLogActionOutputSchema = { export const PagingAuditLogActionOutputSchema = {
type: 'object', type: 'object',
properties: { properties: {
@ -7740,10 +7474,6 @@ export const QueryCTWingAepReceiveMessageInputSchema = {
format: 'date-time', format: 'date-time',
nullable: true nullable: true
}, },
isNeedPaging: {
type: 'boolean',
description: '是否需要分页, 默认为true'
},
ioTPlatformDeviceOpenInfo: { ioTPlatformDeviceOpenInfo: {
type: 'string', type: 'string',
description: '物联网平台设备ID', description: '物联网平台设备ID',
@ -7790,12 +7520,6 @@ JiShe.ServicePro.Enums.DeviceTypeEnum`,
format: 'date-time', format: 'date-time',
readOnly: true readOnly: true
}, },
timestampStr: {
type: 'string',
description: '字符串格式时标',
nullable: true,
readOnly: true
},
devicePath: { devicePath: {
type: 'string', type: 'string',
description: '设备路径,树模型使用,表模型会在数据插入的时候直接获取继承类的名称作为表明', description: '设备路径,树模型使用,表模型会在数据插入的时候直接获取继承类的名称作为表明',
@ -7947,10 +7671,6 @@ export const QueryOneNETReceiveMessageInputSchema = {
format: 'date-time', format: 'date-time',
nullable: true nullable: true
}, },
isNeedPaging: {
type: 'boolean',
description: '是否需要分页, 默认为true'
},
ioTPlatformDeviceOpenInfo: { ioTPlatformDeviceOpenInfo: {
type: 'string', type: 'string',
description: '物联网平台设备ID', description: '物联网平台设备ID',
@ -7997,12 +7717,6 @@ JiShe.ServicePro.Enums.DeviceTypeEnum`,
format: 'date-time', format: 'date-time',
readOnly: true readOnly: true
}, },
timestampStr: {
type: 'string',
description: '字符串格式时标',
nullable: true,
readOnly: true
},
devicePath: { devicePath: {
type: 'string', type: 'string',
description: '设备路径,树模型使用,表模型会在数据插入的时候直接获取继承类的名称作为表明', description: '设备路径,树模型使用,表模型会在数据插入的时候直接获取继承类的名称作为表明',
@ -8494,17 +8208,6 @@ export const SettingOutputSchema = {
additionalProperties: false additionalProperties: false
} as const; } as const;
export const StringIdInputSchema = {
type: 'object',
properties: {
id: {
type: 'string',
nullable: true
}
},
additionalProperties: false
} as const;
export const StringStringFromSelectorSchema = { export const StringStringFromSelectorSchema = {
type: 'object', type: 'object',
properties: { properties: {
@ -9061,44 +8764,6 @@ export const UpdateTextTemplateInputSchema = {
description: '更新模板' description: '更新模板'
} as const; } as const;
export const UpdateThingModelInputSchema = {
type: 'object',
properties: {
ioTPlatform: {
'$ref': '#/components/schemas/IoTPlatformTypeEnum'
},
ioTPlatformProductId: {
type: 'string',
description: '物联网平台中对应的产品Id',
nullable: true
},
filedType: {
type: 'string',
description: '物联网平台中对应产品物模型属性或者事件类型 JiShe.ServicePro.Core.DataDictionaryTypeConst',
nullable: true
},
rawFieldName: {
type: 'string',
description: '物联网平台中对应的产品物模型属性或者事件名称',
nullable: true
},
standardFieldName: {
type: 'string',
description: '管理后台产品标准的物模型属性或者事件名称',
nullable: true
},
isValueNeedConvert: {
type: 'boolean',
description: '是否需要值类型转换'
},
id: {
type: 'string',
format: 'uuid'
}
},
additionalProperties: false
} as const;
export const UpdateUserInputSchema = { export const UpdateUserInputSchema = {
type: 'object', type: 'object',
properties: { properties: {

File diff suppressed because one or more lines are too long

View File

@ -200,30 +200,12 @@ export type ControllerInterfaceApiDescriptionModel = {
methods?: Array<InterfaceMethodApiDescriptionModel> | null; methods?: Array<InterfaceMethodApiDescriptionModel> | null;
}; };
/**
* ID复制已存在物模型信息
*/
export type CopyAnotherProductInput = {
/**
* ID
*/
pendingCopyDataId?: string;
/**
* ID
*/
ioTPlatformProductId?: (string) | null;
};
export type CreateDataDictinaryDetailInput = { export type CreateDataDictinaryDetailInput = {
id?: string; id?: string;
code?: (string) | null; code?: (string) | null;
displayText?: (string) | null; displayText?: (string) | null;
description?: (string) | null; description?: (string) | null;
order?: number; order?: number;
/**
*
*/
extendedAttribute?: (string) | null;
}; };
export type CreateDataDictinaryInput = { export type CreateDataDictinaryInput = {
@ -380,30 +362,6 @@ export type CreateTextTemplateInput = {
cultureName: string; cultureName: string;
}; };
export type CreateThingModelInput = {
ioTPlatform?: IoTPlatformTypeEnum;
/**
* Id
*/
ioTPlatformProductId?: (string) | null;
/**
* JiShe.ServicePro.Core.DataDictionaryTypeConst
*/
filedType?: (string) | null;
/**
*
*/
rawFieldName?: (string) | null;
/**
*
*/
standardFieldName?: (string) | null;
/**
*
*/
isValueNeedConvert?: boolean;
};
/** /**
* CTWing账号信息 * CTWing账号信息
*/ */
@ -950,8 +908,6 @@ export type DeviceCommandForApiInput = {
* JSON格式 * JSON格式
*/ */
commandContent: string; commandContent: string;
deviceType?: DeviceTypeEnum;
telemetryType?: DeviceTelemetryCommandTypeEnum;
}; };
export type DeviceManagementInfoDto = { export type DeviceManagementInfoDto = {
@ -1067,7 +1023,7 @@ export type DeviceOnlineStatusEnum = 1 | 2;
/** /**
* *
*/ */
export type DeviceSourceTypeEnum = 1 | 2 | 3 | 4 | 5 | 6; export type DeviceSourceTypeEnum = 1 | 2 | 3 | 4;
/** /**
* *
@ -1109,10 +1065,6 @@ export type DeviceTableModelDataInfoPageInput = {
* *
*/ */
endCreationTime?: (string) | null; endCreationTime?: (string) | null;
/**
* true
*/
isNeedPaging?: boolean;
}; };
/** /**
@ -1154,74 +1106,6 @@ export type DeviceTableModelDataInfoPageOutputPagedResultDto = {
totalCount?: number; totalCount?: number;
}; };
/**
*
*/
export type DeviceTelemetryCommandTypeEnum = 1 | 2;
export type DeviceThingModelInfoDto = {
id?: string;
creationTime?: string;
creatorId?: (string) | null;
lastModificationTime?: (string) | null;
lastModifierId?: (string) | null;
isDeleted?: boolean;
deleterId?: (string) | null;
deletionTime?: (string) | null;
/**
* Id
*/
tenantId?: (string) | null;
/**
*
*/
remark?: (string) | null;
/**
* Id
*/
osaCreatorId?: (number) | null;
/**
* Id
*/
osaLastModifierId?: (number) | null;
/**
* Id
*/
osaDeleterId?: (number) | null;
/**
* ,,JSON格式
*/
extraProperties?: {
[key: string]: unknown;
} | null;
ioTPlatform?: IoTPlatformTypeEnum;
/**
* Id
*/
ioTPlatformProductId?: (string) | null;
/**
* JiShe.ServicePro.Core.DataDictionaryTypeConst
*/
filedType?: (string) | null;
/**
*
*/
rawFieldName?: (string) | null;
/**
*
*/
standardFieldName?: (string) | null;
/**
*
*/
isValueNeedConvert?: boolean;
};
export type DeviceThingModelInfoDtoPagedResultDto = {
items?: Array<DeviceThingModelInfoDto> | null;
totalCount?: number;
};
/** /**
* *
*/ */
@ -1262,10 +1146,6 @@ export type DeviceTreeModelDataInfoInput = {
* *
*/ */
endCreationTime?: (string) | null; endCreationTime?: (string) | null;
/**
* true
*/
isNeedPaging?: boolean;
}; };
/** /**
@ -2133,10 +2013,6 @@ export type MeterReadingPacketInfoPageInput = {
* *
*/ */
endCreationTime?: (string) | null; endCreationTime?: (string) | null;
/**
* true
*/
isNeedPaging?: boolean;
/** /**
* ID * ID
*/ */
@ -2173,10 +2049,6 @@ export type MeterReadingPacketInfoPageOutput = {
* *
*/ */
readonly formattedTimestamps?: string; readonly formattedTimestamps?: string;
/**
*
*/
readonly timestampStr?: (string) | null;
/** /**
* ,使 * ,使
*/ */
@ -3226,45 +3098,6 @@ export type PageTextTemplateOutputPagedResultDto = {
totalCount?: number; totalCount?: number;
}; };
export type PageThingModelInput = {
/**
* .1
*/
pageIndex?: number;
/**
* .
*/
pageSize?: number;
/**
*
*/
readonly skipCount?: number;
/**
*
* <example>
* name desc
* </example>
*/
sorting?: (string) | null;
ioTPlatform?: IoTPlatformTypeEnum;
/**
*
*/
searchKeyword?: (string) | null;
/**
* Id
*/
ioTPlatformProductId?: (string) | null;
/**
* JiShe.ServicePro.Core.DataDictionaryTypeConst
*/
filedType?: (string) | null;
/**
*
*/
rawFieldName?: (string) | null;
};
export type PagingAuditLogActionOutput = { export type PagingAuditLogActionOutput = {
id?: string; id?: string;
tenantId?: (string) | null; tenantId?: (string) | null;
@ -3949,10 +3782,6 @@ export type QueryCTWingAepReceiveMessageInput = {
* *
*/ */
endCreationTime?: (string) | null; endCreationTime?: (string) | null;
/**
* true
*/
isNeedPaging?: boolean;
/** /**
* ID * ID
*/ */
@ -3989,10 +3818,6 @@ export type QueryCTWingAepReceiveMessageOutput = {
* *
*/ */
readonly formattedTimestamps?: string; readonly formattedTimestamps?: string;
/**
*
*/
readonly timestampStr?: (string) | null;
/** /**
* ,使 * ,使
*/ */
@ -4100,10 +3925,6 @@ export type QueryOneNETReceiveMessageInput = {
* *
*/ */
endCreationTime?: (string) | null; endCreationTime?: (string) | null;
/**
* true
*/
isNeedPaging?: boolean;
/** /**
* ID * ID
*/ */
@ -4140,10 +3961,6 @@ export type QueryOneNETReceiveMessageOutput = {
* *
*/ */
readonly formattedTimestamps?: string; readonly formattedTimestamps?: string;
/**
*
*/
readonly timestampStr?: (string) | null;
/** /**
* ,使 * ,使
*/ */
@ -4389,10 +4206,6 @@ export type SettingOutput = {
settingItemOutput?: Array<SettingItemOutput> | null; settingItemOutput?: Array<SettingItemOutput> | null;
}; };
export type StringIdInput = {
id?: (string) | null;
};
export type StringStringFromSelector = { export type StringStringFromSelector = {
readonly value?: (string) | null; readonly value?: (string) | null;
readonly label?: (string) | null; readonly label?: (string) | null;
@ -4647,31 +4460,6 @@ export type UpdateTextTemplateInput = {
cultureName: string; cultureName: string;
}; };
export type UpdateThingModelInput = {
ioTPlatform?: IoTPlatformTypeEnum;
/**
* Id
*/
ioTPlatformProductId?: (string) | null;
/**
* JiShe.ServicePro.Core.DataDictionaryTypeConst
*/
filedType?: (string) | null;
/**
*
*/
rawFieldName?: (string) | null;
/**
*
*/
standardFieldName?: (string) | null;
/**
*
*/
isValueNeedConvert?: boolean;
id?: string;
};
export type UpdateUserInput = { export type UpdateUserInput = {
userId?: string; userId?: string;
userInfo?: IdentityUserUpdateDto; userInfo?: IdentityUserUpdateDto;
@ -4774,32 +4562,6 @@ export type PostAggregationBusinessReceiveCommandInfoAsyncResponse = (HttpDataRe
export type PostAggregationBusinessReceiveCommandInfoAsyncError = unknown; export type PostAggregationBusinessReceiveCommandInfoAsyncError = unknown;
export type PostAggregationBusinessBatchQueryDeviceDataInfoAsyncData = {
query?: {
/**
*
*/
input?: OpenApiRequest;
};
};
export type PostAggregationBusinessBatchQueryDeviceDataInfoAsyncResponse = (HttpDataResult);
export type PostAggregationBusinessBatchQueryDeviceDataInfoAsyncError = unknown;
export type PostAggregationBusinessBatchCreateDeviceInfoAsyncData = {
query?: {
/**
*
*/
input?: OpenApiRequest;
};
};
export type PostAggregationBusinessBatchCreateDeviceInfoAsyncResponse = (HttpDataResult);
export type PostAggregationBusinessBatchCreateDeviceInfoAsyncError = unknown;
export type GetCommonGetSelectListData = { export type GetCommonGetSelectListData = {
query?: { query?: {
input?: SelectResultListInput; input?: SelectResultListInput;
@ -4850,6 +4612,29 @@ export type PostCtWingAccountListAsyncResponse = (CTWingAccountInfoDtoPagedResul
export type PostCtWingAccountListAsyncError = unknown; export type PostCtWingAccountListAsyncError = unknown;
export type PostAggregationCtWingReceiveWorkshopProductionInfoAsyncData = {
query?: {
input?: OpenApiRequest;
};
};
export type PostAggregationCtWingReceiveWorkshopProductionInfoAsyncResponse = (unknown);
export type PostAggregationCtWingReceiveWorkshopProductionInfoAsyncError = unknown;
export type PostAggregationCtWingGetProductListAsyncData = {
query?: {
/**
*
*/
input?: OpenApiRequest;
};
};
export type PostAggregationCtWingGetProductListAsyncResponse = (HttpDataResult);
export type PostAggregationCtWingGetProductListAsyncError = unknown;
export type PostCtWingProductInsertAsyncData = { export type PostCtWingProductInsertAsyncData = {
query?: { query?: {
input?: CTWingPrivateProductInfoInsertInput; input?: CTWingPrivateProductInfoInsertInput;
@ -5086,86 +4871,6 @@ export type PostDeviceInfoCacheDeviceDataToRedisResponse = (boolean);
export type PostDeviceInfoCacheDeviceDataToRedisError = unknown; export type PostDeviceInfoCacheDeviceDataToRedisError = unknown;
export type PostThingModelInfoCreateAsyncData = {
query?: {
input?: CreateThingModelInput;
};
};
export type PostThingModelInfoCreateAsyncResponse = (DeviceThingModelInfoDto);
export type PostThingModelInfoCreateAsyncError = unknown;
export type PostThingModelInfoUpdateAsyncData = {
query?: {
input?: UpdateThingModelInput;
};
};
export type PostThingModelInfoUpdateAsyncResponse = (DeviceThingModelInfoDto);
export type PostThingModelInfoUpdateAsyncError = unknown;
export type PostThingModelInfoDeleteAsyncData = {
query?: {
input?: IdInput;
};
};
export type PostThingModelInfoDeleteAsyncResponse = (boolean);
export type PostThingModelInfoDeleteAsyncError = unknown;
export type PostThingModelInfoFindByIdAsyncData = {
query?: {
input?: IdInput;
};
};
export type PostThingModelInfoFindByIdAsyncResponse = (DeviceThingModelInfoDto);
export type PostThingModelInfoFindByIdAsyncError = unknown;
export type PostThingModelInfoFindByPlatformProductIdAsyncData = {
query?: {
input?: StringIdInput;
};
};
export type PostThingModelInfoFindByPlatformProductIdAsyncResponse = (DeviceThingModelInfoDto);
export type PostThingModelInfoFindByPlatformProductIdAsyncError = unknown;
export type PostThingModelInfoCopyAnotherThingModelAsyncData = {
query?: {
input?: CopyAnotherProductInput;
};
};
export type PostThingModelInfoCopyAnotherThingModelAsyncResponse = (DeviceThingModelInfoDto);
export type PostThingModelInfoCopyAnotherThingModelAsyncError = unknown;
export type PostThingModelInfoCopyStandardThingModelData = {
query?: {
input?: StringIdInput;
};
};
export type PostThingModelInfoCopyStandardThingModelResponse = (DeviceThingModelInfoDto);
export type PostThingModelInfoCopyStandardThingModelError = unknown;
export type PostThingModelInfoPageData = {
query?: {
input?: PageThingModelInput;
};
};
export type PostThingModelInfoPageResponse = (DeviceThingModelInfoDtoPagedResultDto);
export type PostThingModelInfoPageError = unknown;
export type PostFeaturesListData = { export type PostFeaturesListData = {
body?: GetFeatureListResultInput; body?: GetFeatureListResultInput;
}; };
@ -5472,6 +5177,29 @@ export type PostOneNetAccountListAsyncResponse = (OneNETAccountInfoDtoPagedResul
export type PostOneNetAccountListAsyncError = unknown; export type PostOneNetAccountListAsyncError = unknown;
export type PostAggregationOneNetReceiveWorkshopProductionInfoAsyncData = {
query?: {
input?: OpenApiRequest;
};
};
export type PostAggregationOneNetReceiveWorkshopProductionInfoAsyncResponse = (HttpDataResult);
export type PostAggregationOneNetReceiveWorkshopProductionInfoAsyncError = unknown;
export type PostAggregationOneNetGetProductListAsyncData = {
query?: {
/**
*
*/
input?: OpenApiRequest;
};
};
export type PostAggregationOneNetGetProductListAsyncResponse = (HttpDataResult);
export type PostAggregationOneNetGetProductListAsyncError = unknown;
export type PostOneNetProductInsertAsyncData = { export type PostOneNetProductInsertAsyncData = {
query?: { query?: {
input?: OneNetProductInfoInsertInput; input?: OneNetProductInfoInsertInput;
@ -6017,26 +5745,3 @@ export type PostUsersResetTwoFactorError = (RemoteServiceErrorResponse);
export type PostUsersNeedChangePasswordResponse = (NeedChangePasswordOutput); export type PostUsersNeedChangePasswordResponse = (NeedChangePasswordOutput);
export type PostUsersNeedChangePasswordError = (RemoteServiceErrorResponse); export type PostUsersNeedChangePasswordError = (RemoteServiceErrorResponse);
export type PostAggregationWorkshopReceiveWorkshopProductionInfoAsyncData = {
query?: {
input?: OpenApiRequest;
};
};
export type PostAggregationWorkshopReceiveWorkshopProductionInfoAsyncResponse = (HttpDataResult);
export type PostAggregationWorkshopReceiveWorkshopProductionInfoAsyncError = unknown;
export type PostAggregationWorkshopGetProductListAsyncData = {
query?: {
/**
*
*/
input?: OpenApiRequest;
};
};
export type PostAggregationWorkshopGetProductListAsyncResponse = (HttpDataResult);
export type PostAggregationWorkshopGetProductListAsyncError = unknown;

View File

@ -130,7 +130,6 @@
"order": "Order", "order": "Order",
"status": "Status", "status": "Status",
"description": "Description", "description": "Description",
"extendedAttribute": "ExtendedAttribute",
"type": "Type" "type": "Type"
}, },
"organizationunit": { "organizationunit": {
@ -214,9 +213,7 @@
"IsPlatformPushSuccess": "IsPlatformPushSuccess", "IsPlatformPushSuccess": "IsPlatformPushSuccess",
"DeviceOnlineStatus": "DeviceOnlineStatus", "DeviceOnlineStatus": "DeviceOnlineStatus",
"LastOnlineTime": "LastOnlineTime", "LastOnlineTime": "LastOnlineTime",
"LastOfflineTime": "LastOfflineTime", "LastOfflineTime": "LastOfflineTime"
"deviceInfoManage": "DeviceInfoManage",
"thingModelInfoManage": "ThingModelInfoManage"
}, },
"IoTDBBase": { "IoTDBBase": {
"IoTDataType": "IoTDataType", "IoTDataType": "IoTDataType",

View File

@ -123,7 +123,6 @@
"order": "排序", "order": "排序",
"status": "状态", "status": "状态",
"description": "描述", "description": "描述",
"extendedAttribute": "扩展属性",
"type": "字典类型" "type": "字典类型"
}, },
"organizationunit": { "organizationunit": {
@ -207,9 +206,7 @@
"IsPlatformPushSuccess": "是否推送成功", "IsPlatformPushSuccess": "是否推送成功",
"DeviceOnlineStatus": "在线状态", "DeviceOnlineStatus": "在线状态",
"LastOnlineTime": "最后在线时间", "LastOnlineTime": "最后在线时间",
"LastOfflineTime": "最后离线时间", "LastOfflineTime": "最后离线时间"
"deviceInfoManage": "设备管理",
"thingModelInfoManage": "物模型管理"
}, },
"IoTDBBase": { "IoTDBBase": {
"IoTDataType": "数据类型", "IoTDataType": "数据类型",

View File

@ -2,8 +2,8 @@
import type { VbenFormProps } from '#/adapter/form'; import type { VbenFormProps } from '#/adapter/form';
import type { VxeGridProps } from '#/adapter/vxe-table'; import type { VxeGridProps } from '#/adapter/vxe-table';
import { computed, h, nextTick, ref, watch } from 'vue'; import { computed, h, ref, watch } from 'vue';
import { useRouter, useRoute } from 'vue-router'; import { useRouter } from 'vue-router';
import { Page, useVbenModal } from '@vben/common-ui'; import { Page, useVbenModal } from '@vben/common-ui';
@ -45,7 +45,6 @@ defineOptions({
}); });
const router = useRouter(); const router = useRouter();
const route = useRoute();
const formOptions: VbenFormProps = { const formOptions: VbenFormProps = {
schema: querySchema.value, schema: querySchema.value,
}; };
@ -83,78 +82,6 @@ const gridOptions: VxeGridProps<any> = {
const [Grid, gridApi] = useVbenVxeGrid({ formOptions, gridOptions }); const [Grid, gridApi] = useVbenVxeGrid({ formOptions, gridOptions });
const editRow: Record<string, any> = ref({}); const editRow: Record<string, any> = ref({});
//
watch(
() => route.query,
async (newQuery) => {
if (newQuery.ioTPlatform || newQuery.ioTPlatformDeviceOpenInfo) {
//
setTimeout(async () => {
try {
//
const filterValues: any = {};
if (newQuery.ioTPlatform) {
filterValues.ioTPlatform = newQuery.ioTPlatform;
}
if (newQuery.ioTPlatformDeviceOpenInfo) {
// ID
if (newQuery.ioTPlatform === '2' || newQuery.ioTPlatform === 2) {
filterValues.oneNETProductId = newQuery.ioTPlatformDeviceOpenInfo;
} else if (newQuery.ioTPlatform === '1' || newQuery.ioTPlatform === 1) {
filterValues.ctWingProductId = newQuery.ioTPlatformDeviceOpenInfo;
}
//
filterValues.ioTPlatformDeviceOpenInfo = newQuery.ioTPlatformDeviceOpenInfo;
}
//
if (gridApi?.formApi) {
await gridApi.formApi.setValues(filterValues);
//
await nextTick();
gridApi.reload();
}
} catch (error) {
console.error('设置表单筛选条件时出错:', error);
}
}, 200); // ApiSelect
}
},
{ immediate: true }
);
// ioTPlatformDeviceOpenInfo
watch(
() => gridApi?.formApi?.getValues,
(formValues) => {
if (formValues) {
const { oneNETProductId, ctWingProductId } = formValues;
// OneNETioTPlatformDeviceOpenInfo
if (oneNETProductId) {
console.log('检测到OneNET产品选择变化:', oneNETProductId);
gridApi?.formApi?.setFieldValue('ioTPlatformDeviceOpenInfo', oneNETProductId);
console.log('已设置ioTPlatformDeviceOpenInfo为:', oneNETProductId);
}
// CTWingioTPlatformDeviceOpenInfo
else if (ctWingProductId) {
console.log('检测到CTWing产品选择变化:', ctWingProductId);
gridApi?.formApi?.setFieldValue('ioTPlatformDeviceOpenInfo', ctWingProductId);
console.log('已设置ioTPlatformDeviceOpenInfo为:', ctWingProductId);
}
// ioTPlatformDeviceOpenInfo
else if (!oneNETProductId && !ctWingProductId) {
console.log('清空产品选择');
gridApi?.formApi?.setFieldValue('ioTPlatformDeviceOpenInfo', '');
}
}
},
{ deep: true }
);
const cacheRefreshLoading = ref(false); const cacheRefreshLoading = ref(false);
const pageLoading = ref(false); const pageLoading = ref(false);
const loadingTip = ref('缓存刷新中...'); const loadingTip = ref('缓存刷新中...');
@ -809,10 +736,9 @@ const toolbarActions = computed(() => [
<template #action="{ row }"> <template #action="{ row }">
<div style="display: flex; gap: 8px; align-items: center"> <div style="display: flex; gap: 8px; align-items: center">
<!-- 编辑按钮已注释因为后端没有更新接口 --> <Button size="small" type="link" @click="onEdit.bind(null, row)()">
<!-- <Button size="small" type="link" @click="onEdit.bind(null, row)()">
{{ $t('common.edit') }} {{ $t('common.edit') }}
</Button> --> </Button>
<Button size="small" type="link" @click="toDeviceInfoData.bind(null, row)()"> <Button size="small" type="link" @click="toDeviceInfoData.bind(null, row)()">
{{ $t('abp.deviceInfos.viewData') }} {{ $t('abp.deviceInfos.viewData') }}
</Button> </Button>

View File

@ -21,141 +21,6 @@ export const querySchema = computed(() => [
fieldName: 'deviceAddress', fieldName: 'deviceAddress',
label: $t('abp.deviceInfos.deviceAddress'), label: $t('abp.deviceInfos.deviceAddress'),
}, },
{
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) => {
console.log('产品选择器API调用 - 平台类型:',res);
// 确保返回的是数组格式
if (Array.isArray(res)) {
return res;
}
// 如果是包装在 items 中的,提取出来
if (res && Array.isArray(res.items)) {
return res.items;
}
// 如果是包装在 data 中的,提取出来
if (res && Array.isArray(res.data)) {
return res.data;
}
// 如果都不是,返回空数组
return [];
},
},
},
{
component: 'ApiSelect',
fieldName: 'oneNETProductId',
label: $t('common.BelongingProductName'),
dependencies: {
show(values: any) {
const shouldShow = values.ioTPlatform === 2 || values.ioTPlatform === '2';
console.log('OneNET产品选择器显示检查 - 平台类型:', values.ioTPlatform, '是否显示:', shouldShow);
return shouldShow; // OneNET平台
},
triggerFields: ['ioTPlatform'],
},
componentProps: {
api: postOneNetProductListAsync,
params: (formValues: any) => ({
body: {
pageIndex: 1,
pageSize: 1000,
},
}),
labelField: 'productName',
valueField: 'ioTPlatformProductId',
immediate: true,
afterFetch: (res: any) => {
console.log('OneNET产品选择器afterFetch调用 - 响应:', res);
// 如果是 Axios 响应对象,提取 data
if (res && res.data) {
const data = res.data;
// 确保返回的是数组格式
let items = [];
if (Array.isArray(data)) {
items = data;
} else if (data && Array.isArray(data.items)) {
items = data.items;
} else if (data && Array.isArray(data.data)) {
items = data.data;
}
console.log('OneNET产品列表处理后的数据:', items);
return items;
}
// 如果都不是,返回空数组
return [];
},
placeholder: `${$t('common.pleaseSelect')}${$t('common.BelongingProductName')}`,
},
},
{
component: 'ApiSelect',
fieldName: 'ctWingProductId',
label: $t('common.BelongingProductName'),
dependencies: {
show(values: any) {
const shouldShow = values.ioTPlatform === 1 || values.ioTPlatform === '1';
console.log('CTWing产品选择器显示检查 - 平台类型:', values.ioTPlatform, '是否显示:', shouldShow);
return shouldShow; // CTWing平台
},
triggerFields: ['ioTPlatform'],
},
componentProps: {
api: postCtWingProductListAsync,
params: (formValues: any) => ({
body: {
pageIndex: 1,
pageSize: 1000,
},
}),
labelField: 'productName',
valueField: 'ioTPlatformProductId',
immediate: true,
afterFetch: (res: any) => {
console.log('CTWing产品选择器afterFetch调用 - 响应:', res);
// 如果是 Axios 响应对象,提取 data
if (res && res.data) {
const data = res.data;
// 确保返回的是数组格式
let items = [];
if (Array.isArray(data)) {
items = data;
} else if (data && Array.isArray(data.items)) {
items = data.items;
} else if (data && Array.isArray(data.data)) {
items = data.data;
}
console.log('CTWing产品列表处理后的数据:', items);
return items;
}
// 如果都不是,返回空数组
return [];
},
placeholder: `${$t('common.pleaseSelect')}${$t('common.BelongingProductName')}`,
},
},
]); ]);
export const tableSchema: any = computed((): VxeGridProps['columns'] => [ export const tableSchema: any = computed((): VxeGridProps['columns'] => [

View File

@ -173,8 +173,7 @@ async function submit() {
if (fileInfo && fileInfo.id) { if (fileInfo && fileInfo.id) {
formValues.deviceThingModelFileId = fileInfo.id; formValues.deviceThingModelFileId = fileInfo.id;
// //
formValues.deviceThingModelFileName = formValues.deviceThingModelFileName = fileInfo.fileName || selectedFile.name;
fileInfo.fileName || selectedFile.name;
} else { } else {
Message.error('文件上传成功但未获取到文件ID'); Message.error('文件上传成功但未获取到文件ID');
userModalApi.setState({ loading: false, confirmLoading: false }); userModalApi.setState({ loading: false, confirmLoading: false });
@ -306,34 +305,6 @@ async function onStatusChange(record: any) {
Message.error(record.isEnabled ? '禁用失败' : '启用失败'); Message.error(record.isEnabled ? '禁用失败' : '启用失败');
} }
} }
//
function onDeviceManagement(record: any) {
console.log('设备管理按钮被点击', record);
// ID
router.push({
path: '/devicemanagement/deviceinfo',
query: {
ioTPlatform: '2', // OneNET2
ioTPlatformDeviceOpenInfo: record.ioTPlatformProductId, // ID
productName: record.productName,
},
});
}
//
function onThingModelManagement(record: any) {
console.log('物模型管理按钮被点击', record);
// ID
router.push({
path: '/devicemanagement/thingmodelinfo',
query: {
ioTPlatform: '2', // OneNET2
ioTPlatformDeviceOpenInfo: record.ioTPlatformProductId, // ID
productName: record.productName,
},
});
}
</script> </script>
<template> <template>
@ -376,34 +347,22 @@ function onThingModelManagement(record: any) {
onClick: onEdit.bind(null, row), onClick: onEdit.bind(null, row),
}, },
{ {
label: $t('abp.deviceInfos.deviceInfoManage'), label: row.isEnabled ? '禁用' : '启用',
type: 'link', type: 'link',
size: 'small',
onClick: onDeviceManagement.bind(null, row),
},
{
label: $t('abp.deviceInfos.thingModelInfoManage'),
type: 'link',
size: 'small',
onClick: onThingModelManagement.bind(null, row),
}
]" :drop-down-actions="[
{
label: row.isEnabled ? $t('common.disabled') : $t('common.enabled'),
icon: 'ant-design:edit-filled',
type: 'primary',
danger: row.isEnabled, danger: row.isEnabled,
size: 'small', size: 'small',
auth: ['AbpIdentity.Users.Update'], auth: ['AbpIdentity.Users.Update'],
popConfirm: { popConfirm: {
title: `确定要${row.isEnabled ? $t('common.disabled') : $t('common.enabled')}该产品吗?`, title: `确定要${row.isEnabled ? '禁用' : '启用'}该产品吗?`,
confirm: onStatusChange.bind(null, row), confirm: onStatusChange.bind(null, row),
}, },
}, },
]" :drop-down-actions="[
{ {
label: $t('common.delete'), label: $t('common.delete'),
icon: 'ant-design:delete-outlined', icon: 'ant-design:delete-outlined',
type: 'primary', type: 'primary',
auth: ['AbpIdentity.Users.Delete'],
popConfirm: { popConfirm: {
title: $t('common.askConfirmDelete'), title: $t('common.askConfirmDelete'),
confirm: onDel.bind(null, row), confirm: onDel.bind(null, row),

View File

@ -97,7 +97,7 @@ export const tableSchema: any = computed((): VxeGridProps['columns'] => [
title: $t('common.action'), title: $t('common.action'),
field: 'action', field: 'action',
fixed: 'right', fixed: 'right',
width: '250', width: '200',
slots: { default: 'action' }, slots: { default: 'action' },
}, },
]); ]);

View File

@ -68,15 +68,6 @@ const [Form, formApi] = useVbenForm({
label: $t('abp.dataDictionary.order'), label: $t('abp.dataDictionary.order'),
rules: 'required', rules: 'required',
}, },
{
component: 'Input',
componentProps: {
placeholder: $t('common.pleaseInput'),
},
fieldName: 'extendedAttribute',
label: $t('abp.dataDictionary.extendedAttribute'),
rules: 'required',
},
{ {
component: 'Textarea', component: 'Textarea',
componentProps: { componentProps: {