From 16862bd1d0a4a4307c8b8940089caafafc68b08e Mon Sep 17 00:00:00 2001
From: GuLiMmo <2820890765@qq.com>
Date: Wed, 17 Jan 2024 17:40:12 +0800
Subject: [PATCH] 同票数任务下发
---
src/views/evaluate/evaluateResult.vue | 6
src/views/evaluate/components/evaluateTypeResult.vue | 53 +++
src/views/evaluate/components/reissueSecondRound.vue | 402 ++++++++++++++++++++++++++++++
src/views/evaluate/components/reissueSrCandiadate.vue | 300 +++++++++++++++++++++++
src/views/evaluate/components/typeDetails.vue | 5
5 files changed, 762 insertions(+), 4 deletions(-)
diff --git a/src/views/evaluate/components/evaluateTypeResult.vue b/src/views/evaluate/components/evaluateTypeResult.vue
index 03674b3..af03329 100644
--- a/src/views/evaluate/components/evaluateTypeResult.vue
+++ b/src/views/evaluate/components/evaluateTypeResult.vue
@@ -1,5 +1,13 @@
<template>
<div class="container">
+ <!-- v-if="params.data.evaluateState === 2" -->
+ <el-alert type="warning" show-icon style="margin-bottom: 20px;">
+ <template #title>
+ 如对当前任务有相同票数候选人,可点击右侧重新下发任务进行投票
+ <span class="right-arrow">→</span>
+ <el-button text type="success" icon="el-icon-position" @click="reissueTask">下发任务</el-button>
+ </template>
+ </el-alert>
<ul class="type-list">
<li class="type-item">
<div class="title">奖项</div>
@@ -25,16 +33,19 @@
</li>
</ul>
<typeDetails :params="typeDetailsParams" />
+ <reissueSecondRound :params="reissueTaskParams" @initAsideData="initAsideData" />
</div>
</template>
<script>
import { getEcList } from '@/api/evaluate/evaluateTask'
import typeDetails from './typeDetails.vue'
+import reissueSecondRound from './reissueSecondRound.vue'
export default {
components: {
- typeDetails
+ typeDetails,
+ reissueSecondRound
},
props: {
params: {
@@ -54,7 +65,8 @@
size: 10,
total: 0
},
- typeDetailsParams: {}
+ typeDetailsParams: {},
+ reissueTaskParams: {}
}
},
watch: {
@@ -86,6 +98,22 @@
evaluateTaskCategoryId
}
}
+ },
+ reissueTask() {
+ this.$confirm('是否发下任务?', '提示', {
+ confirmButtonText: '确定',
+ cancelButtonText: '取消',
+ type: 'warning',
+ }).then(res => {
+ this.reissueTaskParams = {
+ visible: true,
+ data: this.params.data
+ }
+ })
+
+ },
+ initAsideData() {
+ this.$emit('initAsideData')
}
},
mounted() {
@@ -97,6 +125,27 @@
<style lang="scss" scoped>
$borderColor: var(--el-border-color);
+.right-arrow {
+ display: inline-block;
+ padding: 0 7px;
+ font-weight: bolder;
+ animation: moveAnimation 1s ease-in-out infinite;
+}
+
+@keyframes moveAnimation {
+ from {
+ transform: translateX(7px);
+ }
+
+ 50% {
+ transform: translateX(-7px);
+ }
+
+ to {
+ transform: translateX(7px);
+ }
+}
+
.type-list {
margin: 0;
padding: 0;
diff --git a/src/views/evaluate/components/reissueSecondRound.vue b/src/views/evaluate/components/reissueSecondRound.vue
new file mode 100644
index 0000000..3b529b8
--- /dev/null
+++ b/src/views/evaluate/components/reissueSecondRound.vue
@@ -0,0 +1,402 @@
+<template>
+ <el-dialog v-model="params.visible" :title="`下发任务(${params.data?.taskName || ''})`" width="65%" @open="openDialog"
+ @close="dialogClose">
+ <div class="content" v-loading="isLoading">
+ <el-form :model="form" ref="formRef" :rules="rules" label-position="top">
+ <el-form-item label="评优奖项" prop="categoryEntities">
+ <ul class="type-list">
+ <li class="type-item">
+ <div class="title">奖项</div>
+ <div class="introduction">认定标准</div>
+ <div class="number">名额</div>
+ <div class="tool">操作</div>
+ </li>
+ <li class="type-item" v-for="(item, index) in form.categoryEntities" :key="index">
+ <div class="title">{{ item.categoryName }}</div>
+ <el-tooltip effect="dark" placement="top">
+ <template #content>
+ <p style="max-width: 500px;">{{ item.standard }}</p>
+ </template>
+ <div class="introduction">
+ {{ item.standard }}
+ </div>
+ </el-tooltip>
+
+ <div class="number">{{ item.peopleNum }}</div>
+ <div class="tool">
+ <el-button type="primary" icon="el-icon-plus" text
+ @click="addEcCandidateHandler(item)">添加候选人</el-button>
+ </div>
+ </li>
+ </ul>
+ </el-form-item>
+ <el-form-item label="投票人员" prop="pollingPersons">
+ <el-checkbox-group v-model="form.pollingPersons">
+ <el-checkbox v-for="item in employeeDict" :key="item.id" :label="item.dictKey"
+ @change="checkBoxChange($event, item)">
+ {{ item.dictValue }}
+ <el-button type="primary" icon="el-icon-edit" text
+ @click="selectionHandler(item)">设置人员</el-button>
+ </el-checkbox>
+ </el-checkbox-group>
+ </el-form-item>
+ <el-form-item label="第二轮任务结束时间" required>
+ <el-form-item class="time-box" prop="evaluateCutoffTimeStart">
+ <el-date-picker v-model="form.evaluateCutoffTimeStart" type="datetime" placeholder="请选择任务开始时间"
+ value-format="YYYY-MM-DD HH:mm:ss" style="width: 100%;" />
+ </el-form-item>
+ <span class="time-span">至</span>
+ <el-form-item class="time-box" prop="evaluateCutoffTimeEnd">
+ <el-date-picker v-model="form.evaluateCutoffTimeEnd" type="datetime" placeholder="请选择任务结束时间"
+ value-format="YYYY-MM-DD HH:mm:ss" style="width: 100%;" />
+ </el-form-item>
+ </el-form-item>
+ </el-form>
+ </div>
+ <template #footer>
+ <el-button @click="() => params.visible = false" :loading="isLoading">取消</el-button>
+ <el-button type="primary" @click="taskPublic" :loading="isLoading">确认发布</el-button>
+ </template>
+ <!-- 添加评优种类候选人 -->
+ <reissueSrCandiadate :params="addEcCandidateParams" @addCandidateList="addCandidateList" />
+ <!-- 人员选择 -->
+ <selectionDialog :params="selectionParams" @addEvaluateParams="addEvaluateParams" />
+ </el-dialog>
+</template>
+
+<script>
+import _ from 'lodash';
+import { getDict } from '@/api/dict'
+import { add, update, getEcList, getEmployeeLevelList, addEtaskCc } from '@/api/evaluate/evaluateTask'
+import selectionDialog from './selectionDialog.vue';
+import reissueSrCandiadate from './reissueSrCandiadate.vue';
+
+export default {
+ components: {
+ selectionDialog,
+ reissueSrCandiadate
+ },
+ props: {
+ params: {
+ type: Object,
+ default: () => {
+ return {
+ visible: false,
+ data: {}
+ };
+ },
+ },
+ },
+ data() {
+ return {
+ isLoading: false,
+ employeeDict: [],
+ form: {
+ categoryEntities: [],
+ pollingPersons: [],
+ votePersonObjInfo: [],
+ evaluateCutoffTimeStart: '',
+ evaluateCutoffTimeEnd: ''
+ },
+ rules: {
+ categoryEntities: [
+ { required: true, message: '任务类别不可为空', trigger: 'click' },
+ {
+ validator: (rule, value, callback) => {
+ if (this.candidateList.length <= 0) {
+ callback(new Error("候选人不可为空!!"))
+ } else {
+ callback()
+ }
+ },
+ trigger: 'click'
+ }
+ ],
+ pollingPersons: [
+ { required: true, message: '请选择评定人员', trigger: 'click' },
+ ],
+ evaluateCutoffTimeStart: [
+ { required: true, message: '请选择任务开始时间', trigger: 'click' },
+ ],
+ evaluateCutoffTimeEnd: [
+ { required: true, message: '请选择任务开始时间', trigger: 'click' },
+ ]
+ },
+ page: {
+ current: 1,
+ size: 100,
+ total: 0
+ },
+ addEcCandidateParams: {},
+ selectionParams: {},
+ candidateList: [],
+ }
+ },
+ watch: {
+ // 'params.visible': {
+ // handler(value) {
+ // if (!value) return
+ // this.form.pollingPersons = this.params.data.pollingPersons.split(',') || []
+ // this.form.votePersonObjInfo = JSON.parse(this.params.data.votePersonObjInfo) || []
+ // this.form.evaluateCutoffTimeStart = this.params.data.evaluateCutoffTimeStart || ''
+ // this.form.evaluateCutoffTimeEnd = this.params.data.evaluateCutoffTimeEnd || ''
+ // },
+ // deep: true
+ // }
+ },
+ methods: {
+ dialogClose() {
+ this.candidateList = []
+ this.$refs.formRef.resetFields()
+ },
+ openDialog() {
+ this.initDict()
+ const { id } = this.params.data
+ const { current, size } = this.page
+ getEcList(current, size, id).then(ecResult => {
+ const { code, data: { records } } = ecResult.data
+ if (code !== 200) return this.$message.error('评优类别加载失败')
+ this.form.categoryEntities = records
+ })
+ },
+ initDict() {
+ getDict('employee_type').then(res => {
+ const { code, data } = res.data
+ if (code !== 200) {
+ return this.$message.error('人员类型字典加载失败')
+ }
+ this.employeeDict = data
+ })
+ },
+ // 发布任务
+ taskPublic() {
+ this.$refs.formRef.validate(valid => {
+ if (!valid) return
+ this.isLoading = true
+ // 创建新任务
+ this.createNewTask(this.params.data).then(taskRes => {
+ this.addCategoryCandiadate(taskRes).then(respones => {
+ const data = _.cloneDeep(this.form)
+ const { id } = this.params.data
+ data.id = id
+ data.candidateState = 2
+ data.pollingPersons = data.pollingPersons.join(',')
+ delete data.categoryEntities
+ update(data).then(res => {
+ if (res.data.code !== 200) return
+ this.isLoading = false
+ this.params.visible = false
+ this.$emit('initAsideData')
+ })
+ })
+ })
+ })
+ },
+ addCandidateList(list) {
+ list.forEach(item => {
+ const isExist = this.candidateList.find(user => user.userId === item.userId && user.categoryName === item.categoryName)
+ if (!isExist) {
+ this.candidateList.push(item)
+ }
+ })
+ },
+ getNowDate() {
+ const date = new Date()
+ const year = date.getFullYear()
+ const month = date.getMonth() + 1
+ const day = date.getDate()
+ return year + '-' + month + '-' + day + ' ' + '00:00:00'
+ },
+ // 创建新任务
+ createNewTask(params) {
+ const { id, taskName, candidateState } = params
+ // 获取当前任务评优奖项
+ return getEcList(1, 100, id).then(res => {
+ if (res.data.code !== 200) return this.$message.error(res.data.msg)
+ const categoryEntities = []
+ res.data.data.records.forEach(item => {
+ const { categoryName, standard, peopleNum } = item
+ categoryEntities.push({ categoryName, standard, peopleNum })
+ })
+ return categoryEntities
+ }).then(categoryEntities => {
+ // 发起创建任务请求
+ const newTaskData = {
+ taskName: taskName + '(同票数)',
+ categoryEntities: categoryEntities,
+ candidateState: candidateState,
+ candidateCutoffTimeEnd: this.getNowDate(),
+ candidateCutoffTimeStart: this.getNowDate()
+ }
+ return add(newTaskData).then(taskRes => {
+ if (taskRes.data.code !== 200) return this.$message.error(res.data.msg)
+ return taskRes.data.data
+ })
+ })
+ },
+ // 将候选人添加进类别中
+ addCategoryCandiadate(taskRes) {
+ const { categoryEntities } = taskRes
+ const newCandidateList = this.candidateList.map(user => {
+ const sUser = categoryEntities.find(category => category.categoryName === user.categoryName)
+ if (sUser !== void 0) {
+ const { id } = sUser
+ user['evaluateTaskCategoryId'] = id
+ delete user['categoryName']
+ return user
+ }
+ })
+ const promiseArrs = []
+ newCandidateList.forEach(sParams => {
+ promiseArrs.push(addEtaskCc(sParams))
+ })
+ return Promise.allSettled(promiseArrs).then((responses) => {
+ return responses
+ }, error => {
+ this.$message.error(error)
+ })
+ },
+ addEcCandidateHandler(row) {
+ const { id, categoryName, evaluateTaskId } = row
+ this.addEcCandidateParams = {
+ visible: true,
+ data: {
+ categoryName,
+ evaluateTaskId,
+ evaluateTaskCategoryId: id,
+ list: this.candidateList
+ }
+ }
+ },
+ viewCandidateResult() {
+ this.candidateResultParams = {
+ visible: true,
+ data: this.params.data
+ }
+ },
+ selectionHandler(row) {
+ const obj = this.form.votePersonObjInfo.find(item => item.employeeType === row.dictKey) || {}
+ this.selectionParams = {
+ visible: true,
+ data: row,
+ values: obj
+ }
+ },
+ checkBoxChange(e, { dictKey }) {
+ const index = this.form.votePersonObjInfo.findIndex(item => item.employeeType === dictKey)
+ if (!e) {
+ this.form.votePersonObjInfo.splice(index, 1)
+ return
+ }
+ getEmployeeLevelList(dictKey).then((res) => {
+ const { code, data } = res.data
+ if (code !== 200) return this.$message.error('当前级别人员加载失败,请重试!!')
+ const participateInList = data.map(item => {
+ const { id, name, deptId, deptName, postId, postName } = item
+ return { id, name, deptId, deptName, postId, postName }
+ })
+ const params = {
+ employeeType: dictKey,
+ participateIn: participateInList,
+ notParticipateIn: []
+ }
+ if (index === -1) {
+ this.form.votePersonObjInfo.push(params)
+ } else {
+ this.form.votePersonObjInfo[index] = params
+ }
+ })
+ },
+ addEvaluateParams(params) {
+ const { participateIn, employeeType } = params
+ const index = this.form.votePersonObjInfo.findIndex(item => item.employeeType === employeeType)
+ const typeIndex = this.form.pollingPersons.findIndex(item => item === employeeType)
+
+ if (index === -1) {
+ if (participateIn.length > 0) {
+ this.form.votePersonObjInfo.push(params)
+ this.form.pollingPersons.push(params.employeeType)
+ }
+ } else {
+ if (participateIn.length > 0) {
+ this.form.votePersonObjInfo[index] = params
+ } else {
+ this.form.votePersonObjInfo.splice(index, 1)
+ this.form.pollingPersons.splice(typeIndex, 1)
+ }
+ }
+ }
+ }
+};
+</script>
+
+<style lang="scss" scoped>
+$borderColor: var(--el-border-color);
+
+.content {
+ max-height: 600px;
+ overflow-y: auto;
+
+ .time-span {
+ margin: 0 10px;
+ }
+
+ .time-box {
+ width: calc(100% / 2 - 20px);
+ }
+
+ .type-list {
+ margin: 0;
+ padding: 0;
+ list-style-type: none;
+ width: 100%;
+ border: 1px solid $borderColor;
+ border-radius: var(--el-border-radius-base);
+ box-sizing: border-box;
+
+ .type-item {
+ display: flex;
+ height: 40px;
+ line-height: 40px;
+ text-align: center;
+
+ div {
+ border-bottom: 1px solid $borderColor;
+ flex-shrink: 0;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ }
+
+ .title {
+ flex: 2;
+ }
+
+ .introduction {
+ flex: 5;
+ flex-shrink: 0;
+
+ border: {
+ right: 1px solid $borderColor;
+ left: 1px solid $borderColor;
+ }
+ }
+
+ .number {
+ flex: 1;
+ }
+
+ .tool {
+ flex: 2;
+ border-left: 1px solid $borderColor;
+ }
+
+ &:last-child {
+ div {
+ border-bottom: 0;
+ }
+ }
+ }
+ }
+}
+</style>
\ No newline at end of file
diff --git a/src/views/evaluate/components/reissueSrCandiadate.vue b/src/views/evaluate/components/reissueSrCandiadate.vue
new file mode 100644
index 0000000..dc07fc7
--- /dev/null
+++ b/src/views/evaluate/components/reissueSrCandiadate.vue
@@ -0,0 +1,300 @@
+<template>
+ <el-dialog v-model="params.visible" :title="params.data?.categoryName || '添加类别候选人'" width="50%" destroy-on-close
+ @close="cancel" @open="openDialog">
+ <avue-crud :option="option" v-model:search="search" v-model:page="page" v-model="form" :table-loading="loading"
+ :data="data" :before-open="beforeOpen" ref="crud" @row-update="rowUpdate" @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 #menu="{ row }">
+ <el-checkbox v-model="row.checked" @change="handleCheckChange($event, row)">参加</el-checkbox>
+ </template>
+ </avue-crud>
+ <template #footer>
+ <el-button @click="cancel">取消</el-button>
+ <el-button type="primary" @click="addCandidate">添加候选人</el-button>
+ </template>
+ </el-dialog>
+</template>
+
+<script>
+import { getFinallyTypeResult, removeEtaskCc } from '@/api/evaluate/evaluateTask'
+import { exportBlob } from "@/api/common";
+import { getToken } from '@/utils/auth';
+import { downloadXls } from "@/utils/util";
+import { dateNow } from "@/utils/date";
+import NProgress from 'nprogress';
+import 'nprogress/nprogress.css';
+
+export default {
+ props: {
+ params: {
+ type: Object,
+ default: () => {
+ return {
+ visible: false,
+ data: {
+ categoryName: '',
+ evaluateTaskId: '',
+ evaluateTaskCategoryId: '',
+ list: []
+ }
+ }
+ }
+ }
+ },
+ data() {
+ return {
+ form: {},
+ query: {},
+ search: {},
+ loading: true,
+ page: {
+ pageSize: 10,
+ currentPage: 1,
+ total: 0
+ },
+ selectionList: [],
+ option: {
+ height: '300',
+ calcHeight: 30,
+ tip: false,
+ searchShow: true,
+ // selection: true,
+ searchMenuSpan: 6,
+ border: true,
+ index: true,
+ viewBtn: false,
+ editBtn: false,
+ delBtn: false,
+ // menu: false,
+ addBtn: false,
+ header: false,
+ dialogClickModal: false,
+ menuWidth: 120,
+ menuTitle: '是否参加候选',
+ column: [
+ {
+ label: '姓名',
+ prop: 'user_name',
+ type: 'input'
+ },
+ {
+ label: '职位',
+ prop: 'post_name',
+ type: 'input'
+ },
+ {
+ label: '部门',
+ prop: 'dept_name',
+ type: 'input'
+ },
+ {
+ label: '票数',
+ prop: 'voteNum',
+ type: 'input'
+ }
+ ]
+ },
+ data: [],
+ };
+ },
+ computed: {
+ ids() {
+ let ids = [];
+ this.selectionList.forEach(ele => {
+ ids.push(ele.id);
+ });
+ return ids.join(",");
+ }
+ },
+ methods: {
+ rowSave(row, done, loading) {
+ add(row).then(() => {
+ this.onLoad(this.page);
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ });
+ done();
+ }, error => {
+ loading();
+ window.console.log(error);
+ });
+ },
+ rowUpdate(row, index, done, loading) {
+ update(row).then(() => {
+ this.onLoad(this.page);
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ });
+ done();
+ }, error => {
+ loading();
+ console.log(error);
+ });
+ },
+ rowDel(row) {
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning"
+ })
+ .then(() => {
+ return removeEtaskCc(row.id);
+ })
+ .then(() => {
+ this.onLoad(this.page);
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ });
+ });
+ },
+ handleDelete() {
+ if (this.selectionList.length === 0) {
+ this.$message.warning("请选择至少一条数据");
+ return;
+ }
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning"
+ })
+ .then(() => {
+ return removeEtaskCc(this.ids);
+ })
+ .then(() => {
+ this.onLoad(this.page);
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ });
+ this.$refs.crud.toggleSelection();
+ });
+ },
+ handleExport() {
+ let downloadUrl = `/evaluate/evaluateResult/export-evaluateResult?${this.website.tokenHeader}=${getToken()}`;
+ const {
+ } = this.query;
+ let values = {
+ };
+ this.$confirm("是否导出数据?", "提示", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning"
+ }).then(() => {
+ NProgress.start();
+ exportBlob(downloadUrl, values).then(res => {
+ downloadXls(res.data, `评优结果${dateNow()}.xlsx`);
+ NProgress.done();
+ })
+ });
+ },
+ beforeOpen(done, type) {
+ if (["edit", "view"].includes(type)) {
+ getDetail(this.form.id).then(res => {
+ this.form = res.data.data;
+ });
+ }
+ done();
+ },
+ searchReset() {
+ this.query = {};
+ this.onLoad(this.page);
+ },
+ searchChange(params, done) {
+ this.query = {
+ type: this.defaultTaskType,
+ ...params
+ };
+ this.page.currentPage = 1;
+ this.onLoad(this.page, params);
+ done();
+ },
+ selectionChange(list) {
+ this.selectionList = list;
+ },
+ selectionClear() {
+ this.selectionList = [];
+ this.$refs.crud.toggleSelection();
+ },
+ currentChange(currentPage) {
+ this.page.currentPage = currentPage;
+ },
+ sizeChange(pageSize) {
+ this.page.pageSize = pageSize;
+ },
+ refreshChange() {
+ this.onLoad(this.page, this.query);
+ },
+ onLoad(page, params = {}) {
+ this.loading = true;
+ const { evaluateTaskId, evaluateTaskCategoryId, list } = this.params.data
+
+ const {
+ } = this.query;
+
+ let values = {
+ ...this.query,
+ ...params,
+ evaluateTaskId,
+ evaluateTaskCategoryId
+ };
+
+ getFinallyTypeResult(page.currentPage, page.pageSize, values).then(res => {
+ const data = res.data.data;
+ this.page.total = data.total;
+ this.data = data.records;
+ this.loading = false;
+ // this.selectionClear();
+
+ this.data.forEach(item => {
+ const isExist = list.find(user => user.userId === item.id)
+ if (isExist) {
+ item.checked = true
+ }
+ })
+
+ });
+ },
+ openDialog() {
+ this.onLoad(this.page);
+ },
+ cancel() {
+ this.params.visible = false
+ this.selectionList = []
+ },
+ addCandidate() {
+ if (this.selectionList.length <= 0) return this.$message.warning('请选择候选人')
+ const { categoryName } = this.params.data
+ const list = this.selectionList.map((item, index) => {
+ const { id, user_name, dept_id, dept_name, post_name } = item
+ const listParams = {
+ categoryName,
+ userId: id,
+ userName: user_name,
+ deptId: dept_id,
+ deptName: dept_name,
+ postName: post_name
+ }
+ return listParams
+ })
+ this.$emit('addCandidateList', list)
+ this.params.visible = false
+ this.$message.success('添加候选人成功')
+ },
+ handleCheckChange(value, row) {
+ row.checked = value
+ if (!value) {
+ const index = this.selectionList.findIndex(item => item.id === row.id)
+ if (index !== -1) {
+ this.selectionList.splice(index, 1)
+ }
+ return
+ }
+ this.selectionList.push(row)
+ }
+ }
+};
+</script>
\ No newline at end of file
diff --git a/src/views/evaluate/components/typeDetails.vue b/src/views/evaluate/components/typeDetails.vue
index c7c5c7a..1670634 100644
--- a/src/views/evaluate/components/typeDetails.vue
+++ b/src/views/evaluate/components/typeDetails.vue
@@ -63,6 +63,11 @@
label: '职位',
prop: 'dept_name',
type: 'input'
+ },
+ {
+ label: '票数',
+ prop: 'voteNum',
+ type: 'input'
}
]
},
diff --git a/src/views/evaluate/evaluateResult.vue b/src/views/evaluate/evaluateResult.vue
index 8ddee18..477f414 100755
--- a/src/views/evaluate/evaluateResult.vue
+++ b/src/views/evaluate/evaluateResult.vue
@@ -33,8 +33,8 @@
<el-main>
<template v-if="this.taskList.length > 0">
<el-collapse v-model="activeNames">
- <el-collapse-item title="当前任务评优奖项详情" name="1" v-if="!defaultTaskType">
- <evaluateTypeResult :params="{ data: taskList[taskActive] }" />
+ <el-collapse-item title="当前任务评优奖项候选人详情" name="1" v-if="!defaultTaskType">
+ <evaluateTypeResult :params="{ data: taskList[taskActive] }" @initAsideData="initData" />
</el-collapse-item>
<el-collapse-item name="2" v-if="!defaultTaskType">
<template #title>
@@ -127,6 +127,7 @@
this.getTaskList()
},
getTaskList(params) {
+ this.page.current = 1
const { current, size } = this.page
const values = {
type: this.defaultTaskType,
@@ -147,6 +148,7 @@
this.getTaskList({ taskName: this.taskWord })
},
tabChange(value) {
+ this.taskActive = 0
this.defaultTaskType = value.prop;
this.getTaskList()
this.defaultTaskType ? this.activeNames = ['3'] : this.activeNames = ['1']
--
Gitblit v1.9.3