src/views/fysp/check/ProCheck.vue
@@ -3,7 +3,11 @@
    <template #header>
      <SearchBar @on-submit="search">
        <template #summary>
          <CompSubTaskStatistic :subtasks="subtasks" />
          <CompSubTaskStatistic
            :loading="sideLoading"
            :subtasks="subtasks"
            :monitorObjList="curMonitorObjList"
          />
        </template>
      </SearchBar>
    </template>
@@ -16,6 +20,7 @@
      ></SideList>
    </template>
    <template #main>
      <el-scrollbar >
      <ToolBar
        :title="curSubtask.title"
        :descriptions="proStatus"
@@ -24,7 +29,7 @@
      ></ToolBar>
      <el-scrollbar
        v-if="curProList.length > 0"
        class="el-scrollbar"
          class="scrollbar-inner"
        v-loading="mainLoading"
      >
        <CompProblemCard
@@ -39,6 +44,7 @@
        ></CompProblemCard>
      </el-scrollbar>
      <el-empty v-else description="暂无问题" v-loading="mainLoading" />
      </el-scrollbar>
    </template>
  </BaseContentLayout>
  <CompProblemAddOrUpd
@@ -97,6 +103,8 @@
      mainLoading: false,
      // 总任务
      topTask: {},
      // 总任务巡查计划清单
      curMonitorObjList: [],
      //子任务列表
      subtasks: [],
      //当前选中的任务
@@ -140,81 +148,6 @@
    //问题状态
    proStatus() {
      return ProCheckProxy.proStatusArray(this.curProList);
    },
    //任务问题审核情况统计信息
    summary() {
      const _summary = [
        {
          name: '任务总计',
          value: 0,
          type: 'info'
        },
        {
          name: '问题未审核',
          value: 0,
          type: 'success',
          icon: 'SuccessFilled'
        },
        {
          name: '问题部分审核',
          value: 0,
          type: 'success',
          icon: 'SuccessFilled'
        },
        {
          name: '问题全部审核',
          value: 0,
          type: 'success',
          icon: 'SuccessFilled'
        },
        {
          name: '未整改',
          value: 0,
          type: 'info',
          icon: 'WarningFilled'
        },
        {
          name: '整改未审核',
          value: 0,
          type: 'info',
          icon: 'WarningFilled'
        },
        {
          name: '整改部分审核',
          value: 0,
          type: 'warning',
          icon: 'WarningFilled'
        },
        {
          name: '整改全部审核',
          value: 0,
          type: 'warning',
          icon: 'WarningFilled'
        }
      ];
      this.subtasks.forEach((s) => {
        _summary[0].value++;
        if (s.data.proNum == 0) {
          _summary[1].value++;
        } else if (s.data.proCheckedNum == 0) {
          _summary[3].value++;
        } else if (s.data.proCheckedNum < s.data.proNum) {
          _summary[2].value++;
        } else {
          _summary[1].value++;
        }
      });
      _summary.forEach((s, i) => {
        if (i > 0) {
          let per = Math.round((s.value / _summary[0].value) * 1000) / 10;
          if (isNaN(per)) per = 0;
          s.value = `${s.value}(${per}%)`;
        }
      });
      return _summary;
    }
  },
  methods: {
@@ -253,6 +186,9 @@
          this.sideLoading = false;
          this.mainLoading = false;
        }
      });
      taskApi.fetchMonitorObjectVersion(param.topTaskId).then((res) => {
        this.curMonitorObjList = res;
      });
    },
    //点击左侧菜单任务事件
@@ -325,7 +261,12 @@
</script>
<style scoped>
.el-scrollbar {
.scrollbar-outer {
  height: calc(100vh - 60px * 2 - 24px);
  background-color: aliceblue;
}
.scrollbar-inner {
  height: calc(100vh - 60px * 2 - 20px * 2 - var(--height-toolbar));
}
</style>