riku
2025-07-29 056ea576d820729878ffd62cd54cd7598e72d07e
src/views/overlay-clue/report/ClueReport.vue
@@ -2,6 +2,7 @@
  <!-- 清单详情 -->
  <CloseButton v-show="show" @close="closeEdit">
    <el-button
      v-if="!isInternal"
      class="push-btn"
      :type="clueData.cuploaded ? 'success' : 'danger'"
      @click="pushCheck"
@@ -20,6 +21,30 @@
          <div>送</div>
          <div>反</div>
          <div>馈</div>
        </template>
      </div>
    </el-button>
    <el-button
      v-else-if="clueTask"
      class="push-btn"
      :type="clueTask.finished ? 'success' : 'danger'"
      @click="finishTask"
      :disabled="clueTask.finished"
    >
      <div class="flex-col">
        <template v-if="clueTask.finished">
          <el-icon><Check /></el-icon>
          <div>任</div>
          <div>务</div>
          <div>完</div>
          <div>成</div>
        </template>
        <template v-else>
          <el-icon><Upload /></el-icon>
          <div>结</div>
          <div>束</div>
          <div>任</div>
          <div>务</div>
        </template>
      </div>
    </el-button>
@@ -76,6 +101,12 @@
import clueTaskApi from '@/api/clue/clueTaskApi';
export default {
  inject: {
    // 是否是内部线索相关操作
    isInternal: {
      default: false
    }
  },
  components: {
    ClueReportClue,
    ClueReportConclusion,
@@ -121,13 +152,17 @@
    },
    pushClue() {
      return clueApi.pushClue(this.clueData.cid).then((res) => {
        this.finishTask();
        this.$emit('pushed', res);
      });
    },
    getClueTask() {
      clueTaskApi
        .fetchClueTask({ clueId: this.clueData.cid })
        .fetchClueTask({
          clueId: this.clueData.cid,
          internalTask: this.isInternal
        })
        .then((res) => {
          this.isCreateMode = res.data.length == 0;
          if (res.data.length > 0) {
@@ -143,6 +178,21 @@
    handelClueTaskEdit() {
      this.getClueTask();
      this.$emit('onClueTaskChange');
    },
    finishTask() {
      useMessageBoxTip({
        confirmMsg: '是否结束线索任务?',
        confirmTitle: '结束线索任务',
        onConfirm: () => {
          return clueTaskApi
            .finishClueTask(this.clueTask.guid)
            .then((res) => {
              if (res.data == 1) {
                this.clueTask.finished = true;
              }
            });
        }
      });
    }
  }
};