GuLiMmo
2024-01-10 935e103123ae426c4a1f527b467d914dfeed45a0
update
4 files modified
1 files added
174 ■■■■ changed files
src/views/evaluate/components/firstRoundResult.vue 6 ●●●● patch | view | raw | blame | history
src/views/evaluate/components/secondRoundResult.back.vue 132 ●●●●● patch | view | raw | blame | history
src/views/evaluate/components/secondRoundResult.vue 10 ●●●● patch | view | raw | blame | history
src/views/evaluate/components/viewEvaluateDetail.vue 11 ●●●● patch | view | raw | blame | history
src/views/evaluate/evaluateTask.vue 15 ●●●● patch | view | raw | blame | history
src/views/evaluate/components/firstRoundResult.vue
@@ -7,7 +7,7 @@
            </referrerPopover>
        </template>
        <template #menu-left>
            <el-button type="success" plain icon="el-icon-download" @click="handleExport">导出</el-button>
            <!-- <el-button type="success" plain icon="el-icon-download" @click="handleExport">导出</el-button> -->
        </template>
    </avue-crud>
</template>
@@ -52,9 +52,9 @@
                editBtn: false,
                delBtn: false,
                viewBtn: false,
                // header: false,
                header: false,
                menuWidth: 150,
                menu: false,
                // menu: false,
                dialogClickModal: false,
                column: [
                    {
src/views/evaluate/components/secondRoundResult.back.vue
New file
@@ -0,0 +1,132 @@
<template>
    <avue-crud :option="option" :table-loading="loading" :data="data" v-model:page="page" @current-change="currentChange"
        @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
        <template #menu-left>
            <!-- <el-button type="success" plain icon="el-icon-download" @click="handleExport">导出</el-button> -->
        </template>
    </avue-crud>
</template>
<script>
import { getFinallyResult } from '@/api/evaluate/evaluateTask'
export default {
    inject: ['type'],
    props: {
        params: {
            type: Object,
            default: () => {
                return {
                    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,
                menu: false,
                dialogClickModal: false,
                column: []
            },
            defaultColumn: [
                {
                    label: '姓名',
                    prop: 'user_name',
                    type: 'input'
                },
                {
                    label: '部门',
                    prop: 'user_name',
                    type: 'input'
                },
                {
                    label: '职位',
                    prop: 'dept_name',
                    type: 'input'
                },
                {
                    label: '票数',
                    prop: 'voteNum',
                    type: 'input'
                },
            ],
            sectionColumn: [
                {
                    label: '部门',
                    prop: 'user_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
            };
            getFinallyResult(page.currentPage, page.pageSize, id).then(res => {
                const data = res.data.data;
                this.page.total = data.total || '';
                this.data = data.records;
                this.loading = false;
            });
        },
    },
    watch: {
        'params.data': {
            handler(value) {
                this.onLoad(this.page)
                this.option.column = (this.type() ? this.sectionColumn : this.defaultColumn)
            },
            deep: true
        }
    }
}
</script>
<style lang="scss" scoped></style>
src/views/evaluate/components/secondRoundResult.vue
@@ -1,8 +1,8 @@
<template>
    <avue-crud v-model:page="page" :option="option" :table-loading="loading" :data="data" @current-change="currentChange"
    <avue-crud :option="option" :table-loading="loading" :data="data" v-model:page="page" @current-change="currentChange"
        @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
        <template #menu-left>
            <el-button type="success" plain icon="el-icon-download" @click="handleExport">导出</el-button>
            <!-- <el-button type="success" plain icon="el-icon-download" @click="handleExport">导出</el-button> -->
        </template>
    </avue-crud>
</template>
@@ -44,7 +44,7 @@
                editBtn: false,
                delBtn: false,
                viewBtn: false,
                // header: false,
                header: false,
                menuWidth: 150,
                menu: false,
                dialogClickModal: false,
@@ -111,8 +111,8 @@
            };
            getFinallyResult(page.currentPage, page.pageSize, id).then(res => {
                const data = res.data.data;
                this.page.total = data.total;
                this.data = data.records;
                this.page.total = data.total || '';
                this.data = data.records || [];
                this.loading = false;
            });
        },
src/views/evaluate/components/viewEvaluateDetail.vue
@@ -1,7 +1,7 @@
<template>
    <el-drawer v-model="props.params.visible" @open="openDrawer" direction="rtl" size="50%">
        <template #header>
            <div class="drawer-title">{{ this.params.data?.taskName || '评优任务详情' }}</div>
            <div class="drawer-title">{{ props.params.data?.taskName || '评优任务详情' }}</div>
        </template>
        <el-collapse v-model="collapseParams.activeNames">
            <el-collapse-item v-if="!type()" title="当前任务评优类别" name="1">
@@ -39,7 +39,7 @@
<script setup>
import firstRoundResult from './firstRoundResult.vue';
import secondRoundResult from './secondRoundResult.vue';
import { inject, reactive } from 'vue';
import { inject, onMounted, reactive } from 'vue';
import { getEcList } from '@/api/evaluate/evaluateTask'
const props = defineProps({
@@ -48,7 +48,6 @@
        default: () => {
            return {
                visible: false,
                type: 0,
                data: {}
            }
        }
@@ -81,10 +80,12 @@
        collapseParams.categoryEntities = records
    })
    currentTaskParams.data = props.params.data
    collapseParams.activeNames =  !type() ? ['1'] : ['3']
    collapseParams.activeNames = !type() ? ['1'] : ['3']
}
onMounted(() => {
    console.log(1);
})
</script>
src/views/evaluate/evaluateTask.vue
@@ -27,7 +27,7 @@
        <!-- <el-button type="warning" plain icon="el-icon-download" @click="handleExport">导出</el-button> -->
      </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" text plain icon="el-icon-view" @click="viewHandlerClick(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="danger" text plain icon="el-icon-delete" @click="rowDel(row)">删除</el-button>
@@ -39,7 +39,7 @@
    <!-- 发布 -->
    <individualTaskPublic :params="taskPublicParams" @refreshTable="this.onLoad" />
    <!-- 预览 -->
    <viewEvaluateDetail :params="viewEvaluateDetailParams" />
    <viewEvaluate :params="viewEvaluateParams" />
  </basic-container>
</template>
@@ -55,7 +55,7 @@
import 'nprogress/nprogress.css';
import addIndividualTask from './components/addIndividualTask.vue';
import addSectionTask from './components/addSectionTask.vue';
import viewEvaluateDetail from './components/viewEvaluateDetail.vue';
import viewEvaluate from './components/viewEvaluateDetail.vue';
import individualTaskPublic from './components/IndividualTaskPublic.vue';
export default {
@@ -63,7 +63,7 @@
    addIndividualTask,
    addSectionTask,
    individualTaskPublic,
    viewEvaluateDetail
    viewEvaluate
  },
  data() {
    return {
@@ -98,7 +98,7 @@
        ],
      },
      // 信息预览弹窗
      viewEvaluateDetailParams: {},
      viewEvaluateParams: {},
      taskPublicParams: {}
    };
  },
@@ -166,10 +166,9 @@
        }
      );
    },
    viewDateilDialog(row) {
      this.viewEvaluateDetailParams = {
    viewHandlerClick(row) {
      this.viewEvaluateParams = {
        visible: true,
        type: this.defaultTaskType,
        data: row
      }
    },