diff --git a/src/api/review/project.ts b/src/api/review/project.ts index ba8a3b9e1..27280eeb9 100644 --- a/src/api/review/project.ts +++ b/src/api/review/project.ts @@ -26,6 +26,17 @@ export interface ReviewMeetingProjectPageReqVO { reporter?: string } +/** 独立项目列表查询(meetingId 可选,用于独立菜单页) */ +export interface ReviewProjectPageReqVO { + pageNo?: number + pageSize?: number + reviewMeetingId?: number + projectTitle?: string + agendaCategory?: string + reporter?: string + reporterUnit?: string +} + export interface ReviewMeetingFileRespVO { id: number reviewMeetingProjectId: number @@ -41,10 +52,14 @@ export interface ReviewMeetingFileRespVO { // API 调用 // ============================================================ -/** 分页查询评审项目列表 */ +/** 分页查询评审项目列表(需要 meetingId) */ export const getReviewProjectPage = (params: ReviewMeetingProjectPageReqVO) => request.get({ url: '/project/review-project/page', params }) +/** 独立分页查询评审项目列表(meetingId 可选) */ +export const getReviewProjectPageStandalone = (params: ReviewProjectPageReqVO) => + request.get({ url: '/project/review-project/page', params }) + /** 创建评审项目 */ export const createReviewProject = (data: Partial) => request.post({ url: '/project/review-project/create', data }) diff --git a/src/router/modules/remaining.ts b/src/router/modules/remaining.ts index 773db9383..29702b547 100644 --- a/src/router/modules/remaining.ts +++ b/src/router/modules/remaining.ts @@ -747,6 +747,42 @@ const remainingRouter: AppRouteRecordRaw[] = [ activeMenu: '/review/meeting' }, component: () => import('@/views/review/meeting/ProjectList.vue') + }, + { + path: 'review-meeting/edit', + name: 'ReviewMeetingEdit', + meta: { + title: '新建会议', + noCache: true, + hidden: true, + canTo: true, + activeMenu: '/review/meeting' + }, + component: () => import('@/views/review/meeting/MeetingEdit.vue') + }, + { + path: 'review-meeting/edit/:id(\\d+)', + name: 'ReviewMeetingEditById', + meta: { + title: '编辑会议', + noCache: true, + hidden: true, + canTo: true, + activeMenu: '/review/meeting' + }, + component: () => import('@/views/review/meeting/MeetingEdit.vue') + }, + { + path: 'review-meeting/project/:meetingId(\\d+)/detail/:projectId(\\d+)', + name: 'ReviewProjectDetail', + meta: { + title: '项目详情', + noCache: true, + hidden: true, + canTo: true, + activeMenu: '/review/meeting' + }, + component: () => import('@/views/review/meeting/ProjectDetail.vue') } ] }, diff --git a/src/views/review/meeting/AllProjectList.vue b/src/views/review/meeting/AllProjectList.vue new file mode 100644 index 000000000..bf93c31b7 --- /dev/null +++ b/src/views/review/meeting/AllProjectList.vue @@ -0,0 +1,425 @@ + + + + + diff --git a/src/views/review/meeting/MeetingEdit.vue b/src/views/review/meeting/MeetingEdit.vue new file mode 100644 index 000000000..f3bc8b8a7 --- /dev/null +++ b/src/views/review/meeting/MeetingEdit.vue @@ -0,0 +1,526 @@ + + + + + diff --git a/src/views/review/meeting/ProjectDetail.vue b/src/views/review/meeting/ProjectDetail.vue new file mode 100644 index 000000000..d15a37d67 --- /dev/null +++ b/src/views/review/meeting/ProjectDetail.vue @@ -0,0 +1,356 @@ + + + + + diff --git a/src/views/review/meeting/ProjectList.vue b/src/views/review/meeting/ProjectList.vue index d55eade86..e8d8828ae 100644 --- a/src/views/review/meeting/ProjectList.vue +++ b/src/views/review/meeting/ProjectList.vue @@ -1,61 +1,82 @@ diff --git a/src/views/review/meeting/components/ExpertSelectTable.vue b/src/views/review/meeting/components/ExpertSelectTable.vue new file mode 100644 index 000000000..2adb04279 --- /dev/null +++ b/src/views/review/meeting/components/ExpertSelectTable.vue @@ -0,0 +1,196 @@ + + + + + diff --git a/src/views/review/meeting/index.vue b/src/views/review/meeting/index.vue index 36fcb215e..56b197445 100644 --- a/src/views/review/meeting/index.vue +++ b/src/views/review/meeting/index.vue @@ -1,107 +1,82 @@