Explorar o código

fix(diagnose): diagnose message

lind %!s(int64=3) %!d(string=hai) anos
pai
achega
02fe7f2e62
Modificáronse 2 ficheiros con 31 adicións e 25 borrados
  1. 4 4
      config/proxy.ts
  2. 27 21
      src/pages/device/Instance/Detail/Diagnose/Message/index.tsx

+ 4 - 4
config/proxy.ts

@@ -9,10 +9,10 @@
 export default {
   dev: {
     '/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://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://192.168.66.5:8844/',
       // ws: 'ws://192.168.66.5:8844/',
       // ws: 'ws://demo.jetlinks.cn/jetlinks',

+ 27 - 21
src/pages/device/Instance/Detail/Diagnose/Message/index.tsx

@@ -7,16 +7,16 @@ import { InstanceModel, service } from '@/pages/device/Instance';
 import useSendWebsocketMessage from '@/hooks/websocket/useSendWebsocketMessage';
 import { map } from 'rxjs/operators';
 import type { Field } from '@formily/core';
-import { createForm, onFieldValueChange } from '@formily/core';
+import { createForm, onFieldReact } from '@formily/core';
 import { createSchemaField, FormProvider } from '@formily/react';
 import {
   ArrayTable,
   DatePicker as FDatePicker,
   FormItem,
   Input as FInput,
+  NumberPicker,
   PreviewText,
   Select as FSelect,
-  Switch,
 } from '@formily/antd';
 import { randomString } from '@/utils/util';
 import Log from './Log';
@@ -25,6 +25,8 @@ interface Props {
   onChange: (type: string) => void;
 }
 
+const DatePicker1: any = DatePicker;
+
 const Message = (props: Props) => {
   const [subscribeTopic] = useSendWebsocketMessage();
   const [dialogList, setDialogList] = useState<any[]>([]);
@@ -100,11 +102,10 @@ const Message = (props: Props) => {
           />
         );
       case 'date':
-        // @ts-ignore
         return (
-          <DatePicker
+          <DatePicker1
             style={{ width: '100%' }}
-            onChange={(value) => {
+            onChange={(value: any) => {
               setPropertyValue(value);
             }}
           />
@@ -130,23 +131,28 @@ const Message = (props: Props) => {
       data: [...inputs],
     },
     effects() {
-      onFieldValueChange('data.*.valueType.type', (field) => {
+      onFieldReact('data.*.valueType.type', (field) => {
         const value = (field as Field).value;
         const format = field.query('..value').take() as any;
-        switch (value) {
-          case 'date':
-            format.setComponent(FDatePicker);
-            break;
-          case 'boolean':
-            format.setComponent(Switch);
-            format.setDataSource = [
-              { label: '是', value: true },
-              { label: '否', value: false },
-            ];
-            break;
-          default:
-            format.setComponent(FInput);
-            break;
+        if (format) {
+          switch (value) {
+            case 'date':
+              format.setComponent(FDatePicker);
+              break;
+            case 'boolean':
+              format.setComponent(FSelect);
+              format.setDataSource([
+                { label: '是', value: true },
+                { label: '否', value: false },
+              ]);
+              break;
+            case 'int':
+              format.setComponent(NumberPicker);
+              break;
+            default:
+              format.setComponent(FInput);
+              break;
+          }
         }
       });
     },
@@ -231,7 +237,7 @@ const Message = (props: Props) => {
       PreviewText,
       FSelect,
       FDatePicker,
-      Switch,
+      NumberPicker,
     },
   });