xieyonghong 3 lat temu
rodzic
commit
f587e17f7b

+ 20 - 2
src/pages/notice/Template/Detail/index.tsx

@@ -72,6 +72,9 @@ const Detail = observer(() => {
   // 正则提取${}里面的值
   // 正则提取${}里面的值
   const pattern = /(?<=\$\{).*?(?=\})/g;
   const pattern = /(?<=\$\{).*?(?=\})/g;
 
 
+  // 提取微信服务号里面的值 {{}}
+  const weixinPattern = /(?<=\{\{).*?(?=\.DATA}})/g;
+
   const getConfig = (provider1: string) =>
   const getConfig = (provider1: string) =>
     configService
     configService
       .queryNoPagingPost({
       .queryNoPagingPost({
@@ -118,6 +121,15 @@ const Detail = observer(() => {
                 height: '100px',
                 height: '100px',
               });
               });
             }
             }
+            const _provider = field.query('provider').value();
+            if (_provider === 'corpMessage') {
+              field.componentProps = {
+                disabled: true,
+                rows: 5,
+                placeholder:
+                  '变量格式:${name};\n 示例:尊敬的${name},${time}有设备触发告警,请注意处理',
+              };
+            }
           });
           });
           onFieldValueChange('provider', (field, form1) => {
           onFieldValueChange('provider', (field, form1) => {
             const value = field.value;
             const value = field.value;
@@ -259,9 +271,15 @@ const Detail = observer(() => {
             }
             }
           });
           });
           onFieldValueChange('template.message', (field, form1) => {
           onFieldValueChange('template.message', (field, form1) => {
+            const _provider = field.query('provider').value();
+
             const value = (field as Field).value;
             const value = (field as Field).value;
             const idList =
             const idList =
-              (typeof value === 'string' && value?.match(pattern)?.filter((i: string) => i)) || [];
+              (typeof value === 'string' &&
+                value
+                  ?.match(_provider === 'officialMessage' ? weixinPattern : pattern)
+                  ?.filter((i: string) => i)) ||
+              [];
 
 
             if (id === 'email') {
             if (id === 'email') {
               const subject = field.query('template.subject');
               const subject = field.query('template.subject');
@@ -272,7 +290,6 @@ const Detail = observer(() => {
                 idList.unshift(...titleList);
                 idList.unshift(...titleList);
               }
               }
             }
             }
-            const _provider = field.query('provider').value();
             if (_provider === 'dingTalkRobotWebHook') {
             if (_provider === 'dingTalkRobotWebHook') {
               const title = field.query('template.markdown.title').value();
               const title = field.query('template.markdown.title').value();
               const titleList = title?.match(pattern)?.filter((i: string) => i);
               const titleList = title?.match(pattern)?.filter((i: string) => i);
@@ -715,6 +732,7 @@ const Detail = observer(() => {
                     'x-decorator-props': {
                     'x-decorator-props': {
                       tooltip: '服务号消息模版标题',
                       tooltip: '服务号消息模版标题',
                     },
                     },
+                    'x-disabled': true,
                   },
                   },
                 },
                 },
                 'x-reactions': {
                 'x-reactions': {

+ 6 - 1
src/pages/rule-engine/Scene/TriggerTerm/index.tsx

@@ -14,7 +14,7 @@ import {
   TreeSelect,
   TreeSelect,
 } from '@formily/antd';
 } from '@formily/antd';
 import { ISchema } from '@formily/json-schema';
 import { ISchema } from '@formily/json-schema';
-import { createForm, onFieldValueChange } from '@formily/core';
+import { createForm, onFieldValueChange, onFormValuesChange } from '@formily/core';
 import { forwardRef, useImperativeHandle, useMemo } from 'react';
 import { forwardRef, useImperativeHandle, useMemo } from 'react';
 import FTermArrayCards from '@/components/FTermArrayCards';
 import FTermArrayCards from '@/components/FTermArrayCards';
 import FTermTypeSelect from '@/components/FTermTypeSelect';
 import FTermTypeSelect from '@/components/FTermTypeSelect';
@@ -40,6 +40,11 @@ const TriggerTerm = (props: Props, ref: any) => {
         validateFirst: true,
         validateFirst: true,
         initialValues: props.value,
         initialValues: props.value,
         effects() {
         effects() {
+          onFormValuesChange(async (f) => {
+            if (props.onChange) {
+              props.onChange(await f.submit());
+            }
+          });
           onFieldValueChange('trigger.*.terms.*.column', (field, form1) => {
           onFieldValueChange('trigger.*.terms.*.column', (field, form1) => {
             const operator = field.query('.termType');
             const operator = field.query('.termType');
             // 找到选中的
             // 找到选中的