xieyonghong 3 år sedan
förälder
incheckning
72c3e03df7

+ 11 - 7
src/pages/notice/Template/Debug/index.tsx

@@ -71,13 +71,17 @@ const Debug = observer(() => {
   );
 
   useEffect(() => {
-    const data = state.current;
-    if (data?.variableDefinitions?.length > 0) {
-      form.setFieldState('variableDefinitions', (state1) => {
-        state1.visible = true;
-        state1.value = data?.variableDefinitions;
-      });
-    }
+    // const data = state.current;
+    // 从后端接口来获取变量参数
+    service.getVariableDefinitions(state.current?.id || '').then((resp) => {
+      const _template = resp.result;
+      if (_template?.variableDefinitions?.length > 0) {
+        form.setFieldState('variableDefinitions', (state1) => {
+          state1.visible = true;
+          state1.value = _template?.variableDefinitions;
+        });
+      }
+    });
   }, [state.current, state.debug]);
 
   const SchemaField = createSchemaField({

+ 11 - 8
src/pages/notice/Template/Detail/index.tsx

@@ -242,7 +242,7 @@ const Detail = observer(() => {
               });
             }
           });
-          onFieldValueChange('template.*(subject,markdown.title)', (field, form1) => {
+          onFieldValueChange('template.*(subject,markdown.title,link.title)', (field, form1) => {
             const value = (field as Field).value;
             const _message = field.query('template.message').value();
 
@@ -460,13 +460,15 @@ const Detail = observer(() => {
     batchCheckEmail(value) {
       const regEmail = /^([a-zA-Z]|[0-9])(\w|\-)+@[a-zA-Z0-9]+\.([a-zA-Z]{2,4})$/;
       let error;
-      value.some((item: string) => {
-        if (!regEmail.test(item)) {
-          error = item;
-          return true;
-        }
-        return false;
-      });
+      if (value) {
+        value.some((item: string) => {
+          if (!regEmail.test(item)) {
+            error = item;
+            return true;
+          }
+          return false;
+        });
+      }
       return error ? `${error}邮件格式错误` : '';
     },
   });
@@ -1116,6 +1118,7 @@ const Detail = observer(() => {
                         },
                         gridSpan: 23,
                       },
+                      required: true,
                       'x-component-props': {
                         type: 'file',
                         display: 'name',

+ 5 - 0
src/pages/notice/Template/service.ts

@@ -42,6 +42,11 @@ class Service extends BaseService<TemplateItem> {
       method: 'POST',
     });
 
+  public getVariableDefinitions = (templateId: string) =>
+    request(`${SystemConst.API_BASE}/notifier/template/${templateId}/detail`, {
+      method: 'GET',
+    });
+
   dingTalk = {
     getDepartments: (id: string) =>
       request(`${SystemConst.API_BASE}/notifier/dingtalk/corp/${id}/departments`).then(

+ 1 - 1
src/pages/rule-engine/Alarm/Config/index.tsx

@@ -1,5 +1,5 @@
 import { PageContainer } from '@ant-design/pro-layout';
-import { Button, Card, Col, Divider, message, Row, Table, Tooltip, Image } from 'antd';
+import { Button, Card, Col, Divider, Image, message, Row, Table, Tooltip } from 'antd';
 import TitleComponent from '@/components/TitleComponent';
 import { createSchemaField } from '@formily/react';
 import { ArrayItems, Form, FormButtonGroup, FormGrid, FormItem, Input } from '@formily/antd';