From 3bddc68635e1f845dae3763f1c044bd013e13cae Mon Sep 17 00:00:00 2001
From: wangyunfei <1224056307@qq,com>
Date: Thu, 30 Oct 2025 18:15:11 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BA=A4=E6=8E=A5=E9=A1=B5=E9=9D=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/assets/business_Emergency/bgDrill1.svg | 9 +
src/assets/business_Emergency/iconDrill10.svg | 112 ++++
src/assets/business_Emergency/iconDrill11.svg | 112 ++++
src/assets/business_Emergency/iconDrill8.svg | 3 +
src/assets/business_Emergency/iconDrill9.svg | 123 +++++
src/assets/business_Emergency/iconDuty1.svg | 21 +
src/assets/business_Emergency/iconDuty2.svg | 21 +
src/assets/business_Emergency/iconDuty3.svg | 21 +
src/assets/business_Emergency/iconDuty4.svg | 21 +
src/assets/business_Emergency/iconDuty5.svg | 21 +
src/assets/business_Emergency/iconDuty6.svg | 12 +
.../components/DutyHandover.js | 462 +++++++++--------
.../components/DutyHandover.less | 484 +++++++++++++-----
.../nav_system_content/SystemContentList.js | 2 +-
src/pages/topnavbar/TopNavBar.js | 2 +-
15 files changed, 1084 insertions(+), 342 deletions(-)
create mode 100644 src/assets/business_Emergency/bgDrill1.svg
create mode 100644 src/assets/business_Emergency/iconDrill10.svg
create mode 100644 src/assets/business_Emergency/iconDrill11.svg
create mode 100644 src/assets/business_Emergency/iconDrill8.svg
create mode 100644 src/assets/business_Emergency/iconDrill9.svg
create mode 100644 src/assets/business_Emergency/iconDuty1.svg
create mode 100644 src/assets/business_Emergency/iconDuty2.svg
create mode 100644 src/assets/business_Emergency/iconDuty3.svg
create mode 100644 src/assets/business_Emergency/iconDuty4.svg
create mode 100644 src/assets/business_Emergency/iconDuty5.svg
create mode 100644 src/assets/business_Emergency/iconDuty6.svg
diff --git a/src/assets/business_Emergency/bgDrill1.svg b/src/assets/business_Emergency/bgDrill1.svg
new file mode 100644
index 0000000..da7e419
--- /dev/null
+++ b/src/assets/business_Emergency/bgDrill1.svg
@@ -0,0 +1,9 @@
+
diff --git a/src/assets/business_Emergency/iconDrill10.svg b/src/assets/business_Emergency/iconDrill10.svg
new file mode 100644
index 0000000..107ec66
--- /dev/null
+++ b/src/assets/business_Emergency/iconDrill10.svg
@@ -0,0 +1,112 @@
+
diff --git a/src/assets/business_Emergency/iconDrill11.svg b/src/assets/business_Emergency/iconDrill11.svg
new file mode 100644
index 0000000..247b039
--- /dev/null
+++ b/src/assets/business_Emergency/iconDrill11.svg
@@ -0,0 +1,112 @@
+
diff --git a/src/assets/business_Emergency/iconDrill8.svg b/src/assets/business_Emergency/iconDrill8.svg
new file mode 100644
index 0000000..bb28ec4
--- /dev/null
+++ b/src/assets/business_Emergency/iconDrill8.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/assets/business_Emergency/iconDrill9.svg b/src/assets/business_Emergency/iconDrill9.svg
new file mode 100644
index 0000000..d60bf16
--- /dev/null
+++ b/src/assets/business_Emergency/iconDrill9.svg
@@ -0,0 +1,123 @@
+
diff --git a/src/assets/business_Emergency/iconDuty1.svg b/src/assets/business_Emergency/iconDuty1.svg
new file mode 100644
index 0000000..2b9b852
--- /dev/null
+++ b/src/assets/business_Emergency/iconDuty1.svg
@@ -0,0 +1,21 @@
+
diff --git a/src/assets/business_Emergency/iconDuty2.svg b/src/assets/business_Emergency/iconDuty2.svg
new file mode 100644
index 0000000..399096f
--- /dev/null
+++ b/src/assets/business_Emergency/iconDuty2.svg
@@ -0,0 +1,21 @@
+
diff --git a/src/assets/business_Emergency/iconDuty3.svg b/src/assets/business_Emergency/iconDuty3.svg
new file mode 100644
index 0000000..af17f14
--- /dev/null
+++ b/src/assets/business_Emergency/iconDuty3.svg
@@ -0,0 +1,21 @@
+
diff --git a/src/assets/business_Emergency/iconDuty4.svg b/src/assets/business_Emergency/iconDuty4.svg
new file mode 100644
index 0000000..9ac82cd
--- /dev/null
+++ b/src/assets/business_Emergency/iconDuty4.svg
@@ -0,0 +1,21 @@
+
diff --git a/src/assets/business_Emergency/iconDuty5.svg b/src/assets/business_Emergency/iconDuty5.svg
new file mode 100644
index 0000000..53e937a
--- /dev/null
+++ b/src/assets/business_Emergency/iconDuty5.svg
@@ -0,0 +1,21 @@
+
diff --git a/src/assets/business_Emergency/iconDuty6.svg b/src/assets/business_Emergency/iconDuty6.svg
new file mode 100644
index 0000000..9ad3a79
--- /dev/null
+++ b/src/assets/business_Emergency/iconDuty6.svg
@@ -0,0 +1,12 @@
+
diff --git a/src/pages/business_emergencyDuty/components/DutyHandover.js b/src/pages/business_emergencyDuty/components/DutyHandover.js
index f093c23..0143a3d 100644
--- a/src/pages/business_emergencyDuty/components/DutyHandover.js
+++ b/src/pages/business_emergencyDuty/components/DutyHandover.js
@@ -1,284 +1,302 @@
import React, { useState } from 'react';
-import { Input, Button, Select, message, Modal, DatePicker } from 'antd';
-import { SearchOutlined, PlusOutlined, DeleteOutlined } from '@ant-design/icons';
+import { Input, Button, Select, DatePicker, TimePicker, Checkbox, Steps } from 'antd';
+import { BellOutlined, EditOutlined, EyeOutlined, CheckCircleOutlined, FolderOutlined } from '@ant-design/icons';
import StandardTable from '@/components/StandardTable';
import styles from './DutyHandover.less';
-import iconsc from '@/assets/yjzygl/iconsc.svg';
-const { Option } = Select;
-const { RangePicker } = DatePicker;
+import iconDrill8 from '@/assets/business_Emergency/iconDrill8.svg';
+import iconDrill9 from '@/assets/business_Emergency/iconDrill9.svg';
+import iconDrill10 from '@/assets/business_Emergency/iconDrill10.svg';
+import iconDrill11 from '@/assets/business_Emergency/iconDrill11.svg';
+import iconDuty1 from '@/assets/business_Emergency/iconDuty1.svg';
+import iconDuty2 from '@/assets/business_Emergency/iconDuty2.svg';
+import iconDuty3 from '@/assets/business_Emergency/iconDuty3.svg';
+import iconDuty4 from '@/assets/business_Emergency/iconDuty4.svg';
+import iconDuty5 from '@/assets/business_Emergency/iconDuty5.svg';
+
+const { TextArea } = Input;
const DutyHandover = () => {
const [loading, setLoading] = useState(false);
const [selectedRowKeys, setSelectedRowKeys] = useState([]);
- const [searchValue, setSearchValue] = useState('');
const [pagination, setPagination] = useState({
current: 1,
- pageSize: 10,
- total: 12,
- showSizeChanger: true,
- showQuickJumper: true,
- showTotal: (total, range) => `共${total}条`,
+ pageSize: 5,
+ total: 48,
+ showSizeChanger: false,
+ showQuickJumper: false,
+ showTotal: (total) => `共 ${total} 条`,
});
- // 模拟数据
- const [dataSource, setDataSource] = useState([
+ // 最近交接班记录数据
+ const [dataSource] = useState([
{
key: '1',
- number: '01',
- handoverDate: '2025-10-28 20:00',
- handoverPerson: '张三',
- handoverShift: '白班',
- receivePerson: '李四',
- receiveShift: '夜班',
- handoverContent: '设备运行正常,无异常情况',
- receiveContent: '已接收,了解情况',
- status: '已交接',
+ time: '2025-10-19 15:35:27',
+ handoverPerson: '武今',
+ receivePerson: '何永毅',
+ status: '已确认',
},
{
key: '2',
- number: '02',
- handoverDate: '2025-10-29 08:00',
- handoverPerson: '李四',
- handoverShift: '夜班',
- receivePerson: '王五',
- receiveShift: '白班',
- handoverContent: 'A区域有照明故障待处理',
- receiveContent: '已知悉,将安排处理',
- status: '已交接',
+ time: '2025-10-15 13:44:41',
+ handoverPerson: '钱佳乔',
+ receivePerson: '郑雨元',
+ status: '有疑问',
},
{
key: '3',
- number: '03',
- handoverDate: '2025-10-28 08:00',
- handoverPerson: '赵六',
- handoverShift: '夜班',
- receivePerson: '张三',
- receiveShift: '白班',
- handoverContent: '夜间巡查正常',
- receiveContent: '已接收',
- status: '已交接',
+ time: '2025-10-15 00:29:03',
+ handoverPerson: '李宏涛',
+ receivePerson: '周静',
+ status: '已确认',
+ },
+ {
+ key: '4',
+ time: '2025-10-14 17:21:38',
+ handoverPerson: '吴显德',
+ receivePerson: '李卓俊',
+ status: '已确认',
+ },
+ {
+ key: '5',
+ time: '2025-10-15 02:30:41',
+ handoverPerson: '何伟李',
+ receivePerson: '周国华',
+ status: '已确认',
},
]);
// 表格列配置
const columns = [
{
- title: '编号',
- dataIndex: 'number',
- key: 'number',
- width: 80,
- },
- {
- title: '交接时间',
- dataIndex: 'handoverDate',
- key: 'handoverDate',
- width: 150,
+ title: '时间',
+ dataIndex: 'time',
+ key: 'time',
+ width:220
},
{
title: '交班人',
dataIndex: 'handoverPerson',
key: 'handoverPerson',
- width: 100,
- },
- {
- title: '交班班次',
- dataIndex: 'handoverShift',
- key: 'handoverShift',
- width: 100,
},
{
title: '接班人',
dataIndex: 'receivePerson',
key: 'receivePerson',
- width: 100,
- },
- {
- title: '接班班次',
- dataIndex: 'receiveShift',
- key: 'receiveShift',
- width: 100,
- },
- {
- title: '交班内容',
- dataIndex: 'handoverContent',
- key: 'handoverContent',
- width: 200,
- ellipsis: true,
- },
- {
- title: '接班确认',
- dataIndex: 'receiveContent',
- key: 'receiveContent',
- width: 150,
- ellipsis: true,
},
{
title: '状态',
dataIndex: 'status',
key: 'status',
- width: 100,
+ render: (status) => (
+
+ {status}
+
+ ),
},
{
title: '操作',
key: 'action',
- width: 150,
- render: (text, record) => (
-
-
-
-
-
+ render: () => (
+
),
},
];
- // 搜索处理
- const handleSearch = () => {
- setLoading(true);
- setTimeout(() => {
- setLoading(false);
- message.success('查询完成');
- }, 1000);
- };
-
- // 新增处理
- const handleAdd = () => {
- message.info('新增交接班记录功能待实现');
- };
-
- // 查看处理
- const handleView = (record) => {
- message.info(`查看交接班详情`);
- };
-
- // 批量删除处理
- const handleBatchDelete = () => {
- if (selectedRowKeys.length === 0) {
- message.warning('请选择要删除的数据');
- return;
- }
- Modal.confirm({
- title: '确认删除',
- content: `确定要删除选中的 ${selectedRowKeys.length} 条数据吗?`,
- onOk() {
- setDataSource(dataSource.filter(item => !selectedRowKeys.includes(item.key)));
- setSelectedRowKeys([]);
- message.success('删除成功');
- },
- });
- };
-
- // 编辑处理
- const handleEdit = (record) => {
- message.info(`编辑交接班记录`);
- };
-
- // 删除处理
- const handleDelete = (record) => {
- Modal.confirm({
- title: '确认删除',
- content: `确定要删除该条交接班记录吗?`,
- onOk() {
- setDataSource(dataSource.filter(item => item.key !== record.key));
- message.success('删除成功');
- },
- });
- };
-
// 分页处理
const handleTableChange = (pagination) => {
setPagination(pagination);
};
return (
-
- {/* 页面标题 */}
-
-
-
交接班管理
+
+ {/* 第一行:交接提醒 */}
+
+

+
交接提醒:
+
距离下一班交接时间还有 2小时30分钟,请提前准备交班内容。
- {/* 搜索和操作区域 */}
-
-
-
-
- }
- onClick={handleSearch}
- loading={loading}
- className={styles.customButton}
- >
- 查询
-
-
-
-
}
- onClick={handleAdd}
- className={styles.customButton}
- >
- 新增
-
-
}
- onClick={handleBatchDelete}
- >
- 删除
-
+ {/* 第二行:主内容区域 */}
+
+ {/* A块:左侧区域 */}
+
+ {/* a块:统计数据 */}
+
+
+
+

+
+
+
+
+

+
+
+
+
+

+
+
+
+ {/* b块:交接班流程 */}
+
+
交接班流程
+
+
,
+ },
+ {
+ title: '填写交班内容',
+ description: '交班人员填写值班情况和重要事情,未完成任务等信息',
+ status: 'process',
+ icon:

,
+ },
+ {
+ title: '查看交班内容',
+ description: '接班人员登录查看交班内容,全面了解值班情况',
+ status: 'wait',
+ icon:

,
+ },
+ {
+ title: '确认与签字',
+ description: '双方确认系统填写信息认签字,完成交接',
+ status: 'wait',
+ icon:

,
+ },
+ {
+ title: '记录存档',
+ description: '系统自动对交接班记录进行存档,方便查询和审计',
+ status: 'wait',
+ icon:

,
+ },
+ ]}
+ />
+
+
+
+ {/* c块:最近交接班记录 */}
+
-
- {/* 数据表格 */}
-
-
+ {/* B块:右侧区域 */}
+
+
+
交接班内容提醒
+
+ {/* 交班人和接班人 */}
+
+
+
+
+
+
+
+
+
+
+
+ {/* 日期和交班时间 */}
+
+
+
+
+
+
+
+
+
+
+
+ {/* 值班期间重要事件描述 */}
+
+
+
+
+ 1. 10-23 接到火灾报警器误报,已进行本人员处理,11:45 修复完成。
+
+
+ 2. 14:05 邮箱火灾预警告警,已答复处理完成。
+
+
+ 3. 16:30 进行了一起巡检交给本人,间题已解决。
+
+
+
+
+ {/* 未完成工作任务 */}
+
+
+
+
+ 递交系统表单-运行正常
+
+
+ 应急电话-运行正常
+
+
+ 应急电话-运行正常
+
+
+
+
+ {/* 按钮组 */}
+
+
+
+
+
+
);
diff --git a/src/pages/business_emergencyDuty/components/DutyHandover.less b/src/pages/business_emergencyDuty/components/DutyHandover.less
index 1c6a136..568ed17 100644
--- a/src/pages/business_emergencyDuty/components/DutyHandover.less
+++ b/src/pages/business_emergencyDuty/components/DutyHandover.less
@@ -1,127 +1,375 @@
-.container {
- padding: 20px;
- background: #fff;
- height: 100vh;
-}
-
-.header {
+.pageWrapper {
+ padding: 0;
+ margin: 10px 0px 0px 5px;
+ min-height: 100%;
display: flex;
- align-items: center;
- margin-bottom: 15px;
-
- .titleBar {
- width: 3px;
- height: 16px;
- background: #2E4CD4;
- margin-right: 12px;
- }
-
- .title {
- margin: 0;
- font-size: 14px;
- font-weight: 500;
- color: #333;
- }
-}
+ flex-direction: column;
-.searchBar {
- display: flex;
- justify-content: space-between;
- align-items: center;
- margin-bottom: 10px;
- padding: 5px;
-
- .searchLeft {
- display: flex;
- align-items: center;
- gap: 12px;
- }
-
- .searchRight {
+ // 第一行:交接提醒
+ .alertBar {
+ padding: 8px 20px;
+ background-color: #FFF3CD;
+ border: 2px solid #FFECB2;
+ border-radius: 2px;
+ color: #8C6C0B;
display: flex;
align-items: center;
- gap: 12px;
- }
-}
-
-// 自定义按钮样式
-.customButton {
- background-color: #2E4CD4 !important;
- border-color: #2E4CD4 !important;
- border-radius: 2px !important;
- height: 30px !important;
- width: 75px;
- display: flex !important;
- align-items: center !important;
- justify-content: center !important;
-
- &:hover {
- background-color: #1e3bb8 !important;
- border-color: #1e3bb8 !important;
- }
-
- &:focus {
- background-color: #2E4CD4 !important;
- border-color: #2E4CD4 !important;
- }
-}
-
-.tableContainer {
- background: #fff;
- border-radius: 0px;
- overflow: hidden;
-
- .actionButtons {
- display: flex;
gap: 8px;
- font-size: 10px;
- justify-content: center;
-
- .ant-btn-link {
- padding: 0;
- height: auto;
- font-size: 10px;
- }
+ font-size: 14px;
+ font-weight: 450;
+ margin-bottom: 10px;
}
-}
-
-// 表格样式优化
-.tableContainer {
- :global {
- .ant-table-thead > tr > th {
- background: #F5F5FA;
- font-weight: 500;
- color: #333333;
- font-size: 14px;
- text-align: center;
- }
-
- .ant-table-tbody > tr > td {
- color: #666666;
- font-size: 13px;
- text-align: center;
- }
-
- .ant-table-tbody > tr:hover > td {
- background: #f5f5f5;
- }
-
- .ant-pagination {
- margin-top: 10px;
- text-align: right;
- }
-
- .ant-btn.ant-btn-sm {
- font-size: 13px !important;
- height: 20px !important;
- padding: 0px 4px !important;
+
+ // 第二行:主内容区域
+ .mainContent {
+ flex: 1;
+ display: flex;
+ gap: 15px;
+ padding: 0;
+ margin: 0;
+ background: transparent;
+ min-height: 0;
+
+ // A块:左侧区域
+ .leftArea {
+ width: 68%;
+ display: flex;
+ flex-direction: column;
+ gap: 15px;
+
+ // a块:统计数据
+ .statsBlock {
+ height: 100px;
+ // background-color: pink;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+
+ .statItem {
+ height: 100%;
+ width: 32%;
+ display: flex;
+ align-items: center;
+ gap: 15px;
+ border: solid #FFFFFF;
+ border-width: 2px 2px 0px 2px;
+ background: linear-gradient(170.5deg, #F5F7FF 10%, #FFFFFF 60%);
+
+
+ .statContent {
+ display: flex;
+ flex-direction: column;
+ gap: 10px;
+ margin-left: 20px;
+ flex: 1;
+
+ .statLabel {
+ font-size: 14px;
+ color: #333;
+ white-space: nowrap;
+ }
+
+ .statValue {
+ font-size: 28px;
+ font-weight: bold;
+ font-family: 'Fette-Mittelschrift';
+ color: #333;
+ }
+ }
+ }
+ }
+
+ // b块:交接班流程
+ .flowBlock {
+ height: 180px;
+ background: url("@/assets/business_Emergency/bgDrill1.svg") no-repeat center center;
+ background-size: cover;
+ padding: 8px 10px 0px 10px;
+ display: flex;
+ flex-direction: column;
+
+ .flowTitle {
+ display: flex;
+ align-items: center;
+ gap: 8px;
+ font-size: 14px;
+ font-weight: 500;
+ color: #333333;
+ margin-bottom: 5px;
+
+ &::before {
+ content: '';
+ width: 3px;
+ height: 18px;
+ background-color: #2E4CD4;
+ }
+ }
+
+ .flowContent {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ border-top-left-radius: 8px;
+ border-top-right-radius: 8px;
+ background: linear-gradient(360deg, rgba(255, 255, 255, 0.7) 0%, rgba(208, 225, 255, 0.7) 100%);
+ border: 1px solid;
+ border-image-source: linear-gradient(0deg, #FFFFFF 29.33%, rgba(255, 255, 255, 0.6) 51.92%, rgba(211, 229, 255, 0.2) 77.4%, rgba(211, 229, 255, 0.3) 100%);
+ justify-content: center;
+ // flex: 1;
+ padding: 10px 10px;
+
+ // 自定义 antd Steps 样式
+ :global {
+ .ant-steps {
+ margin-left: 10px;
+
+ }
+
+ .ant-steps-item-container{
+ width: 150px;
+ }
+
+ .ant-steps-item-content {
+ margin-top: 0px !important;
+ margin-left: 2px;
+ }
+
+ .ant-steps-item-title {
+ font-size: 13px !important;
+ font-weight: 500 !important;
+ color: #333 !important;
+ height: 28px;
+ margin-top: 0px !important;
+ padding: 0 !important;
+ margin-bottom: 0px !important;
+ }
+
+ .ant-steps-item-description {
+ margin-top: 0px !important;
+
+ padding: 0 !important;
+ margin-bottom: 0px !important;
+ width: 132px !important;
+ font-size: 12px !important;
+ color: #666 !important;
+ line-height: 1.2 !important;
+ }
+
+ // 控制步骤之间的连接线
+ .ant-steps-item-tail {
+ padding: 5px 0 !important; // 控制连接线的垂直位置
+ }
+
+ // .ant-steps-item-tail::after {
+ // background-color: #B5C6DF !important; // 连接线颜色
+ // height: 1px !important; // 连接线长度
+ // width: 160px !important; // 连接线粗细
+ // }
+
+ // 背景图片作为连接线
+ .ant-steps-item-tail::after {
+ background-image: url('@/assets/business_Emergency/iconDuty6.svg') !important;
+ background-size: contain !important;
+ background-repeat: no-repeat !important;
+ background-position: center !important;
+ background-color: transparent;
+ width: 190px !important;
+ height: 12px !important;
+ }
+ }
+ }
+ }
+
+ // c块:最近交接班记录(自适应高度)
+ .tableBlock {
+ background: #fff;
+ padding: 8px 10px 10px 10px;
+ display: flex;
+ flex-direction: column;
+
+ .tableHeader {
+ margin-bottom: 10px;
+
+ .tableTitle {
+ display: flex;
+ align-items: center;
+ gap: 8px;
+ font-size: 14px;
+ font-weight: 500;
+ color: #333333;
+
+ &::before {
+ content: '';
+ width: 3px;
+ height: 18px;
+ background-color: #2E4CD4;
+ }
+ }
+ }
+
+ .statusSuccess {
+ display: inline-block;
+ padding: 2px 12px;
+ background: #D8F7DE;
+ color: #44BB5F;
+ border-radius: 2px;
+ font-size: 12px;
+ }
+
+ .statusWarning {
+ display: inline-block;
+ padding: 2px 12px;
+ background: #FFF3E9;
+ color: #FF8800;
+ border-radius: 2px;
+ font-size: 12px;
+ }
+
+ .linkBtn {
+ padding: 0;
+ font-size: 13px;
+ color: #2E4CD4;
+ }
+
+ :global {
+ .ant-table-wrapper {
+ // 表格自适应内容高度
+ }
+
+ .ant-table-thead>tr>th {
+ background: #F5F5FA;
+ font-weight: 500;
+ color: #333;
+ font-size: 13px;
+ text-align: center;
+ padding: 12px 8px;
+ border-radius: 2px;
+ }
+
+ .ant-table-tbody>tr>td {
+ color: #666;
+ font-size: 13px;
+ text-align: center;
+ padding: 12px 8px;
+ }
+
+ .ant-table-tbody>tr:hover>td {
+ background: #f5f5f5;
+ }
+
+ .ant-pagination {
+ margin-top: 15px;
+ text-align: right;
+ }
+ }
+ }
}
-
- .ant-btn-link.ant-btn-sm {
- font-size: 13px !important;
- height: auto !important;
- padding: 0 !important;
+
+ // B块:右侧区域
+ .rightArea {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+ height: 100%;
+
+ .formBlock {
+ background: #fff;
+ padding: 20px;
+ height: 100%;
+ overflow-y: auto;
+
+ .formTitle {
+ font-size: 16px;
+ font-weight: 500;
+ color: #333;
+ margin-bottom: 20px;
+ }
+
+ .formRow {
+ display: flex;
+ gap: 15px;
+ margin-bottom: 15px;
+
+ .formItem {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+ gap: 8px;
+
+ .formLabel {
+ font-size: 14px;
+ color: #333;
+ }
+
+ .formInput {
+ width: 100%;
+ }
+ }
+ }
+
+ .formFullRow {
+ margin-bottom: 15px;
+
+ .formLabel {
+ font-size: 14px;
+ color: #333;
+ display: block;
+ margin-bottom: 8px;
+ }
+
+ .eventList {
+ background: #F5F7FA;
+ padding: 12px;
+ border-radius: 4px;
+
+ .eventItem {
+ font-size: 13px;
+ color: #666;
+ line-height: 1.8;
+ margin-bottom: 5px;
+
+ &:last-child {
+ margin-bottom: 0;
+ }
+ }
+ }
+
+ .taskList {
+ display: flex;
+ flex-direction: column;
+ gap: 10px;
+
+ .taskCheckbox {
+ font-size: 13px;
+ color: #666;
+ }
+ }
+ }
+
+ .formActions {
+ display: flex;
+ justify-content: flex-end;
+ gap: 15px;
+ margin-top: 30px;
+
+ .btnDefault {
+ border-radius: 4px;
+ padding: 6px 20px;
+ }
+
+ .btnPrimary {
+ background-color: #2E4CD4;
+ border-color: #2E4CD4;
+ border-radius: 4px;
+ padding: 6px 20px;
+
+ &:hover {
+ background-color: #1e3bb8;
+ border-color: #1e3bb8;
+ }
+ }
+ }
+ }
}
}
-}
-
+}
\ No newline at end of file
diff --git a/src/pages/nav_system_content/SystemContentList.js b/src/pages/nav_system_content/SystemContentList.js
index d18fd5a..ce7b298 100644
--- a/src/pages/nav_system_content/SystemContentList.js
+++ b/src/pages/nav_system_content/SystemContentList.js
@@ -124,7 +124,7 @@ const SystemContentList = (props) => {
"path": "/topnavbar00/business/emergencyDuty",
icon:

,
"key": "/topnavbar00/business/emergencyDuty",
- "label": "应急值班管理"
+ "label": "应急值班值守"
},
// // 事故接警单
// {
diff --git a/src/pages/topnavbar/TopNavBar.js b/src/pages/topnavbar/TopNavBar.js
index 985faa1..b448f32 100644
--- a/src/pages/topnavbar/TopNavBar.js
+++ b/src/pages/topnavbar/TopNavBar.js
@@ -23,7 +23,7 @@ const menuItem = [
},
// 应急值班管理
{
- label: '应急值班管理',
+ label: '应急值班值守',
key: '/topnavbar00/business/emergencyDuty',
},
// 事故接警单