无人机管理后台前端(已迁走)
张含笑
2025-11-21 2ac97209f3ceb37f63a3bf193f46ddd25ade114a
feat:11
1 files modified
18 ■■■■■ changed files
src/views/tickets/ticket.vue 18 ●●●●● patch | view | raw | blame | history
src/views/tickets/ticket.vue
@@ -398,7 +398,7 @@
  </basic-container>
</template>
<script>
<script >
import { pxToRem, pxToRemNum } from '@/utils/rem';
import { getSmallImg, getShowImg } from '@/utils/util';
import { calculateDefaultRange } from '@/utils/util';
@@ -441,13 +441,14 @@
      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: '',
@@ -1061,19 +1062,17 @@
    
    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;
    });
@@ -1089,7 +1088,6 @@
  // 传递所有需要统计的状态列表
  const statusList = ['0', '2', '3', '4'];
  this.fetchTabCounts(statusList);
  this.handleReset();
  this.page.currentPage = 1;
  this.fetchTableData();
@@ -1142,7 +1140,7 @@
  },
  handleAdd() {
      this.editFormData = null; // 设置为 null 表示新建模式
      this.editFormData = null; // 设置为 null 表示新建工单
      this.dialogVisible = true;
    },