wzyyy %!s(int64=3) %!d(string=hai) anos
pai
achega
feca322d6d

+ 12 - 6
src/pages/rule-engine/Scene/Save/action/DeviceOutput/actions/TypeModel.tsx

@@ -22,6 +22,7 @@ interface Props {
   onColumns?: (col: any) => void;
   thenName: number;
   branchGroup?: number;
+  label?: string; //枚举回显
 }
 
 export default (props: Props) => {
@@ -93,7 +94,8 @@ export default (props: Props) => {
 
   useEffect(() => {
     setValue(props.value);
-    console.log('typemodel', props.value);
+    setLabelValue(props.label);
+    // console.log('typemodel', props.value);
   }, [props.value]);
 
   const renderNode = (type: string) => {
@@ -120,10 +122,14 @@ export default (props: Props) => {
             options={props.record?.options || props.elements || []}
             fieldNames={{ label: 'text', value: 'value' }}
             placeholder={'请选择'}
-            mode="multiple"
-            onChange={(e) => {
-              console.log(e);
-              onChange(e);
+            onChange={(e, options: any) => {
+              console.log(options);
+              setValue(e);
+              setLabelValue(options?.text);
+              if (props.onChange) {
+                props.onChange(e, source);
+              }
+              // onChange(e)
             }}
           />
         );
@@ -243,7 +249,7 @@ export default (props: Props) => {
             defaultExpandAll
             fieldNames={{ title: 'name', key: 'id' }}
             onSelect={(selectedKeys, e) => {
-              console.log('e.node', e.node);
+              // console.log('e.node', e.node);
               if (e.node.metadata) {
                 if (props.onColumns) {
                   props.onColumns(e.node.column);

+ 13 - 1
src/pages/rule-engine/Scene/Save/action/DeviceOutput/actions/WriteProperty.tsx

@@ -23,9 +23,10 @@ export default (props: Props) => {
   const textRef = useRef<any>('');
   const [format, setFormat] = useState<any>('HH:mm:ss');
   const [enumList, setEnumList] = useState<any>([]);
+  const [label, setLabel] = useState<any>();
 
   useEffect(() => {
-    // console.log(props.value);
+    console.log(props.value);
     if (props.value) {
       if (props.properties && props.properties.length) {
         if (0 in props.value) {
@@ -38,8 +39,18 @@ export default (props: Props) => {
             setPropertiesValue(props.value[key].value);
             setSource(props.value[key].source);
             const propertiesItem = props.properties.find((item: any) => item.id === key);
+            // console.log(propertiesItem,'11111111')
             if (propertiesItem) {
               setPropertiesType(propertiesItem.valueType.type);
+              if (propertiesItem.valueType.type === 'enum') {
+                console.log(propertiesItem.valueType.elements, props.value[key].value);
+                setEnumList(propertiesItem.valueType.elements);
+                const text = propertiesItem.valueType.elements.find(
+                  (item: any) => item.value === props.value[key].value?.[0],
+                ).text;
+                setLabel(text);
+                console.log(text);
+              }
             }
           });
         }
@@ -91,6 +102,7 @@ export default (props: Props) => {
         <Col span={12}>
           <TypeModel
             value={propertiesValue}
+            label={label}
             type={propertiesType}
             name={props.name}
             branchGroup={props.branchGroup}

+ 1 - 0
src/pages/rule-engine/Scene/Save/components/ParamsSelect/index.tsx

@@ -43,6 +43,7 @@ export default (props: Props) => {
 
   useEffect(() => {
     if (props.labelValue) {
+      console.log(props.labelValue);
       setValue(props.labelValue);
     }
   }, [props.labelValue]);