refactor: 使用后端统计接口替换前端计算

This commit is contained in:
wkc
2026-02-28 09:35:58 +08:00
parent 6c33e68fcf
commit 628ca483e7

View File

@@ -61,7 +61,7 @@
</template>
<script>
import {listProject} from '@/api/ccdiProject'
import {listProject, getStatusCounts} from '@/api/ccdiProject'
import SearchBar from './components/SearchBar'
import ProjectTable from './components/ProjectTable'
import QuickEntry from './components/QuickEntry'
@@ -121,28 +121,30 @@ export default {
/** 查询项目列表 */
getList() {
this.loading = true
// 使用真实API
listProject(this.queryParams).then(response => {
this.projectList = response.rows
this.total = response.total
// 并行请求列表数据和状态统计
Promise.all([
listProject(this.queryParams),
getStatusCounts()
]).then(([listResponse, countsResponse]) => {
// 处理列表数据
this.projectList = listResponse.rows
this.total = listResponse.total
// 处理状态统计
const counts = countsResponse.data
this.tabCounts = {
all: counts.all,
'0': counts.status0,
'1': counts.status1,
'2': counts.status2
}
this.loading = false
// 计算标签页数量
this.calculateTabCounts()
}).catch(() => {
this.loading = false
})
},
/** 计算标签页数量 */
calculateTabCounts() {
// 注意这里需要后端API返回所有状态的数量统计
// 目前暂时使用当前页的数据进行计算
this.tabCounts = {
all: this.total,
'0': this.projectList.filter(p => p.status === '0').length,
'1': this.projectList.filter(p => p.status === '1').length,
'2': this.projectList.filter(p => p.status === '2').length
}
},
/** 搜索按钮操作 */
handleQuery(queryParams) {
if (queryParams) {