GuLiMmo
2024-01-16 f5be2bade6aa8e8b546fe8fa4bb8b9c5f7f64a5e
update
2 files modified
47 ■■■■■ changed files
src/option/evaluate/evaluateTask.js 2 ●●●●● patch | view | raw | blame | history
src/views/evaluate/evaluateTask.vue 45 ●●●●● patch | view | raw | blame | history
src/option/evaluate/evaluateTask.js
@@ -62,6 +62,7 @@
      addDisplay: false,
      editDisplay: false,
      viewDisplay: false,
      slot: true,
      formatter: (row, value) => {
        return status[value]
      },
@@ -81,6 +82,7 @@
      addDisplay: false,
      editDisplay: false,
      viewDisplay: false,
      slot: true,
      formatter: (row, value) => {
        return status[value]
      },
src/views/evaluate/evaluateTask.vue
@@ -6,6 +6,16 @@
      @row-save="rowSave" @row-del="rowDel" @search-change="searchChange" @search-reset="searchReset"
      @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
      @refresh-change="refreshChange" @on-load="onLoad">
      <template #candidateState="{ row }">
        <div v-if="row.candidateState !== 1">{{ setStatus(row.candidateState) }}</div>
        <el-button v-else text type="success" icon="el-icon-edit" @click="updateState(row, 'candidateState')">{{
          setStatus(row.candidateState) }}</el-button>
      </template>
      <template #evaluateState="{ row }">
        <div v-if="row.evaluateState !== 1">{{ setStatus(row.evaluateState) }}</div>
        <el-button v-else :disabled="row.evaluateState !== 1" text type="success" icon="el-icon-edit" @click="updateState(row, 'evaluateState')">{{
          setStatus(row.evaluateState) }}</el-button>
      </template>
      <template #candidateCutoffTimeEnd="{ row }">
        <div class="time-box">
          {{ row.candidateCutoffTimeStart }}
@@ -32,8 +42,8 @@
          @click="viewVotingDetailsHandlerClick(row)">投票详情</el-button>
        <el-button type="primary" text plain icon="el-icon-position"
          v-if="!row.type && row.candidateState === 2 && !row.evaluateState" @click="taskPublicDialog(row)">发布</el-button>
        <el-button type="success" v-if="(row.candidateState === 0 && !row.type) || (row.evaluateState === 0 && row.type)" text plain icon="el-icon-edit"
          @click="editTaskDialog(row)">编辑</el-button>
        <el-button type="success" v-if="(row.candidateState === 0 && !row.type) || (row.evaluateState === 0 && row.type)"
          text plain icon="el-icon-edit" @click="editTaskDialog(row)">编辑</el-button>
        <el-button type="danger" text plain icon="el-icon-delete" @click="rowDel(row)">删除</el-button>
      </template>
    </avue-crud>
@@ -356,6 +366,37 @@
    },
    tabChange(value) {
      this.defaultTaskType = value.prop;
    },
    setStatus(value) {
      const status = {
        0: '未开始',
        1: '进行中',
        2: '已完成'
      }
      return status[value]
    },
    updateState(row, name) {
      const text = (name === 'candidateState' ? '是否更改当前任务第一轮候选状态?' : '是否更改当前任务第二轮候选状态?')
      this.$confirm(text, {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning',
      }).then(res => {
        const { id } = row
        let params = {
          id
        }
        name === 'candidateState' ? Object.assign(params, { candidateState: 2 }) : Object.assign(params, { evaluateState: 2 })
        update(params).then(res => {
          if (res.code === 200) {
            this.$message({
              type: 'success',
              message: '操作成功!',
            });
            this.onLoad(this.page);
          }
        })
      })
    }
  },
  provide() {