diff --git a/config/routes.js b/config/routes.js
index ed6422a..486a1d8 100644
--- a/config/routes.js
+++ b/config/routes.js
@@ -139,6 +139,18 @@ export default [
name: 'inspectionTemplate',
component: './inspection_inspectionTemplate/InspectionTemplate',
},
+ // 巡检任务
+ {
+ path: '/topnavbar00/business/inspection/inspectionTasks',
+ name: 'inspectionTasks',
+ component: './inspection_inspectionTasks/InspectionTasks',
+ },
+ // 巡检记录
+ {
+ path: '/topnavbar00/business/inspection/inspectionRecords',
+ name: 'inspectionRecords',
+ component: './inspection_inspectionRecords/InspectionRecords',
+ },
]
}
],
diff --git a/src/assets/img/img.png b/src/assets/img/img.png
new file mode 100644
index 0000000..c41b5e1
Binary files /dev/null and b/src/assets/img/img.png differ
diff --git a/src/pages/inspection_inspectionRecords/InspectionRecords.js b/src/pages/inspection_inspectionRecords/InspectionRecords.js
new file mode 100644
index 0000000..9e765d3
--- /dev/null
+++ b/src/pages/inspection_inspectionRecords/InspectionRecords.js
@@ -0,0 +1,9 @@
+const InspectionRecords = () => {
+ return (
+
- 巡检模板
+
+
+
+
+
+
+
+
+
+
+ } className={styles['search-button']} style={{marginRight:'30px'}}>查询
+ } className={styles['reset-button']}>重置
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
})
+
+
+
+
+
+ 推荐项 1:
+
+
在‘核心设备日检’中增加‘硬盘使用率≥90% 时自动触发巡检’
+
理由 “历史数据中硬盘满导致的故障占比 15%”
+
+
+
+
+
+
+
+ 推荐项 2:
+
+
将‘车间环境周检’的触发条件调整为‘温湿度波动>3% 时触发
+
理由 “该条件下环境异常的识别率提升 20%”
+
+
+
+
+
+
+
+
)
}
diff --git a/src/pages/inspection_inspectionTemplate/InspectionTemplate.less b/src/pages/inspection_inspectionTemplate/InspectionTemplate.less
new file mode 100644
index 0000000..507cfd6
--- /dev/null
+++ b/src/pages/inspection_inspectionTemplate/InspectionTemplate.less
@@ -0,0 +1,73 @@
+.search-button {
+ background-image: url('../../assets/img/assetmangement1.png');
+ background-repeat: no-repeat;
+ background-size: cover;
+ background-position: center;
+ color: #fff;
+ border-radius: 4px;
+ height: 36px;
+ border-color: #d9d9d9;
+ background-color: #045F5E80;
+}
+
+.reset-button {
+ background-image: url('../../assets/img/assetmangement2.png');
+ background-repeat: no-repeat;
+ background-size: cover;
+ background-position: center;
+ color: rgba(0, 102, 101, 1);
+ border-radius: 4px;
+ height: 36px;
+ border-color: #d9d9d9;
+ background-color: #B7E5D533;
+}
+
+.del-button {
+ background-image: url('../../assets/img/assetmangement3.png');
+ background-repeat: no-repeat;
+ background-size: cover;
+ background-position: center;
+ color: #000;
+ border-radius: 4px;
+ height: 36px;
+ width: 88px;
+ border-color: #d9d9d9;
+ background-color: #E5B7B733;
+}
+.ai-recommend-panel{
+ /* 毛玻璃效果 - 核心! */
+ backdrop-filter: blur(15px);
+ -webkit-backdrop-filter: blur(15px);
+
+ /* 多层阴影 */
+ box-shadow:
+ -2px 4px 10px 0px rgba(145, 145, 145, 0.05),
+ -7px 17px 18px 0px rgba(145, 145, 145, 0.04),
+ -15px 37px 24px 0px rgba(145, 145, 145, 0.03);
+ /* 渐变边框 */
+ border: 1px solid;
+ border-image: conic-gradient(
+ from 102.21deg at 52.75% 38.75%,
+ rgba(249, 249, 249, 0.5) -32.95deg,
+ rgba(64, 64, 64, 0.5) 10.52deg,
+ rgba(64, 64, 64, 0.35) 32.12deg,
+ #FFFFFF 60.28deg,
+ rgba(255, 255, 255, 0.5) 107.79deg,
+ rgba(64, 64, 64, 0.35) 187.59deg,
+ #F9F9F9 207.58deg,
+ #FFFFFF 287.31deg,
+ rgba(249, 249, 249, 0.5) 327.05deg,
+ rgba(64, 64, 64, 0.5) 370.52deg
+ ) 1;
+ /* 内部背景(创建UI的渐变感) */
+ background: linear-gradient(
+ 135deg,
+ rgba(255, 255, 255, 0.3),
+ rgba(255, 255, 255, 0.1)
+ );
+ padding:20px;
+ margin-top: 20px;
+ p{
+ font-size: 14px;
+ }
+}
diff --git a/src/pages/nav_system_content/SystemContentList.js b/src/pages/nav_system_content/SystemContentList.js
index 5877823..6fa5bf9 100644
--- a/src/pages/nav_system_content/SystemContentList.js
+++ b/src/pages/nav_system_content/SystemContentList.js
@@ -250,6 +250,18 @@ const SystemContentList = (props) => {
key: "/topnavbar00/business/inspection/inspectionTemplate",
"label": "巡检模板"
},
+ // 巡检任务
+ {
+ path: '/topnavbar00/business/inspection/inspectionTasks',
+ key: "/topnavbar00/business/inspection/inspectionTasks",
+ "label": "巡检任务"
+ },
+ // 巡检记录
+ {
+ path: '/topnavbar00/business/inspection/inspectionRecords',
+ key: "/topnavbar00/business/inspection/inspectionRecords",
+ "label": "巡检记录"
+ },
]
}
]
diff --git a/src/pages/serviceticket_analysis/Analysis.css b/src/pages/serviceticket_analysis/Analysis.css
new file mode 100644
index 0000000..f5008f0
--- /dev/null
+++ b/src/pages/serviceticket_analysis/Analysis.css
@@ -0,0 +1,96 @@
+.container {
+ padding: 20px;
+ background-color: #f0f2f5;
+ min-height: calc(100vh - 64px);
+}
+.header {
+ margin-bottom: 20px;
+}
+.querySection {
+ background: #fff;
+ padding: 16px 20px;
+ border-radius: 6px;
+ margin-bottom: 20px;
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
+}
+.queryForm {
+ display: flex;
+ align-items: center;
+}
+.queryForm .ant-form-item {
+ margin-bottom: 0;
+ margin-right: 16px;
+}
+.statsSection {
+ margin-bottom: 20px;
+}
+.statCard {
+ background: #fff;
+ padding: 20px;
+ border-radius: 6px;
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
+ transition: all 0.3s ease;
+}
+.statCard:hover {
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
+}
+.chartsSection {
+ margin-bottom: 20px;
+}
+.chartContainer {
+ background: #fff;
+ padding: 20px;
+ border-radius: 6px;
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
+ height: 350px;
+ display: flex;
+ flex-direction: column;
+}
+.chartTitle {
+ font-size: 16px;
+ font-weight: 500;
+ color: #333;
+ margin-bottom: 16px;
+ text-align: center;
+}
+.chart {
+ flex: 1;
+ width: 100%;
+}
+.tableSection {
+ background: #fff;
+ padding: 20px;
+ border-radius: 6px;
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
+}
+.tableTitle {
+ font-size: 16px;
+ font-weight: 500;
+ color: #333;
+ margin-bottom: 16px;
+}
+/* 响应式调整 */
+@media (max-width: 768px) {
+ .container {
+ padding: 12px;
+ }
+ .queryForm {
+ flex-direction: column;
+ align-items: flex-start;
+ }
+ .queryForm .ant-form-item {
+ margin-right: 0;
+ margin-bottom: 16px;
+ width: 100%;
+ }
+ .queryForm .ant-form-item:last-child {
+ margin-bottom: 0;
+ }
+ .chartContainer {
+ height: 300px;
+ padding: 16px;
+ }
+ .statCard {
+ padding: 16px;
+ }
+}
diff --git a/src/pages/topnavbar/TopNavBar.js b/src/pages/topnavbar/TopNavBar.js
index fdaa9b4..ce118a3 100644
--- a/src/pages/topnavbar/TopNavBar.js
+++ b/src/pages/topnavbar/TopNavBar.js
@@ -79,6 +79,16 @@ const menuItem = [
label: '智能巡检',
key: '/topnavbar00/business/inspection/inspectionTemplate',
},
+ // 巡检任务
+ {
+ label: '巡检任务',
+ key: '/topnavbar00/business/inspection/inspectionTasks',
+ },
+ // 巡检记录
+ {
+ label: '巡检记录',
+ key: '/topnavbar00/business/inspection/inspectionRecords',
+ },
]
const TopNavBar = (props) => {