| | |
| | | @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 }} |
| | |
| | | @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> |
| | |
| | | }, |
| | | 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() { |