riku
2024-11-21 c4bcc6e78ecaec6e9ea68802be7c1d3a7b063512
src/views/fysp/check/ProCheck.vue
@@ -22,20 +22,21 @@
        :loading="mainLoading"
      ></ToolBar>
      <el-scrollbar
          v-if="curProList.length > 0"
          class="el-scrollbar"
          v-loading="mainLoading"
        >
          <CompProblemCard
            :key="i"
            v-for="(p, i) in curProList"
            :index="i + 1"
            :problem="p"
            :subtask="curSubtask.data"
            :topTask="topTask"
            @submit="updateSubtask"
          ></CompProblemCard>
        </el-scrollbar>
        v-if="curProList.length > 0"
        class="el-scrollbar"
        v-loading="mainLoading"
      >
        <CompProblemCard
          :key="i"
          v-for="(p, i) in curProList"
          :index="i + 1"
          :problem="p"
          :subtask="curSubtask.data"
          :topTask="topTask"
          @submit="updateSubtask"
          @check="handleProblemCheck"
        ></CompProblemCard>
      </el-scrollbar>
      <el-empty v-else description="暂无记录" v-loading="mainLoading" />
    </template>
  </BaseContentLayout>
@@ -46,6 +47,7 @@
    :subtask="curSubtask.data"
    :topTask="topTask"
    ref="compProblemAddOrUpdRef"
    @cancel="onAddProCanceled"
    @submit="updateSubtask"
  />
  <ArbitraryPhoto
@@ -252,14 +254,33 @@
    //获取任务问题的审核情况
    getSubtaskType(s) {
      let type = 0;
      // 无问题
      if (s.proNum == 0) {
        type = 2;
      } else if (s.proCheckedNum == 0) {
        type = 0;
      } else if (s.proCheckedNum < s.proNum) {
      }
      // 问题未审核
      else if (s.proCheckedNum == 0) {
        type = 1;
      } else {
      }
      // 问题部分审核
      else if (s.proCheckedNum < s.proNum) {
        type = 2;
      }
      // 未整改
      else if (s.changeNum < s.proNum) {
        type = 3;
      }
      // 整改未审核
      else if (s.changeCheckedNum == 0) {
        type = 4;
      }
      // 整改部分审核
      else if (s.changeCheckedNum < s.changeNum) {
        type = 5;
      }
      // 完全审核
      else {
        type = 6;
      }
      return type;
    },
@@ -279,19 +300,21 @@
          this.mainLoading = false;
        });
    },
    onAddProCanceled() {
    },
    // 问题卡片组件主动发起刷新父组件数据
    updateSubtask(refresh = false) {
      this.curSubtask.data.proCheckedNum++;
      this.curSubtask.type = this.getSubtaskType(this.curSubtask.data);
      if (this.proAddOrUpdDialogVisible) {
        this.proAddOrUpdDialogVisible = false
        this.proAddOrUpdDialogVisible = false;
      }
      this.refreshCurrSubtask(refresh);
    },
    // 刷新当前选中子任务
    refreshCurrSubtask(refresh) {
      this.sideLoading = false;
      this.mainLoading = true;
      // this.mainLoading = true;
      setTimeout(() => {
        taskApi
          .getProBySubtask(this.curSubtask.data.stGuid)
@@ -313,9 +336,18 @@
            // this.curSubtask = s;
          })
          .finally(() => {
            this.mainLoading = false;
            // this.mainLoading = false;
          });
      }, 150);
    },
    // 问题审核完成后,更新左侧列表对应子任务状态
    handleProblemCheck(){
      const status = ProCheckProxy.calProStatus(this.curProList)
      this.curSubtask.data.proNum = status.proNum
      this.curSubtask.data.proCheckedNum = status.proCheckedNum
      this.curSubtask.data.changeNum = status.changeNum
      this.curSubtask.data.changeCheckedNum = status.changeCheckedNum
      this.curSubtask.type = this.getSubtaskType(this.curSubtask.data)
    }
  },
  mounted() {}