+ {/* {contextHolder} */}
+
setVisible(v)}
+ arrow={{pointAtCenter: true}}
+ overlayStyle={{
+ width: 396,
+ }}
+ >
+ {/* */}
+
+
+ {/* */}
+
+
+
+ {/* */}
+
+
+ );
+};
+
+export default Notice;
diff --git a/src/components/index.ts b/src/components/index.ts
index ca88a6d..3c73148 100644
--- a/src/components/index.ts
+++ b/src/components/index.ts
@@ -6,7 +6,8 @@
* 布局组件
*/
import Footer from './Footer';
+import Notice from './Notice';
import { Question, SelectLang } from './RightContent';
import { AvatarDropdown, AvatarName } from './RightContent/AvatarDropdown';
-export { Footer, Question, SelectLang, AvatarDropdown, AvatarName };
+export { Footer, Question, SelectLang, AvatarDropdown, AvatarName, Notice };
diff --git a/src/locales/zh-CN.ts b/src/locales/zh-CN.ts
index ebe45fb..d7a8a29 100644
--- a/src/locales/zh-CN.ts
+++ b/src/locales/zh-CN.ts
@@ -6,6 +6,7 @@
* @FilePath: \general-ai-platform-web\src\locales\zh-CN.ts
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
+import * as noticeZh from '@/locales/zh-CN/notice';
import * as contactZh from '@/locales/zh-CN/contact';
import * as DCSDevice from '@/locales/zh-CN/DCSDevice';
import * as alarmLangs from '@/locales/zh-CN/alarm';
@@ -69,4 +70,5 @@ export default {
...Object.assign({}, ...Object.values(DCSDevice)),
...Object.assign({}, ...Object.values(contactZh)),
...Object.assign({}, ...Object.values(alarmLangs)),
+ ...Object.assign({}, ...Object.values(noticeZh)),
};
diff --git a/src/locales/zh-CN/menu.ts b/src/locales/zh-CN/menu.ts
index c2ea48c..3042e8d 100644
--- a/src/locales/zh-CN/menu.ts
+++ b/src/locales/zh-CN/menu.ts
@@ -75,5 +75,6 @@ export default {
'menu.DCSDevice.DCSDevice-device-list': '设备列表',
'menu.DCSDevice.DCSDevice-device-category-list': '设备类别',
'menu.DCSDevice.DCSDevice-device-group-list': '设备组',
- 'menu.Contact.Contact-contact-list': '联系人列表'
+ 'menu.Contact.Contact-contact-list': '联系人列表',
+ 'menu.notice': '消息通知'
};
diff --git a/src/locales/zh-CN/notice.ts b/src/locales/zh-CN/notice.ts
new file mode 100644
index 0000000..e051610
--- /dev/null
+++ b/src/locales/zh-CN/notice.ts
@@ -0,0 +1,17 @@
+export const notice_list: { [key: string]: string } = {
+ 'notice.notice.table.list.id': 'ID',
+ 'notice.notice.table.list.type': '消息类型',
+ 'notice.notice.table.list.priority': '优先级',
+ 'notice.notice.table.list.content': '内容',
+ 'notice.notice.table.list.time': '时间',
+ 'notice.notice.table.list.isEnable': '是否启用',
+ 'notice.notice.table.list.remark': '备注',
+ 'notice.notice.table.list.createTime': '创建时间',
+ 'notice.notice.table.list.updateTime': '更新时间',
+ 'notice.notice.table.rule.required.name': '姓名为必填项',
+ 'notice.notice.table.rule.required.code': '项目代码为必填项',
+ 'notice.notice.table.rule.required.info': '项目简介为必填项',
+ 'notice.notice.table.list.add': '新建联系人',
+ 'notice.notice.table.list.update': '编辑联系人',
+ 'notice.notice.table.list.editor': '编辑',
+};
\ No newline at end of file
diff --git a/src/pages/Notice/index.tsx b/src/pages/Notice/index.tsx
new file mode 100644
index 0000000..2eb2375
--- /dev/null
+++ b/src/pages/Notice/index.tsx
@@ -0,0 +1,210 @@
+import IsBatchDelete from '@/components/BatchOperation/isBatchDelete';
+import TableActionCard from '@/components/TableActionCard';
+import IsDelete from '@/components/TableActionCard/isDelete';
+import {
+ deleteProjectDeleteProject,
+ deleteProjectDeleteProjectByIds,
+ postProjectGetProjectList,
+} from '@/services/project/Project';
+import type { ActionType, ProColumns } from '@ant-design/pro-components';
+import { PageContainer, ProTable } from '@ant-design/pro-components';
+import { FormattedMessage, useAccess, useIntl } from '@umijs/max';
+import { Tag, message } from 'antd';
+import React, { useRef, useState } from 'react';
+import { proTableCommonOptions, proTablePaginationOptions } from '../../../config/defaultTable';
+const ProjectList: React.FC = () => {
+ /**
+ * @en-US Pop-up window of new window
+ * @zh-CN 新建窗口的弹窗
+ * */
+ const [createModalOpen, setCreateModalOpen] = useState