diff --git a/src/assets/business_firekeynotearea/delete.svg b/src/assets/business_firekeynotearea/delete.svg new file mode 100644 index 0000000..6b28281 --- /dev/null +++ b/src/assets/business_firekeynotearea/delete.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/assets/business_firekeynotearea/ksdy.svg b/src/assets/business_firekeynotearea/ksdy.svg new file mode 100644 index 0000000..7bc10a2 --- /dev/null +++ b/src/assets/business_firekeynotearea/ksdy.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/assets/business_firekeynotearea/relation-group.png b/src/assets/business_firekeynotearea/relation-group.png new file mode 100644 index 0000000..a52bb18 Binary files /dev/null and b/src/assets/business_firekeynotearea/relation-group.png differ diff --git a/src/assets/business_firekeynotearea/yj-bg.png b/src/assets/business_firekeynotearea/yj-bg.png new file mode 100644 index 0000000..0f5599e Binary files /dev/null and b/src/assets/business_firekeynotearea/yj-bg.png differ diff --git a/src/pages/business_firekeynotearea/components/EmergencyDrillRecordAssociation.less b/src/pages/business_firekeynotearea/components/EmergencyDrillRecordAssociation.less index 053e850..f7792ee 100644 --- a/src/pages/business_firekeynotearea/components/EmergencyDrillRecordAssociation.less +++ b/src/pages/business_firekeynotearea/components/EmergencyDrillRecordAssociation.less @@ -3,7 +3,6 @@ display: flex; flex-direction: column; gap: 10px; - height: 200px; margin: 35px 0 0 0; overflow: auto; } @@ -209,8 +208,6 @@ gap: 10px; height: 100%; - - .middleBlock1 { // flex: 3; width: 28%; @@ -290,23 +287,6 @@ bottom: 10px; z-index: 10; } - - // .block1Chart { - // width: 100%; - // height: 100%; - // margin-top: 20px; - - // .mapImage { - // margin-top: 7%; - // width: 90%; - // height: 77%; - // object-fit: cover; - // border-radius: 4px; - // display: block; - // margin-left: auto; - // margin-right: auto; - // } - // } } .middleBlock2 { @@ -327,6 +307,8 @@ display: flex; justify-content: space-between; align-items: center; + line-height: 28px; + height: 28px; // margin-bottom: 10px; .titleLeft { diff --git a/src/pages/business_firekeynotearea/components/EmergencyPlanAssociation.js b/src/pages/business_firekeynotearea/components/EmergencyPlanAssociation.js index 27d689f..d4dc3bf 100644 --- a/src/pages/business_firekeynotearea/components/EmergencyPlanAssociation.js +++ b/src/pages/business_firekeynotearea/components/EmergencyPlanAssociation.js @@ -1,4 +1,3 @@ - import React, { useEffect, useRef, useState } from 'react'; import { Card, Result, Select, Button, Segmented, Input } from 'antd'; import { PlusOutlined } from '@ant-design/icons'; @@ -6,6 +5,8 @@ import * as echarts from 'echarts'; import StandardTable from '@/components/StandardTable'; import styles from './EmergencyPlanAssociation.less'; import eqicon1 from '@/assets/business_firekeynotearea/eqicon1.png'; +import ksdyIcon from '@/assets/business_firekeynotearea/ksdy.svg'; +import deleteIcon from '@/assets/business_firekeynotearea/delete.svg'; import eqicon6 from '@/assets/business_firekeynotearea/eqicon6.png'; import eqicon7 from '@/assets/business_firekeynotearea/eqicon7.png'; import eqicon8 from '@/assets/business_firekeynotearea/eqicon8.png'; @@ -172,84 +173,75 @@ const EmergencyPlanAssociation = () => { }, 100); const option = { - color: ['#8979FF', '#3CC3DF'], - legend: { - // data: ['消防水泵1', '消防水泵2'], - top: "-3px", - // left: "center", - // itemGap: 40, - itemWidth: 20, - itemHeight: 8, - // icon: 'path://M902 472.7H747.9c-19.1-113.3-117.7-200-236.4-200s-217.3 86.7-236.4 200H119.7c-4.4 0-8 3.6-8 8v64c0 4.4 3.6 8 8 8h155.5c19.1 113.3 117.7 200 236.4 200S728.9 666 748 552.7h154c4.4 0 8-3.6 8-8v-64c0-4.4-3.6-8-8-8z m-390.5 200c-88.2 0-160-71.8-160-160s71.8-160 160-160 160 71.8 160 160-71.8 160-160 160z', + data: [{ + name: '调用次数', + icon: 'rect', + itemStyle: { + color: '#4B69F1' + } + }], + top: 0, + left: 'center', + itemWidth: 12, + itemHeight: 3, textStyle: { - fontSize: 10 - } + fontSize: 12, + color: '#333' + }, }, grid: { - left: '2%', - right: '4%', - bottom: '2%', - top: '12%', - containLabel: true + left: '3%', + right: '3%', + bottom: '3%', + top: 30, + containLabel: true, }, xAxis: { type: 'category', - boundaryGap: false, - data: ['9:00', '10:00', '11:00', '12:00', '13:00', '14:00', '15:00', '16:00', '17:00', '18:00', '19:00', '20:00'], + data: ['电气火灾', '防水防潮', '人员疏散', '燃气泄漏', '油锅起火'], axisLabel: { - fontSize: 10 + fontSize: 12, + color: '#666666', + margin: 12, + }, + axisLine: { + lineStyle: { + color: 'rgba(0, 0, 26, 0.15)', + type: 'solid', // 改为实线 + }, + }, + axisTick: { + show: false } }, yAxis: { type: 'value', min: 0, - max: 30, + max: 25, + splitNumber: 5, axisLabel: { - formatter: '{value}', - fontSize: 10 - } - }, - series: [ - { - name: '消防水泵1', - type: 'line', - smooth: false, + fontSize: 12, + color: '#666666', + }, + axisLine: { + show: false, + }, + splitLine: { lineStyle: { - width: 2, - color: '#8979FF' + color: 'rgba(0, 0, 26, 0.15)', + type: 'dashed', }, - areaStyle: { - color: { - type: 'linear', - x: 0, - y: 0, - x2: 0, - y2: 1, - colorStops: [ - { offset: 0, color: 'rgba(137, 121, 255, 0.3)' }, - { offset: 1, color: 'rgba(137, 121, 255, 0.05)' } - ] - } - }, - symbol: 'circle', - symbolSize: 4, - itemStyle: { - color: '#fff', - borderColor: '#8979FF', - borderWidth: 1 - }, - data: [12, 15, 18, 14, 16, 20, 22, 19, 17, 21, 23, 25] }, + }, + series: [ { - name: '消防水泵2', - type: 'line', - smooth: false, - lineStyle: { - width: 2, - color: '#3CC3DF' - }, - areaStyle: { + name: '调用次数', + type: 'bar', + barWidth: 32, + data: [16, 22, 16, 16, 8], + itemStyle: { + // borderRadius: [4, 4, 0, 0], color: { type: 'linear', x: 0, @@ -257,104 +249,24 @@ const EmergencyPlanAssociation = () => { x2: 0, y2: 1, colorStops: [ - { offset: 0, color: 'rgba(60, 195, 223, 0.3)' }, - { offset: 1, color: 'rgba(60, 195, 223, 0.05)' } - ] - } + { offset: 0, color: '#199BFB' }, + { offset: 1, color: '#1373FA' }, + ], + }, }, - symbol: 'circle', - symbolSize: 4, - itemStyle: { - color: '#fff', - borderColor: '#3CC3DF', - borderWidth: 1 - }, - data: [8, 11, 14, 10, 13, 17, 19, 16, 14, 18, 20, 22] - } - ] + }, + ], }; - chart.setOption(option); - - // 响应式调整 - 使用多种方式监听容器尺寸变化 - let resizeTimer = null; + // 响应式调整 const handleResize = () => { - // 防抖处理,避免频繁调用resize - if (resizeTimer) { - clearTimeout(resizeTimer); + if (chart && !chart.isDisposed()) { + chart.resize(); } - resizeTimer = setTimeout(() => { - if (chart && !chart.isDisposed()) { - chart.resize(); - } - }, 50); // 减少延迟时间 }; - - // 监听窗口大小变化 window.addEventListener('resize', handleResize); - - // 监听容器尺寸变化(解决菜单栏伸缩时的自适应问题) - let resizeObserver = null; - if (window.ResizeObserver) { - resizeObserver = new ResizeObserver((entries) => { - for (let entry of entries) { - // 使用requestAnimationFrame确保在下一帧执行 - requestAnimationFrame(() => { - handleResize(); - }); - } - }); - resizeObserver.observe(chartRef.current); - } - - // 额外监听父容器的尺寸变化 - const parentContainer = chartRef.current?.parentElement; - let parentObserver = null; - if (parentContainer && window.ResizeObserver) { - parentObserver = new ResizeObserver((entries) => { - for (let entry of entries) { - requestAnimationFrame(() => { - handleResize(); - }); - } - }); - parentObserver.observe(parentContainer); - } - - // 使用MutationObserver监听DOM结构变化(菜单展开收起时) - const mutationObserver = new MutationObserver((mutations) => { - mutations.forEach((mutation) => { - if (mutation.type === 'attributes' && - (mutation.attributeName === 'class' || mutation.attributeName === 'style')) { - // 延迟执行,确保DOM更新完成 - setTimeout(() => { - handleResize(); - }, 200); - } - }); - }); - - // 监听整个页面的class和style变化 - mutationObserver.observe(document.body, { - attributes: true, - attributeFilter: ['class', 'style'], - subtree: true - }); - return () => { window.removeEventListener('resize', handleResize); - if (resizeObserver) { - resizeObserver.disconnect(); - } - if (parentObserver) { - parentObserver.disconnect(); - } - if (mutationObserver) { - mutationObserver.disconnect(); - } - if (resizeTimer) { - clearTimeout(resizeTimer); - } if (chart && !chart.isDisposed()) { chart.dispose(); } @@ -365,55 +277,43 @@ const EmergencyPlanAssociation = () => { // 表格列定义(同步图片) const columns = [ { - title: '演练编号', - dataIndex: 'drillId', - key: 'drillId', + title: '编号', + dataIndex: 'bh', + key: 'bh', width: 140, }, { - title: '演练时间', - dataIndex: 'drillTime', - key: 'drillTime', + title: '部位名称', + dataIndex: 'bwmc', + key: 'bwmc', width: 180, }, { - title: '演练类型', - dataIndex: 'drillType', - key: 'drillType', + title: '部位类型', + dataIndex: 'bwlx', + key: 'bwlx', width: 120, }, { - title: '关联部位', - dataIndex: 'relatedPart', - key: 'relatedPart', + title: '关联预案数', + dataIndex: 'glyans', + key: 'glyans', width: 120, }, { - title: '部位名称', - dataIndex: 'partName', - key: 'partName', + title: '最近更新', + dataIndex: 'zjgx', + key: 'zjgx', width: 160, }, { - title: '演练次数', - dataIndex: 'drillCount', - key: 'drillCount', - width: 100, - }, - { - title: '参与人数', - dataIndex: 'participantCount', - key: 'participantCount', - width: 100, - }, - { - title: '效果评估', + title: '状态', dataIndex: 'effect', key: 'effect', width: 120, render: (text) => { let color = '#FFF3E9', fontColor = '#FF8800', label = text; - if (text === '优秀') { + if (text === '已更新') { color = '#D8F7DE'; fontColor = '#44BB5F'; } @@ -425,7 +325,7 @@ const EmergencyPlanAssociation = () => { padding: '3px 8px', fontSize: 12, fontWeight: 500 - }}>{label} + }}>{label} ); } }, @@ -436,7 +336,7 @@ const EmergencyPlanAssociation = () => { render: (_, record) => ( <> 编辑 - 删除 + 关联 ), }, @@ -446,36 +346,30 @@ const EmergencyPlanAssociation = () => { const mockData = [ { key: '1', - drillId: 'YL202310001', - drillTime: '2025-09-10 14:23:45', - drillType: '实战演练', - relatedPart: '三楼东侧', - partName: '数据机房 A区', - drillCount: 5, - participantCount: 25, - effect: '良好', + bh: '01', + bwmc: '数据机房A区', + bwlx: '数据机房', + glyans: 5, + zjgx: '2025-09-10 14:23:45', + effect: '有更新', }, { key: '2', - drillId: 'YL202310002', - drillTime: '2025-09-10 14:23:45', - drillType: '桌面推演', - relatedPart: '二楼西侧', - partName: 'B区厨房', - drillCount: 6, - participantCount: 18, - effect: '良好', + bh: '02', + bwmc: 'B区厨房', + bwlx: '厨房区域', + glyans: 3, + zjgx: '2025-09-10 14:23:45', + effect: '有更新', }, { key: '3', - drillId: 'YL202310003', - drillTime: '2025-09-10 14:23:45', - drillType: '模拟演练', - relatedPart: '地下一层', - partName: '数据中心机房', - drillCount: 3, - participantCount: 32, - effect: '优秀', + bh: '03', + bwmc: '数据中心机房', + bwlx: '配电房', + glyans: 4, + zjgx: '2025-09-10 14:23:45', + effect: '已更新', }, ]; @@ -550,51 +444,20 @@ const EmergencyPlanAssociation = () => { {/* 第一个div - 高度20% */}
-
- {/* 块1 */} -
-
-
演练记录总数
-
120
-
-
- 演练记录总数 -
-
- - {/* 块2 */} -
-
-
重点部位数量
-
32
-
-
- 重点部位数量 -
-
- - {/* 块3 */} -
-
-
参与演练人员
-
69
-
-
- 参与演练人员 +
+
+
+
+
应急预案关联管理功能组成图
- - {/* 块4 */} -
-
-
平均演练达标率
-
72%
-
-
- 平均演练达标率 -
+
+ 应急预案关联管理功能组成图
-
@@ -606,76 +469,103 @@ const EmergencyPlanAssociation = () => {
-
重点部位分布图
-
-
- 实时定位 +
预案调用统计
-
- {/* 地图图片 */} - 重点部位分布图 -
+
- 重点部位类型分布 + 关联应急预案
- { - console.log(value); - }} - />
- {/* 设备状态饼图 */} -
+ {/* 关联应急预案列表 */} +
+ {[ + { + title: '电气火灾应急预案', + desc: '适用场景: 电气短路、设备过载引发的火灾', + update: '2023-05-07', + user: '张正', + }, + { + title: '精密设备防水防潮应急预案', + desc: '适用场景: 电气短路、设备过载引发的火灾', + update: '2023-05-07', + user: '张正', + }, + { + title: '精密设备防水防潮应急预案', + desc: '适用场景: 电气短路、设备过载引发的火灾', + update: '2023-05-07', + user: '张正', + } + ].map((item, idx) => ( +
+
+
{item.title}
+
{item.desc}
+
上次修订:{item.update} | 修订人:{item.user}
+
+
+
+ + +
+
+
+ ))}
-
- 重点部位列表 + 预案更新通知
-
共 3 项
- {/* 重点部位列表 */} -
- {keypartsData.map((item, idx) => ( -
setSelectedKeypartIdx(idx)} - style={{ cursor: 'pointer' }} - > -
-
- {item.name} -
-
{item.location}
+ {/* 预案更新通知列表 */} +
+ {[ + { + title: '电气火灾应急预案已更新', + desc: '该预案已修订,涉及数据机房A区等3个重点部位需要同步更新', + time: '10分钟', + }, + { + title: '仓库物品堆放安全管理预案已发布', + desc: '新预案适用于各类仓库区域,建议进行关联', + time: '20分钟', + }, + { + title: '防汛应急预案年度修订提醒', + desc: '距离防汛应急预案下次修订时间还有30天', + time: '40分钟', + } + ].map((item, idx) => ( +
+
+
{item.title}
+
{item.desc}
-
- {item.risk} +
+
+ {item.time} +
))}
-
-
@@ -688,7 +578,7 @@ const EmergencyPlanAssociation = () => {
-
演练记录录入
+
组织架构管理
@@ -697,7 +587,7 @@ const EmergencyPlanAssociation = () => {
@@ -705,13 +595,13 @@ const EmergencyPlanAssociation = () => { {/* 下拉选择 */} } - /> -
-
- - -
-
- - {/* 表格 */} -
- - `共 ${total} 条`, - }} - /> -
-
-
-
-
- ); -}; - -export default EvaluationReport; diff --git a/src/pages/business_firekeynotearea/components/EvaluationReport.less b/src/pages/business_firekeynotearea/components/EvaluationReport.less deleted file mode 100644 index e62182a..0000000 --- a/src/pages/business_firekeynotearea/components/EvaluationReport.less +++ /dev/null @@ -1,558 +0,0 @@ -.Econtainer { - padding: 8px 6px 0px 6px; - height: 100%; - display: flex; - flex-direction: column; - gap: 10px; - - // 第二个div - 高度35% - .EcontainerMiddle { - // height: 400px; - min-height: 35%; - border-radius: 4px; - display: flex; - flex-direction: column; - - .sectionContent { - height: 100%; - display: flex; - display: flex; - gap: 10px; - height: 100%; - - .middleBlock1 { - width: 30%; - height: 100%; - background: #fff; - border: 2px solid #fff; - position: relative; - padding: 0px 10px 10px 2px; - font-family: PingFang SC; - font-size: 14px; - color: #333333; - - .block1Header { - position: absolute; - top: 5px; - left: 10px; - right: 10px; - display: flex; - justify-content: space-between; - align-items: center; - z-index: 10; - - .block1Title { - display: flex; - align-items: center; - gap: 8px; - font-weight: 500; - font-size: 14px; - margin-top: 5px; - color: #333333; - - .titleIcon { - width: 3px; - height: 14px; - background-color: #2E4CD4; - } - } - - } - - .deviceStatusChart { - position: absolute; - top: 10px; - left: 10px; - right: 10px; - z-index: 10; - min-height: 100%; - } - } - - .middleBlock12 { - flex: 1; - height: 100%; - background-color: #fff; - display: flex; - flex-direction: column; - font-family: PingFang SC; - font-size: 14px; - color: #333333; - padding: 5px 10px 5px 10px; - position: relative; - - .block1Header { - position: absolute; - top: 5px; - left: 10px; - right: 10px; - display: flex; - justify-content: space-between; - align-items: center; - z-index: 10; - - .block1Title { - display: flex; - align-items: center; - gap: 8px; - font-weight: 500; - font-size: 14px; - margin-top: 5px; - color: #333333; - - .titleIcon { - width: 3px; - height: 14px; - background-color: #2E4CD4; - } - } - - } - - .deviceStatusChart { - position: absolute; - top: 10px; - left: 10px; - right: 10px; - // bottom: 10px; - z-index: 10; - } - } - - .middleBlock12 { - width: 45%; - height: 100%; - background-color: #fff; - display: flex; - flex-direction: column; - font-family: PingFang SC; - font-size: 14px; - color: #333333; - padding: 5px 10px 5px 10px; - position: relative; - - .block1Header { - position: absolute; - top: 5px; - left: 10px; - right: 10px; - display: flex; - justify-content: space-between; - align-items: center; - z-index: 10; - - .block1Title { - display: flex; - align-items: center; - gap: 8px; - font-weight: 500; - font-size: 14px; - color: #333333; - - .titleIcon { - width: 3px; - height: 14px; - background-color: #2E4CD4; - } - } - } - - .deviceStatusChart { - position: absolute; - top: 10px; - left: 10px; - right: 10px; - // bottom: 10px; - min-height: 100%; - z-index: 10; - } - } - - .middleBlock2 { - // flex: 1; - width: calc(100% - 75% - 15px); - height: 100%; - // background: linear-gradient(170.5deg, #EBEFF4 6.87%, #FFFFFF 53.01%); - // border: 2px solid #fff; - background-color: #fff; - // border-radius: 4px; - display: flex; - flex-direction: column; - font-family: PingFang SC; - font-size: 14px; - color: #333333; - padding: 5px 10px 5px 10px; - - .middleBlock2Title { - display: flex; - justify-content: space-between; - align-items: center; - margin-top: 5px; - - .titleLeft { - display: flex; - align-items: center; - gap: 8px; - font-weight: 500; - font-size: 14px; - color: #333333; - - .titleIcon { - width: 3px; - height: 14px; - background-color: #2E4CD4; - } - } - - } - - .middleBlock2Chart { - width: 100%; - height: 100%; - } - } - } - } - - // 第三个div - 占满剩余位置 - .EcontainerBottom { - display: flex; - flex-direction: column; - flex-shrink: 0; - - .sectionContent { - display: flex; - flex-direction: row; - flex: 1; - gap: 10px; - padding: 0; - - .leftBlock { - width: 30%; - flex-shrink: 0; - height: 100%; - padding: 0; - display: flex; - flex-direction: column; - gap: 10px; - - .leftBlockTitle { - display: flex; - align-items: center; - gap: 8px; - font-family: PingFang SC; - font-weight: 500; - font-size: 14px; - color: #333333; - margin-bottom: 10px; - - .titleIcon { - width: 3px; - height: 16px; - background-color: #2E4CD4; - } - } - - .maintenanceStack { - width: 100%; - height: 100%; - display: flex; - flex-direction: column; - gap: 10px; - - .maintenanceSection { - width: 100%; - height: 50%; - background: #FFF; - border-radius: 4px; - display: flex; - flex-direction: column; - padding: 12px 14px; - - .maintenanceTitle { - display: flex; - align-items: center; - gap: 8px; - font-family: PingFang SC; - font-weight: 500; - font-size: 14px; - color: #333333; - margin-bottom: 8px; - } - - .titleIcon { - width: 3px; - height: 16px; - background-color: #2E4CD4; - } - - .maintenanceContent { - flex: 1; - width: 100%; - } - - .maintenanceContent1 { - flex: 1; - width: 100%; - display: flex; - flex-direction: column; - gap: 8px; - margin-top: 8px; - .maintenanceItem { - display: flex; - align-items: center; - justify-content: space-between; - background-color: #F1F7FF; - border-radius: 4px; - padding: 16px 16px; - - .maintenanceLeft { - flex: 1; - display: flex; - flex-direction: column; - gap: 4px; - - .maintenanceText1 { - font-size: 14px; - font-weight: 500; - color: #333333; - font-family: PingFang SC; - } - - .maintenanceText2 { - font-size: 12px; - color: #666666; - font-family: PingFang SC; - } - - .maintenanceText3 { - font-size: 12px; - color: #666666; - font-family: PingFang SC; - } - } - - .maintenanceRight { - flex: 0 0 auto; - display: flex; - align-items: center; - justify-content: center; - - .maintenanceStatus { - font-size: 12px; - color: #FF3E48; - font-weight: 500; - font-family: PingFang SC; - background-color: #FFE0E2; - padding: 4px 8px; - border-radius: 4px; - // border: 1px solid #FFE0E2; - } - } - - .maintenanceRight2 { - flex: 0 0 auto; - display: flex; - align-items: center; - justify-content: center; - - .maintenanceStatus { - font-size: 12px; - color: #FF8800; - font-weight: 500; - font-family: PingFang SC; - background-color: #FFF3E9; - padding: 4px 8px; - border-radius: 4px; - // padding-right: 2px; - } - } - } - } - - .maintenanceContent2 { - flex: 1; - width: 100%; - display: flex; - flex-direction: column; - gap: 15px; - padding: 8px 0; - - .warningBox { - display: flex; - align-items: center; - gap: 8px; - background-color: #FFF3CD; - border: 1px solid #F4E3AE; - border-radius: 4px; - padding: 8px 12px; - // margin-bottom: 8px; - // margin-top: 10px; - - .warningIcon { - color: #8C6C0B; - font-size: 14px; - } - - .warningText { - color: #8C6C0B; - font-size: 12px; - font-family: PingFang SC; - font-weight: 400; - } - } - - .progressSection { - width: 100%; - display: flex; - flex-direction: column; - // gap: 12px; - padding: 0px 12px 12px 12px; - - - .progressLabel { - font-size: 12px; - color: #666666; - font-family: PingFang SC; - font-weight: 400; - - } - - // 自定义进度条样式 - :global(.ant-progress) { - .ant-progress-bg { - background: linear-gradient(90deg, #2E4CD4 0%, #4B69F1 100%); - } - - .ant-progress-text { - color: #2E4CD4; - font-weight: 500; - } - } - - } - } - } - } - } - - .rightBlock { - width: calc(100% - 28% - 10px); - height: 100%; - background-color: #fff; - padding: 0; - display: flex; - flex-direction: column; - - .tableHeader { - display: flex; - justify-content: space-between; - align-items: center; - padding: 11px 15px 5px 15px; - - .tableTitle { - display: flex; - align-items: center; - gap: 8px; - font-family: PingFang SC; - font-weight: 500; - font-size: 14px; - color: #333333; - - .titleIcon { - width: 3px; - height: 16px; - background-color: #2E4CD4; - } - } - } - - .tableActions { - display: flex; - justify-content: space-between; - align-items: center; - gap: 8px; - margin-top: 5px; - padding: 0px 15px; - - .leftActions { - display: flex; - align-items: center; - } - - .rightActions { - display: flex; - gap: 8px; - align-items: center; - } - - .actionButton { - display: flex; - align-items: center; - gap: 4px; - height: 28px; - border: 1px solid #DFE4F6; - border-radius: 4px; - color: #2E4CD4; - font-weight: 500; - font-size: 12px; - padding: 0px 8px; - background: transparent; - cursor: pointer; - transition: all 0.2s ease; - - &:hover { - background-color: #f0f2ff; - border-color: #2E4CD4; - } - - &:active { - background-color: #e6ebff; - } - - .buttonIcon { - font-size: 14px; - font-weight: bold; - } - } - } - - .tableContainer { - flex: 1; - overflow: hidden; - margin: 10px 15px 0 15px; // 上边距10px,左右边距15px - - :global(.ant-table) { - font-size: 12px; - } - - :global(.ant-table-thead > tr > th) { - background-color: #f5f5fa; - font-weight: 500; - font-size: 14px; - color: #333333; - border-bottom: 1px solid #f0f0f0; - padding: 8px 12px; - text-align: center; - } - - :global(.ant-table-tbody > tr > td) { - padding: 8px 12px; - border-bottom: 1px solid #f0f0f0; - text-align: center; - color: #666666; - } - - :global(.ant-table-tbody > tr:hover > td) { - background-color: #f5f5f5; - } - - :global(.ant-pagination) { - margin-top: 16px; - text-align: right; - } - } - } - } - } -} \ No newline at end of file diff --git a/src/pages/business_firekeynotearea/components/KeypartsBasicInformation.less b/src/pages/business_firekeynotearea/components/KeypartsBasicInformation.less index 76d5e91..30f2c3b 100644 --- a/src/pages/business_firekeynotearea/components/KeypartsBasicInformation.less +++ b/src/pages/business_firekeynotearea/components/KeypartsBasicInformation.less @@ -8,11 +8,6 @@ .treeSearchInput { width: 100%; height: 36px; - // border-radius: 6px; - // border: 1px solid #E3E6EB; - // font-size: 14px; - // margin-bottom: 10px; - // background: #F7F8FA; } .customTree { @@ -123,7 +118,6 @@ flex-direction: column; gap: 10px; - // 第一个div - 高度20% .RcontainerTop { height: 16%; // background-color: #fff; @@ -246,265 +240,6 @@ } } - // 第二个div - 高度39% - .RcontainerMiddle { - height: 33%; - border-radius: 4px; - display: flex; - flex-direction: column; - - .sectionContent { - height: 100%; - display: flex; - display: flex; - gap: 10px; - height: 100%; - - - - .middleBlock1 { - // flex: 1; - width: 28%; - height: 100%; - background: #fff; - - border: 2px solid #fff; - // border-radius: 4px; - position: relative; - padding: 0px 10px 10px 2px; - font-family: PingFang SC; - font-size: 14px; - color: #333333; - - .block1Header { - position: absolute; - top: 5px; - left: 10px; - right: 10px; - display: flex; - justify-content: space-between; - align-items: center; - z-index: 10; - - .block1Title { - display: flex; - align-items: center; - gap: 8px; - font-weight: 500; - font-size: 14px; - color: #333333; - - .titleIcon { - width: 3px; - height: 14px; - background-color: #2E4CD4; - } - } - - .block1Segmented { - padding: 0; - margin: 0; - border: 1px solid #E3E3E3; - border-radius: 4px; - height: 28px; - - :global(.ant-segmented) { - padding: 0; - margin: 0; - height: 28px; - } - - :global(.ant-segmented-item) { - font-size: 12px; - padding: 2px 8px; - height: 26px; - line-height: 26px; - display: flex; - align-items: center; - justify-content: center; - } - - :global(.ant-segmented-item-selected) { - background-color: #1890ff; - color: #fff; - } - } - } - - .deviceStatusChart { - position: absolute; - top: 35px; - left: 10px; - right: 10px; - bottom: 10px; - z-index: 10; - } - - // .block1Chart { - // width: 100%; - // height: 100%; - // margin-top: 20px; - - // .mapImage { - // margin-top: 7%; - // width: 90%; - // height: 77%; - // object-fit: cover; - // border-radius: 4px; - // display: block; - // margin-left: auto; - // margin-right: auto; - // } - // } - } - - .middleBlock12 { - flex: 1; - height: 100%; - background-color: #fff; - display: flex; - flex-direction: column; - font-family: PingFang SC; - font-size: 14px; - color: #333333; - padding: 5px 10px 5px 10px; - position: relative; - - .block1Header { - position: absolute; - top: 5px; - left: 10px; - right: 10px; - display: flex; - justify-content: space-between; - align-items: center; - z-index: 10; - - .block1Title { - display: flex; - align-items: center; - gap: 8px; - font-weight: 500; - font-size: 14px; - color: #333333; - - .titleIcon { - width: 3px; - height: 14px; - background-color: #2E4CD4; - } - } - - .block1Segmented { - padding: 0; - margin: 0; - border: 1px solid #E3E3E3; - border-radius: 4px; - height: 28px; - - :global(.ant-segmented) { - padding: 0; - margin: 0; - height: 28px; - } - - :global(.ant-segmented-item) { - font-size: 12px; - padding: 2px 8px; - height: 26px; - line-height: 26px; - display: flex; - align-items: center; - justify-content: center; - } - - :global(.ant-segmented-item-selected) { - background-color: #1890ff; - color: #fff; - } - } - - .customSelect { - :global(.ant-select-single:not(.ant-select-customize-input) .ant-select-selector) { - height: 26px !important; - display: flex !important; - align-items: center !important; - } - - :global(.ant-select-selection-item) { - line-height: 24px !important; - // height: 24px !important; - display: flex !important; - align-items: center !important; - } - } - } - - .deviceStatusChart { - position: absolute; - top: 35px; - left: 10px; - right: 10px; - bottom: 10px; - z-index: 10; - } - } - - .middleBlock2 { - flex: 1; - height: 100%; - // background: linear-gradient(170.5deg, #EBEFF4 6.87%, #FFFFFF 53.01%); - // border: 2px solid #fff; - background-color: #fff; - // border-radius: 4px; - display: flex; - flex-direction: column; - font-family: PingFang SC; - font-size: 14px; - color: #333333; - padding: 5px 10px 5px 10px; - - .middleBlock2Title { - display: flex; - justify-content: space-between; - align-items: center; - // margin-bottom: 10px; - - .titleLeft { - display: flex; - align-items: center; - gap: 8px; - font-weight: 500; - font-size: 14px; - color: #333333; - - .titleIcon { - width: 3px; - height: 14px; - background-color: #2E4CD4; - } - } - - .titleRight { - display: flex; - align-items: center; - gap: 8px; - font-size: 12px; - color: #666; - } - } - - .middleBlock2Chart { - width: 100%; - height: 100%; - // min-height: 200px; - } - } - - } - } - - // 第三个div - 占满剩余空间 .RcontainerBottom { flex: 1 1 0; min-height: 0; diff --git a/src/pages/nav_system_content/SystemContentList.less b/src/pages/nav_system_content/SystemContentList.less index 4019b6c..93516c5 100644 --- a/src/pages/nav_system_content/SystemContentList.less +++ b/src/pages/nav_system_content/SystemContentList.less @@ -69,7 +69,7 @@ display: flex; flex-direction: column; height: 100vh; - overflow: auto; + overflow: hidden; } .leftMenu {