新增页面:巡检管理—-巡检点管理—-关联隐患排查项

main
yupeng 1 day ago
parent 7f83dcb869
commit f1aa893cd3

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.1 MiB

@ -1,48 +1,35 @@
import InspectionTaskPlan from "@/pages/inspectionmanagement/components/Inspectiontaskplan/InspectionTaskPlan";
import { ConfigProvider, Tabs } from "antd";
import styles from './InspectionManagement.less'
import InspectionRecords from "@/pages/inspectionmanagement/components/Inspectionrecords/inspectionRecords";
import InspectionTaskPlan from '@/pages/inspectionmanagement/components/Inspectiontaskplan/InspectionTaskPlan';
import { ConfigProvider, Tabs } from 'antd';
import styles from './InspectionManagement.less';
import InspectionRecords from '@/pages/inspectionmanagement/components/Inspectionrecords/inspectionRecords';
const items = [
{
key: 1,
key: '1',
label: '巡检管理类型',
children: <InspectionTaskPlan></InspectionTaskPlan>
children: <InspectionTaskPlan />
},
// {
// key:2,
// label:'巡检管理执行',
// children: <InspectionTaskPlan></InspectionTaskPlan>
// },
{
key: 3,
key: '3',
label: '巡检点管理',
children: <InspectionRecords></InspectionRecords>
},
]
export const Title = (props) => {
return (
<div style={{ fontSize: '20px', fontWeight: '400' }}>
<span style={{ borderRight: '3px solid rgba(0,102,101,1)', marginRight: '20px' }}></span>
{props.title}
</div>
)
}
children: <InspectionRecords />
}
];
const InspectionManagement = () => {
const customTheme = {
token: {
// 核心主题色修改这里Input 等组件的激活态会自动同步)
primaryColor: '#00b42a', // 例如修改为蓝色(默认),可改为 #f50、#00b42a 等
// 可选:补充其他相关变量(如聚焦时的边框色,默认继承 primaryColor
colorPrimaryHover: '#39c574', // hover 时的颜色
colorPrimaryActive: '#008743', // 点击时的颜色
primaryColor: '#00b42a',
colorPrimaryHover: '#39c574',
colorPrimaryActive: '#008743'
},
components: {
Switch: {
colorPrimary: '#008743', // 开启状态颜色
colorBg: '#333', // 关闭状态颜色(默认灰色)
colorPrimary: '#008743',
colorBg: '#333'
},
Pagination: {
colorPrimary: '#39c574',
colorPrimary: '#39c574'
},
Tree: {
colorPrimary: '#006665',
@ -50,8 +37,7 @@ const InspectionManagement = () => {
checkboxBorderColor: '#006665'
},
Table: {
headerBg: '#F0F7F7',
// bodyBg:'#F0F7F7',
headerBg: '#F0F7F7'
},
Menu: {
activeBarHeight: 0
@ -59,15 +45,16 @@ const InspectionManagement = () => {
Select: {
activeBorderColor: '#2C9E9D'
}
},
}
};
const onChange = () => {
}
return <>
const onChange = () => {};
return (
<ConfigProvider theme={customTheme}>
<Tabs className={styles['tabs']} defaultActiveKey={'1'} items={items} onChange={onChange}> </Tabs>
<Tabs className={styles.tabs} defaultActiveKey="1" items={items} onChange={onChange} />
</ConfigProvider>
</>
}
);
};
export default InspectionManagement;

@ -1,134 +1,320 @@
.header{
display: flex;
backdrop-filter: blur(3.4000000953674316px);
box-shadow: 1px 2px 5px 0 rgba(0, 102, 101, 0.25);
border: 1px solid;
border-image-source: linear-gradient(96.54deg, #FFFFFF -0.94%, rgba(255, 255, 255, 0) 25.28%, rgba(167, 229, 228, 0) 59.69%, #A7E5E4 79.76%);
border-top-left-radius: 20px;
background-color: #fff;
/* 巡检点管理组件样式 */
.container {
padding: 20px;
background-color: #ffffff;
min-height: 100vh;
border-radius: 10px;
}
.logo{
width: 298px;
background-position: -56px -6px;
/* 进度条容器 */
.progressContainer {
margin-bottom: 20px;
width: 810px;
height: 48px;
background-image: url('~@/assets/img/progress1.svg');
background-position: left top;
background-repeat: no-repeat;
height: 54px;
font-size: 20px;
font-weight: 400;
color: #fff;
overflow: hidden;
}
/* 主体内容容器 */
.contentContainer {
display: flex;
align-items: center;
justify-content: center;
}
.menu{
:global(.ant-menu-title-content){
color: rgba(0, 102, 101, 1);
font-size:16px;
}
:global(.parallelogram-container___Lxkxf){
height:30px;
margin-top: 12px;
}
gap: 20px;
}
/* 主体内容容器 */
.contentContainer {
display: flex;
gap: 20px;
}
.state1{
color:#4E5856
/* 左侧树形结构区域 */
.leftSide {
flex: 0 0 300px;
background: #e8f1ec;
padding: 20px;
max-height: calc(100vh - 150px);
overflow-y: auto;
border-radius: 4px;
border: 1px solid;
border-image-source: linear-gradient(96.54deg, #FFFFFF -0.94%, rgba(255, 255, 255, 0) 25.28%, rgba(0, 143, 142, 0) 59.69%, #008F8E 79.76%);
box-shadow: 1px 2px 5px 0px rgba(0, 102, 101, 0.25);
box-shadow: -2px 4px 10px 0px rgba(145, 145, 145, 0.05);
box-shadow: -7px 17px 18px 0px rgba(145, 145, 145, 0.04);
box-shadow: -15px 37px 24px 0px rgba(145, 145, 145, 0.03);
box-shadow: -27px 66px 29px 0px rgba(145, 145, 145, 0.01);
box-shadow: -42px 103px 31px 0px rgba(145, 145, 145, 0);
backdrop-filter: blur(3.4000000953674316px)
}
.state2{
color:#2C9E9D
.leftSide .ant-tree-list {
background: #e8f1ec;
}
.state3{
color:#999999
.tree {
background: #e8f1ec;
}
.state1,.state2,.state3{
/* 树形结构标题 */
.treeTitle {
font-size: 16px;
font-weight: 500;
margin-bottom: 16px;
color: #333;
padding-bottom: 8px;
border-bottom: 1px solid #f0f0f0;
}
.inspection-table{
:global(.ant-table-cell){
background-color:#F0F7F7;
padding:16px 1px !important;
border-bottom: 0.5px solid #DBE8E5 !important;
}
}
.inspection-table1{
:global(.ant-table-cell){
background-color:#F0F7F7;
padding:12px 1px !important;
border-bottom: 0.5px solid #DBE8E5 !important;
/* 树形结构样式 */
.tree {
.ant-tree-treenode {
margin-bottom: 4px;
}
}
.paiBanState{
border: 1px solid;
border-image-source: conic-gradient(from 102.75deg at 50% 52.91%, rgba(249, 249, 249, 0.5) -32.95deg, rgba(140, 160, 156, 0.5) 10.52deg, rgba(140, 160, 156, 0.35) 32.12deg, rgba(255, 255, 255, 0.5) 60.28deg, rgba(255, 255, 255, 0.5) 107.79deg, rgba(140, 160, 156, 0.35) 187.59deg, #F9F9F9 207.58deg, rgba(255, 255, 255, 0.5) 287.31deg, rgba(249, 249, 249, 0.5) 327.05deg, rgba(140, 160, 156, 0.5) 370.52deg);
background: #828C8833;
backdrop-filter: blur(8px);
box-shadow: -2px 4px 10px 0 #9191910D;
.ant-tree-node-content-wrapper {
padding: 4px 8px;
border-radius: 4px;
opacity: 1;
padding:6px 8px;
margin-top: 10px;
font-size: 12px;
transition: all 0.2s;
&:hover {
background-color: #f0f7f7;
}
.paiBanState1{
border: 1px solid;
border-image-source: conic-gradient(from 102.75deg at 50% 52.91%, rgba(249, 249, 249, 0.5) -32.95deg, rgba(140, 160, 156, 0.5) 10.52deg, rgba(140, 160, 156, 0.35) 32.12deg, rgba(255, 255, 255, 0.5) 60.28deg, rgba(255, 255, 255, 0.5) 107.79deg, rgba(140, 160, 156, 0.35) 187.59deg, #F9F9F9 207.58deg, rgba(255, 255, 255, 0.5) 287.31deg, rgba(249, 249, 249, 0.5) 327.05deg, rgba(140, 160, 156, 0.5) 370.52deg);
background: #05454480;
backdrop-filter: blur(8px);
box-shadow: -2px 4px 10px 0 #9191910D;
border-radius: 4px;
opacity: 1;
padding:6px 8px;
margin-top: 10px;
color:#fff;
font-size: 12px;
}
.addBtn{
background-size:cover;
background-position:center;
color:#fff;
opacity:0.7;
border-radius:4px;
height: 36px;
}
.ant-tree-checkbox-checked .ant-tree-checkbox-inner {
background-color: #006665;
border-color: #006665;
}
.ant-tree-checkbox:hover .ant-tree-checkbox-inner {
border-color: #006665;
}
.ant-tree-selected .ant-tree-node-content-wrapper {
background-color: #f0f7f7;
color: #006665;
font-weight: 500;
}
}
/* 右侧表格区域 */
.rightSide {
flex: 1;
background: white;
padding: 20px;
display: flex;
flex-direction: column;
}
/* 顶部按钮区域 */
.topButtons {
display: flex;
margin-bottom: 20px;
}
.delBtn{
background-size:cover;
background-position:center;
color:#000;
.delBtn {
background-size: cover;
background-position: center;
color: #000;
//opacity:0.7;
border-radius:4px;
border-radius: 4px;
width: 88px;
height: 36px;
}
.exportBtn{
background-size:cover;
background-position:center;
color:#fff;
opacity:0.7;
border-radius:4px;
width: 88px;
/* 按钮样式 */
.button {
border: none;
// background-color: transparent;
padding: 6px 16px;
font-size: 14px;
color: #fff;
transition: all 0.3s;
background-position: center;
background-size: cover;
height: 36px;
&:hover {
opacity: 0.9;
}
&.ant-btn-danger {
color: #fff;
}
}
.resetBtn{
background-size:cover;
background-position:center;
color:#006665;
//opacity:0.7;
border-radius:4px;
width: 88px;
/* 搜索区域 */
.searchContainer {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20px;
}
/* 搜索框样式 */
.searchBox {
display: flex;
align-items: center;
border: 1px solid #d9d9d9;
border-radius: 4px;
padding: 0 12px;
width: 300px;
height: 36px;
transition: all 0.3s;
&:focus-within {
border-color: #006665;
box-shadow: 0 0 0 2px rgba(0, 102, 101, 0.1);
}
.anticon {
color: #999;
margin-right: 8px;
}
.searchInput {
border: none;
outline: none;
flex: 1;
height: 100%;
font-size: 14px;
&::placeholder {
color: #bfbfbf;
}
}
}
.customDrawer{
:global(.ant-drawer-header){
background-color:#B8E0D833 !important;
/* 新增按钮 */
.addButton {
background-color: #006665;
border-color: #006665;
border-radius: 4px;
padding: 6px 20px;
font-size: 14px;
transition: all 0.3s;
height: 36px;
&:hover {
background-color: #00876e;
border-color: #00876e;
transform: translateY(-1px);
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
}
}
.drawerRow{
margin: 10px 0 20px 0;
:global(.ant-col){
margin-top: 10px;
color: #000;
span{
color: #999999;
font-size:14px;
/* 表格样式 */
.table {
margin-bottom: 20px;
.ant-table-thead>tr>th {
background-color: #f0f7f7;
color: #333;
font-weight: 500;
border-bottom: 1px solid #e8e8e8;
padding: 12px 16px;
}
.ant-table-tbody>tr>td {
padding: 12px 16px;
border-bottom: 1px solid #f0f0f0;
&:last-child {
padding-right: 24px;
}
}
.ant-table-tbody>tr:hover {
background-color: #fafafa;
}
/* 自定义序号列宽度 */
.ant-table-column-has-actions {
width: 80px;
}
}
/* 分页区域 */
.pagination {
display: flex;
justify-content: flex-end;
align-items: center;
margin-top: auto;
padding-top: 20px;
border-top: 1px solid #f0f0f0;
>span {
margin-right: 20px;
color: #666;
font-size: 14px;
}
.ant-pagination {
display: flex;
align-items: center;
.ant-pagination-item-active {
border-color: #006665;
a {
color: #006665;
font-weight: 500;
}
}
.ant-pagination-item:hover {
border-color: #006665;
a {
color: #006665;
}
}
.ant-pagination-prev:hover .ant-pagination-item-link,
.ant-pagination-next:hover .ant-pagination-item-link {
color: #006665;
border-color: #006665;
}
}
}
/* 响应式设计 */
@media (max-width: 1200px) {
.contentContainer {
flex-direction: column;
}
.leftSide {
flex: none;
max-height: 400px;
}
}
@media (max-width: 768px) {
.container {
padding: 10px;
}
.searchContainer {
flex-direction: column;
gap: 12px;
align-items: stretch;
}
.searchBox {
width: 100%;
}
.pagination {
flex-direction: column;
align-items: center;
gap: 12px;
}
}
Loading…
Cancel
Save