GuLiMmo
2024-01-06 5f725eb707564039ecf07fa77273d210c2e88448
新增查询第一轮候选结果
4 files modified
1 files added
152 ■■■■■ changed files
src/api/evaluate/evaluateTask.js 18 ●●●● patch | view | raw | blame | history
src/views/evaluate/components/IndividualTaskPublic.vue 18 ●●●● patch | view | raw | blame | history
src/views/evaluate/components/addIndividualTask.vue 2 ●●● patch | view | raw | blame | history
src/views/evaluate/components/candidateResult.vue 112 ●●●●● patch | view | raw | blame | history
src/views/evaluate/evaluateTask.vue 2 ●●● patch | view | raw | blame | history
src/api/evaluate/evaluateTask.js
@@ -50,12 +50,12 @@
}
// 获取类别
export const getEcList = (current, size, evaluateTaskId ) => {
export const getEcList = (current, size, evaluateTaskId) => {
  return request({
    url: '/evaluate/evaluateTaskCategory/list',
    method: 'get',
    params: {
      current,
      current,
      size,
      evaluateTaskId
    }
@@ -77,7 +77,7 @@
    url: '/evaluate/evaluateTaskCategoryCandidate/list',
    method: 'get',
    params: {
      current,
      current,
      size,
      ...values
    }
@@ -104,7 +104,17 @@
}
// 第一轮候选人结果
export const getCandidateResult = (current, size, evaluateId) => {
  return request({
    url: `/evaluate/evaluateTaskReferrer/list/${evaluateId}`,
    method: 'get',
    params: {
      current,
      size
    }
  })
}
// 获取最终结果
//  url: '/evaluate/evaluateCandidate/page',
src/views/evaluate/components/IndividualTaskPublic.vue
@@ -5,7 +5,7 @@
                <el-form-item prop="categoryEntities">
                    <template #label>
                        评优类别
                        <el-button type="primary" icon="el-icon-view" text>查看第一轮候选结果</el-button>
                        <el-button type="primary" icon="el-icon-view" text @click="viewCandidateResult">查看第一轮候选结果</el-button>
                    </template>
                    <ul class="type-list">
                        <li class="type-item">
@@ -56,6 +56,9 @@
            <el-button @click="() => params.visible = false">取消</el-button>
            <el-button type="primary" @click="taskPublic">确认发布</el-button>
        </template>
        <!-- 查看第一轮候选结果 -->
        <candidateResult :params="candidateResultParams" />
        <!-- 添加评优种类候选人 -->
        <addEcCandidate :params="addEcCandidateParams" />
    </el-dialog>
</template>
@@ -65,10 +68,12 @@
import { getDict } from '@/api/dict'
import { update, getEcList } from '@/api/evaluate/evaluateTask'
import addEcCandidate from './addEcCandidate.vue';
import candidateResult from './candidateResult.vue';
export default {
    components: {
        addEcCandidate
        addEcCandidate,
        candidateResult
    },
    props: {
        params: {
@@ -109,7 +114,8 @@
                size: 100,
                total: 0
            },
            addEcCandidateParams: {}
            addEcCandidateParams: {},
            candidateResultParams: {}
        }
    },
    methods: {
@@ -157,6 +163,12 @@
                visible: true,
                data: row
            }
        },
        viewCandidateResult() {
            this.candidateResultParams = {
                visible: true,
                data: this.params.data
            }
        }
    }
};
src/views/evaluate/components/addIndividualTask.vue
@@ -60,7 +60,7 @@
                        <el-input type="textarea" v-model="taskTypeForm.standard" placeholder="请输入认定标准"></el-input>
                    </el-form-item>
                    <el-form-item label="名额" prop="peopleNum">
                        <el-input-number v-model="taskTypeForm.peopleNum" placeholder="请输入名额数量" controls-position="right"></el-input-number>
                        <el-input-number :min="0" v-model="taskTypeForm.peopleNum" placeholder="请输入名额数量" controls-position="right" style="width: 100%;"></el-input-number>
                    </el-form-item>
                </el-form>
                <template #footer>
src/views/evaluate/components/candidateResult.vue
New file
@@ -0,0 +1,112 @@
<template>
    <el-dialog v-model="params.visible" title="第一轮评优结果">
        <avue-crud v-model:page="page" :option="option" :table-loading="loading" :data="data" @current-change="currentChange"
            @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
            <template #menu="{row}">
                <el-button type="primary" icon="el-icon-plus" text>添加至第二轮</el-button>
            </template>
        </avue-crud>
    </el-dialog>
</template>
<script>
import { getCandidateResult } from '@/api/evaluate/evaluateTask'
export default {
    props: {
        params: {
            type: Object,
            default: () => {
                return {
                    visible: false,
                    data: {}
                }
            }
        }
    },
    data() {
        return {
            loading: true,
            query: {},
            page: {
                pageSize: 10,
                currentPage: 1,
                total: 0
            },
            option: {
                height: '400',
                calcHeight: 30,
                tip: false,
                searchShow: true,
                searchMenuSpan: 6,
                border: true,
                index: true,
                viewBtn: false,
                addBtn: false,
                editBtn: false,
                delBtn: false,
                viewBtn: false,
                header: false,
                menuWidth: 150,
                dialogClickModal: false,
                column: [
                    {
                        label: '姓名',
                        prop: 'user_name',
                        type: 'input'
                    },
                    {
                        label: '部门',
                        prop: 'user_name',
                        type: 'input'
                    },
                    {
                        label: '职位',
                        prop: 'dept_name',
                        type: 'input'
                    },
                    {
                        label: '票数',
                        prop: 'voteNum',
                        type: 'input'
                    },
                ]
            },
            data: []
        }
    },
    methods: {
        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 { id } = this.params.data
            const {
            } = this.query;
            let values = {
                ...this.query,
                ...params
            };
            getCandidateResult(page.currentPage, page.pageSize, id).then(res => {
                const data = res.data.data;
                this.page.total = data.total;
                this.data = data.records;
                this.loading = false;
                this.selectionClear();
            });
        },
    }
}
</script>
<style lang="scss" scoped></style>
src/views/evaluate/evaluateTask.vue
@@ -28,7 +28,7 @@
      </template>
      <template #menu="{ size, row, index }">
        <el-button type="primary" text plain icon="el-icon-view" @click="viewDateilDialog(row)">详情</el-button>
        <el-button type="primary" v-if="!row.type && row.candidateState === 2 && !row.evaluateState" text plain icon="el-icon-position"
        <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="danger" text plain icon="el-icon-delete" @click="rowDel(row)">删除</el-button>
      </template>