1175160654 4 лет назад
Родитель
Сommit
0ee66019c2

+ 13 - 0
src/locales/en-US/pages.ts

@@ -129,6 +129,19 @@ export default {
   'pages.system.tenant.list': 'Tenant List',
   'pages.system.tenant.avatar': 'Avatar',
   'pages.system.tenant.members': 'Members',
+  'pages.system.tenant.createTime': 'Create Time',
+  'pages.system.tenant.assetInformation': 'Asset Information',
+  'pages.system.tenant.assetInformation.product': 'Product',
+  'pages.system.tenant.assetInformation.member': 'Member',
+  'pages.system.tenant.assetInformation.published': 'Published',
+  'pages.system.tenant.assetInformation.unpublished': 'Unpublished',
+  'pages.system.tenant.assetInformation.device': 'Device',
+  'pages.system.tenant.assetInformation.onLine': 'On Line',
+  'pages.system.tenant.assetInformation.offLine': 'Off Line',
+  'pages.system.tenant.memberManagement': 'Member Management',
+  'pages.system.tenant.memberManagement.administrators': 'Administrators',
+  'pages.system.tenant.memberManagement.tenantMember': 'Tenant Member',
+  'pages.system.tenant.memberManagement.addUser': 'Add User',
   // 系统设置-数据源管理
   'pages.system.datasource.': 'DataSource',
 

+ 13 - 0
src/locales/zh-CN/pages.ts

@@ -129,6 +129,19 @@ export default {
   'pages.system.tenant.list': '租户列表',
   'pages.system.tenant.avatar': '头像',
   'pages.system.tenant.members': '成员数',
+  'pages.system.tenant.createTime': '创建时间',
+  'pages.system.tenant.assetInformation': '资产信息',
+  'pages.system.tenant.assetInformation.product': '产品',
+  'pages.system.tenant.assetInformation.member': '成员',
+  'pages.system.tenant.assetInformation.published': '已发布',
+  'pages.system.tenant.assetInformation.unpublished': '未发布',
+  'pages.system.tenant.assetInformation.device': '设备',
+  'pages.system.tenant.assetInformation.onLine': '在线',
+  'pages.system.tenant.assetInformation.offLine': '离线',
+  'pages.system.tenant.memberManagement': '成员管理',
+  'pages.system.tenant.memberManagement.administrators': '管理员',
+  'pages.system.tenant.memberManagement.tenantMember': '租户成员',
+  'pages.system.tenant.memberManagement.addUser': '添加用户',
   // 系统设置-数据源管理
   'pages.system.datasource.': '数据源管理',
 

+ 45 - 7
src/pages/system/Tenant/Detail/Assets/index.tsx

@@ -9,8 +9,10 @@ import { useParams } from 'umi';
 import TenantModel from '@/pages/system/Tenant/model';
 import type { TenantMember } from '@/pages/system/Tenant/typings';
 import encodeQuery from '@/utils/encodeQuery';
+import { useIntl } from '@@/plugin-locale/localeExports';
 
 const Assets = observer(() => {
+  const intl = useIntl();
   const param = useParams<{ id: string }>();
 
   const getDeviceCount = (type: 'online' | 'offline') => {
@@ -68,7 +70,13 @@ const Assets = observer(() => {
   }, [TenantModel.assetsMemberId]);
   return (
     <Card>
-      <Form.Item label="成员" style={{ width: 200 }}>
+      <Form.Item
+        label={intl.formatMessage({
+          id: 'pages.system.tenant.assetInformation.member',
+          defaultMessage: '成员',
+        })}
+        style={{ width: 200 }}
+      >
         <Select
           onChange={(id: string) => {
             TenantModel.assetsMemberId = id;
@@ -78,33 +86,63 @@ const Assets = observer(() => {
       </Form.Item>
       <ProCard gutter={[16, 16]} style={{ marginTop: 16 }}>
         <ProCard
-          title="产品"
+          title={intl.formatMessage({
+            id: 'pages.system.tenant.assetInformation.product',
+            defaultMessage: '产品',
+          })}
           colSpan="25%"
           bordered
           actions={[<EyeOutlined key="setting" />, <EditOutlined key="edit" />]}
         >
           <Row>
             <Col span={12}>
-              <Statistic title="已发布" value={TenantModel.assets.product['1']} />
+              <Statistic
+                title={intl.formatMessage({
+                  id: 'pages.system.tenant.assetInformation.published',
+                  defaultMessage: '已发布',
+                })}
+                value={TenantModel.assets.product['1']}
+              />
             </Col>
             <Col span={12}>
-              <Statistic title="未发布" value={TenantModel.assets.product['0']} />
+              <Statistic
+                title={intl.formatMessage({
+                  id: 'pages.system.tenant.assetInformation.unpublished',
+                  defaultMessage: '未发布',
+                })}
+                value={TenantModel.assets.product['0']}
+              />
             </Col>
           </Row>
         </ProCard>
 
         <ProCard
-          title="设备"
+          title={intl.formatMessage({
+            id: 'pages.system.tenant.assetInformation.device',
+            defaultMessage: '设备',
+          })}
           colSpan="25%"
           bordered
           actions={[<EyeOutlined key="setting" />, <EditOutlined key="edit" />]}
         >
           <Row>
             <Col span={12}>
-              <Statistic title="在线" value={TenantModel.assets.device.online} />
+              <Statistic
+                title={intl.formatMessage({
+                  id: 'pages.system.tenant.assetInformation.onLine',
+                  defaultMessage: '在线',
+                })}
+                value={TenantModel.assets.device.online}
+              />
             </Col>
             <Col span={12}>
-              <Statistic title="离线" value={TenantModel.assets.device.offline} />
+              <Statistic
+                title={intl.formatMessage({
+                  id: 'pages.system.tenant.assetInformation.offLine',
+                  defaultMessage: '离线',
+                })}
+                value={TenantModel.assets.device.offline}
+              />
             </Col>
           </Row>
         </ProCard>

+ 18 - 2
src/pages/system/Tenant/Detail/Info/index.tsx

@@ -1,13 +1,29 @@
 import { Descriptions } from 'antd';
 import TenantModel from '@/pages/system/Tenant/model';
+import { useIntl } from '@@/plugin-locale/localeExports';
 
 const Info = () => {
+  const intl = useIntl();
   return (
     <div>
       <Descriptions size="small" column={3}>
         <Descriptions.Item label="ID">{TenantModel.detail?.id}</Descriptions.Item>
-        <Descriptions.Item label="名称">{TenantModel.detail?.name}</Descriptions.Item>
-        <Descriptions.Item label="状态">{TenantModel.detail?.state?.text}</Descriptions.Item>
+        <Descriptions.Item
+          label={intl.formatMessage({
+            id: 'pages.table.name',
+            defaultMessage: '名称',
+          })}
+        >
+          {TenantModel.detail?.name}
+        </Descriptions.Item>
+        <Descriptions.Item
+          label={intl.formatMessage({
+            id: 'pages.searchTable.titleStatus',
+            defaultMessage: '状态',
+          })}
+        >
+          {TenantModel.detail?.state?.text}
+        </Descriptions.Item>
       </Descriptions>
     </div>
   );

+ 10 - 2
src/pages/system/Tenant/Detail/Member/Bind.tsx

@@ -6,25 +6,33 @@ import { useParams } from 'umi';
 import TenantModel from '@/pages/system/Tenant/model';
 import { observer } from '@formily/react';
 import { useRef } from 'react';
+import { useIntl } from '@@/plugin-locale/localeExports';
 
 interface Props {
   reload: () => void;
 }
 
 const Bind = observer((props: Props) => {
+  const intl = useIntl();
   const param = useParams<{ id: string }>();
   const actionRef = useRef<ActionType>();
   const columns: ProColumns<UserItem>[] = [
     {
       dataIndex: 'name',
-      title: '姓名',
+      title: intl.formatMessage({
+        id: 'pages.system.name',
+        defaultMessage: '姓名',
+      }),
       search: {
         transform: (value) => ({ name$LIKE: value }),
       },
     },
     {
       dataIndex: 'username',
-      title: '用户名',
+      title: intl.formatMessage({
+        id: 'pages.system.username',
+        defaultMessage: '用户名',
+      }),
       search: {
         transform: (value) => ({ username$LIKE: value }),
       },

+ 28 - 6
src/pages/system/Tenant/Detail/Member/index.tsx

@@ -9,8 +9,10 @@ import Bind from '@/pages/system/Tenant/Detail/Member/Bind';
 import { observer } from '@formily/react';
 import TenantModel from '@/pages/system/Tenant/model';
 import { useRef } from 'react';
+import { useIntl } from '@@/plugin-locale/localeExports';
 
 const Member = observer(() => {
+  const intl = useIntl();
   const actionRef = useRef<ActionType>();
 
   const param = useParams<{ id: string }>();
@@ -22,19 +24,28 @@ const Member = observer(() => {
     },
     {
       dataIndex: 'name',
-      title: '姓名',
+      title: intl.formatMessage({
+        id: 'pages.system.name',
+        defaultMessage: '姓名',
+      }),
       search: {
         transform: (value) => ({ name$LIKE: value }),
       },
     },
     {
-      title: '管理员',
+      title: intl.formatMessage({
+        id: 'pages.system.tenant.memberManagement.administrators',
+        defaultMessage: '管理员',
+      }),
       dataIndex: 'adminMember',
       renderText: (text) => (text ? '是' : '否'),
       search: false,
     },
     {
-      title: '状态',
+      title: intl.formatMessage({
+        id: 'pages.searchTable.titleStatus',
+        defaultMessage: '状态',
+      }),
       dataIndex: 'state',
       renderText: (text) => text.text,
       search: false,
@@ -53,7 +64,12 @@ const Member = observer(() => {
   return (
     <Row gutter={[16, 16]}>
       <Col span={TenantModel.bind ? 12 : 24}>
-        <Card title="租户成员">
+        <Card
+          title={intl.formatMessage({
+            id: 'pages.system.tenant.memberManagement.tenantMember',
+            defaultMessage: '租户成员',
+          })}
+        >
           <ProTable
             actionRef={actionRef}
             columns={columns}
@@ -93,7 +109,10 @@ const Member = observer(() => {
                 type="primary"
                 key="bind"
               >
-                绑定用户
+                {intl.formatMessage({
+                  id: 'pages.system.role.option.bindUser',
+                  defaultMessage: '绑定用户',
+                })}
               </Button>,
             ]}
           />
@@ -102,7 +121,10 @@ const Member = observer(() => {
       {TenantModel.bind && (
         <Col span={12}>
           <Card
-            title="添加用户"
+            title={intl.formatMessage({
+              id: 'pages.system.tenant.memberManagement.addUser',
+              defaultMessage: '添加用户',
+            })}
             extra={
               <CloseOutlined
                 onClick={() => {

+ 10 - 2
src/pages/system/Tenant/Detail/index.tsx

@@ -7,8 +7,10 @@ import { service } from '@/pages/system/Tenant';
 import Assets from '@/pages/system/Tenant/Detail/Assets';
 import Member from '@/pages/system/Tenant/Detail/Member';
 import Info from '@/pages/system/Tenant/Detail/Info';
+import { useIntl } from '@@/plugin-locale/localeExports';
 
 const TenantDetail = observer(() => {
+  const intl = useIntl();
   const [tab, setTab] = useState<string>('assets');
   const params = useParams<{ id: string }>();
   const getDetail = (id: string) => {
@@ -29,12 +31,18 @@ const TenantDetail = observer(() => {
   const list = [
     {
       key: 'assets',
-      tab: '资产信息',
+      tab: intl.formatMessage({
+        id: 'pages.system.tenant.assetInformation',
+        defaultMessage: '资产信息',
+      }),
       component: <Assets />,
     },
     {
       key: 'member',
-      tab: '成员管理',
+      tab: intl.formatMessage({
+        id: 'pages.system.tenant.memberManagement',
+        defaultMessage: '成员管理',
+      }),
       component: <Member />,
     },
   ];

+ 4 - 1
src/pages/system/Tenant/index.tsx

@@ -95,7 +95,10 @@ const Tenant = observer(() => {
       ],
     },
     {
-      title: '创建时间',
+      title: intl.formatMessage({
+        id: 'pages.system.tenant.createTime',
+        defaultMessage: '创建时间',
+      }),
       dataIndex: 'tenant',
       width: '200px',
       align: 'center',