Commit ce43e30143793d4bde04128b03610fcf405e398f
Merge branch 'feat/alarm-add-dingtalk' into 'main_dev'
feat:告警联系人新增钉钉字段 See merge request yunteng/thingskit-front!1030
Showing
3 changed files
with
79 additions
and
1 deletions
| @@ -74,6 +74,12 @@ | @@ -74,6 +74,12 @@ | ||
| 74 | username: values.username, | 74 | username: values.username, |
| 75 | password: values.password, | 75 | password: values.password, |
| 76 | }; | 76 | }; |
| 77 | + } else if (values.messageType === 'DING_TALK_MESSAGE') { | ||
| 78 | + config = { | ||
| 79 | + AgentId: values?.AgentId, | ||
| 80 | + ClientID: values?.ClientID, | ||
| 81 | + ClientSecret: values?.ClientSecret, | ||
| 82 | + }; | ||
| 77 | } | 83 | } |
| 78 | Reflect.set(values, 'config', config); | 84 | Reflect.set(values, 'config', config); |
| 79 | let saveMessage = '添加成功'; | 85 | let saveMessage = '添加成功'; |
| @@ -79,6 +79,9 @@ export const isMessage = (type: string) => { | @@ -79,6 +79,9 @@ export const isMessage = (type: string) => { | ||
| 79 | export const isEmail = (type: string) => { | 79 | export const isEmail = (type: string) => { |
| 80 | return type === MessageEnum.IS_EMAIL; | 80 | return type === MessageEnum.IS_EMAIL; |
| 81 | }; | 81 | }; |
| 82 | +export const isDingtalk = (type: string) => { | ||
| 83 | + return type === MessageEnum.IS_DINGTALK; | ||
| 84 | +}; | ||
| 82 | export const messageTypeIsTencentCloud = (type: string) => { | 85 | export const messageTypeIsTencentCloud = (type: string) => { |
| 83 | return type === 'TENCENT_CLOUD'; | 86 | return type === 'TENCENT_CLOUD'; |
| 84 | }; | 87 | }; |
| @@ -114,7 +117,17 @@ export const formSchema: FormSchema[] = [ | @@ -114,7 +117,17 @@ export const formSchema: FormSchema[] = [ | ||
| 114 | required: true, | 117 | required: true, |
| 115 | component: 'ApiSelect', | 118 | component: 'ApiSelect', |
| 116 | componentProps: { | 119 | componentProps: { |
| 117 | - api: findDictItemByCode, | 120 | + // api: findDictItemByCode, |
| 121 | + api: async (params: Recordable) => { | ||
| 122 | + try { | ||
| 123 | + const result = await findDictItemByCode(params as any); | ||
| 124 | + return result.filter((item) => item.itemValue !== 'DING_TALK'); | ||
| 125 | + } catch (e) { | ||
| 126 | + // eslint-disable-next-line no-console | ||
| 127 | + console.error(e); | ||
| 128 | + return []; | ||
| 129 | + } | ||
| 130 | + }, | ||
| 118 | params: { | 131 | params: { |
| 119 | dictCode: 'platform_type', | 132 | dictCode: 'platform_type', |
| 120 | }, | 133 | }, |
| @@ -124,6 +137,31 @@ export const formSchema: FormSchema[] = [ | @@ -124,6 +137,31 @@ export const formSchema: FormSchema[] = [ | ||
| 124 | ifShow: ({ values }) => isMessage(Reflect.get(values, 'messageType')), | 137 | ifShow: ({ values }) => isMessage(Reflect.get(values, 'messageType')), |
| 125 | }, | 138 | }, |
| 126 | { | 139 | { |
| 140 | + field: 'platformType', | ||
| 141 | + label: '平台类型', | ||
| 142 | + required: true, | ||
| 143 | + component: 'ApiSelect', | ||
| 144 | + componentProps: { | ||
| 145 | + // api: findDictItemByCode,console.log(result | ||
| 146 | + api: async (params: Recordable) => { | ||
| 147 | + try { | ||
| 148 | + const result = await findDictItemByCode(params as any); | ||
| 149 | + return result.filter((item) => item.itemValue === 'DING_TALK'); | ||
| 150 | + } catch (e) { | ||
| 151 | + // eslint-disable-next-line no-console | ||
| 152 | + console.error(e); | ||
| 153 | + return []; | ||
| 154 | + } | ||
| 155 | + }, | ||
| 156 | + params: { | ||
| 157 | + dictCode: 'platform_type', | ||
| 158 | + }, | ||
| 159 | + labelField: 'itemText', | ||
| 160 | + valueField: 'itemValue', | ||
| 161 | + }, | ||
| 162 | + ifShow: ({ values }) => isDingtalk(Reflect.get(values, 'messageType')), | ||
| 163 | + }, | ||
| 164 | + { | ||
| 127 | field: 'appId', | 165 | field: 'appId', |
| 128 | label: 'appId', | 166 | label: 'appId', |
| 129 | required: true, | 167 | required: true, |
| @@ -251,6 +289,39 @@ export const formSchema: FormSchema[] = [ | @@ -251,6 +289,39 @@ export const formSchema: FormSchema[] = [ | ||
| 251 | }, | 289 | }, |
| 252 | }, | 290 | }, |
| 253 | { | 291 | { |
| 292 | + field: 'AgentId', | ||
| 293 | + label: 'AgentId', | ||
| 294 | + component: 'Input', | ||
| 295 | + required: true, | ||
| 296 | + ifShow: ({ values }) => isDingtalk(Reflect.get(values, 'messageType')), | ||
| 297 | + componentProps: { | ||
| 298 | + maxLength: 36, | ||
| 299 | + placeholder: '请输入AgentId', | ||
| 300 | + }, | ||
| 301 | + }, | ||
| 302 | + { | ||
| 303 | + field: 'ClientID', | ||
| 304 | + label: 'ClientID', | ||
| 305 | + component: 'Input', | ||
| 306 | + required: true, | ||
| 307 | + ifShow: ({ values }) => isDingtalk(Reflect.get(values, 'messageType')), | ||
| 308 | + componentProps: { | ||
| 309 | + maxLength: 36, | ||
| 310 | + placeholder: '请输入ClientID', | ||
| 311 | + }, | ||
| 312 | + }, | ||
| 313 | + { | ||
| 314 | + field: 'ClientSecret', | ||
| 315 | + label: 'ClientSecret', | ||
| 316 | + component: 'Input', | ||
| 317 | + ifShow: ({ values }) => isDingtalk(Reflect.get(values, 'messageType')), | ||
| 318 | + required: true, | ||
| 319 | + componentProps: { | ||
| 320 | + maxLength: 36, | ||
| 321 | + placeholder: '请输入ClientSecret', | ||
| 322 | + }, | ||
| 323 | + }, | ||
| 324 | + { | ||
| 254 | field: 'status', | 325 | field: 'status', |
| 255 | label: '状态', | 326 | label: '状态', |
| 256 | component: 'RadioButtonGroup', | 327 | component: 'RadioButtonGroup', |