wzyyy 3 年之前
父節點
當前提交
36bcffa21a

+ 18 - 3
src/pages/Northbound/AliCloud/index.tsx

@@ -260,8 +260,11 @@ const AliCloud = () => {
           <AliyunCard
             {...record}
             detail={
-              <div
-                style={{ padding: 8, fontSize: 24 }}
+              <PermissionButton
+                key={'view'}
+                type={'link'}
+                style={{ padding: 0, fontSize: 24, color: '#fff' }}
+                isPermission={permission.view}
                 onClick={() => {
                   const url = `${getMenuPathByParams(
                     MENUS_CODE['Northbound/AliCloud/Detail'],
@@ -271,7 +274,19 @@ const AliCloud = () => {
                 }}
               >
                 <EyeOutlined />
-              </div>
+              </PermissionButton>
+              // <div
+              //   style={{ padding: 8, fontSize: 24 }}
+              //   onClick={() => {
+              //     const url = `${getMenuPathByParams(
+              //       MENUS_CODE['Northbound/AliCloud/Detail'],
+              //       record.id,
+              //     )}`;
+              //     history.push(url, { view: true });
+              //   }}
+              // >
+              //   <EyeOutlined />
+              // </div>
             }
             actions={[
               <PermissionButton

+ 22 - 7
src/pages/Northbound/DuerOS/index.tsx

@@ -276,17 +276,32 @@ export default () => {
           <DuerOSCard
             {...record}
             detail={
-              <div
-                style={{ padding: 8, fontSize: 24 }}
+              <PermissionButton
+                key={'view'}
+                type={'link'}
+                style={{ padding: 0, fontSize: 24, color: '#fff' }}
+                isPermission={permission.view}
                 onClick={() => {
-                  history.push(
-                    getMenuPathByParams(MENUS_CODE['Northbound/DuerOS/Detail'], record.id),
-                    { view: true },
-                  );
+                  const url = `${getMenuPathByParams(
+                    MENUS_CODE['Northbound/DuerOS/Detail'],
+                    record.id,
+                  )}`;
+                  history.push(url, { view: true });
                 }}
               >
                 <EyeOutlined />
-              </div>
+              </PermissionButton>
+              // <div
+              //   style={{ padding: 8, fontSize: 24 }}
+              //   onClick={() => {
+              //     history.push(
+              //       getMenuPathByParams(MENUS_CODE['Northbound/DuerOS/Detail'], record.id),
+              //       { view: true },
+              //     );
+              //   }}
+              // >
+              //   <EyeOutlined />
+              // </div>
             }
             action={Tools(record, 'card')}
           />

+ 3 - 1
src/pages/link/AccessConfig/Detail/Access/index.tsx

@@ -487,7 +487,9 @@ const Access = (props: Props) => {
                       // }}
                       hoverable
                       onClick={() => {
-                        setProcotolCurrent(item.id);
+                        if (!props.data.id) {
+                          setProcotolCurrent(item.id);
+                        }
                       }}
                     >
                       <div style={{ height: '45px' }}>

+ 6 - 3
src/pages/link/AccessConfig/index.tsx

@@ -130,8 +130,11 @@ const AccessConfig = () => {
                     <AccessConfigCard
                       {...item}
                       detail={
-                        <div
-                          style={{ padding: 8, fontSize: 24 }}
+                        <PermissionButton
+                          key={'view'}
+                          type={'link'}
+                          style={{ padding: 0, fontSize: 24, color: '#fff' }}
+                          isPermission={permission.view}
                           onClick={() => {
                             history.push(
                               `${getMenuPathByCode(MENUS_CODE['link/AccessConfig/Detail'])}?id=${
@@ -142,7 +145,7 @@ const AccessConfig = () => {
                           }}
                         >
                           <EyeOutlined />
-                        </div>
+                        </PermissionButton>
                       }
                       actions={[
                         <PermissionButton

+ 6 - 5
src/pages/link/Type/index.tsx

@@ -297,17 +297,18 @@ const Network = () => {
           <NetworkCard
             {...record}
             detail={
-              <div
-                style={{ fontSize: 18, padding: 8 }}
+              <PermissionButton
+                type="link"
+                isPermission={networkPermission.view}
+                style={{ padding: 0, fontSize: 24, color: '#fff' }}
+                key="view"
                 onClick={() => {
                   const url = `${getMenuPathByParams(MENUS_CODE['link/Type/Detail'], record.id)}`;
                   history.push(url, { view: true });
-                  // Store.set('current-network-data', record);
-                  // pageJump(record.id);
                 }}
               >
                 <EyeOutlined />
-              </div>
+              </PermissionButton>
             }
             actions={[
               <PermissionButton

+ 1 - 0
src/pages/rule-engine/Scene/Save/action/action.tsx

@@ -381,6 +381,7 @@ export default observer((props: ActionProps) => {
                   productId={productId}
                   isEdit={props.isEdit}
                   propertiesChange={setPropertiesId}
+                  triggerRef={props.triggerRef}
                 />
               </Form.Item>
               l

+ 4 - 4
src/pages/rule-engine/Scene/Save/action/device/ConditionalFiltering.tsx

@@ -123,10 +123,10 @@ export default (props: ConditionalFilteringProps) => {
     const data = props.form.getFieldsValue();
     queryBuiltInParams(data, { action: props.name }).then((res: any) => {
       if (res.status === 200) {
-        const actionParams = res.result.filter(
-          (item: any) => item.id === `action_${props.name + 1}`,
-        );
-        setBuiltInList(handleTreeData(actionParams));
+        // const actionParams = res.result.filter(
+        //   (item: any) => item.id === `action_${props.name + 1}`,
+        // );
+        setBuiltInList(handleTreeData(res.result));
       }
     });
   };

+ 43 - 2
src/pages/rule-engine/Scene/Save/action/device/WriteProperty/index.tsx

@@ -20,6 +20,7 @@ interface WritePropertyProps {
   productId: string;
   isEdit?: boolean;
   id?: string;
+  triggerRef?: any;
 }
 
 export default (props: WritePropertyProps) => {
@@ -83,10 +84,14 @@ export default (props: WritePropertyProps) => {
     return data || [];
   };
 
-  const sourceChangeEvent = useCallback(() => {
+  const sourceChangeEvent = useCallback(async () => {
     onChange(propertiesKey, undefined, source);
     const params = props.name - 1 >= 0 ? { action: props.name - 1 } : undefined;
+
     const data = props.form.getFieldsValue();
+    const triggerData = await props.triggerRef?.getTriggerData();
+    console.log(triggerData);
+    data.terms = triggerData?.trigger;
     queryBuiltInParams(data, params).then((res: any) => {
       if (res.status === 200) {
         // const actionParams = res.result.filter((item: any) => item.id === `action_${props.name}`);
@@ -105,6 +110,7 @@ export default (props: WritePropertyProps) => {
         paramsListRef.current = cloneDeep(_params);
         const _filterData = filterParamsData(type, _params);
         const _data = handleTreeData(_filterData);
+        console.log(_data, type);
         setBuiltInList(_data);
       }
     });
@@ -116,11 +122,14 @@ export default (props: WritePropertyProps) => {
     }
   }, [source, props.type, props.parallel]);
 
-  useEffect(() => {
+  const sourceChangeEventEdit = useCallback(async () => {
     if (props.isEdit) {
       setIsEdit(false);
       const params = props.name - 1 >= 0 ? { action: props.name - 1 } : undefined;
       const data = props.form.getFieldsValue();
+      const triggerData = await props.triggerRef?.getTriggerData();
+      console.log(triggerData);
+      data.terms = triggerData?.trigger;
       queryBuiltInParams(data, params).then((res: any) => {
         if (res.status === 200) {
           // const actionParams = res.result.filter((item: any) => item.id === `action_${props.name}`);
@@ -138,10 +147,42 @@ export default (props: WritePropertyProps) => {
           paramsListRef.current = cloneDeep(_params);
           const _filterData = filterParamsData(type, _params);
           const _data = handleTreeData(_filterData);
+          // console.log(_data)
           setBuiltInList(_data);
         }
       });
     }
+  }, [props.isEdit]);
+
+  useEffect(() => {
+    sourceChangeEventEdit();
+    // if (props.isEdit) {
+    //   setIsEdit(false);
+    //   const params = props.name - 1 >= 0 ? { action: props.name - 1 } : undefined;
+    //   const data = props.form.getFieldsValue();
+    //   queryBuiltInParams(data, params).then((res: any) => {
+    //     if (res.status === 200) {
+    //       // const actionParams = res.result.filter((item: any) => item.id === `action_${props.name}`);
+    //       // 获取当前属性类型,过滤不同类型的数据
+    //       const propertiesItem = props.properties
+    //         .filter((item) => {
+    //           if (item.expands && item.expands.type) {
+    //             return item.expands.type.includes('write');
+    //           }
+    //           return false;
+    //         })
+    //         .find((item) => item.id === propertiesKey);
+    //       const type = propertiesItem?.valueType?.type;
+    //       const _params = res.result;
+    //       paramsListRef.current = cloneDeep(_params);
+    //       const _filterData = filterParamsData(type, _params);
+    //       const _data = handleTreeData(_filterData);
+    //       // console.log(_data)
+    //       setBuiltInList(_data);
+    //     }
+    //   });
+    // }
+
     setTimeout(() => {
       setIsEdit(true);
     }, 300);

+ 9 - 3
src/pages/rule-engine/Scene/index.tsx

@@ -323,15 +323,21 @@ const Scene = () => {
           <SceneCard
             {...record}
             detail={
-              <div
-                style={{ padding: 8, fontSize: 24 }}
+              <PermissionButton
+                key={'update'}
+                type={'link'}
+                style={{ padding: 0, fontSize: 24, color: '#fff' }}
+                isPermission={permission.view}
+                tooltip={{
+                  title: '查看',
+                }}
                 onClick={() => {
                   const url = getMenuPathByCode('rule-engine/Scene/Save');
                   history.push(`${url}?id=${record.id}`, { view: true });
                 }}
               >
                 <EyeOutlined />
-              </div>
+              </PermissionButton>
             }
             tools={Tools(record, 'card')}
           />