From 0e11328392aee1d795f48985d58f80995446b329 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A9=AC=E8=AF=97=E6=95=8F?= <3130004661@qq.com> Date: Wed, 13 Aug 2025 08:59:20 +0800 Subject: [PATCH 1/7] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E4=B8=AD=E6=8E=A7=E5=8F=B0=E5=B8=83=E5=B1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../personnel-dispatch/index.vue | 2397 ++++++++++------- 1 file changed, 1481 insertions(+), 916 deletions(-) diff --git a/src/views/project-management/personnel-dispatch/index.vue b/src/views/project-management/personnel-dispatch/index.vue index 99bb392..2451c01 100644 --- a/src/views/project-management/personnel-dispatch/index.vue +++ b/src/views/project-management/personnel-dispatch/index.vue @@ -61,10 +61,10 @@
- +

{{ project.name }}

@@ -101,68 +101,93 @@
- -
-
- -

质量管理

-
-
-
- 质量等级 - A级 + +
+ +
+
+ +

进度管理

-
- 检查次数 - 12次 -
-
- 合格率 - 98.5% +
+
+ 计划进度 + {{ project.progress || 0 }}% +
+
+ 实际进度 + {{ project.progress || 0 }}% +
+
+ 偏差 + 0% +
-
- - -
-
- -

安全管理

-
-
-
- 安全等级 - 优秀 + + +
+
+ +

质量管理

-
- 培训完成 - 100% -
-
- 安全检查 - 通过 +
+
+ 质量等级 + A级 +
+
+ 检查次数 + 12次 +
+
+ 合格率 + 98.5% +
-
- - -
-
- -

现场管理

+ + +
+
+ +

安全管理

+
+
+
+ 安全等级 + 优秀 +
+
+ 培训完成 + 100% +
+
+ 安全检查 + 通过 +
+
-
-
- 在线人数 - {{ project.teamSize || 0 }}人 + + +
+
+ +

现场管理

-
- 设备状态 - 正常 -
-
- 现场环境 - 良好 +
+
+ 在线人数 + {{ project.teamSize || 0 }}人 +
+
+ 设备状态 + 正常 +
+
+ 现场环境 + 良好 +
@@ -172,10 +197,10 @@
- +

{{ project.name }}

@@ -212,68 +237,93 @@
- -
-
- -

质量管理

-
-
-
- 质量等级 - A级 + +
+ +
+
+ +

进度管理

-
- 检查次数 - 12次 -
-
- 合格率 - 98.5% +
+
+ 计划进度 + {{ project.progress || 0 }}% +
+
+ 实际进度 + {{ project.progress || 0 }}% +
+
+ 偏差 + 0% +
-
- - -
-
- -

安全管理

-
-
-
- 安全等级 - 优秀 + + +
+
+ +

质量管理

-
- 培训完成 - 100% -
-
- 安全检查 - 通过 +
+
+ 质量等级 + A级 +
+
+ 检查次数 + 12次 +
+
+ 合格率 + 98.5% +
-
- - -
-
- -

现场管理

+ + +
+
+ +

安全管理

+
+
+
+ 安全等级 + 优秀 +
+
+ 培训完成 + 100% +
+
+ 安全检查 + 通过 +
+
-
-
- 在线人数 - {{ project.teamSize || 0 }}人 + + +
+
+ +

现场管理

-
- 设备状态 - 正常 -
-
- 现场环境 - 良好 +
+
+ 在线人数 + {{ project.teamSize || 0 }}人 +
+
+ 设备状态 + 正常 +
+
+ 现场环境 + 良好 +
@@ -283,10 +333,10 @@
- +

{{ project.name }}

@@ -323,82 +373,106 @@
- -
-
- -

质量管理

+ +
+ +
+
+ +

进度管理

+
+
+
+ 计划进度 + {{ project.progress || 0 }}% +
+
+ 实际进度 + {{ project.progress || 0 }}% +
+
+ 偏差 + 0% +
+
-
-
- 质量等级 - A级 + + +
+
+ +

质量管理

-
- 检查次数 - 12次 +
+
+ 质量等级 + A级 +
+
+ 检查次数 + 12次 +
+
+ 合格率 + 98.5% +
-
- 合格率 - 98.5% +
+ + +
+
+ +

安全管理

+
+
+
+ 安全等级 + 优秀 +
+
+ 培训完成 + 100% +
+
+ 安全检查 + 通过 +
+
+
+ + +
+
+ +

现场管理

+
+
+
+ 在线人数 + {{ project.teamSize || 0 }}人 +
+
+ 设备状态 + 正常 +
+
+ 现场环境 + 良好 +
- - -
-
- -

安全管理

-
-
-
- 安全等级 - 优秀 -
-
- 培训完成 - 100% -
-
- 安全检查 - 通过 -
-
-
- - -
-
- -

现场管理

-
-
-
- 在线人数 - {{ project.teamSize || 0 }}人 -
-
- 设备状态 - 正常 -
-
- 现场环境 - 良好 -
-
-
-
- +

{{ project.name }}

@@ -435,68 +509,93 @@
- -
-
- -

质量管理

-
-
-
- 质量等级 - A级 + +
+ +
+
+ +

进度管理

-
- 检查次数 - 12次 -
-
- 合格率 - 98.5% +
+
+ 计划进度 + {{ project.progress || 0 }}% +
+
+ 实际进度 + {{ project.progress || 0 }}% +
+
+ 偏差 + 0% +
-
- - -
-
- -

安全管理

-
-
-
- 安全等级 - 优秀 + + +
+
+ +

质量管理

-
- 培训完成 - 100% -
-
- 安全检查 - 通过 +
+
+ 质量等级 + A级 +
+
+ 检查次数 + 12次 +
+
+ 合格率 + 98.5% +
-
- - -
-
- -

现场管理

+ + +
+
+ +

安全管理

+
+
+
+ 安全等级 + 优秀 +
+
+ 培训完成 + 100% +
+
+ 安全检查 + 通过 +
+
-
-
- 在线人数 - {{ project.teamSize || 0 }}人 + + +
+
+ +

现场管理

-
- 设备状态 - 正常 -
-
- 现场环境 - 良好 +
+
+ 在线人数 + {{ project.teamSize || 0 }}人 +
+
+ 设备状态 + 正常 +
+
+ 现场环境 + 良好 +
@@ -506,10 +605,10 @@
- +

{{ project.name }}

@@ -546,68 +645,93 @@
- -
-
- -

质量管理

-
-
-
- 质量等级 - A级 + +
+ +
+
+ +

进度管理

-
- 检查次数 - 12次 -
-
- 合格率 - 98.5% +
+
+ 计划进度 + {{ project.progress || 0 }}% +
+
+ 实际进度 + {{ project.progress || 0 }}% +
+
+ 偏差 + 0% +
-
- - -
-
- -

安全管理

-
-
-
- 安全等级 - 优秀 + + +
+
+ +

质量管理

-
- 培训完成 - 100% -
-
- 安全检查 - 通过 +
+
+ 质量等级 + A级 +
+
+ 检查次数 + 12次 +
+
+ 合格率 + 98.5% +
-
- - -
-
- -

现场管理

+ + +
+
+ +

安全管理

