wzyyy пре 3 година
родитељ
комит
70e778813d

+ 15 - 3
src/pages/device/Instance/Detail/Tags/index.tsx

@@ -1,14 +1,16 @@
-import { Button, Descriptions, Tooltip } from 'antd';
+import { Descriptions, Tooltip } from 'antd';
 import { useIntl } from '@@/plugin-locale/localeExports';
 import { InstanceModel, service } from '@/pages/device/Instance';
 import { useEffect, useState } from 'react';
 import { EditOutlined } from '@ant-design/icons';
 import Edit from './Edit';
+import { PermissionButton } from '@/components';
 
 const Tags = () => {
   const intl = useIntl();
   const [tags, setTags] = useState<any[]>([]);
   const [visible, setVisible] = useState<boolean>(false);
+  const { permission } = PermissionButton.usePermission('device/Instance');
 
   const tag = InstanceModel.detail?.tags;
 
@@ -38,7 +40,17 @@ const Tags = () => {
               id: 'pages.device.instanceDetail.tags',
               defaultMessage: '标签',
             })}
-            <Button
+            <PermissionButton
+              isPermission={permission.update}
+              type="link"
+              onClick={async () => {
+                setVisible(true);
+              }}
+            >
+              <EditOutlined />
+              编辑
+            </PermissionButton>
+            {/* <Button
               type="link"
               onClick={() => {
                 setVisible(true);
@@ -46,7 +58,7 @@ const Tags = () => {
             >
               <EditOutlined />
               编辑
-            </Button>
+            </Button> */}
           </span>
         }
       >

+ 11 - 9
src/pages/device/Instance/Import/index.tsx

