Lind 3 лет назад
Родитель
Сommit
e509d2a0ac
4 измененных файлов с 58 добавлено и 16 удалено
  1. 1 1
      config/defaultSettings.ts
  2. 7 0
      src/pages/link/Type/Save/index.tsx
  3. 47 13
      src/pages/link/Type/index.tsx
  4. 3 2
      src/utils/menu.ts

+ 1 - 1
config/defaultSettings.ts

@@ -9,7 +9,7 @@ const Settings: LayoutSettings & {
   // primaryColor: '#1890ff',
   // 极光绿
   primaryColor: '#1d39c4',
-  layout: 'mix',
+  layout: 'top',
   contentWidth: 'Fluid',
   splitMenus: true,
   fixedHeader: false,

+ 7 - 0
src/pages/link/Type/Save/index.tsx

@@ -0,0 +1,7 @@
+import { PageContainer } from '@ant-design/pro-layout';
+
+const Save = () => {
+  return <PageContainer onBack={() => history.back()}>....详情</PageContainer>;
+};
+
+export default Save;

+ 47 - 13
src/pages/link/Type/index.tsx

@@ -1,12 +1,15 @@
 import BaseService from '@/utils/BaseService';
-import { useRef } from 'react';
+import { useRef, useState } from 'react';
 import type { ActionType, ProColumns } from '@jetlinks/pro-table';
-import { Tooltip } from 'antd';
-import { BugOutlined, EditOutlined, MinusOutlined } from '@ant-design/icons';
+import ProTable from '@jetlinks/pro-table';
+import { Button, Tooltip } from 'antd';
+import { BugOutlined, EditOutlined, MinusOutlined, PlusOutlined } from '@ant-design/icons';
 import { PageContainer } from '@ant-design/pro-layout';
-import BaseCrud from '@/components/BaseCrud';
 import type { NetworkItem } from '@/pages/link/Type/typings';
 import { useIntl } from '@@/plugin-locale/localeExports';
+import SearchComponent from '@/components/SearchComponent';
+import { getMenuPathByParams, MENUS_CODE } from '@/utils/menu';
+import { history } from 'umi';
 
 export const service = new BaseService<NetworkItem>('network/config');
 
@@ -92,19 +95,50 @@ const Network = () => {
     },
   ];
 
-  const schema = {};
+  const [param, setParam] = useState({});
+
+  /**
+   * 跳转详情页
+   * @param id
+   */
+  const pageJump = (id?: string) => {
+    // 跳转详情
+    history.push(`${getMenuPathByParams(MENUS_CODE['link/Type/Save'], id)}`);
+  };
 
   return (
     <PageContainer>
-      <BaseCrud
-        columns={columns}
-        service={service}
-        title={intl.formatMessage({
-          id: 'pages.link.component',
-          defaultMessage: '网络组件',
-        })}
-        schema={schema}
+      <SearchComponent
+        field={columns}
+        onSearch={(data) => {
+          actionRef.current?.reset?.();
+          setParam(data);
+        }}
+      />
+      <ProTable<NetworkItem>
         actionRef={actionRef}
+        params={param}
+        columns={columns}
+        search={false}
+        headerTitle={'网络组件'}
+        request={async (params) =>
+          service.query({ ...params, sorts: [{ name: 'createTime', order: 'desc' }] })
+        }
+        toolBarRender={() => [
+          <Button
+            onClick={() => {
+              pageJump();
+            }}
+            key="button"
+            icon={<PlusOutlined />}
+            type="primary"
+          >
+            {intl.formatMessage({
+              id: 'pages.data.option.add',
+              defaultMessage: '新增',
+            })}
+          </Button>,
+        ]}
       />
     </PageContainer>
   );

+ 3 - 2
src/utils/menu.ts

@@ -62,6 +62,7 @@ export const MENUS_CODE = {
   'link/Protocol/Debug': 'link/Protocol/Debug',
   'link/Protocol': 'link/Protocol',
   'link/Type': 'link/Type',
+  'link/Type/Save': 'link/Type/Save',
   'log/Access': 'log/Access',
   'log/System': 'log/System',
   'media/Cascade': 'media/Cascade',
@@ -218,9 +219,9 @@ export const getMenuPathByCode = (code: string): string => {
  * @param id 路由携带参数
  * @param regStr 路由参数code
  */
-export const getMenuPathByParams = (code: string, id: string, regStr: string = ':id') => {
+export const getMenuPathByParams = (code: string, id?: string, regStr: string = ':id') => {
   const menusData = getMenuPathByCode(code);
-  return menusData.replace(regStr, id);
+  return id ? menusData.replace(regStr, id) : menusData;
 };
 
 export default getRoutes;