+
+
+
+ 安全等级 + 优秀 +
+
+ 培训完成 + 100% +
+
+ 安全检查 + 通过 +
+
-
-
- 在线人数 - {{ project.teamSize || 0 }}人 + + +
+
+ +

现场管理

-
- 设备状态 - 正常 -
-
- 现场环境 - 良好 +
+
+ 在线人数 + {{ project.teamSize || 0 }}人 +
+
+ 设备状态 + 正常 +
+
+ 现场环境 + 良好 +
@@ -617,10 +741,10 @@
- +

{{ project.name }}

@@ -657,68 +781,93 @@
- -
-
- -

质量管理

-
-
-
- 质量等级 - A级 + +
+ +
+
+ +

进度管理

-
- 检查次数 - 12次 -
-
- 合格率 - 98.5% +
+
+ 计划进度 + {{ project.progress || 0 }}% +
+
+ 实际进度 + {{ project.progress || 0 }}% +
+
+ 偏差 + 0% +
-
- - -
-
- -

安全管理

-
-
-
- 安全等级 - 优秀 + + +
+
+ +

质量管理

-
- 培训完成 - 100% -
-
- 安全检查 - 通过 +
+
+ 质量等级 + A级 +
+
+ 检查次数 + 12次 +
+
+ 合格率 + 98.5% +
-
- - -
-
- -

现场管理

+ + +
+
+ +

安全管理

+
+
+
+ 安全等级 + 优秀 +
+
+ 培训完成 + 100% +
+
+ 安全检查 + 通过 +
+
-
-
- 在线人数 - {{ project.teamSize || 0 }}人 + + +
+
+ +

现场管理

-
- 设备状态 - 正常 -
-
- 现场环境 - 良好 +
+
+ 在线人数 + {{ project.teamSize || 0 }}人 +
+
+ 设备状态 + 正常 +
+
+ 现场环境 + 良好 +
@@ -728,10 +877,10 @@
- +

{{ project.name }}

@@ -768,68 +917,93 @@
- -
-
- -

质量管理

-
-
-
- 质量等级 - A级 + +
+ +
+
+ +

进度管理

-
- 检查次数 - 12次 -
-
- 合格率 - 98.5% +
+
+ 计划进度 + {{ project.progress || 0 }}% +
+
+ 实际进度 + {{ project.progress || 0 }}% +
+
+ 偏差 + 0% +
-
- - -
-
- -

安全管理

-
-
-
- 安全等级 - 优秀 + + +
+
+ +

质量管理

-
- 培训完成 - 100% -
-
- 安全检查 - 通过 +
+
+ 质量等级 + A级 +
+
+ 检查次数 + 12次 +
+
+ 合格率 + 98.5% +
-
- - -
-
- -

现场管理

+ + +
+
+ +

安全管理

+
+
+
+ 安全等级 + 优秀 +
+
+ 培训完成 + 100% +
+
+ 安全检查 + 通过 +
+
-
-
- 在线人数 - {{ project.teamSize || 0 }}人 + + +
+
+ +

现场管理

-
- 设备状态 - 正常 -
-
- 现场环境 - 良好 +
+
+ 在线人数 + {{ project.teamSize || 0 }}人 +
+
+ 设备状态 + 正常 +
+
+ 现场环境 + 良好 +
@@ -839,10 +1013,10 @@
- +

{{ project.name }}

@@ -879,68 +1053,93 @@
- -
-
- -

质量管理

-
-
-
- 质量等级 - A级 + +
+ +
+
+ +

进度管理

-
- 检查次数 - 12次 -
-
- 合格率 - 98.5% +
+
+ 计划进度 + 100% +
+
+ 实际进度 + 100% +
+
+ 偏差 + 0% +
-
- - -
-
- -

安全管理

-
-
-
- 安全等级 - 优秀 + + +
+
+ +

质量管理

-
- 培训完成 - 100% -
-
- 安全检查 - 通过 +
+
+ 质量等级 + A级 +
+
+ 检查次数 + 12次 +
+
+ 合格率 + 98.5% +
-
- - -
-
- -

现场管理

+ + +
+
+ +

安全管理

+
+
+
+ 安全等级 + 优秀 +
+
+ 培训完成 + 100% +
+
+ 安全检查 + 通过 +
+
-
-
- 在线人数 - {{ project.teamSize || 0 }}人 + + +
+
+ +

现场管理

-
- 设备状态 - 正常 -
-
- 现场环境 - 良好 +
+
+ 在线人数 + {{ project.teamSize || 0 }}人 +
+
+ 设备状态 + 正常 +
+
+ 现场环境 + 良好 +
@@ -963,10 +1162,10 @@
- +

{{ project.name }}

@@ -1003,68 +1202,93 @@
- -
-
- -

质量管理

-
-
-
- 质量等级 - A级 + +
+ +
+
+ +

进度管理

-
- 检查次数 - 12次 -
-
- 合格率 - 98.5% +
+
+ 计划进度 + {{ project.progress || 0 }}% +
+
+ 实际进度 + {{ project.progress || 0 }}% +
+
+ 偏差 + 0% +
-
- - -
-
- -

安全管理

-
-
-
- 安全等级 - 优秀 + + +
+
+ +

质量管理

-
- 培训完成 - 100% -
-
- 安全检查 - 通过 +
+
+ 质量等级 + A级 +
+
+ 检查次数 + 12次 +
+
+ 合格率 + 98.5% +
-
- - -
-
- -

现场管理

+ + +
+
+ +

安全管理

+
+
+
+ 安全等级 + 优秀 +
+
+ 培训完成 + 100% +
+
+ 安全检查 + 通过 +
+
-
-
- 在线人数 - {{ project.teamSize || 0 }}人 + + +
+
+ +

现场管理

-
- 设备状态 - 正常 -
-
- 现场环境 - 良好 +
+
+ 在线人数 + {{ project.teamSize || 0 }}人 +
+
+ 设备状态 + 正常 +
+
+ 现场环境 + 良好 +
@@ -1085,10 +1309,10 @@
- +

{{ project.name }}

@@ -1125,68 +1349,93 @@
- -
-
- -

质量管理

-
-
-
- 质量等级 - A级 + +
+ +
+
+ +

进度管理

-
- 检查次数 - 12次 -
-
- 合格率 - 98.5% +
+
+ 计划进度 + {{ project.progress || 0 }}% +
+
+ 实际进度 + {{ project.progress || 0 }}% +
+
+ 偏差 + 0% +
-
- - -
-
- -

安全管理

-
-
-
- 安全等级 - 优秀 + + +
+
+ +

质量管理

-
- 培训完成 - 100% -
-
- 安全检查 - 通过 +
+
+ 质量等级 + A级 +
+
+ 检查次数 + 12次 +
+
+ 合格率 + 98.5% +
-
- - -
-
- -

现场管理

+ + +
+
+ +

安全管理

+
+
+
+ 安全等级 + 优秀 +
+
+ 培训完成 + 100% +
+
+ 安全检查 + 通过 +
+
-
-
- 在线人数 - {{ project.teamSize || 0 }}人 + + +
+
+ +

现场管理

-
- 设备状态 - 正常 -
-
- 现场环境 - 良好 +
+
+ 在线人数 + {{ project.teamSize || 0 }}人 +
+
+ 设备状态 + 正常 +
+
+ 现场环境 + 良好 +
@@ -1207,10 +1456,10 @@
- +

