From 446234bee3336d10e3fe836ae8e0ca1594d1a55a Mon Sep 17 00:00:00 2001
From: rain <1679827795@qq.com>
Date: Sat, 19 Apr 2025 15:37:06 +0800
Subject: [PATCH] 切换部门后动态更新tab栏数据
---
src/views/tickets/ticket.vue | 36 +++++++++++++++++++++---------------
src/api/tickets/ticket.js | 3 ++-
2 files changed, 23 insertions(+), 16 deletions(-)
diff --git a/src/api/tickets/ticket.js b/src/api/tickets/ticket.js
index 5661674..57df423 100644
--- a/src/api/tickets/ticket.js
+++ b/src/api/tickets/ticket.js
@@ -73,10 +73,11 @@
};
// 新增接口:获取状态统计数据
-export const getstatusCount = () => {
+export const getstatusCount = (params) => {
return request({
url: '/drone-device-core/jobEvent/getstatusCount',
method: 'get',
+ params,
});
};
diff --git a/src/views/tickets/ticket.vue b/src/views/tickets/ticket.vue
index 1f1db67..1514be9 100644
--- a/src/views/tickets/ticket.vue
+++ b/src/views/tickets/ticket.vue
@@ -1150,22 +1150,27 @@
},
async fetchTabCounts() {
- try {
- const response = await getstatusCount();
- const { statusCount, totalCount, userCount } = response.data.data;
- this.tabs.forEach(tab => {
- if (tab.name === 'all') {
- tab.count = totalCount || 0; // 总工单数
- } else if (tab.name === 'myTickets') {
- tab.count = userCount || 0; // 我发起的工单数
- } else {
- tab.count = statusCount[String(tab.value)] || 0; // 根据状态值映射
- }
- });
- } catch (error) {
- this.$message.error('获取 tab 数据失败');
+ try {
+ // 判断是否有部门筛选
+ let params = {};
+ if (this.filters.department) {
+ params.deptId = this.filters.department;
+ }
+ const response = await getstatusCount(params);
+ const { statusCount, totalCount, userCount } = response.data.data;
+ this.tabs.forEach(tab => {
+ if (tab.name === 'all') {
+ tab.count = totalCount || 0; // 总工单数
+ } else if (tab.name === 'myTickets') {
+ tab.count = userCount || 0; // 我发起的工单数
+ } else {
+ tab.count = statusCount[String(tab.value)] || 0; // 根据状态值映射
}
- },
+ });
+ } catch (error) {
+ this.$message.error('获取 tab 数据失败');
+ }
+},
handleTabChange(tab) {
this.activeTab = tab.props?.name || tab.name;
@@ -1178,6 +1183,7 @@
handleSearch() {
this.page.currentPage = 1;
this.fetchTableData();
+ this.fetchTabCounts();
},
handleReset() {
--
Gitblit v1.9.3