diff --git a/docs/reports/implementation/2026-07-01-project-list-click-delete.md b/docs/reports/implementation/2026-07-01-project-list-click-delete.md new file mode 100644 index 00000000..bab3a94d --- /dev/null +++ b/docs/reports/implementation/2026-07-01-project-list-click-delete.md @@ -0,0 +1,31 @@ +# 项目列表整行进入与操作按钮收敛实施记录 + +## 修改时间 + +2026-07-01 15:52:04 + +## 需求背景 + +项目管理列表中“进入项目 / 查看结果 / 重新分析”操作含义接近,用户希望点击项目行任意位置即可进入项目详情;列表页只保留真正的操作按钮,项目结果、分析、明细统一进入详情页后查看。 + +## 修改内容 + +- 调整项目列表交互:项目表格整行点击进入项目详情。 +- 行点击进入项目详情时明确默认页签: + - 进行中、打标中、打标失败项目进入“上传数据”。 + - 已完成、已归档或当前用户不可操作的项目进入“结果总览”。 +- 移除列表操作列中的“进入项目”“查看结果”“重新分析”按钮。 +- 操作列保留“归档”“删除”: + - 已完成项目显示“归档”。 + - 删除按钮调用既有删除接口。 +- 不调整后端权限、删除字段和查询逻辑。 +- 删除、归档按钮点击时阻止行点击,避免误进入项目详情。 + +## 影响范围 + +- 项目管理列表页。 +- 不涉及后端接口、权限、数据库字段和查询逻辑。 + +## 验证情况 + +- 前端已通过 `nvm use 14.21.3` 切换 Node 版本,并执行生产构建,构建通过;仅存在既有资源体积 warning。 diff --git a/ruoyi-ui/src/views/ccdiProject/components/ProjectTable.vue b/ruoyi-ui/src/views/ccdiProject/components/ProjectTable.vue index 3b48bfc6..25ec2299 100644 --- a/ruoyi-ui/src/views/ccdiProject/components/ProjectTable.vue +++ b/ruoyi-ui/src/views/ccdiProject/components/ProjectTable.vue @@ -4,6 +4,8 @@ v-loading="loading" :data="dataList" style="width: 100%" + class="project-entry-table" + @row-click="handleOpen" > @@ -102,74 +104,34 @@ size="mini" type="text" icon="el-icon-refresh-left" - @click="handleRestore(scope.row)" + @click.stop="handleRestore(scope.row)" > 恢复 @@ -213,10 +175,6 @@ export default { pageSize: 10, }), }, - reAnalyzeLoadingMap: { - type: Object, - default: () => ({}), - }, deletedList: { type: Boolean, default: false, @@ -247,14 +205,8 @@ export default { } return ""; }, - handleEnter(row) { - this.$emit("enter", row); - }, - handleViewResult(row) { - this.$emit("view-result", row); - }, - handleReAnalyze(row) { - this.$emit("re-analyze", row); + handleOpen(row) { + this.$emit("open", row); }, handleArchive(row) { this.$emit("archive", row); @@ -296,6 +248,14 @@ export default { } } +::v-deep .project-entry-table .el-table__body tr { + cursor: pointer; +} + +::v-deep .project-entry-table .el-table__body tr:hover > td { + background-color: #f5f9ff; +} + .status-tag { display: inline-flex; align-items: center; diff --git a/ruoyi-ui/src/views/ccdiProject/index.vue b/ruoyi-ui/src/views/ccdiProject/index.vue index 6fa27102..6e8fa5cb 100644 --- a/ruoyi-ui/src/views/ccdiProject/index.vue +++ b/ruoyi-ui/src/views/ccdiProject/index.vue @@ -20,12 +20,9 @@ :data-list="projectList" :total="total" :page-params="queryParams" - :re-analyze-loading-map="reAnalyzeLoadingMap" :deleted-list="queryParams.includeDeleted === true" @pagination="handlePagination" - @enter="handleEnter" - @view-result="handleViewResult" - @re-analyze="handleReAnalyze" + @open="handleOpenProject" @archive="handleArchive" @delete="handleDelete" @restore="handleRestore" @@ -67,7 +64,8 @@