实现项目列表重新分析交互

This commit is contained in:
wkc
2026-03-24 12:44:17 +08:00
parent f101990bb6
commit eda2bd1b16
3 changed files with 68 additions and 4 deletions

View File

@@ -120,6 +120,8 @@
size="mini"
type="text"
icon="el-icon-refresh"
:loading="reAnalyzeLoadingMap[String(scope.row.projectId)]"
:disabled="reAnalyzeLoadingMap[String(scope.row.projectId)]"
@click="handleReAnalyze(scope.row)"
>
重新分析
@@ -185,6 +187,10 @@ export default {
pageSize: 10,
}),
},
reAnalyzeLoadingMap: {
type: Object,
default: () => ({}),
},
},
methods: {
getStatusColor(status) {

View File

@@ -19,6 +19,7 @@
:data-list="projectList"
:total="total"
:page-params="queryParams"
:re-analyze-loading-map="reAnalyzeLoadingMap"
@pagination="handlePagination"
@enter="handleEnter"
@view-result="handleViewResult"
@@ -61,7 +62,7 @@
</template>
<script>
import {getStatusCounts, listProject} from '@/api/ccdiProject'
import {getStatusCounts, listProject, rebuildProjectTags} from '@/api/ccdiProject'
import SearchBar from './components/SearchBar'
import ProjectTable from './components/ProjectTable'
import QuickEntry from './components/QuickEntry'
@@ -113,6 +114,8 @@ export default {
// 归档确认弹窗
archiveDialogVisible: false,
currentArchiveProject: null,
// 重新分析按钮提交态
reAnalyzeLoadingMap: {},
};
},
created() {
@@ -242,9 +245,22 @@ export default {
});
},
/** 重新分析 */
handleReAnalyze(row) {
console.log("重新分析:", row);
this.$modal.msgSuccess("正在重新分析项目: " + row.projectName);
async handleReAnalyze(row) {
const projectKey = String(row.projectId)
if (this.reAnalyzeLoadingMap[projectKey]) {
return
}
this.$set(this.reAnalyzeLoadingMap, projectKey, true)
try {
await rebuildProjectTags({ projectId: row.projectId })
this.$modal.msgSuccess("已开始重新分析")
this.getList()
} catch (error) {
const message = error && error.message ? error.message : "重新分析失败,请稍后重试"
this.$modal.msgError(message)
} finally {
this.$set(this.reAnalyzeLoadingMap, projectKey, false)
}
},
/** 归档项目 */
handleArchive(row) {