wzyyy 3 лет назад
Родитель
Сommit
8982a8ba4a

+ 1 - 1
src/pages/Northbound/AliCloud/Detail/index.tsx

@@ -482,7 +482,7 @@ const Detail = observer(() => {
               </div>
               <h1>1. 概述</h1>
               <div>
-                在特定场景下,设备无法直接接入阿里云物联网平台时,您可先将设备接入物联网平台,再使用阿里云“云云对接SDK”,快速构建桥接服务,搭建物联网平台与阿里云物联网平台的双向数据通道。
+                在特定场景下,设备无法直接接入阿里云物联网平台时,您可先将设备接入物联网平台,再使用阿里云“云云对接SDK”,快速构建桥接服务,搭建物联网平台与阿里云物联网平台的双向数据通道。
               </div>
               <div className={'image'}>
                 <Image width="100%" src={require('/public/images/northbound/aliyun2.png')} />

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

@@ -7,7 +7,6 @@ import {
   DeleteOutlined,
   EditOutlined,
   EyeOutlined,
-  InfoCircleOutlined,
   PlayCircleOutlined,
   PlusOutlined,
   StopOutlined,
@@ -205,7 +204,7 @@ const AliCloud = () => {
           setSearchParams(data);
         }}
       />
-      <div style={{ backgroundColor: 'white', width: '100%', height: 60, padding: 20 }}>
+      {/* <div style={{ backgroundColor: 'white', width: '100%', height: 60, padding: 20 }}>
         <div
           style={{
             padding: 10,
@@ -217,7 +216,7 @@ const AliCloud = () => {
           <InfoCircleOutlined style={{ marginRight: 10 }} />
           将平台产品与设备数据通过API的方式同步到阿里云物联网平台
         </div>
-      </div>
+      </div> */}
       <ProTableCard<AliCloudType>
         rowKey="id"
         search={false}

+ 2 - 3
src/pages/Northbound/DuerOS/index.tsx

@@ -8,7 +8,6 @@ import {
   DeleteOutlined,
   EditOutlined,
   EyeOutlined,
-  InfoCircleOutlined,
   PlayCircleOutlined,
   PlusOutlined,
 } from '@ant-design/icons';
@@ -248,7 +247,7 @@ export default () => {
           setSearchParams(data);
         }}
       />
-      <div style={{ backgroundColor: 'white', width: '100%', height: 60, padding: 20 }}>
+      {/* <div style={{ backgroundColor: 'white', width: '100%', height: 60, padding: 20 }}>
         <div
           style={{
             padding: 10,
@@ -260,7 +259,7 @@ export default () => {
           <InfoCircleOutlined style={{ marginRight: 10 }} />
           将平台产品通过API的方式同步DuerOS平台
         </div>
-      </div>
+      </div> */}
       <ProTableCard<DuerOSItem>
         rowKey="id"
         search={false}

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

@@ -506,7 +506,7 @@ const Access = () => {
             placeholder: '请选择存储策略',
           },
           // required: true,
-          default: 'default-column',
+          default: 'default-row',
           'x-decorator-props': {
             // tooltip: '使用指定的存储策略来存储设备数据',
             gridSpan: 1,

+ 3 - 2
src/pages/init-home/index.less

@@ -64,6 +64,7 @@
 }
 
 .init-home-role {
+  // text-align: center;
   .init-home-role-content {
     display: flex;
     gap: 24px;
@@ -85,14 +86,14 @@
 
         > div {
           flex: 1 1 auto;
-          padding-left: 90px;
+          // padding-left: 65px;
           font-weight: bold;
           font-size: 16px;
         }
       }
 
       .role-item-content {
-        width: 320px;
+        width: 250px;
         height: 260px;
         margin-top: 24px;
       }

+ 1 - 1
src/pages/link/Channel/Opcua/index.tsx

@@ -30,7 +30,7 @@ const NewModbus = () => {
   const { minHeight } = useDomFullHeight(`.modbus`);
   const intl = useIntl();
   const actionRef = useRef<ActionType>();
-  const { permission } = PermissionButton.usePermission('link/Channel/Modbus');
+  const { permission } = PermissionButton.usePermission('link/Channel/Opcua');
   const [param, setParam] = useState({});
   const [activeKey, setActiveKey] = useState<any>('');
   const [visible, setVisible] = useState<boolean>(false);

+ 1 - 1
src/pages/media/Cascade/Channel/index.tsx

@@ -155,7 +155,7 @@ const Channel = () => {
           status: 'online',
         },
         offline: {
-          text: '离线',
+          text: '未连接',
           status: 'offline',
         },
       },

+ 1 - 1
src/pages/media/Device/Save/index.tsx

@@ -69,7 +69,7 @@ const Save = () => {
     const formData = await form.validateFields();
     if (formData) {
       const { provider, ...extraFormData } = formData;
-      if (formData.password === oldPassword) {
+      if (formData.password === oldPassword && !id) {
         delete extraFormData.password;
       }
       if (formData.id === '') {

+ 40 - 7
src/pages/rule-engine/Alarm/Config/index.tsx

@@ -1,5 +1,5 @@
 import { PageContainer } from '@ant-design/pro-layout';
-import { Badge, Button, Card, Col, Descriptions, Divider, Image, Row, Table, Tooltip } from 'antd';
+import { Badge, Card, Col, Descriptions, Divider, Image, Row, Table, Tooltip } from 'antd';
 import TitleComponent from '@/components/TitleComponent';
 import { createSchemaField } from '@formily/react';
 import { ArrayItems, Form, FormButtonGroup, FormGrid, FormItem, Input } from '@formily/antd';
@@ -14,6 +14,7 @@ import { EditOutlined, QuestionCircleOutlined } from '@ant-design/icons';
 import { onlyMessage } from '@/utils/util';
 import OutputSave from './Save/output';
 import InputSave from './Save/input';
+import PermissionButton from '@/components/PermissionButton';
 
 export const service = new Service('alarm/config');
 const ioImg = require('/public/images/alarm/io.png');
@@ -23,6 +24,7 @@ const Config = () => {
   const [outputVisible, setOutputVisible] = useState<boolean>(false);
   const [input, setInput] = useState<any>({});
   const [output, setOutput] = useState<any>({});
+  const { permission } = PermissionButton.usePermission('rule-engine/Alarm/Config');
 
   const outputData = [
     {
@@ -308,9 +310,18 @@ const Config = () => {
             <SchemaField schema={levelSchema} />
             <FormButtonGroup.Sticky>
               <FormButtonGroup.FormItem>
-                <Button type="primary" onClick={handleSaveLevel}>
+                <PermissionButton
+                  key={'update'}
+                  type={'primary'}
+                  style={{ padding: 0, width: 50 }}
+                  isPermission={permission.update}
+                  onClick={handleSaveLevel}
+                >
                   保存
-                </Button>
+                </PermissionButton>
+                {/* <Button type="primary" onClick={handleSaveLevel}>
+                  保存
+                </Button> */}
               </FormButtonGroup.FormItem>
             </FormButtonGroup.Sticky>
           </Form>
@@ -338,14 +349,25 @@ const Config = () => {
                   <Tooltip title={'将告警数据输出到其他第三方系统'}>
                     <QuestionCircleOutlined style={{ marginLeft: 5 }} />
                   </Tooltip>
-                  <a
+                  <PermissionButton
+                    key={'update'}
+                    type={'link'}
+                    style={{ padding: 0, marginLeft: 10 }}
+                    isPermission={permission.update}
+                    onClick={() => {
+                      setOutputVisible(true);
+                    }}
+                  >
+                    <EditOutlined />
+                  </PermissionButton>
+                  {/* <a
                     style={{ marginLeft: 10 }}
                     onClick={() => {
                       setOutputVisible(true);
                     }}
                   >
                     <EditOutlined />
-                  </a>
+                  </a> */}
                 </span>
               }
             />
@@ -374,14 +396,25 @@ const Config = () => {
                   <Tooltip title={'接收第三方系统处理的告警结果'}>
                     <QuestionCircleOutlined style={{ marginLeft: 5 }} />
                   </Tooltip>
-                  <a
+                  <PermissionButton
+                    key={'update'}
+                    type={'link'}
+                    style={{ padding: 0, marginLeft: 10 }}
+                    isPermission={permission.update}
+                    onClick={() => {
+                      setInputVisible(true);
+                    }}
+                  >
+                    <EditOutlined />
+                  </PermissionButton>
+                  {/* <a
                     style={{ marginLeft: 10 }}
                     onClick={() => {
                       setInputVisible(true);
                     }}
                   >
                     <EditOutlined />
-                  </a>
+                  </a> */}
                 </span>
               }
             />

+ 2 - 2
src/pages/rule-engine/Scene/Save/action/VariableItems/builtIn.tsx

@@ -61,8 +61,8 @@ export default (props: BuiltInProps) => {
     const params = props.name - 1 >= 0 ? { action: props.name - 1 } : undefined;
     queryBuiltInParams(data, params).then((res: any) => {
       if (res.status === 200) {
-        const actionParams = res.result.filter((item: any) => item.id === `action_${props.name}`);
-        const _data = BuiltInParamsHandleTreeData(props.name === 0 ? res.result : actionParams);
+        // const actionParams = res.result.filter((item: any) => item.id === `action_${props.name}`);
+        const _data = BuiltInParamsHandleTreeData(res.result);
         setBuiltInList(_data);
       }
     });

+ 5 - 4
src/pages/rule-engine/Scene/Save/action/device/WriteProperty/index.tsx

@@ -89,7 +89,7 @@ export default (props: WritePropertyProps) => {
     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 actionParams = res.result.filter((item: any) => item.id === `action_${props.name}`);
         // 获取当前属性类型,过滤不同类型的数据
         const propertiesItem = props.properties
           .filter((item) => {
@@ -100,7 +100,8 @@ export default (props: WritePropertyProps) => {
           })
           .find((item) => item.id === propertiesKey);
         const type = propertiesItem?.valueType?.type;
-        const _params = props.name === 0 ? res.result : actionParams;
+        // const _params = props.name === 0 ? res.result : actionParams;
+        const _params = res.result;
         paramsListRef.current = cloneDeep(_params);
         const _filterData = filterParamsData(type, _params);
         const _data = handleTreeData(_filterData);
@@ -122,7 +123,7 @@ export default (props: WritePropertyProps) => {
       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 actionParams = res.result.filter((item: any) => item.id === `action_${props.name}`);
           // 获取当前属性类型,过滤不同类型的数据
           const propertiesItem = props.properties
             .filter((item) => {
@@ -133,7 +134,7 @@ export default (props: WritePropertyProps) => {
             })
             .find((item) => item.id === propertiesKey);
           const type = propertiesItem?.valueType?.type;
-          const _params = props.name === 0 ? res.result : actionParams;
+          const _params = res.result;
           paramsListRef.current = cloneDeep(_params);
           const _filterData = filterParamsData(type, _params);
           const _data = handleTreeData(_filterData);

+ 1 - 1
src/pages/system/DataSource/index.tsx

@@ -137,7 +137,7 @@ const DataSource = observer(() => {
         <PermissionButton
           style={{ padding: 0 }}
           type="link"
-          isPermission={userPermission.action}
+          isPermission={userPermission.manage}
           key="manage"
           disabled={record.state?.value !== 'enabled'}
           onClick={() => {

+ 5 - 5
src/pages/system/Department/Assets/deivce/bind.tsx

@@ -78,19 +78,19 @@ const Bind = observer((props: Props) => {
       dataIndex: 'state',
       valueType: 'select',
       valueEnum: {
-        onLine: {
+        online: {
           text: intl.formatMessage({
             id: 'pages.device.instance.status.onLine',
             defaultMessage: '在线',
           }),
-          status: 'onLine',
+          status: 'online',
         },
-        offLine: {
+        offline: {
           text: intl.formatMessage({
             id: 'pages.device.instance.status.offLine',
             defaultMessage: '离线',
           }),
-          status: 'offLine',
+          status: 'offline',
         },
         notActive: {
           text: intl.formatMessage({
@@ -141,7 +141,7 @@ const Bind = observer((props: Props) => {
       _params.push({
         type: 'and',
         column: 'productId$product-info',
-        value: 'id is ' + params.productId[0],
+        value: params.productId[0],
       });
     }
     return _params;

+ 1 - 1
src/pages/system/Menu/components/permission.tsx

@@ -256,7 +256,7 @@ export default (props: PermissionType) => {
       return {
         ...item,
         actions: item.actions
-          .filter((action) => Object.keys(action).length)
+          ?.filter((action) => Object.keys(action).length)
           .map((a) => ({ ...a, checked: propsActions.includes(a.action) })),
         state: false, // 是否为半选中状态
         checked: false, // 是否为全选

+ 1 - 1
src/pages/system/Menu/index.tsx

@@ -297,7 +297,7 @@ export default observer(() => {
           </PermissionButton>,
           <PermissionButton
             style={{ marginLeft: 12 }}
-            isPermission={permission.add}
+            isPermission={permission.setting}
             onClick={() => {
               history.push(getMenuPathByCode('system/Menu/Setting'));
             }}

+ 2 - 2
src/pages/system/Permission/Save/index.tsx

@@ -257,8 +257,8 @@ const Save = (props: Props) => {
       onCancel={props.close}
       onOk={save}
       width="1000px"
-      permissionCode={'system/Permission'}
-      permission={['add', 'edit']}
+      // permissionCode={'system/Permission'}
+      // permission={['add', 'edit']}
     >
       <Form form={form} layout="vertical">
         <SchemaField schema={schema} />

+ 1 - 0
src/pages/system/Permission/index.tsx

@@ -47,6 +47,7 @@ const Permission: React.FC = observer(() => {
           headers={{
             'X-Access-Token': Token.get(),
           }}
+          disabled={getButtonPermission('system/Permission', ['import'])}
           showUploadList={false}
           accept=".json"
           beforeUpload={(file) => {

+ 2 - 2
src/pages/system/Platforms/index.tsx

@@ -155,7 +155,7 @@ export default () => {
           key={'api'}
           type={'link'}
           style={{ padding: 0 }}
-          isPermission={true}
+          isPermission={permission.api}
           tooltip={{
             title: '查看API',
           }}
@@ -170,7 +170,7 @@ export default () => {
           key={'password'}
           type={'link'}
           style={{ padding: 0 }}
-          isPermission={permission.update}
+          isPermission={permission.password}
           tooltip={{
             title: '重置密码',
           }}

+ 2 - 2
src/pages/system/Relationship/Save/index.tsx

@@ -285,8 +285,8 @@ const Save = (props: Props) => {
       onCancel={props.close}
       onOk={save}
       width="35vw"
-      permissionCode={'system/Relationship'}
-      permission={['add', 'edit']}
+      // permissionCode={'system/Relationship'}
+      // permission={['add', 'edit']}
     >
       <Form form={form} layout="vertical">
         <SchemaField schema={schema} scope={{ useAsyncDataSource, getTypes }} />

+ 5 - 1
src/utils/menu/router.ts

@@ -153,7 +153,11 @@ export enum BUTTON_PERMISSION_ENUM {
   'tigger' = 'tigger',
   'empowerment' = 'empowerment',
   'bind' = 'bind',
-  'edit' = 'edit',
+  'edit' = 'edit', //资产权限编辑
+  'setting' = 'setting', //菜单配置
+  'password' = 'password', //重置密码
+  'api' = 'api', //查看api
+  'manage' = 'manage', //数据源-管理
 }
 
 // 调试按钮、通知记录、批量导出、批量导入、选择通道、推送、分配资产、绑定用户对应的ID是啥