Commit bbaa52661f2e2ceb8a164128a446e123d1697c8e

Authored by ww
1 parent db8072d7

fix: 修复产品编辑时默认产品未将默认标识上传

1 -import { defHttp } from '/@/utils/http/axios';  
2 -import {  
3 - TDeviceConfigParams,  
4 - IDeviceConfigAddOrEditModel,  
5 - ProfileRecord,  
6 - RuleChainRecord,  
7 -} from '/@/api/device/model/deviceConfigModel';  
8 -import { PaginationResult } from '/#/axios';  
9 -  
10 -enum EDeviceConfigApi {  
11 - /**  
12 - * 设备配置URL  
13 - */  
14 - DEVICE_CONFIG_GET_PAGE = '/device_profile',  
15 - DEVICE_CONFIG_POST_ADD_OR_EDIT = '/device_profile',  
16 - DEVICE_CONFIG_GET_DETAIL = '/device_profile/',  
17 - DEVICE_CONFIG_DELETE = '/device_profile',  
18 - DEVICE_CONFIG_GET_RULECHAIN = '/rule_chain/me/list',  
19 - ALARM_CONTACT_GET_PAGE = '/alarm_contact',  
20 - DEVICE_CONFIG_EXPORT = '/device_profile/export',  
21 - DEVICE_CONFIG_IMPORT = '/device_profile/import',  
22 - SET_DEVICE_ISDEFAULT = '/deviceProfile',  
23 - FRP_API = '/frp/',  
24 - GET_TB_DEVICE_ID = '/device/get_subset',  
25 - COMMODRECORD = '/rpc',  
26 -}  
27 -  
28 -/**  
29 - * 设备配置详情  
30 - */  
31 -export const deviceConfigGetDetail = (id: string) => {  
32 - return defHttp.get({  
33 - url: `${EDeviceConfigApi.DEVICE_CONFIG_GET_DETAIL}${id}`,  
34 - });  
35 -};  
36 -  
37 -/**  
38 - * 获取规则链  
39 - */  
40 -export const deviceConfigGetRuleChain = () => {  
41 - return defHttp.get<RuleChainRecord[]>({  
42 - url: EDeviceConfigApi.DEVICE_CONFIG_GET_RULECHAIN,  
43 - });  
44 -};  
45 -  
46 -/**  
47 - * 获取告警联系人  
48 - */  
49 -export const alarmContactGetPage = () => {  
50 - return defHttp.get({  
51 - url: `${EDeviceConfigApi.ALARM_CONTACT_GET_PAGE}?page=1&pageSize=10`,  
52 - });  
53 -};  
54 -  
55 -/**  
56 - * 分页查询设备配置页面  
57 - */  
58 -export const deviceConfigGetQuery = (params?: TDeviceConfigParams) => {  
59 - return defHttp.get<PaginationResult<ProfileRecord>>({  
60 - url: EDeviceConfigApi.DEVICE_CONFIG_GET_PAGE,  
61 - params,  
62 - });  
63 -};  
64 -  
65 -/**  
66 - * 新增或者编辑设备配置  
67 -  
68 - */  
69 -export const deviceConfigAddOrEdit = (params: IDeviceConfigAddOrEditModel) => {  
70 - return defHttp.post<IDeviceConfigAddOrEditModel>({  
71 - url: EDeviceConfigApi.DEVICE_CONFIG_POST_ADD_OR_EDIT,  
72 - params,  
73 - });  
74 -};  
75 -  
76 -/**  
77 - * 删除设备配置  
78 - */  
79 -export const deviceConfigDelete = (ids: string[]) => {  
80 - return defHttp.delete({  
81 - url: EDeviceConfigApi.DEVICE_CONFIG_DELETE,  
82 - data: {  
83 - ids,  
84 - },  
85 - });  
86 -};  
87 -  
88 -/**  
89 - * 导出设备配置  
90 - */  
91 -export const deviceConfigExport = (params: IDeviceConfigAddOrEditModel) => {  
92 - return defHttp.post<IDeviceConfigAddOrEditModel>({  
93 - url: EDeviceConfigApi.DEVICE_CONFIG_EXPORT,  
94 - params,  
95 - });  
96 -};  
97 -  
98 -/**  
99 - * 导入设备配置  
100 - */  
101 -export const deviceConfigImport = (params: IDeviceConfigAddOrEditModel) => {  
102 - return defHttp.post<IDeviceConfigAddOrEditModel>({  
103 - url: EDeviceConfigApi.DEVICE_CONFIG_IMPORT,  
104 - params,  
105 - });  
106 -};  
107 -  
108 -/**  
109 - *  
110 - * 设置该设备配置为默认  
111 - */  
112 -export const setDeviceProfileIsDefaultApi = (id: string, v, params?: {}) => {  
113 - return defHttp.post(  
114 - {  
115 - url: EDeviceConfigApi.SET_DEVICE_ISDEFAULT + '/' + id + '/' + v,  
116 - params,  
117 - },  
118 - {  
119 - joinPrefix: false,  
120 - }  
121 - );  
122 -};  
123 -  
124 -/**  
125 - * Frp内网穿透信息API  
126 - */  
127 -export const frpGetInfoApi = (proxyName: string) => {  
128 - return defHttp.get({  
129 - url: `${EDeviceConfigApi.FRP_API}${proxyName}`,  
130 - });  
131 -};  
132 -  
133 -export const frpPutInfoApi = (proxyName: string, enableRemote: number) => {  
134 - return defHttp.put({  
135 - url: `${EDeviceConfigApi.FRP_API}${proxyName}/${enableRemote}`,  
136 - });  
137 -};  
138 -  
139 -export const getTbDeviceId = (params: string) => {  
140 - return defHttp.get({  
141 - url: `${EDeviceConfigApi.GET_TB_DEVICE_ID}/${params}`,  
142 - });  
143 -};  
144 -  
145 -/**  
146 - * 命令下发记录  
147 - */  
148 -export const deviceCommandRecordGetQuery = (params?: TDeviceConfigParams) => {  
149 - return defHttp.get({  
150 - url: EDeviceConfigApi.COMMODRECORD,  
151 - params,  
152 - });  
153 -}; 1 +import { defHttp } from '/@/utils/http/axios';
  2 +import {
  3 + TDeviceConfigParams,
  4 + IDeviceConfigAddOrEditModel,
  5 + ProfileRecord,
  6 + RuleChainRecord,
  7 + DeviceProfileDetail,
  8 +} from '/@/api/device/model/deviceConfigModel';
  9 +import { PaginationResult } from '/#/axios';
  10 +
  11 +enum EDeviceConfigApi {
  12 + /**
  13 + * 设备配置URL
  14 + */
  15 + DEVICE_CONFIG_GET_PAGE = '/device_profile',
  16 + DEVICE_CONFIG_POST_ADD_OR_EDIT = '/device_profile',
  17 + DEVICE_CONFIG_GET_DETAIL = '/device_profile/',
  18 + DEVICE_CONFIG_DELETE = '/device_profile',
  19 + DEVICE_CONFIG_GET_RULECHAIN = '/rule_chain/me/list',
  20 + ALARM_CONTACT_GET_PAGE = '/alarm_contact',
  21 + DEVICE_CONFIG_EXPORT = '/device_profile/export',
  22 + DEVICE_CONFIG_IMPORT = '/device_profile/import',
  23 + SET_DEVICE_ISDEFAULT = '/deviceProfile',
  24 + FRP_API = '/frp/',
  25 + GET_TB_DEVICE_ID = '/device/get_subset',
  26 + COMMODRECORD = '/rpc',
  27 +}
  28 +
  29 +/**
  30 + * 设备配置详情
  31 + */
  32 +export const deviceConfigGetDetail = (id: string) => {
  33 + return defHttp.get<DeviceProfileDetail>({
  34 + url: `${EDeviceConfigApi.DEVICE_CONFIG_GET_DETAIL}${id}`,
  35 + });
  36 +};
  37 +
  38 +/**
  39 + * 获取规则链
  40 + */
  41 +export const deviceConfigGetRuleChain = () => {
  42 + return defHttp.get<RuleChainRecord[]>({
  43 + url: EDeviceConfigApi.DEVICE_CONFIG_GET_RULECHAIN,
  44 + });
  45 +};
  46 +
  47 +/**
  48 + * 获取告警联系人
  49 + */
  50 +export const alarmContactGetPage = () => {
  51 + return defHttp.get({
  52 + url: `${EDeviceConfigApi.ALARM_CONTACT_GET_PAGE}?page=1&pageSize=10`,
  53 + });
  54 +};
  55 +
  56 +/**
  57 + * 分页查询设备配置页面
  58 + */
  59 +export const deviceConfigGetQuery = (params?: TDeviceConfigParams) => {
  60 + return defHttp.get<PaginationResult<ProfileRecord>>({
  61 + url: EDeviceConfigApi.DEVICE_CONFIG_GET_PAGE,
  62 + params,
  63 + });
  64 +};
  65 +
  66 +/**
  67 + * 新增或者编辑设备配置
  68 +
  69 + */
  70 +export const deviceConfigAddOrEdit = (params: IDeviceConfigAddOrEditModel) => {
  71 + return defHttp.post<IDeviceConfigAddOrEditModel>({
  72 + url: EDeviceConfigApi.DEVICE_CONFIG_POST_ADD_OR_EDIT,
  73 + params,
  74 + });
  75 +};
  76 +
  77 +/**
  78 + * 删除设备配置
  79 + */
  80 +export const deviceConfigDelete = (ids: string[]) => {
  81 + return defHttp.delete({
  82 + url: EDeviceConfigApi.DEVICE_CONFIG_DELETE,
  83 + data: {
  84 + ids,
  85 + },
  86 + });
  87 +};
  88 +
  89 +/**
  90 + * 导出设备配置
  91 + */
  92 +export const deviceConfigExport = (params: IDeviceConfigAddOrEditModel) => {
  93 + return defHttp.post<IDeviceConfigAddOrEditModel>({
  94 + url: EDeviceConfigApi.DEVICE_CONFIG_EXPORT,
  95 + params,
  96 + });
  97 +};
  98 +
  99 +/**
  100 + * 导入设备配置
  101 + */
  102 +export const deviceConfigImport = (params: IDeviceConfigAddOrEditModel) => {
  103 + return defHttp.post<IDeviceConfigAddOrEditModel>({
  104 + url: EDeviceConfigApi.DEVICE_CONFIG_IMPORT,
  105 + params,
  106 + });
  107 +};
  108 +
  109 +/**
  110 + *
  111 + * 设置该设备配置为默认
  112 + */
  113 +export const setDeviceProfileIsDefaultApi = (id: string, v, params?: {}) => {
  114 + return defHttp.post(
  115 + {
  116 + url: EDeviceConfigApi.SET_DEVICE_ISDEFAULT + '/' + id + '/' + v,
  117 + params,
  118 + },
  119 + {
  120 + joinPrefix: false,
  121 + }
  122 + );
  123 +};
  124 +
  125 +/**
  126 + * Frp内网穿透信息API
  127 + */
  128 +export const frpGetInfoApi = (proxyName: string) => {
  129 + return defHttp.get({
  130 + url: `${EDeviceConfigApi.FRP_API}${proxyName}`,
  131 + });
  132 +};
  133 +
  134 +export const frpPutInfoApi = (proxyName: string, enableRemote: number) => {
  135 + return defHttp.put({
  136 + url: `${EDeviceConfigApi.FRP_API}${proxyName}/${enableRemote}`,
  137 + });
  138 +};
  139 +
  140 +export const getTbDeviceId = (params: string) => {
  141 + return defHttp.get({
  142 + url: `${EDeviceConfigApi.GET_TB_DEVICE_ID}/${params}`,
  143 + });
  144 +};
  145 +
  146 +/**
  147 + * 命令下发记录
  148 + */
  149 +export const deviceCommandRecordGetQuery = (params?: TDeviceConfigParams) => {
  150 + return defHttp.get({
  151 + url: EDeviceConfigApi.COMMODRECORD,
  152 + params,
  153 + });
  154 +};
