| | |
| | | activeTab: 'all', |
| | | // tabs 只保留静态结构,不做权限判断 |
| | | tabs: [ |
| | | { label: '我的工单', name: 'myTickets', value: null, count: 0 }, |
| | | { label: '全部工单', name: 'all', value: null, count: 0 }, |
| | | { label: '待审核', name: 'pending', value: 2, count: 0 }, |
| | | { label: '待处理', name: 'processing', value: 0, count: 0 }, |
| | | { label: '处理中', name: 'inProgress', value: 3, count: 0 }, |
| | | { label: '已完成', name: 'completed', value: 4, count: 0 }, |
| | | , |
| | | { label: '我的工单', name: 'myTickets', value: null, count: 0 }, |
| | | |
| | | ], |
| | | filters: { |
| | | keyword: '', |
| | |
| | | |
| | | this.tabs.forEach(tab => { |
| | | if (tab.name === 'all') { |
| | | tab.count = totalCount; // 总工单数 = 所有状态数量之和 |
| | | tab.count = totalCount; |
| | | } else if (tab.name === 'myTickets') { |
| | | // 我的工单数量需要单独处理,如果接口返回了userCount则用,否则可以留空或根据实际逻辑处理 |
| | | // 这里假设接口没有返回userCount,暂时保持0或根据实际需求调整 |
| | | tab.count = 0; // 或从其他接口获取我的工单数量 |
| | | |
| | | tab.count = 0; |
| | | } else { |
| | | // 根据tab的value匹配statusCount中的key |
| | | tab.count = statusCount[String(tab.value)] || 0; |
| | | } |
| | | }); |
| | | } catch (error) { |
| | | console.error('获取 tab 数据失败:', error); |
| | | // 异常时重置count为0 |
| | | |
| | | this.tabs.forEach(tab => { |
| | | tab.count = 0; |
| | | }); |
| | |
| | | // 传递所有需要统计的状态列表 |
| | | const statusList = ['0', '2', '3', '4']; |
| | | this.fetchTabCounts(statusList); |
| | | |
| | | this.handleReset(); |
| | | this.page.currentPage = 1; |
| | | this.fetchTableData(); |
| | |
| | | }, |
| | | |
| | | handleAdd() { |
| | | this.editFormData = null; // 设置为 null 表示新建模式 |
| | | this.editFormData = null; // 设置为 null 表示新建工单 |
| | | this.dialogVisible = true; |
| | | }, |
| | | |