GuLiMmo
2024-01-12 27da516e3bd834f3afb848cc60e39e97b6d8a703
src/views/evaluate/components/IndividualTaskPublic.vue
@@ -1,15 +1,15 @@
<template>
    <el-dialog v-model="params.visible" :title="`发布评优任务(${params.data?.taskName || ''})`" width="50%" @open="openDialog" @close="dialogClose">
    <el-dialog v-model="params.visible" :title="`发布评优任务(${params.data?.taskName || ''})`" width="65%" @open="openDialog" @close="dialogClose">
        <div class="content">
            <el-form :model="form" ref="formRef" :rules="rules" label-position="top">
                <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">
                            <div class="title">类别</div>
                            <div class="title">奖项</div>
                            <div class="introduction">认定标准</div>
                            <div class="number">名额</div>
                            <div class="tool">操作</div>
@@ -36,6 +36,7 @@
                    <el-checkbox-group v-model="form.pollingPersons">
                        <el-checkbox v-for="item in employeeDict" :key="item.id" :label="item.dictKey">
                            {{ item.dictValue }}
                            <el-button type="primary" icon="el-icon-edit" text @click="selectionHandler(item)">设置人员</el-button>
                        </el-checkbox>
                    </el-checkbox-group>
                </el-form-item>
@@ -56,7 +57,12 @@
            <el-button @click="() => params.visible = false">取消</el-button>
            <el-button type="primary" @click="taskPublic">确认发布</el-button>
        </template>
        <!-- 查看第一轮候选结果 -->
        <candidateResult :params="candidateResultParams" />
        <!-- 添加评优种类候选人 -->
        <addEcCandidate :params="addEcCandidateParams" />
        <!-- 人员选择 -->
        <selectionDialog :params="selectionParams"  />
    </el-dialog>
</template>
@@ -65,10 +71,14 @@
import { getDict } from '@/api/dict'
import { update, getEcList } from '@/api/evaluate/evaluateTask'
import addEcCandidate from './addEcCandidate.vue';
import candidateResult from './candidateResult.vue';
import selectionDialog from './selectionDialog.vue';
export default {
    components: {
        addEcCandidate
        addEcCandidate,
        candidateResult,
        selectionDialog
    },
    props: {
        params: {
@@ -109,7 +119,9 @@
                size: 100,
                total: 0
            },
            addEcCandidateParams: {}
            addEcCandidateParams: {},
            candidateResultParams: {},
            selectionParams: {}
        }
    },
    methods: {
@@ -141,8 +153,8 @@
                const data = _.cloneDeep(this.form)
                const { id } = this.params.data
                data.id = id
                data.candidateState = 2
                data.evaluateState = 1
                // data.candidateState = 2
                // data.evaluateState = 1
                data.pollingPersons = data.pollingPersons.join(',')
                delete data.categoryEntities
                update(data).then(res => {
@@ -157,6 +169,18 @@
                visible: true,
                data: row
            }
        },
        viewCandidateResult() {
            this.candidateResultParams = {
                visible: true,
                data: this.params.data
            }
        },
        selectionHandler(row) {
            this.selectionParams = {
                visible: true,
                data: row
            }
        }
    }
};
@@ -166,7 +190,7 @@
$borderColor: var(--el-border-color);
.content {
    max-height: 400px;
    max-height: 600px;
    overflow-y: auto;
    .time-span {