1 -import { BasicPageParams } from '/@/api/model/baseModel';  
2 -  
3 -export type TDeviceConfigPageQueryParam = BasicPageParams & TDeviceConfigParams;  
4 -  
5 -export type TDeviceConfigParams = {  
6 - page?: any;  
7 - pageSize?: any;  
8 - name?: string;  
9 - transportType?: string;  
10 - orderFiled?: string;  
11 - orderType?: string;  
12 - tbDeviceId?: string;  
13 -};  
14 -  
15 -export interface IDeviceConfigAddOrEditModel {  
16 - defaultQueueName?: string; //处理队列  
17 - alarmProfile?: {  
18 - alarmContactId: string;  
19 - createTime: '2021-12-15T02:17:26.644Z';  
20 - creator: string;  
21 - defaultConfig: string;  
22 - description: string;  
23 - deviceProfileId: string;  
24 - enabled: true;  
25 - icon: string;  
26 - id: string;  
27 - messageMode: string;  
28 - name: string;  
29 - roleIds: [string];  
30 - tenantExpireTime: '2021-12-15T02:17:26.644Z';  
31 - tenantId: string;  
32 - tenantStatus: 'DISABLED';  
33 - updateTime: '2021-12-15T02:17:26.644Z';  
34 - updater: string;  
35 - };  
36 - convertJs?: string;  
37 - createTime?: '2021-12-15T02:17:26.644Z';  
38 - creator?: string;  
39 - defaultConfig?: string;  
40 - defaultRuleChainId?: string;  
41 - description?: string;  
42 - enabled?: true;  
43 - icon?: string;  
44 - id?: string;  
45 - name?: string;  
46 - profileData?: {  
47 - configuration: {};  
48 - transportConfiguration: {};  
49 - provisionConfiguration: {  
50 - provisionDeviceSecret: string;  
51 - };  
52 - //报警类型字段  
53 - alarms: [  
54 - {  
55 - id: 'highTemperatureAlarmID';  
56 - alarmType: 'High Temperature Alarm';  
57 - createRules: {  
58 - additionalProp1: {  
59 - condition: {  
60 - condition: [  
61 - {  
62 - key: {  
63 - type: 'TIME_SERIES';  
64 - key: 'temp';  
65 - };  
66 - valueType: 'NUMERIC';  
67 - value: {};  
68 - predicate: {};  
69 - }  
70 - ];  
71 - spec: {};  
72 - };  
73 - schedule: {  
74 - type: 'ANY_TIME';  
75 - };  
76 - alarmDetails: string;  
77 - dashboardId: {  
78 - id: '784f394c-42b6-435a-983c-b7beff2784f9';  
79 - entityType: 'DASHBOARD';  
80 - };  
81 - };  
82 - additionalProp2: {  
83 - condition: {  
84 - condition: [  
85 - {  
86 - key: {  
87 - type: 'TIME_SERIES';  
88 - key: 'temp';  
89 - };  
90 - valueType: 'NUMERIC';  
91 - value: {};  
92 - predicate: {};  
93 - }  
94 - ];  
95 - spec: {};  
96 - };  
97 - schedule: {  
98 - type: 'ANY_TIME';  
99 - };  
100 - alarmDetails: string;  
101 - dashboardId: {  
102 - id: '784f394c-42b6-435a-983c-b7beff2784f9';  
103 - entityType: 'DASHBOARD';  
104 - };  
105 - };  
106 - additionalProp3: {  
107 - condition: {  
108 - condition: [  
109 - {  
110 - key: {  
111 - type: 'TIME_SERIES';  
112 - key: 'temp';  
113 - };  
114 - valueType: 'NUMERIC';  
115 - value: {};  
116 - predicate: {};  
117 - }  
118 - ];  
119 - spec: {};  
120 - };  
121 - schedule: {  
122 - type: 'ANY_TIME';  
123 - };  
124 - alarmDetails: string;  
125 - dashboardId: {  
126 - id: '784f394c-42b6-435a-983c-b7beff2784f9';  
127 - entityType: 'DASHBOARD';  
128 - };  
129 - };  
130 - };  
131 - clearRule: {  
132 - condition: {  
133 - condition: [  
134 - {  
135 - key: {  
136 - type: 'TIME_SERIES';  
137 - key: 'temp';  
138 - };  
139 - valueType: 'NUMERIC';  
140 - value: {};  
141 - predicate: {};  
142 - }  
143 - ];  
144 - spec: {};  
145 - };  
146 - schedule: {  
147 - type: 'ANY_TIME';  
148 - };  
149 - alarmDetails: string;  
150 - dashboardId: {  
151 - id: '784f394c-42b6-435a-983c-b7beff2784f9';  
152 - entityType: 'DASHBOARD';  
153 - };  
154 - };  
155 - propagate: true;  
156 - propagateRelationTypes: [string];  
157 - }  
158 - ];  
159 - };  
160 - roleIds?: [string];  
161 - tbProfileId?: string;  
162 - tenantExpireTime?: '2021-12-15T02:17:26.645Z';  
163 - tenantId?: string;  
164 - tenantStatus?: 'DISABLED';  
165 - transportType?: string;  
166 - updateTime?: '2021-12-15T02:17:26.645Z';  
167 - updater?: string;  
168 -}  
169 -  
170 -export interface Data {  
171 - CO: number;  
172 -}  
173 -  
174 -export interface Details {  
175 - data: Data;  
176 -}  
177 -  
178 -export interface AlarmLogItem {  
179 - id: string;  
180 - tenantId: string;  
181 - creator?: any;  
182 - updater?: any;  
183 - createdTime: string;  
184 - updatedTime: string;  
185 - customerId: string;  
186 - tbDeviceId: string;  
187 - originatorType: number;  
188 - deviceId: string;  
189 - deviceName: string;  
190 - type: string;  
191 - severity: string;  
192 - status: string;  
193 - startTs: string;  
194 - endTs: string;  
195 - ackTs: string;  
196 - clearTs: string;  
197 - details: Details;  
198 - propagate: boolean;  
199 - propagateRelationTypes?: any;  
200 - organizationId: string;  
201 - organizationName: string;  
202 -}  
203 -  
204 -export interface Configuration {  
205 - type: string;  
206 -}  
207 -  
208 -export interface TransportConfiguration {  
209 - type: string;  
210 -}  
211 -  
212 -export interface ProvisionConfiguration {  
213 - type: string;  
214 - provisionDeviceSecret?: any;  
215 -}  
216 -  
217 -export interface ProfileData {  
218 - configuration: Configuration;  
219 - transportConfiguration: TransportConfiguration;  
220 - provisionConfiguration: ProvisionConfiguration;  
221 - alarms?: any;  
222 -}  
223 -  
224 -export interface ProfileRecord {  
225 - id: string;  
226 - creator: string;  
227 - createTime: string;  
228 - updater: string;  
229 - updateTime: string;  
230 - name: string;  
231 - tenantId: string;  
232 - transportType: string;  
233 - provisionType: string;  
234 - deviceType: string;  
235 - tbProfileId: string;  
236 - profileData: ProfileData;  
237 - defaultRuleChainId: string;  
238 - defaultQueueName: string;  
239 - image: string;  
240 - type: string;  
241 - default: boolean;  
242 -  
243 - checked?: boolean;  
244 -}  
245 -  
246 -export interface IDRecord {  
247 - entityType: string;  
248 - id: string;  
249 -}  
250 -  
251 -export interface RuleChainRecord {  
252 - id: IDRecord;  
253 - createdTime: number;  
254 - additionalInfo?: any;  
255 - tenantId: IDRecord;  
256 - name: string;  
257 - type: string;  
258 - firstRuleNodeId: IDRecord;  
259 - root: boolean;  
260 - debugMode: boolean;  
261 - configuration?: any;  
262 -} 1 +import { BasicPageParams } from '/@/api/model/baseModel';
  2 +
  3 +export type TDeviceConfigPageQueryParam = BasicPageParams & TDeviceConfigParams;
  4 +
  5 +export type TDeviceConfigParams = {
  6 + page?: any;
  7 + pageSize?: any;
  8 + name?: string;
  9 + transportType?: string;
  10 + orderFiled?: string;
  11 + orderType?: string;
  12 + tbDeviceId?: string;
  13 +};
  14 +
  15 +export interface IDeviceConfigAddOrEditModel {
  16 + defaultQueueName?: string; //处理队列
  17 + alarmProfile?: {
  18 + alarmContactId: string;
  19 + createTime: '2021-12-15T02:17:26.644Z';
  20 + creator: string;
  21 + defaultConfig: string;
  22 + description: string;
  23 + deviceProfileId: string;
  24 + enabled: true;
  25 + icon: string;
  26 + id: string;
  27 + messageMode: string;
  28 + name: string;
  29 + roleIds: [string];
  30 + tenantExpireTime: '2021-12-15T02:17:26.644Z';
  31 + tenantId: string;
  32 + tenantStatus: 'DISABLED';
  33 + updateTime: '2021-12-15T02:17:26.644Z';
  34 + updater: string;
  35 + };
  36 + convertJs?: string;
  37 + createTime?: '2021-12-15T02:17:26.644Z';
  38 + creator?: string;
  39 + defaultConfig?: string;
  40 + defaultRuleChainId?: string;
  41 + description?: string;
  42 + enabled?: true;
  43 + icon?: string;
  44 + id?: string;
  45 + name?: string;
  46 + profileData?: {
  47 + configuration: {};
  48 + transportConfiguration: {};
  49 + provisionConfiguration: {
  50 + provisionDeviceSecret: string;
  51 + };
  52 + //报警类型字段
  53 + alarms: [
  54 + {
  55 + id: 'highTemperatureAlarmID';
  56 + alarmType: 'High Temperature Alarm';
  57 + createRules: {
  58 + additionalProp1: {
  59 + condition: {
  60 + condition: [
  61 + {
  62 + key: {
  63 + type: 'TIME_SERIES';
  64 + key: 'temp';
  65 + };
  66 + valueType: 'NUMERIC';
  67 + value: {};
  68 + predicate: {};
  69 + }
  70 + ];
  71 + spec: {};
  72 + };
  73 + schedule: {
  74 + type: 'ANY_TIME';
  75 + };
  76 + alarmDetails: string;
  77 + dashboardId: {
  78 + id: '784f394c-42b6-435a-983c-b7beff2784f9';
  79 + entityType: 'DASHBOARD';
  80 + };
  81 + };
  82 + additionalProp2: {
  83 + condition: {
  84 + condition: [
  85 + {
  86 + key: {
  87 + type: 'TIME_SERIES';
  88 + key: 'temp';
  89 + };
  90 + valueType: 'NUMERIC';
  91 + value: {};
  92 + predicate: {};
  93 + }
  94 + ];
  95 + spec: {};
  96 + };
  97 + schedule: {
  98 + type: 'ANY_TIME';
  99 + };
  100 + alarmDetails: string;
  101 + dashboardId: {
  102 + id: '784f394c-42b6-435a-983c-b7beff2784f9';
  103 + entityType: 'DASHBOARD';
  104 + };
  105 + };
  106 + additionalProp3: {
  107 + condition: {
  108 + condition: [
  109 + {
  110 + key: {
  111 + type: 'TIME_SERIES';
  112 + key: 'temp';
  113 + };
  114 + valueType: 'NUMERIC';
  115 + value: {};
  116 + predicate: {};
  117 + }
  118 + ];
  119 + spec: {};
  120 + };
  121 + schedule: {
  122 + type: 'ANY_TIME';
  123 + };
  124 + alarmDetails: string;
  125 + dashboardId: {
  126 + id: '784f394c-42b6-435a-983c-b7beff2784f9';
  127 + entityType: 'DASHBOARD';
  128 + };
  129 + };
  130 + };
  131 + clearRule: {
  132 + condition: {
  133 + condition: [
  134 + {
  135 + key: {
  136 + type: 'TIME_SERIES';
  137 + key: 'temp';
  138 + };
  139 + valueType: 'NUMERIC';
  140 + value: {};
  141 + predicate: {};
  142 + }
  143 + ];
  144 + spec: {};
  145 + };
  146 + schedule: {
  147 + type: 'ANY_TIME';
  148 + };
  149 + alarmDetails: string;
  150 + dashboardId: {
  151 + id: '784f394c-42b6-435a-983c-b7beff2784f9';
  152 + entityType: 'DASHBOARD';
  153 + };
  154 + };
  155 + propagate: true;
  156 + propagateRelationTypes: [string];
  157 + }
  158 + ];
  159 + };
  160 + roleIds?: [string];
  161 + tbProfileId?: string;
  162 + tenantExpireTime?: '2021-12-15T02:17:26.645Z';
  163 + tenantId?: string;
  164 + tenantStatus?: 'DISABLED';
  165 + transportType?: string;
  166 + updateTime?: '2021-12-15T02:17:26.645Z';
  167 + updater?: string;
  168 +}
  169 +
  170 +export interface Data {
  171 + CO: number;
  172 +}
  173 +
  174 +export interface Details {
  175 + data: Data;
  176 +}
  177 +
  178 +export interface AlarmLogItem {
  179 + id: string;
  180 + tenantId: string;
  181 + creator?: any;
  182 + updater?: any;
  183 + createdTime: string;
  184 + updatedTime: string;
  185 + customerId: string;
  186 + tbDeviceId: string;
  187 + originatorType: number;
  188 + deviceId: string;
  189 + deviceName: string;
  190 + type: string;
  191 + severity: string;
  192 + status: string;
  193 + startTs: string;
  194 + endTs: string;
  195 + ackTs: string;
  196 + clearTs: string;
  197 + details: Details;
  198 + propagate: boolean;
  199 + propagateRelationTypes?: any;
  200 + organizationId: string;
  201 + organizationName: string;
  202 +}
  203 +
  204 +export interface Configuration {
  205 + type: string;
  206 +}
  207 +
  208 +export interface TransportConfiguration {
  209 + type: string;
  210 +}
  211 +
  212 +export interface ProvisionConfiguration {
  213 + type: string;
  214 + provisionDeviceSecret?: any;
  215 +}
  216 +
  217 +export interface ProfileData {
  218 + configuration: Configuration;
  219 + transportConfiguration: TransportConfiguration;
  220 + provisionConfiguration: ProvisionConfiguration;
  221 + alarms?: any;
  222 +}
  223 +
  224 +export interface ProfileRecord {
  225 + id: string;
  226 + creator: string;
  227 + createTime: string;
  228 + updater: string;
  229 + updateTime: string;
  230 + name: string;
  231 + tenantId: string;
  232 + transportType: string;
  233 + provisionType: string;
  234 + deviceType: string;
  235 + tbProfileId: string;
  236 + profileData: ProfileData;
  237 + defaultRuleChainId: string;
  238 + defaultQueueName: string;
  239 + image: string;
  240 + type: string;
  241 + default: boolean;
  242 +
  243 + checked?: boolean;
  244 +}
  245 +
  246 +export interface IDRecord {
  247 + entityType: string;
  248 + id: string;
  249 +}
  250 +
  251 +export interface RuleChainRecord {
  252 + id: IDRecord;
  253 + createdTime: number;
  254 + additionalInfo?: any;
  255 + tenantId: IDRecord;
  256 + name: string;
  257 + type: string;
  258 + firstRuleNodeId: IDRecord;
  259 + root: boolean;
  260 + debugMode: boolean;
  261 + configuration?: any;
  262 +}
  263 +
  264 +export interface DeviceProfileDetail {
  265 + id: string;
  266 + creator: string;
  267 + createTime: string;
  268 + updater: string;
  269 + updateTime: string;
  270 + name: string;
  271 + description: string;
  272 + tenantId: string;
  273 + transportType: string;
  274 + provisionType: string;
  275 + deviceType: string;
  276 + tbProfileId: string;
  277 + profileData: ProfileData;
  278 + defaultQueueName: string;
  279 + type: string;
  280 + deviceCount: number;
  281 + default: boolean;
  282 +}
  283 +
  284 +export interface ProfileData {
  285 + configuration: Configuration;
  286 + transportConfiguration: TransportConfiguration;
  287 + provisionConfiguration: ProvisionConfiguration;
  288 + alarms: any;
  289 + thingsModel: any;
  290 +}
  291 +
  292 +export interface Configuration {
  293 + type: string;
  294 +}
  295 +
  296 +export interface TransportConfiguration {
  297 + type: string;
  298 +}
  299 +
  300 +export interface ProvisionConfiguration {
  301 + type: string;
  302 + provisionDeviceSecret: any;
  303 +}
