xieyonghong 3 лет назад
Родитель
Сommit
0e22e6358a

+ 6 - 2
config/proxy.ts

@@ -11,8 +11,12 @@ export default {
     '/jetlinks': {
       // target: 'http://192.168.32.44:8844/',
       // ws: 'ws://192.168.32.44:8844/',
-      target: 'http://120.79.18.123:8844/',
-      ws: 'ws://120.79.18.123:8844/',
+      // 开发环境
+      // target: 'http://120.79.18.123:8844/',
+      // ws: 'ws://120.79.18.123:8844/',
+      // 测试环境
+      target: 'http://120.77.179.54:8844/',
+      ws: 'ws://120.77.179.54:8844/',
       // target: 'http://192.168.66.5:8844/',
       // ws: 'ws://192.168.66.5:8844/',
       // ws: 'ws://demo.jetlinks.cn/jetlinks',

+ 7 - 3
src/components/ProTableCard/CardItems/networkCard.tsx

@@ -52,7 +52,7 @@ export default (props: NoticeCardProps) => {
         disabled: StatusColorEnum.error,
         enabled: StatusColorEnum.processing,
       }}
-      // showMask={false}
+      showMask={false}
     >
       <div className={'pro-table-card-item'}>
         <div className={'card-item-avatar'}>
@@ -60,12 +60,16 @@ export default (props: NoticeCardProps) => {
         </div>
         <div className={'card-item-body'}>
           <div className={'card-item-header'}>
-            <span className={'card-item-header-name ellipsis'}>{props.name}</span>
+            <span className={'card-item-header-name ellipsis'}>
+              <Tooltip title={props.name}>{props.name}</Tooltip>
+            </span>
           </div>
           <div className={'card-item-content'}>
             <div>
               <label>类型</label>
-              <div className={'ellipsis'}>{props.type}</div>
+              <div className={'ellipsis'}>
+                <Tooltip title={props?.type}>{props.type}</Tooltip>
+              </div>
             </div>
             <div>
               <label>详情</label>

+ 2 - 1
src/pages/device/Instance/Detail/MetadataLog/Property/index copy.tsx

@@ -5,11 +5,12 @@ import type { PropertyMetadata } from '@/pages/device/Product/typings';
 import encodeQuery from '@/utils/encodeQuery';
 import { useEffect, useState } from 'react';
 import moment from 'moment';
-import { Axis, Chart, LineAdvance, Legend, Slider, Tooltip, Point } from 'bizcharts';
+import { Axis, Chart, Legend, LineAdvance, Point, Slider, Tooltip } from 'bizcharts';
 import FileComponent from '../../Running/Property/FileComponent';
 import { DownloadOutlined, SearchOutlined } from '@ant-design/icons';
 import Detail from './Detail';
 import AMap from './AMap';
+
 interface Props {
   close: () => void;
   data: Partial<PropertyMetadata>;

+ 1 - 0
src/pages/device/Instance/Detail/MetadataLog/Property/index.tsx

@@ -20,6 +20,7 @@ import { DownloadOutlined, SearchOutlined } from '@ant-design/icons';
 import Detail from './Detail';
 import AMap from './AMap';
 import Charts from './Charts';
+
 interface Props {
   close: () => void;
   data: Partial<PropertyMetadata>;

+ 11 - 12
src/pages/link/Type/index.tsx

@@ -5,7 +5,6 @@ import {
   CloseCircleOutlined,
   DeleteOutlined,
   EditOutlined,
-  EyeOutlined,
   PlayCircleOutlined,
   PlusOutlined,
 } from '@ant-design/icons';
@@ -266,17 +265,17 @@ const Network = () => {
         cardRender={(record) => (
           <NetworkCard
             {...record}
-            detail={
-              <div
-                style={{ fontSize: 18, padding: 8 }}
-                onClick={() => {
-                  Store.set('current-network-data', record);
-                  pageJump(record.id);
-                }}
-              >
-                <EyeOutlined />
-              </div>
-            }
+            // detail={
+            //   <div
+            //     style={{ fontSize: 18, padding: 8 }}
+            //     onClick={() => {
+            //       Store.set('current-network-data', record);
+            //       pageJump(record.id);
+            //     }}
+            //   >
+            //     <EyeOutlined />
+            //   </div>
+            // }
             actions={[
               <PermissionButton
                 isPermission={networkPermission.update}

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

@@ -10,7 +10,6 @@ import {
   NumberPicker,
   Select,
   Space,
-  Switch,
   TreeSelect,
 } from '@formily/antd';
 import { ISchema } from '@formily/json-schema';
@@ -21,7 +20,7 @@ import {
   onFieldValueChange,
   onFormValuesChange,
 } from '@formily/core';
-import { forwardRef, useImperativeHandle, useMemo, useRef } from 'react';
+import { forwardRef, useEffect, useImperativeHandle, useMemo, useRef } from 'react';
 import FTermArrayCards from '@/components/FTermArrayCards';
 import FTermTypeSelect from '@/components/FTermTypeSelect';
 import styles from './index.less';
@@ -30,6 +29,8 @@ import { useAsyncDataSource } from '@/utils/util';
 import { Store } from 'jetlinks-store';
 import { treeFilter } from '@/utils/tree';
 import FInputGroup from '@/components/FInputGroup';
+import { Button } from 'antd';
+import _ from 'lodash';
 
 const service = new Service('scene');
 
@@ -89,8 +90,6 @@ const TriggerTerm = (props: Props, ref: any) => {
     () =>
       createForm({
         validateFirst: true,
-        initialValues: props.value,
-
         effects() {
           onFormValuesChange(async (f) => {
             if (props.onChange) {
@@ -167,15 +166,25 @@ const TriggerTerm = (props: Props, ref: any) => {
                   long: NumberPicker,
                   string: Input,
                   date: DatePicker,
-                  boolean: Switch,
+                  boolean: Select,
                 };
 
                 form1.setFieldState(value, (state) => {
                   state.componentType = valueTypeMap[valueType];
+                  state.componentProps = {
+                    style: {
+                      width: '100%',
+                    },
+                  };
                   if (valueType === 'date') {
                     state.componentProps = {
                       showTime: true,
                     };
+                  } else if (valueType === 'boolean') {
+                    state.dataSource = [
+                      { label: '是', value: 'true' },
+                      { label: '否', value: 'false' },
+                    ];
                   }
                 });
                 form1.setFieldState(field.query('.value.1'), (state) => {
@@ -208,10 +217,34 @@ const TriggerTerm = (props: Props, ref: any) => {
     [props.value, props.params],
   );
 
+  useEffect(() => {
+    const data = props.value;
+    data?.trigger?.map((item: { terms: any[] }) =>
+      item.terms?.map((j) => {
+        if (typeof j.value.value === 'string') {
+          j.value.value = [j.value.value];
+        }
+        return j;
+      }),
+    );
+    form.setInitialValues(data);
+  }, [props.value]);
+
   useImperativeHandle(ref, () => ({
     getTriggerForm: async () => {
       await form.validate();
-      return form.submit();
+      const data: any = await form.submit().then((_data: any) => {
+        _data.trigger?.map((item: { terms: any[] }) =>
+          item.terms.map((j) => {
+            if (j.value.value.length === 1) {
+              j.value.value = j.value.value[0];
+            }
+            return j;
+          }),
+        );
+        return _data;
+      });
+      return data;
     },
   }));
   const SchemaField = createSchemaField({
@@ -457,6 +490,25 @@ const TriggerTerm = (props: Props, ref: any) => {
   return (
     <Form form={form} layout="vertical" className={styles.form}>
       <SchemaField schema={schema} scope={{ useAsyncDataSource, getParseTerm }} />
+      <Button
+        onClick={async () => {
+          const data: any = await form.submit();
+          data.trigger?.map((item: { terms: any[] }) =>
+            item.terms.map((j) => {
+              if (j.value.value.length === 1) {
+                j.value.value = j.value.value[0];
+              }
+              return j;
+            }),
+          );
+          const value = _.get(data, 'trigger[*].terms[*].value.value');
+          console.log(value, 'vvvv');
+          _.set(value, 'x[*].xxx', 'test');
+          console.log(data);
+        }}
+      >
+        保存数据
+      </Button>
     </Form>
   );
 };

+ 3 - 4
src/pages/system/Platforms/Api/swagger-ui/debugging.tsx

@@ -3,12 +3,11 @@ import ReactJson from 'react-json-view';
 import { request } from 'umi';
 import MonacoEditor from 'react-monaco-editor';
 import { Button, Input } from 'antd';
-import { useCallback, useEffect, useMemo, useState, useRef } from 'react';
-import { observer } from '@formily/react';
+import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
+import { createSchemaField, FormProvider, observer } from '@formily/react';
 import { ApiModel } from '@/pages/system/Platforms/Api/base';
 import { createForm } from '@formily/core';
-import { createSchemaField, FormProvider } from '@formily/react';
-import { FormItem, Input as FormilyInput, ArrayTable, Editable } from '@formily/antd';
+import { ArrayTable, Editable, FormItem, Input as FormilyInput } from '@formily/antd';
 import type { ISchema } from '@formily/json-schema';
 import SystemConst from '@/utils/const';
 import classNames from 'classnames';

+ 1 - 1
src/pages/system/Platforms/save.tsx

@@ -1,5 +1,5 @@
-import { createForm, onFieldValueChange } from '@formily/core';
 import type { Field } from '@formily/core';
+import { createForm, onFieldValueChange } from '@formily/core';
 import { createSchemaField } from '@formily/react';
 import {
   Checkbox,