From f5be2bade6aa8e8b546fe8fa4bb8b9c5f7f64a5e Mon Sep 17 00:00:00 2001
From: GuLiMmo <2820890765@qq.com>
Date: Tue, 16 Jan 2024 17:01:56 +0800
Subject: [PATCH] update

---
 src/views/evaluate/evaluateTask.vue |   45 +++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 43 insertions(+), 2 deletions(-)

diff --git a/src/views/evaluate/evaluateTask.vue b/src/views/evaluate/evaluateTask.vue
index 862232b..5bb98f3 100644
--- a/src/views/evaluate/evaluateTask.vue
+++ b/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() {

--
Gitblit v1.9.3