{{ project.name }}

@@ -1247,81 +1496,94 @@
- -
-
- -

质量管理

-
-
-
- 质量等级 - A级 + +
+ +
+
+ +

进度管理

-
- 检查次数 - 12次 -
-
- 合格率 - 98.5% +
+
+ 计划进度 + {{ project.progress || 0 }}% +
+
+ 实际进度 + {{ project.progress || 0 }}% +
+
+ 偏差 + 0% +
-
- - -
-
- -

安全管理

-
-
-
- 安全等级 - 优秀 + + +
+
+ +

质量管理

-
- 培训完成 - 100% -
-
- 安全检查 - 通过 +
+
+ 质量等级 + A级 +
+
+ 检查次数 + 12次 +
+
+ 合格率 + 98.5% +
-
- - -
-
- -

现场管理

-
-
-
- 在线人数 - {{ project.teamSize || 0 }}人 + + +
+
+ +

安全管理

-
- 设备状态 - 正常 -
-
- 现场环境 - 良好 +
+
+ 安全等级 + 优秀 +
+
+ 培训完成 + 100% +
+
+ 安全检查 + 通过 +
-
- -
-
- - {{ alert.message }} + + +
+
+ +

现场管理

+
+
+
+ 在线人数 + {{ project.teamSize || 0 }}人 +
+
+ 设备状态 + 正常 +
+
+ 现场环境 + 良好 +
+
@@ -1341,10 +1603,10 @@
- +

{{ project.name }}

@@ -1381,68 +1643,93 @@
- -
-
- -

质量管理

-
-
-
- 质量等级 - A级 + +
+ +
+
+ +

进度管理

-
- 检查次数 - 12次 -
-
- 合格率 - 98.5% +
+
+ 计划进度 + {{ project.progress || 0 }}% +
+
+ 实际进度 + {{ project.progress || 0 }}% +
+
+ 偏差 + 0% +
-
- - -
-
- -

安全管理

-
-
-
- 安全等级 - 优秀 + + +
+
+ +

质量管理

-
- 培训完成 - 100% -
-
- 安全检查 - 通过 +
+
+ 质量等级 + A级 +
+
+ 检查次数 + 12次 +
+
+ 合格率 + 98.5% +
-
- - -
-
- -

现场管理

+ + +
+
+ +

安全管理

+
+
+
+ 安全等级 + 优秀 +
+
+ 培训完成 + 100% +
+
+ 安全检查 + 通过 +
+
-
-
- 在线人数 - {{ project.teamSize || 0 }}人 + + +
+
+ +

现场管理

-
- 设备状态 - 正常 -
-
- 现场环境 - 良好 +
+
+ 在线人数 + {{ project.teamSize || 0 }}人 +
+
+ 设备状态 + 正常 +
+
+ 现场环境 + 良好 +
@@ -1463,10 +1750,10 @@
- +

{{ project.name }}

@@ -1503,68 +1790,93 @@
- -
-
- -

质量管理

-
-
-
- 质量等级 - A级 + +
+ +
+
+ +

进度管理

-
- 检查次数 - 12次 -
-
- 合格率 - 98.5% +
+
+ 计划进度 + {{ project.progress || 0 }}% +
+
+ 实际进度 + {{ project.progress || 0 }}% +
+
+ 偏差 + 0% +
-
- - -
-
- -

安全管理

-
-
-
- 安全等级 - 优秀 + + +
+
+ +

质量管理

-
- 培训完成 - 100% -
-
- 安全检查 - 通过 +
+
+ 质量等级 + A级 +
+
+ 检查次数 + 12次 +
+
+ 合格率 + 98.5% +
-
- - -
-
- -

现场管理

+ + +
+
+ +

安全管理

+
+
+
+ 安全等级 + 优秀 +
+
+ 培训完成 + 100% +
+
+ 安全检查 + 通过 +
+
-
-
- 在线人数 - {{ project.teamSize || 0 }}人 + + +
+
+ +

现场管理

-
- 设备状态 - 正常 -
-
- 现场环境 - 良好 +
+
+ 在线人数 + {{ project.teamSize || 0 }}人 +
+
+ 设备状态 + 正常 +
+
+ 现场环境 + 良好 +
@@ -1585,10 +1897,10 @@
- +

{{ project.name }}

@@ -1625,68 +1937,93 @@
- -
-
- -

质量管理

-
-
-
- 质量等级 - A级 + +
+ +
+
+ +

进度管理

-
- 检查次数 - 12次 -
-
- 合格率 - 98.5% +
+
+ 计划进度 + {{ project.progress || 0 }}% +
+
+ 实际进度 + {{ project.progress || 0 }}% +
+
+ 偏差 + 0% +
-
- - -
-
- -

安全管理

-
-
-
- 安全等级 - 优秀 + + +
+
+ +

质量管理

-
- 培训完成 - 100% -
-
- 安全检查 - 通过 +
+
+ 质量等级 + A级 +
+
+ 检查次数 + 12次 +
+
+ 合格率 + 98.5% +
-
- - -
-
- -

现场管理

+ + +
+
+ +

安全管理

+
+
+
+ 安全等级 + 优秀 +
+
+ 培训完成 + 100% +
+
+ 安全检查 + 通过 +
+
-
-
- 在线人数 - {{ project.teamSize || 0 }}人 + + +
+
+ +

现场管理

-
- 设备状态 - 正常 -
-
- 现场环境 - 良好 +
+
+ 在线人数 + {{ project.teamSize || 0 }}人 +
+
+ 设备状态 + 正常 +
+
+ 现场环境 + 良好 +
@@ -1707,10 +2044,10 @@
- +

{{ project.name }}

@@ -1747,68 +2084,93 @@
- -
-
- -

质量管理

-
-
-
- 质量等级 - A级 + +
+ +
+
+ +

进度管理

-
- 检查次数 - 12次 -
-
- 合格率 - 98.5% +
+
+ 计划进度 + {{ project.progress || 0 }}% +
+
+ 实际进度 + {{ project.progress || 0 }}% +
+
+ 偏差 + 0% +
-
- - -
-
- -

安全管理

-
-
-
- 安全等级 - 优秀 + + +
+
+ +

质量管理

-
- 培训完成 - 100% -
-
- 安全检查 - 通过 +
+
+ 质量等级 + A级 +
+
+ 检查次数 + 12次 +
+
+ 合格率 + 98.5% +
-
- - -
-
- -

现场管理

+ + +
+
+ +

安全管理

+
+
+
+ 安全等级 + 优秀 +
+
+ 培训完成 + 100% +
+
+ 安全检查 + 通过 +
+
-
-
- 在线人数 - {{ project.teamSize || 0 }}人 + + +
+
+ +

现场管理

-
- 设备状态 - 正常 -
-
- 现场环境 - 良好 +
+
+ 在线人数 + {{ project.teamSize || 0 }}人 +
+
+ 设备状态 + 正常 +
+
+ 现场环境 + 良好 +
@@ -1829,10 +2191,10 @@
- +

{{ project.name }}

@@ -1869,68 +2231,93 @@
- -
-
- -

质量管理

-
-
-
- 质量等级 - A级 + +
+ +
+
+ +

进度管理

