lind 3 лет назад
Родитель
Сommit
6025ad02dd

+ 30 - 2
src/pages/notice/Template/Debug/index.tsx

@@ -1,5 +1,5 @@
 import { message, Modal } from 'antd';
-import { useEffect, useMemo } from 'react';
+import { useEffect, useMemo, useRef } from 'react';
 import { createForm, Field, onFieldReact, onFieldValueChange } from '@formily/core';
 import { createSchemaField, observer } from '@formily/react';
 import {
@@ -23,6 +23,8 @@ const Debug = observer(() => {
   const location = useLocation<{ id: string }>();
   const id = (location as any).query?.id;
 
+  const variableRef = useRef<any>([]);
+
   const form = useMemo(
     () =>
       createForm({
@@ -38,9 +40,13 @@ const Debug = observer(() => {
             }
           });
 
-          onFieldReact('variableDefinitions.*.type', (field) => {
+          onFieldReact('variableDefinitions.*.type', async (field) => {
             const value = (field as Field).value;
             const format = field.query('.value').take() as Field;
+            const _id = field.query('.id').take() as Field;
+
+            const configId = field.query('configId');
+
             if (format && value) {
               switch (value) {
                 case 'date':
@@ -64,6 +70,27 @@ const Debug = observer(() => {
                   break;
               }
             }
+            if (variableRef.current) {
+              const a = variableRef.current?.find((i: any) => i.id === _id.value);
+              const _configId = configId.value();
+              const businessType = a?.expands?.businessType;
+              if (id === 'dingTalk' && _configId) {
+                switch (businessType) {
+                  case 'org':
+                    // 获取org
+                    const orgList = await service.dingTalk.getDepartments(_configId);
+                    format.setComponent(Select);
+                    format.setDataSource(orgList);
+                    break;
+                  case 'user':
+                    // 获取user
+                    const userList = await service.dingTalk.getUser(_configId);
+                    format.setComponent(Select);
+                    format.setDataSource(userList);
+                    break;
+                }
+              }
+            }
           });
         },
       }),
@@ -76,6 +103,7 @@ const Debug = observer(() => {
     service.getVariableDefinitions(state.current?.id || '').then((resp) => {
       const _template = resp.result;
       if (_template?.variableDefinitions?.length > 0) {
+        variableRef.current = _template?.variableDefinitions;
         form.setFieldState('variableDefinitions', (state1) => {
           state1.visible = true;
           state1.value = _template?.variableDefinitions;

+ 0 - 2
src/pages/rule-engine/Scene/TriggerTerm/index.tsx

@@ -140,7 +140,6 @@ const TriggerTerm = (props: Props, ref: any) => {
             });
           });
           onFieldReact('trigger.*.terms.*.value.source', (field, form1) => {
-            console.log(field, 'field');
             const params = field.query('..column').value();
 
             // 找到选中的
@@ -156,7 +155,6 @@ const TriggerTerm = (props: Props, ref: any) => {
 
             const source = (field as Field).value;
             const value = field.query(source === 'manual' ? '.value' : '.metric');
-            console.log(value, source, '指标测试', target);
             if (target) {
               if (source === 'manual') {
                 // 手动输入