GuLiMmo
2024-01-11 d31ea14284714a88d86cb5342895081dbeab062f
更新
5 files modified
1 files deleted
351 ■■■■ changed files
src/option/evaluate/evaluateTask.js 2 ●●● patch | view | raw | blame | history
src/views/assessment/assessmentTask.vue 3 ●●●●● patch | view | raw | blame | history
src/views/evaluate/components/evaluateTypeResult.vue 2 ●●● patch | view | raw | blame | history
src/views/evaluate/components/secondRoundResult.back.vue 132 ●●●●● patch | view | raw | blame | history
src/views/evaluate/components/secondRoundResult.vue 208 ●●●● patch | view | raw | blame | history
src/views/evaluate/components/viewEvaluateDetail.vue 4 ●●●● patch | view | raw | blame | history
src/option/evaluate/evaluateTask.js
@@ -206,7 +206,7 @@
    },
    {
      label: "截止时间",
      prop: "candidateCutoffTimeEnd",
      prop: "evaluateCutoffTimeEnd",
      minWidth: '200px'
    }
  ]
src/views/assessment/assessmentTask.vue
@@ -26,6 +26,9 @@
          <el-button type="primary" icon="el-icon-view" text @click="handleTaskResult(row)">
            考核结果
          </el-button>
          <el-button type="danger" icon="el-icon-delete" text @click="rowDel(row)">
            删除
          </el-button>
        </template>
      </avue-crud>
    </template>
src/views/evaluate/components/evaluateTypeResult.vue
@@ -20,7 +20,7 @@
                <div class="number">{{ item.peopleNum }}</div>
                <div class="tool">
                    <el-button type="primary" icon="el-icon-view" text
                        @click="viewEcCandidateHandler(item)">查看详情</el-button>
                        @click="viewEcCandidateHandler(item)">查看类别候选人</el-button>
                </div>
            </li>
        </ul>
src/views/evaluate/components/secondRoundResult.back.vue
File was deleted
src/views/evaluate/components/secondRoundResult.vue
@@ -1,10 +1,42 @@
<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 v-if="!type()">
        <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 data" :key="index">
                <div class="title">{{ item.category.categoryName }}</div>
                <el-tooltip effect="dark" placement="top">
                    <template #content>
                        <p style="max-width: 500px;">{{ item.category.standard }}</p>
                    </template>
                    <div class="introduction">
                        {{ item.category.standard }}
                    </div>
                </el-tooltip>
                <div class="number">{{ item.category.peopleNum }}人</div>
                <div class="tool">
                    <el-button type="primary" text icon="el-icon-view" @click="view(item)">查看最终结果</el-button>
                </div>
            </li>
        </ul>
        <el-dialog v-model="dialogParams.visible" :title="dialogParams.title">
            <avue-crud :option="dialogOption" :table-loading="dialogLoading" :data="dialogParams.data" @on-load="onLoad">
        </avue-crud>
        </el-dialog>
    </template>
    <template v-else>
        <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>
</template>
<script>
@@ -25,6 +57,7 @@
    data() {
        return {
            loading: true,
            dialogLoading: true,
            query: {},
            page: {
                pageSize: 10,
@@ -48,42 +81,64 @@
                menuWidth: 150,
                menu: false,
                dialogClickModal: false,
                column: []
                column: [
                    {
                        label: '部门',
                        prop: 'user_name',
                        type: 'input'
                    },
                    {
                        label: '票数',
                        prop: 'voteNum',
                        type: 'input'
                    }
                ]
            },
            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'
                },
            ],
            dialogOption: {
                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: [
                    {
                        label: '姓名',
                        prop: 'user_name',
                        type: 'input'
                    },
                    {
                        label: '部门',
                        prop: 'user_name',
                        type: 'input'
                    },
                    {
                        label: '职位',
                        prop: 'dept_name',
                        type: 'input'
                    },
                    {
                        label: '票数',
                        prop: 'voteNum',
                        type: 'input'
                    }
                ]
            },
            dialogParams: {
                visible: false,
                title: '',
                data: {}
            },
            data: []
        }
    },
@@ -111,17 +166,24 @@
            };
            getFinallyResult(page.currentPage, page.pageSize, id).then(res => {
                const data = res.data.data;
                this.page.total = data.total || '';
                this.data = data.records || [];
                this.data = data || [];
                this.loading = false;
            });
        },
        view(result) {
            const { category, resultList } = result
            this.dialogParams = {
                visible: true,
                title: `最终结果(${category.categoryName })`,
                data: resultList
            }
            this.dialogLoading = false
        }
    },
    watch: {
        'params.data': {
            handler(value) {
                this.onLoad(this.page)
                this.option.column = (this.type() ? this.sectionColumn : this.defaultColumn)
            },
            deep: true
        }
@@ -129,4 +191,60 @@
}
</script>
<style lang="scss" scoped></style>
<style lang="scss" scoped>
$borderColor: var(--el-border-color);
.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>
src/views/evaluate/components/viewEvaluateDetail.vue
@@ -83,10 +83,6 @@
    collapseParams.activeNames = !type() ? ['1'] : ['3']
}
onMounted(() => {
    console.log(1);
})
</script>
<style lang="scss" scoped>