-
- 检查次数 - 12次 -
-
- 合格率 - 98.5% +
+
+ 计划进度 + 100% +
+
+ 实际进度 + 100% +
+
+ 偏差 + 0% +
-
- - -
-
- -

安全管理

-
-
-
- 安全等级 - 优秀 + + +
+
+ +

质量管理

-
- 培训完成 - 100% -
-
- 安全检查 - 通过 +
+
+ 质量等级 + A级 +
+
+ 检查次数 + 12次 +
+
+ 合格率 + 98.5% +
-
- - -
-
- -

现场管理

+ + +
+
+ +

安全管理

+
+
+
+ 安全等级 + 优秀 +
+
+ 培训完成 + 100% +
+
+ 安全检查 + 通过 +
+
-
-
- 在线人数 - {{ project.teamSize || 0 }}人 + + +
+
+ +

现场管理

-
- 设备状态 - 正常 -
-
- 现场环境 - 良好 +
+
+ 在线人数 + {{ project.teamSize || 0 }}人 +
+
+ 设备状态 + 正常 +
+
+ 现场环境 + 良好 +
@@ -1945,7 +2332,7 @@ v-model:visible="projectDetailVisible" :title="selectedProject?.name || '项目详情'" width="800px" - :footer="null" + :footer="undefined" :destroy-on-close="true" >
@@ -4182,7 +4569,99 @@ onMounted(async () => { } -// 垂直布局项目卡片样式 +// 水平布局项目卡片样式 +.project-card-horizontal { + background: white; + border-radius: 16px; + padding: 24px; + box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08); + border-left: 6px solid; + transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); + cursor: pointer; + position: relative; + overflow: hidden; + border: 1px solid rgba(0, 0, 0, 0.06); + width: 100%; + display: flex; + flex-direction: row; + gap: 24px; + align-items: stretch; + + // 左侧项目信息部分 + .project-info-section { + flex: 0 0 300px; + display: flex; + flex-direction: column; + justify-content: space-between; + } + + // 右侧管理类别部分 + .management-categories { + flex: 1; + display: grid; + grid-template-columns: repeat(2, 1fr); + gap: 16px; + align-items: start; + } + + &:hover { + transform: translateY(-4px) scale(1.01); + box-shadow: 0 12px 32px rgba(0, 0, 0, 0.15); + border-color: rgba(0, 0, 0, 0.1); + + &::before { + opacity: 1; + } + + .project-header .project-status { + transform: scale(1.05); + box-shadow: 0 6px 16px rgba(0, 0, 0, 0.25); + } + } + + // 不同状态的颜色主题 + &.pending { + border-left-color: #868e96; + .project-status { background: #868e96; } + } + + &.preparing { + border-left-color: #ff6b6b; + .project-status { background: #ff6b6b; } + } + + &.inProgress { + border-left-color: #51cf66; + .project-status { background: #51cf66; } + } + + &.suspended { + border-left-color: #ffa000; + .project-status { background: #ffa000; } + } + + &.completed { + border-left-color: #52c41a; + .project-status { background: #52c41a; } + } + + &.acceptance { + border-left-color: #1890ff; + .project-status { background: #1890ff; } + } + + &.collection { + border-left-color: #722ed1; + .project-status { background: #722ed1; } + } + + &.settled { + border-left-color: #13c2c2; + .project-status { background: #13c2c2; } + } +} + +// 垂直布局项目卡片样式(保留原有样式) .project-card-vertical { background: white; border-radius: 16px; @@ -4455,6 +4934,22 @@ onMounted(async () => { } } + // 进度管理部分 + &.progress-section { + &::before { + background: linear-gradient(135deg, #1890ff, #096dd9); + } + + .section-icon { + color: #1890ff; + } + + .progress-value { + background: rgba(24, 144, 255, 0.1); + color: #1890ff; + } + } + // 质量管理部分 &.quality-section { &::before { @@ -4506,6 +5001,22 @@ onMounted(async () => { // 响应式设计调整 @media (max-width: 768px) { + .project-card-horizontal { + flex-direction: column; + padding: 16px; + gap: 16px; + + .project-info-section { + flex: none; + width: 100%; + } + + .management-categories { + grid-template-columns: 1fr; + gap: 12px; + } + } + .project-card-vertical { padding: 16px; gap: 12px; @@ -4574,6 +5085,60 @@ onMounted(async () => { } @media (max-width: 480px) { + .project-card-horizontal { + padding: 12px; + gap: 12px; + + .project-info-section { + .project-header { + .project-name { + font-size: 15px; + } + + .project-status { + font-size: 10px; + padding: 3px 10px; + } + } + + .project-details { + .detail-item { + font-size: 12px; + padding: 5px 8px; + + .detail-icon { + font-size: 14px; + } + } + } + } + + .management-categories { + gap: 8px; + } + + .management-section { + padding: 10px; + + .section-header { + .section-icon { + font-size: 14px; + } + + h4 { + font-size: 11px; + } + } + + .section-content { + .metric-item { + font-size: 9px; + margin-bottom: 4px; + } + } + } + } + .project-card-vertical { padding: 12px; gap: 8px; From 7fd44d4b10b024ad2bf6c30154da76469d35f278 Mon Sep 17 00:00:00 2001 From: Maple <869445424@qq.com> Date: Wed, 13 Aug 2025 09:33:54 +0800 Subject: [PATCH 2/7] =?UTF-8?q?fix:=20=E6=8C=89=E7=85=A7=E8=A6=81=E6=B1=82?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=86=E4=B8=80=E4=B8=8B=E8=8F=9C=E5=8D=95?= =?UTF-8?q?=E6=A0=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/router/route.ts | 246 +++++++++++++++++++++----------------- src/types/components.d.ts | 1 + 2 files changed, 135 insertions(+), 112 deletions(-) diff --git a/src/router/route.ts b/src/router/route.ts index 2f749c1..4938b85 100644 --- a/src/router/route.ts +++ b/src/router/route.ts @@ -831,7 +831,7 @@ export const systemRoutes: RouteRecordRaw[] = [ ], }, - //项目中控台 + // 项目中控台 { path: '/project-management/projects/personnel-dispatch', name: 'PersonnelDispatch', @@ -842,7 +842,6 @@ export const systemRoutes: RouteRecordRaw[] = [ hidden: false, }, }, - { path: '/project-management/personnel-dispatch/construction-personnel', name: 'ConstructionPersonnel', @@ -855,13 +854,133 @@ export const systemRoutes: RouteRecordRaw[] = [ }, ], }, + // start + // 数据管理 + { + path: '/data-management', + name: 'DataManagement', + component: Layout, + redirect: '/data-management/project-management/project-template', + meta: { title: '数据管理', icon: 'database', hidden: false, sort: 4 }, + children: [ + { + // path: '/construction-operation-platform/implementation-workflow/data-processing', + // name: 'DataProcessing', + // component: () => import('@/components/ParentView/index.vue'), + // redirect: '/construction-operation-platform/implementation-workflow/data-processing/data-storage', + // meta: { title: '我的业务数据', icon: 'filter', hidden: false }, + // children: [ + // { + // path: '/construction-operation-platform/implementation-workflow/data-processing/data-storage', + // name: 'DataStorage', + // component: () => import('@/components/ParentView/index.vue'), + // redirect: '/construction-operation-platform/implementation-workflow/data-processing/data-storage/raw-data', + // meta: { title: '原数据管理', icon: 'database', hidden: false }, + // children: [ + // { + path: '/construction-operation-platform/implementation-workflow/data-processing/data-storage/raw-data', + name: 'RawData', + component: () => import('@/views/operation-platform/data-processing/data-storage/index.vue'), + meta: { title: '原数据管理', icon: 'file', hidden: false }, + }, + // { + // path: '/construction-operation-platform/implementation-workflow/data-processing/data-storage/attachment', + // name: 'AttachmentManagement', + // component: () => import('@/views/construction-operation-platform/implementation-workflow/data-processing/data-storage/index.vue'), + // meta: { title: '附件管理', icon: 'attachment', hidden: false }, + // }, + // { + // path: '/construction-operation-platform/implementation-workflow/data-processing/model-config', + // name: 'ModelConfig', + // component: () => import('@/views/construction-operation-platform/implementation-workflow/data-processing/model-config/index.vue'), + // meta: { title: '模型配置', icon: 'robot', hidden: false }, + // }, + // ], + // }, + { + path: '/construction-operation-platform/implementation-workflow/data-processing/data-storage/preprocessed-data', + name: 'PreprocessedData', + component: () => import('@/components/ParentView/index.vue'), + redirect: '/construction-operation-platform/implementation-workflow/data-processing/data-storage', + meta: { title: '数据预处理', icon: 'filter', hidden: false }, + children: [ + { + path: '/construction-operation-platform/implementation-workflow/data-processing/data-storage/preprocessed-data/ImageBatchUpload', + name: 'ImageBatchUpload', + component: () => import('@/views/construction-operation-platform/implementation-workflow/data-processing/data-preprocessing/index.vue'), + meta: { title: '批量上传', icon: 'file', hidden: false }, + }, + { + path: '/construction-operation-platform/implementation-workflow/data-processing/data-storage/preprocessed-data/ImageSorting', + name: 'ImageSorting', + component: () => import('@/views/construction-operation-platform/implementation-workflow/data-processing/image-sorting/index.vue'), + meta: { title: '图像分拣', icon: 'attachment', hidden: false }, + }, + ], + }, + { + path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection', + name: 'IntelligentInspection', + component: () => import('@/components/ParentView/index.vue'), + redirect: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/defect-algorithm', + meta: { title: '数据分析与图像检测', icon: 'scan', hidden: false }, + children: [ + { + path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/defect-algorithm', + name: 'DefectAlgorithm', + component: () => import('@/views/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/defect-algorithm/index.vue'), + meta: { title: '缺陷检测', icon: 'code', hidden: false }, + }, + { + path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/report-generation', + name: 'ReportGeneration', + component: () => import('@/views/project-operation-platform/data-processing/report-generation/index.vue'), + meta: { title: '报告生成', icon: 'file-add', hidden: false }, + }, + { + path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/standard-info', + name: 'StandardInfo', + component: () => import('@/views/project-operation-platform/data-processing/standard-info/index.vue'), + meta: { title: '标准信息库', icon: 'book', hidden: false }, + }, + { + path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/report-review', + name: 'ReportReview', + component: () => import('@/views/project-operation-platform/data-processing/report-review/index.vue'), + meta: { title: '报告修改审核', icon: 'audit', hidden: false }, + }, + { + path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/lifecycle-management', + name: 'LifecycleManagement', + component: () => import('@/views/project-operation-platform/lifecycle-management/index.vue'), + meta: { title: '全生命周期管理', icon: 'reload', hidden: false }, + }, + { + path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/drone-services', + name: 'DroneServices', + component: () => import('@/views/project-operation-platform/route-planning/index.vue'), + meta: { title: '无人机云服务', icon: 'cloud-server', hidden: false }, + }, + // { + // path: '/construction-operation-platform/implementation-workflow/airport-management', + // name: 'AirportManagement', + // component: () => import('@/views/construction-operation-platform/airport-management/index.vue'), + // meta: { title: '机场管理', icon: 'rocket', hidden: false }, + // }, + ], + // }, + // ], + }, + ], + }, + // end { path: '/construction-operation-platform', name: 'ConstructionOperationPlatform', component: Layout, redirect: '/construction-operation-platform/implementation-workflow/field-construction', - meta: { title: '施工操作台', icon: 'tool', hidden: false, sort: 5 }, + meta: { title: '我的工作台', icon: 'tool', hidden: false, sort: 5 }, children: [ // { // path: '/construction-operation-platform/implementation-workflow', @@ -870,6 +989,18 @@ export const systemRoutes: RouteRecordRaw[] = [ // redirect: '/construction-operation-platform/implementation-workflow/field-construction', // meta: { title: '项目实施工作流程', icon: 'fork', hidden: false }, // children: [ + { + path: '/construction-operation-platform/implementation-workflow/data-processing/data-storage/attachment', + name: 'AttachmentManagement', + component: () => import('@/views/construction-operation-platform/implementation-workflow/data-processing/data-storage/index.vue'), + meta: { title: '附件管理', icon: 'attachment', hidden: false }, + }, + { + path: '/construction-operation-platform/implementation-workflow/data-processing/model-config', + name: 'ModelConfig', + component: () => import('@/views/construction-operation-platform/implementation-workflow/data-processing/model-config/index.vue'), + meta: { title: '模型配置', icon: 'robot', hidden: false }, + }, { path: '/construction-operation-platform/implementation-workflow/field-construction', name: 'FieldConstruction', @@ -893,115 +1024,6 @@ export const systemRoutes: RouteRecordRaw[] = [ component: () => import('@/views/project-operation-platform/implementation-workflow/field-construction/project-list/index.vue'), meta: { title: '我的施工', icon: 'tool', hidden: false }, }, - { - path: '/construction-operation-platform/implementation-workflow/data-processing', - name: 'DataProcessing', - component: () => import('@/components/ParentView/index.vue'), - redirect: '/construction-operation-platform/implementation-workflow/data-processing/data-storage', - meta: { title: '我的业务数据', icon: 'filter', hidden: false }, - children: [ - { - path: '/construction-operation-platform/implementation-workflow/data-processing/data-storage', - name: 'DataStorage', - component: () => import('@/components/ParentView/index.vue'), - redirect: '/construction-operation-platform/implementation-workflow/data-processing/data-storage/raw-data', - meta: { title: '原数据管理', icon: 'database', hidden: false }, - children: [ - { - path: '/construction-operation-platform/implementation-workflow/data-processing/data-storage/raw-data', - name: 'RawData', - component: () => import('@/views/operation-platform/data-processing/data-storage/index.vue'), - meta: { title: '原数据管理', icon: 'file', hidden: false }, - }, - { - path: '/construction-operation-platform/implementation-workflow/data-processing/data-storage/attachment', - name: 'AttachmentManagement', - component: () => import('@/views/construction-operation-platform/implementation-workflow/data-processing/data-storage/index.vue'), - meta: { title: '附件管理', icon: 'attachment', hidden: false }, - }, - { - path: '/construction-operation-platform/implementation-workflow/data-processing/model-config', - name: 'ModelConfig', - component: () => import('@/views/construction-operation-platform/implementation-workflow/data-processing/model-config/index.vue'), - meta: { title: '模型配置', icon: 'robot', hidden: false }, - }, - - ], - }, - { - path: '/construction-operation-platform/implementation-workflow/data-processing/data-storage/preprocessed-data', - name: 'PreprocessedData', - component: () => import('@/components/ParentView/index.vue'), - redirect: '/construction-operation-platform/implementation-workflow/data-processing/data-storage', - meta: { title: '数据预处理', icon: 'filter', hidden: false }, - children: [ - { - path: '/construction-operation-platform/implementation-workflow/data-processing/data-storage/preprocessed-data/ImageBatchUpload', - name: 'ImageBatchUpload', - component: () => import('@/views/construction-operation-platform/implementation-workflow/data-processing/data-preprocessing/index.vue'), - meta: { title: '批量上传', icon: 'file', hidden: false }, - }, - { - path: '/construction-operation-platform/implementation-workflow/data-processing/data-storage/preprocessed-data/ImageSorting', - name: 'ImageSorting', - component: () => import('@/views/construction-operation-platform/implementation-workflow/data-processing/image-sorting/index.vue'), - meta: { title: '图像分拣', icon: 'attachment', hidden: false }, - }, - ], - }, - { - path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection', - name: 'IntelligentInspection', - component: () => import('@/components/ParentView/index.vue'), - redirect: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/defect-algorithm', - meta: { title: '数据分析与图像检测', icon: 'scan', hidden: false }, - children: [ - { - path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/defect-algorithm', - name: 'DefectAlgorithm', - component: () => import('@/views/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/defect-algorithm/index.vue'), - meta: { title: '缺陷检测', icon: 'code', hidden: false }, - }, - { - path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/report-generation', - name: 'ReportGeneration', - component: () => import('@/views/project-operation-platform/data-processing/report-generation/index.vue'), - meta: { title: '报告生成', icon: 'file-add', hidden: false }, - }, - { - path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/standard-info', - name: 'StandardInfo', - component: () => import('@/views/project-operation-platform/data-processing/standard-info/index.vue'), - meta: { title: '标准信息库', icon: 'book', hidden: false }, - }, - { - path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/report-review', - name: 'ReportReview', - component: () => import('@/views/project-operation-platform/data-processing/report-review/index.vue'), - meta: { title: '报告修改审核', icon: 'audit', hidden: false }, - }, - { - path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/lifecycle-management', - name: 'LifecycleManagement', - component: () => import('@/views/project-operation-platform/lifecycle-management/index.vue'), - meta: { title: '全生命周期管理', icon: 'reload', hidden: false }, - }, - { - path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/drone-services', - name: 'DroneServices', - component: () => import('@/views/project-operation-platform/route-planning/index.vue'), - meta: { title: '无人机云服务', icon: 'cloud-server', hidden: false }, - }, - // { - // path: '/construction-operation-platform/implementation-workflow/airport-management', - // name: 'AirportManagement', - // component: () => import('@/views/construction-operation-platform/airport-management/index.vue'), - // meta: { title: '机场管理', icon: 'rocket', hidden: false }, - // }, - ], - }, - ], - }, { path: '/construction-operation-platform/implementation-workflow/project-delivery', name: 'ProjectDelivery', diff --git a/src/types/components.d.ts b/src/types/components.d.ts index 73dac61..a427ece 100644 --- a/src/types/components.d.ts +++ b/src/types/components.d.ts @@ -13,6 +13,7 @@ declare module 'vue' { Breadcrumb: typeof import('./../components/Breadcrumb/index.vue')['default'] CellCopy: typeof import('./../components/CellCopy/index.vue')['default'] Chart: typeof import('./../components/Chart/index.vue')['default'] + CircularProgress: typeof import('./../components/CircularProgress/index.vue')['default'] ColumnSetting: typeof import('./../components/GiTable/src/components/ColumnSetting.vue')['default'] CronForm: typeof import('./../components/GenCron/CronForm/index.vue')['default'] CronModal: typeof import('./../components/GenCron/CronModal/index.vue')['default'] From 7dbd6f1d2e64fb47293e4dfca1006cd2f7490649 Mon Sep 17 00:00:00 2001 From: Maple <869445424@qq.com> Date: Wed, 13 Aug 2025 09:45:39 +0800 Subject: [PATCH 3/7] fix:111 --- src/router/route.ts | 161 +++++++++++++++++++++++++++++--------------- 1 file changed, 108 insertions(+), 53 deletions(-) diff --git a/src/router/route.ts b/src/router/route.ts index 4938b85..2659c42 100644 --- a/src/router/route.ts +++ b/src/router/route.ts @@ -919,61 +919,116 @@ export const systemRoutes: RouteRecordRaw[] = [ }, ], }, - { - path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection', - name: 'IntelligentInspection', - component: () => import('@/components/ParentView/index.vue'), - redirect: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/defect-algorithm', - meta: { title: '数据分析与图像检测', icon: 'scan', hidden: false }, - children: [ - { - path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/defect-algorithm', - name: 'DefectAlgorithm', - component: () => import('@/views/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/defect-algorithm/index.vue'), - meta: { title: '缺陷检测', icon: 'code', hidden: false }, - }, - { - path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/report-generation', - name: 'ReportGeneration', - component: () => import('@/views/project-operation-platform/data-processing/report-generation/index.vue'), - meta: { title: '报告生成', icon: 'file-add', hidden: false }, - }, - { - path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/standard-info', - name: 'StandardInfo', - component: () => import('@/views/project-operation-platform/data-processing/standard-info/index.vue'), - meta: { title: '标准信息库', icon: 'book', hidden: false }, - }, - { - path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/report-review', - name: 'ReportReview', - component: () => import('@/views/project-operation-platform/data-processing/report-review/index.vue'), - meta: { title: '报告修改审核', icon: 'audit', hidden: false }, - }, - { - path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/lifecycle-management', - name: 'LifecycleManagement', - component: () => import('@/views/project-operation-platform/lifecycle-management/index.vue'), - meta: { title: '全生命周期管理', icon: 'reload', hidden: false }, - }, - { - path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/drone-services', - name: 'DroneServices', - component: () => import('@/views/project-operation-platform/route-planning/index.vue'), - meta: { title: '无人机云服务', icon: 'cloud-server', hidden: false }, - }, - // { - // path: '/construction-operation-platform/implementation-workflow/airport-management', - // name: 'AirportManagement', - // component: () => import('@/views/construction-operation-platform/airport-management/index.vue'), - // meta: { title: '机场管理', icon: 'rocket', hidden: false }, - // }, - ], - // }, - // ], - }, + // { + // path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection', + // name: 'IntelligentInspection', + // component: () => import('@/components/ParentView/index.vue'), + // redirect: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/defect-algorithm', + // meta: { title: '数据分析与图像检测', icon: 'scan', hidden: false }, + // children: [ + // { + // path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/defect-algorithm', + // name: 'DefectAlgorithm', + // component: () => import('@/views/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/defect-algorithm/index.vue'), + // meta: { title: '缺陷检测', icon: 'code', hidden: false }, + // }, + // { + // path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/report-generation', + // name: 'ReportGeneration', + // component: () => import('@/views/project-operation-platform/data-processing/report-generation/index.vue'), + // meta: { title: '报告生成', icon: 'file-add', hidden: false }, + // }, + // { + // path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/standard-info', + // name: 'StandardInfo', + // component: () => import('@/views/project-operation-platform/data-processing/standard-info/index.vue'), + // meta: { title: '标准信息库', icon: 'book', hidden: false }, + // }, + // { + // path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/report-review', + // name: 'ReportReview', + // component: () => import('@/views/project-operation-platform/data-processing/report-review/index.vue'), + // meta: { title: '报告修改审核', icon: 'audit', hidden: false }, + // }, + // { + // path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/lifecycle-management', + // name: 'LifecycleManagement', + // component: () => import('@/views/project-operation-platform/lifecycle-management/index.vue'), + // meta: { title: '全生命周期管理', icon: 'reload', hidden: false }, + // }, + // { + // path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/drone-services', + // name: 'DroneServices', + // component: () => import('@/views/project-operation-platform/route-planning/index.vue'), + // meta: { title: '无人机云服务', icon: 'cloud-server', hidden: false }, + // }, + // // { + // // path: '/construction-operation-platform/implementation-workflow/airport-management', + // // name: 'AirportManagement', + // // component: () => import('@/views/construction-operation-platform/airport-management/index.vue'), + // // meta: { title: '机场管理', icon: 'rocket', hidden: false }, + // // }, + // ], + // // }, + // // ], + // }, ], }, + + // start + { + path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection', + name: 'IntelligentInspection', + component: Layout, + redirect: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/defect-algorithm', + meta: { title: '数据分析与图像检测', icon: 'scan', hidden: false , sort: 5 }, + children: [ + { + path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/defect-algorithm', + name: 'DefectAlgorithm', + component: () => import('@/views/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/defect-algorithm/index.vue'), + meta: { title: '缺陷检测', icon: 'code', hidden: false }, + }, + { + path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/report-generation', + name: 'ReportGeneration', + component: () => import('@/views/project-operation-platform/data-processing/report-generation/index.vue'), + meta: { title: '报告生成', icon: 'file-add', hidden: false }, + }, + { + path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/standard-info', + name: 'StandardInfo', + component: () => import('@/views/project-operation-platform/data-processing/standard-info/index.vue'), + meta: { title: '标准信息库', icon: 'book', hidden: false }, + }, + { + path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/report-review', + name: 'ReportReview', + component: () => import('@/views/project-operation-platform/data-processing/report-review/index.vue'), + meta: { title: '报告修改审核', icon: 'audit', hidden: false }, + }, + { + path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/lifecycle-management', + name: 'LifecycleManagement', + component: () => import('@/views/project-operation-platform/lifecycle-management/index.vue'), + meta: { title: '全生命周期管理', icon: 'reload', hidden: false }, + }, + { + path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/drone-services', + name: 'DroneServices', + component: () => import('@/views/project-operation-platform/route-planning/index.vue'), + meta: { title: '无人机云服务', icon: 'cloud-server', hidden: false }, + }, + // { + // path: '/construction-operation-platform/implementation-workflow/airport-management', + // name: 'AirportManagement', + // component: () => import('@/views/construction-operation-platform/airport-management/index.vue'), + // meta: { title: '机场管理', icon: 'rocket', hidden: false }, + // }, + ], + // }, + // ], + }, // end { path: '/construction-operation-platform', From daad25838b5217be17e11739cb7fe3df96a446e5 Mon Sep 17 00:00:00 2001 From: crushing1111 <909171938@qq.com> Date: Wed, 13 Aug 2025 10:07:11 +0800 Subject: [PATCH 4/7] =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/router/route.ts | 213 +++-- src/views/task/task-approval/TaskApproval.vue | 350 ++++++++ src/views/task/task-progress/TaskProgress.vue | 38 + src/views/task/task-publish/TaskPublish.vue | 790 ++++++++++++++++++ .../components/AssigneeSelector.vue | 134 +++ .../task/task-publish/components/TaskForm.vue | 147 ++++ 6 files changed, 1564 insertions(+), 108 deletions(-) create mode 100644 src/views/task/task-approval/TaskApproval.vue create mode 100644 src/views/task/task-progress/TaskProgress.vue create mode 100644 src/views/task/task-publish/TaskPublish.vue create mode 100644 src/views/task/task-publish/components/AssigneeSelector.vue create mode 100644 src/views/task/task-publish/components/TaskForm.vue diff --git a/src/router/route.ts b/src/router/route.ts index 2659c42..72d5b7e 100644 --- a/src/router/route.ts +++ b/src/router/route.ts @@ -125,6 +125,58 @@ export const systemRoutes: RouteRecordRaw[] = [ // }, ], }, +/* 任务管理中心路由 */ +{ + path: '/task', + name: 'TaskManagement', + component: Layout, + redirect: '/task/publish', // 默认跳转至发布任务页面 + meta: { + title: '任务管理', + icon: 'quote', // 任务相关图标 + hidden: false, + sort: 3 // 排序值,控制菜单显示顺序 + }, + children: [ + { + path: '/task/publish', + name: 'TaskPublish', + component: () => import('@/views/task/task-publish/TaskPublish.vue'), + meta: { + title: '发布任务', + icon: 'plus-circle', // 发布相关图标 + hidden: false, + sort: 3.25 + } + }, + { + path: '/task/progress', + name: 'TaskProgress', + component: () => import('@/views/task/task-progress/TaskProgress.vue'), + meta: { + title: '任务跟踪', + icon: 'redo', // 进度相关图标 + hidden: false, + sort: 3.5 + } + } + , + { + path: '/task/approval', + name: 'TaskApproval', + component: () => import('@/views/task/task-approval/TaskApproval.vue'), + meta: { + title: '任务审批', + icon: 'plus-circle', // 发布相关图标 + hidden: false, + sort: 3.75 + } + }, + ] +}, + + + // { // path: '/organization', // name: 'Organization', @@ -919,116 +971,61 @@ export const systemRoutes: RouteRecordRaw[] = [ }, ], }, - // { - // path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection', - // name: 'IntelligentInspection', - // component: () => import('@/components/ParentView/index.vue'), - // redirect: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/defect-algorithm', - // meta: { title: '数据分析与图像检测', icon: 'scan', hidden: false }, - // children: [ - // { - // path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/defect-algorithm', - // name: 'DefectAlgorithm', - // component: () => import('@/views/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/defect-algorithm/index.vue'), - // meta: { title: '缺陷检测', icon: 'code', hidden: false }, - // }, - // { - // path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/report-generation', - // name: 'ReportGeneration', - // component: () => import('@/views/project-operation-platform/data-processing/report-generation/index.vue'), - // meta: { title: '报告生成', icon: 'file-add', hidden: false }, - // }, - // { - // path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/standard-info', - // name: 'StandardInfo', - // component: () => import('@/views/project-operation-platform/data-processing/standard-info/index.vue'), - // meta: { title: '标准信息库', icon: 'book', hidden: false }, - // }, - // { - // path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/report-review', - // name: 'ReportReview', - // component: () => import('@/views/project-operation-platform/data-processing/report-review/index.vue'), - // meta: { title: '报告修改审核', icon: 'audit', hidden: false }, - // }, - // { - // path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/lifecycle-management', - // name: 'LifecycleManagement', - // component: () => import('@/views/project-operation-platform/lifecycle-management/index.vue'), - // meta: { title: '全生命周期管理', icon: 'reload', hidden: false }, - // }, - // { - // path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/drone-services', - // name: 'DroneServices', - // component: () => import('@/views/project-operation-platform/route-planning/index.vue'), - // meta: { title: '无人机云服务', icon: 'cloud-server', hidden: false }, - // }, - // // { - // // path: '/construction-operation-platform/implementation-workflow/airport-management', - // // name: 'AirportManagement', - // // component: () => import('@/views/construction-operation-platform/airport-management/index.vue'), - // // meta: { title: '机场管理', icon: 'rocket', hidden: false }, - // // }, - // ], - // // }, - // // ], - // }, + { + path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection', + name: 'IntelligentInspection', + component: () => import('@/components/ParentView/index.vue'), + redirect: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/defect-algorithm', + meta: { title: '数据分析与图像检测', icon: 'scan', hidden: false }, + children: [ + { + path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/defect-algorithm', + name: 'DefectAlgorithm', + component: () => import('@/views/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/defect-algorithm/index.vue'), + meta: { title: '缺陷检测', icon: 'code', hidden: false }, + }, + { + path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/report-generation', + name: 'ReportGeneration', + component: () => import('@/views/project-operation-platform/data-processing/report-generation/index.vue'), + meta: { title: '报告生成', icon: 'file-add', hidden: false }, + }, + { + path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/standard-info', + name: 'StandardInfo', + component: () => import('@/views/project-operation-platform/data-processing/standard-info/index.vue'), + meta: { title: '标准信息库', icon: 'book', hidden: false }, + }, + { + path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/report-review', + name: 'ReportReview', + component: () => import('@/views/project-operation-platform/data-processing/report-review/index.vue'), + meta: { title: '报告修改审核', icon: 'audit', hidden: false }, + }, + { + path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/lifecycle-management', + name: 'LifecycleManagement', + component: () => import('@/views/project-operation-platform/lifecycle-management/index.vue'), + meta: { title: '全生命周期管理', icon: 'reload', hidden: false }, + }, + { + path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/drone-services', + name: 'DroneServices', + component: () => import('@/views/project-operation-platform/route-planning/index.vue'), + meta: { title: '无人机云服务', icon: 'cloud-server', hidden: false }, + }, + // { + // path: '/construction-operation-platform/implementation-workflow/airport-management', + // name: 'AirportManagement', + // component: () => import('@/views/construction-operation-platform/airport-management/index.vue'), + // meta: { title: '机场管理', icon: 'rocket', hidden: false }, + // }, + ], + // }, + // ], + }, ], }, - - // start - { - path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection', - name: 'IntelligentInspection', - component: Layout, - redirect: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/defect-algorithm', - meta: { title: '数据分析与图像检测', icon: 'scan', hidden: false , sort: 5 }, - children: [ - { - path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/defect-algorithm', - name: 'DefectAlgorithm', - component: () => import('@/views/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/defect-algorithm/index.vue'), - meta: { title: '缺陷检测', icon: 'code', hidden: false }, - }, - { - path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/report-generation', - name: 'ReportGeneration', - component: () => import('@/views/project-operation-platform/data-processing/report-generation/index.vue'), - meta: { title: '报告生成', icon: 'file-add', hidden: false }, - }, - { - path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/standard-info', - name: 'StandardInfo', - component: () => import('@/views/project-operation-platform/data-processing/standard-info/index.vue'), - meta: { title: '标准信息库', icon: 'book', hidden: false }, - }, - { - path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/report-review', - name: 'ReportReview', - component: () => import('@/views/project-operation-platform/data-processing/report-review/index.vue'), - meta: { title: '报告修改审核', icon: 'audit', hidden: false }, - }, - { - path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/lifecycle-management', - name: 'LifecycleManagement', - component: () => import('@/views/project-operation-platform/lifecycle-management/index.vue'), - meta: { title: '全生命周期管理', icon: 'reload', hidden: false }, - }, - { - path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/drone-services', - name: 'DroneServices', - component: () => import('@/views/project-operation-platform/route-planning/index.vue'), - meta: { title: '无人机云服务', icon: 'cloud-server', hidden: false }, - }, - // { - // path: '/construction-operation-platform/implementation-workflow/airport-management', - // name: 'AirportManagement', - // component: () => import('@/views/construction-operation-platform/airport-management/index.vue'), - // meta: { title: '机场管理', icon: 'rocket', hidden: false }, - // }, - ], - // }, - // ], - }, // end { path: '/construction-operation-platform', diff --git a/src/views/task/task-approval/TaskApproval.vue b/src/views/task/task-approval/TaskApproval.vue new file mode 100644 index 0000000..67b89a4 --- /dev/null +++ b/src/views/task/task-approval/TaskApproval.vue @@ -0,0 +1,350 @@ + + + \ No newline at end of file diff --git a/src/views/task/task-progress/TaskProgress.vue b/src/views/task/task-progress/TaskProgress.vue new file mode 100644 index 0000000..0267e80 --- /dev/null +++ b/src/views/task/task-progress/TaskProgress.vue @@ -0,0 +1,38 @@ + + + + + \ No newline at end of file diff --git a/src/views/task/task-publish/TaskPublish.vue b/src/views/task/task-publish/TaskPublish.vue new file mode 100644 index 0000000..caf5def --- /dev/null +++ b/src/views/task/task-publish/TaskPublish.vue @@ -0,0 +1,790 @@ + + + + + \ No newline at end of file diff --git a/src/views/task/task-publish/components/AssigneeSelector.vue b/src/views/task/task-publish/components/AssigneeSelector.vue new file mode 100644 index 0000000..b3dc176 --- /dev/null +++ b/src/views/task/task-publish/components/AssigneeSelector.vue @@ -0,0 +1,134 @@ + + + + + \ No newline at end of file diff --git a/src/views/task/task-publish/components/TaskForm.vue b/src/views/task/task-publish/components/TaskForm.vue new file mode 100644 index 0000000..024277a --- /dev/null +++ b/src/views/task/task-publish/components/TaskForm.vue @@ -0,0 +1,147 @@ + + + + + + \ No newline at end of file From f438b4d2537ae75a749c6379a0dea4e2fc686f54 Mon Sep 17 00:00:00 2001 From: crushing1111 <909171938@qq.com> Date: Wed, 13 Aug 2025 10:24:24 +0800 Subject: [PATCH 5/7] =?UTF-8?q?=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/task/task-approval/TaskApproval.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/task/task-approval/TaskApproval.vue b/src/views/task/task-approval/TaskApproval.vue index 67b89a4..c41d446 100644 --- a/src/views/task/task-approval/TaskApproval.vue +++ b/src/views/task/task-approval/TaskApproval.vue @@ -6,7 +6,7 @@

审批转交的任务

- +
Date: Wed, 13 Aug 2025 10:39:00 +0800 Subject: [PATCH 6/7] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/task/task-progress/TaskProgress.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/task/task-progress/TaskProgress.vue b/src/views/task/task-progress/TaskProgress.vue index 0267e80..3ff1392 100644 --- a/src/views/task/task-progress/TaskProgress.vue +++ b/src/views/task/task-progress/TaskProgress.vue @@ -1,7 +1,7 @@