@@ -84,6 +84,7 @@ @@ -84,6 +84,7 @@
84 import DeviceConfigurationStep from './step/DeviceConfigurationStep.vue'; 84 import DeviceConfigurationStep from './step/DeviceConfigurationStep.vue';
85 import TransportConfigurationStep from './step/TransportConfigurationStep.vue'; 85 import TransportConfigurationStep from './step/TransportConfigurationStep.vue';
86 import PhysicalModelManagementStep from './step/PhysicalModelManagementStep.vue'; 86 import PhysicalModelManagementStep from './step/PhysicalModelManagementStep.vue';
  87 + import { DeviceProfileDetail } from '/@/api/device/model/deviceConfigModel';
87 88
88 const emits = defineEmits(['success', 'register']); 89 const emits = defineEmits(['success', 'register']);
89 const activeKey = ref('1'); 90 const activeKey = ref('1');
@@ -105,15 +106,22 @@ @@ -105,15 +106,22 @@
105 }); 106 });
106 const transportTypeStr = ref(''); 107 const transportTypeStr = ref('');
107 const dynamicWidth = ref('55rem'); 108 const dynamicWidth = ref('55rem');
  109 +
  110 + const isDefault = ref(false);
108 const [register, { closeModal, setModalProps }] = useModalInner(async (data) => { 111 const [register, { closeModal, setModalProps }] = useModalInner(async (data) => {
109 setModalProps({ confirmLoading: false }); 112 setModalProps({ confirmLoading: false });
110 current.value = 0; 113 current.value = 0;
111 isUpdate.value = data.isUpdate; 114 isUpdate.value = data.isUpdate;
112 isViewDetail.value = data.isView; 115 isViewDetail.value = data.isView;
113 - const res = data.record !== undefined ? await deviceConfigGetDetail(data.record.id) : {}; 116 + const res =
  117 + data.record !== undefined
  118 + ? await deviceConfigGetDetail(data.record.id)
  119 + : ({} as DeviceProfileDetail);
114 isEditId.value = data.record !== undefined ? data.record.id : null; 120 isEditId.value = data.record !== undefined ? data.record.id : null;
115 isEditCreatTime.value = data.record !== undefined ? data.record.createTime : null; 121 isEditCreatTime.value = data.record !== undefined ? data.record.createTime : null;
116 122
  123 + isDefault.value = res.default;
  124 +
117 const title = unref(isUpdate) ? '编辑产品' : '新增产品'; 125 const title = unref(isUpdate) ? '编辑产品' : '新增产品';
118 setModalProps({ title, showOkBtn: true, showCancelBtn: true }); 126 setModalProps({ title, showOkBtn: true, showCancelBtn: true });
119 if (unref(isUpdate)) { 127 if (unref(isUpdate)) {
@@ -183,6 +191,7 @@ @@ -183,6 +191,7 @@
183 ...{ profileData: !isEmptyObj ? transportConfData.profileData : null }, 191 ...{ profileData: !isEmptyObj ? transportConfData.profileData : null },
184 ...{ id: isUpdate.value ? isEditId.value : null }, 192 ...{ id: isUpdate.value ? isEditId.value : null },
185 ...{ createTime: isUpdate.value ? isEditCreatTime.value : null }, 193 ...{ createTime: isUpdate.value ? isEditCreatTime.value : null },
  194 + default: !!unref(isDefault),
186 }); 195 });
187 createMessage.success(isUpdate.value ? `编辑成功` : `新增成功`); 196 createMessage.success(isUpdate.value ? `编辑成功` : `新增成功`);
188 handleCancel(); 197 handleCancel();