diff --git a/src/router/route.ts b/src/router/route.ts
index 5a06e43..c7279f4 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',
@@ -831,7 +883,7 @@ export const systemRoutes: RouteRecordRaw[] = [
],
},
- //项目中控台
+ // 项目中控台
{
path: '/project-management/projects/personnel-dispatch',
name: 'PersonnelDispatch',
@@ -842,7 +894,6 @@ export const systemRoutes: RouteRecordRaw[] = [
hidden: false,
},
},
-
{
path: '/project-management/personnel-dispatch/construction-personnel',
name: 'ConstructionPersonnel',
@@ -855,13 +906,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 +1041,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 +1076,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 81c6b77..a427ece 100644
--- a/src/types/components.d.ts
+++ b/src/types/components.d.ts
@@ -7,8 +7,70 @@ export {}
declare module 'vue' {
export interface GlobalComponents {
+ ApprovalAssistant: typeof import('./../components/ApprovalAssistant/index.vue')['default']
+ ApprovalMessageItem: typeof import('./../components/NotificationCenter/ApprovalMessageItem.vue')['default']
+ Avatar: typeof import('./../components/Avatar/index.vue')['default']
+ 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']
+ DateRangePicker: typeof import('./../components/DateRangePicker/index.vue')['default']
+ DayForm: typeof import('./../components/GenCron/CronForm/component/day-form.vue')['default']
+ FilePreview: typeof import('./../components/FilePreview/index.vue')['default']
+ GiCellAvatar: typeof import('./../components/GiCell/GiCellAvatar.vue')['default']
+ GiCellGender: typeof import('./../components/GiCell/GiCellGender.vue')['default']
+ GiCellStatus: typeof import('./../components/GiCell/GiCellStatus.vue')['default']
+ GiCellTag: typeof import('./../components/GiCell/GiCellTag.vue')['default']
+ GiCellTags: typeof import('./../components/GiCell/GiCellTags.vue')['default']
+ GiCodeView: typeof import('./../components/GiCodeView/index.vue')['default']
+ GiDot: typeof import('./../components/GiDot/index.tsx')['default']
+ GiEditTable: typeof import('./../components/GiEditTable/GiEditTable.vue')['default']
+ GiFooter: typeof import('./../components/GiFooter/index.vue')['default']
+ GiForm: typeof import('./../components/GiForm/src/GiForm.vue')['default']
+ GiIconBox: typeof import('./../components/GiIconBox/index.vue')['default']
+ GiIconSelector: typeof import('./../components/GiIconSelector/index.vue')['default']
+ GiIframe: typeof import('./../components/GiIframe/index.vue')['default']
+ GiOption: typeof import('./../components/GiOption/index.vue')['default']
+ GiOptionItem: typeof import('./../components/GiOptionItem/index.vue')['default']
+ GiPageLayout: typeof import('./../components/GiPageLayout/index.vue')['default']
+ GiSpace: typeof import('./../components/GiSpace/index.vue')['default']
+ GiSplitButton: typeof import('./../components/GiSplitButton/index.vue')['default']
+ GiSplitPane: typeof import('./../components/GiSplitPane/index.vue')['default']
+ GiSplitPaneFlexibleBox: typeof import('./../components/GiSplitPane/components/GiSplitPaneFlexibleBox.vue')['default']
+ GiSvgIcon: typeof import('./../components/GiSvgIcon/index.vue')['default']
+ GiTable: typeof import('./../components/GiTable/src/GiTable.vue')['default']
+ GiTag: typeof import('./../components/GiTag/index.tsx')['default']
+ GiThemeBtn: typeof import('./../components/GiThemeBtn/index.vue')['default']
+ HourForm: typeof import('./../components/GenCron/CronForm/component/hour-form.vue')['default']
+ Icon403: typeof import('./../components/icons/Icon403.vue')['default']
+ Icon404: typeof import('./../components/icons/Icon404.vue')['default']
+ Icon500: typeof import('./../components/icons/Icon500.vue')['default']
+ IconBorders: typeof import('./../components/icons/IconBorders.vue')['default']
+ IconTableSize: typeof import('./../components/icons/IconTableSize.vue')['default']
+ IconTreeAdd: typeof import('./../components/icons/IconTreeAdd.vue')['default']
+ IconTreeReduce: typeof import('./../components/icons/IconTreeReduce.vue')['default']
+ ImageImport: typeof import('./../components/ImageImport/index.vue')['default']
+ ImageImportWizard: typeof import('./../components/ImageImportWizard/index.vue')['default']
+ IndustrialImageList: typeof import('./../components/IndustrialImageList/index.vue')['default']
+ JsonPretty: typeof import('./../components/JsonPretty/index.vue')['default']
+ MinuteForm: typeof import('./../components/GenCron/CronForm/component/minute-form.vue')['default']
+ MonthForm: typeof import('./../components/GenCron/CronForm/component/month-form.vue')['default']
+ NotificationCenter: typeof import('./../components/NotificationCenter/index.vue')['default']
+ ParentView: typeof import('./../components/ParentView/index.vue')['default']
RouterLink: typeof import('vue-router')['RouterLink']
RouterView: typeof import('vue-router')['RouterView']
+ SecondForm: typeof import('./../components/GenCron/CronForm/component/second-form.vue')['default']
+ SplitPanel: typeof import('./../components/SplitPanel/index.vue')['default']
+ TextCopy: typeof import('./../components/TextCopy/index.vue')['default']
+ TurbineGrid: typeof import('./../components/TurbineGrid/index.vue')['default']
+ UserSelect: typeof import('./../components/UserSelect/index.vue')['default']
+ Verify: typeof import('./../components/Verify/index.vue')['default']
+ VerifyPoints: typeof import('./../components/Verify/Verify/VerifyPoints.vue')['default']
+ VerifySlide: typeof import('./../components/Verify/Verify/VerifySlide.vue')['default']
+ WeekForm: typeof import('./../components/GenCron/CronForm/component/week-form.vue')['default']
+ YearForm: typeof import('./../components/GenCron/CronForm/component/year-form.vue')['default']
}
}
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 @@
-
+
-
-
-
-
-
-
质量等级
-
A级
+
+
+
+
+
-
- 检查次数
- 12次
-
-
-
合格率
-
98.5%
+
+
+ 计划进度
+ {{ project.progress || 0 }}%
+
+
+ 实际进度
+ {{ project.progress || 0 }}%
+
+
+ 偏差
+ 0%
+
-
-
-
-
-
-
-
-
安全等级
-
优秀
+
+
+
+
-
- 培训完成
- 100%
-
-
-
安全检查
-
通过
+
+
+ 质量等级
+ A级
+
+
+ 检查次数
+ 12次
+
+
+ 合格率
+ 98.5%
+
-
-
-
-
-