@@ -176,15 +176,17 @@ const Import = (props: Props) => {
   });
 
   useEffect(() => {
-    service.getProductList(encodeQuery({ paging: false, terms: { state: 1 } })).then((resp) => {
-      if (resp.status === 200) {
-        const list = resp.result.map((item: { name: any; id: any }) => ({
-          label: item.name,
-          value: item.id,
-        }));
-        setProductList(list);
-      }
-    });
+    service
+      .getProductList(encodeQuery({ terms: { state: 1 }, sorts: { createTime: 'desc' } }))
+      .then((resp) => {
+        if (resp.status === 200) {
+          const list = resp.result.map((item: { name: any; id: any }) => ({
+            label: item.name,
+            value: item.id,
+          }));
+          setProductList(list);
+        }
+      });
   }, []);
 
   const form = createForm({

+ 33 - 3
src/pages/device/Product/Detail/Access/index.tsx

@@ -27,7 +27,7 @@ import { onlyMessage } from '@/utils/util';
 import Driver from 'driver.js';
 import 'driver.js/dist/driver.min.css';
 import './index.less';
-import { Ellipsis } from '@/components';
+import { Ellipsis, PermissionButton } from '@/components';
 
 const componentMap = {
   string: 'Input',
@@ -523,7 +523,37 @@ const Access = () => {
           <FormLayout>
             <SchemaField schema={schema} />
           </FormLayout>
-          <Button
+          <PermissionButton
+            isPermission={permission.update}
+            key="update"
+            onClick={async () => {
+              const values = (await form.submit()) as any;
+              const result: any = {};
+              flatObj(values, result);
+              const { storePolicy, ...extra } = result;
+              const resp = await productService.modify(id || '', {
+                id,
+                configuration: { ...extra },
+                storePolicy: storePolicy,
+              });
+              if (resp.status === 200) {
+                onlyMessage('操作成功!');
+                if ((window as any).onTabSaveSuccess) {
+                  if (resp.result) {
+                    (window as any).onTabSaveSuccess(resp);
+                    setTimeout(() => window.close(), 300);
+                  }
+                } else {
+                  getDetailInfo();
+                }
+              }
+            }}
+            type={'primary'}
+          >
+            保存
+          </PermissionButton>
+          ,
+          {/* <Button
             type="primary"
             onClick={async () => {
               const values = (await form.submit()) as any;
@@ -549,7 +579,7 @@ const Access = () => {
             }}
           >
             保存
-          </Button>
+          </Button> */}
         </Form>
       </PreviewText.Placeholder>
     );

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

@@ -164,7 +164,9 @@ const Network = () => {
       render: (text, record) => [
         <PermissionButton
           type="link"
-          isPermission={networkPermission.view}
+          isPermission={
+            networkPermission.view || networkPermission.update || networkPermission.action
+          }
           style={{ padding: 0 }}
           key="view"
           onClick={() => {
@@ -299,7 +301,9 @@ const Network = () => {
             detail={
               <PermissionButton
                 type="link"
-                isPermission={networkPermission.view}
+                isPermission={
+                  networkPermission.view || networkPermission.update || networkPermission.action
+                }
                 style={{ padding: 0, fontSize: 24, color: '#fff' }}
                 key="view"
                 onClick={() => {

+ 19 - 6
src/pages/rule-engine/Alarm/Log/TabComponent/index.tsx

@@ -188,9 +188,9 @@ const TabComponent = observer((props: Props) => {
         告警处理
       </Button>
     </Tooltip>,
-    <Button
+    <PermissionButton
+      isPermission={permission.view}
       type={'link'}
-      style={{ padding: 0 }}
       key={'log'}
       onClick={() => {
         AlarmLogModel.current = record;
@@ -200,10 +200,10 @@ const TabComponent = observer((props: Props) => {
     >
       <FileFilled />
       告警日志
-    </Button>,
-    <Button
+    </PermissionButton>,
+    <PermissionButton
+      isPermission={permission.view}
       type={'link'}
-      style={{ padding: 0 }}
       key={'detail'}
       onClick={() => {
         AlarmLogModel.logVisible = true;
@@ -212,7 +212,20 @@ const TabComponent = observer((props: Props) => {
     >
       <FileTextFilled />
       处理记录
-    </Button>,
+    </PermissionButton>,
+
+    // <Button
+    //   type={'link'}
+    //   style={{ padding: 0 }}
+    //   key={'detail'}
+    //   onClick={() => {
+    //     AlarmLogModel.logVisible = true;
+    //     AlarmLogModel.current = record;
+    //   }}
+    // >
+    //   <FileTextFilled />
+    //   处理记录
+    // </Button>,
   ];
 
   const getAction = (actions: React.ReactNode[]) => {

+ 18 - 7
src/pages/rule-engine/Scene/Save/components/TimingTrigger/RangePicker.tsx

@@ -25,14 +25,25 @@ export default (props: RangePickerProps) => {
         moment(props.value?.to || new Date(), 'hh:mm:ss'),
       ]}
       onChange={(_, dateString) => {
-        const item = props.form.getFieldsValue().trigger?.timer?.period;
         if (props.onChange) {
-          props.onChange({
-            from: dateString[0],
-            to: dateString[1],
-            every: item?.every,
-            unit: item?.unit,
-          });
+          if (props.form.getFieldsValue().trigger.type === 'timer') {
+            const { every, unit } = props.form.getFieldsValue().trigger?.timer?.period;
+            props.onChange({
+              from: dateString[0],
+              to: dateString[1],
+              every: every,
+              unit: unit,
+            });
+          } else {
+            const { every, unit } =
+              props.form.getFieldsValue().trigger?.device?.operation?.timer?.period;
+            props.onChange({
+              from: dateString[0],
+              to: dateString[1],
+              every: every,
+              unit: unit,
+            });
+          }
         }
       }}
     />

+ 7 - 1
src/pages/system/Role/index.tsx

@@ -178,7 +178,13 @@ const Role: React.FC = observer(() => {
           </PermissionButton>
         }
         request={async (params) =>
-          service.query({ ...params, sorts: [{ name: 'createTime', order: 'desc' }] })
+          service.query({
+            ...params,
+            sorts: [
+              { name: 'createTime', order: 'desc' },
+              { name: 'id', order: 'desc' },
+            ],
+          })
         }
       />
       <Save