From 06dd89e20c026ed578dcbc7618f83c7b3d8f6e15 Mon Sep 17 00:00:00 2001
From: GuLiMmo <2820890765@qq.com>
Date: Fri, 29 Dec 2023 15:23:29 +0800
Subject: [PATCH] 考核任务任务配置完善

---
 src/views/evaluate/components/viewEvaluateDetail.vue |  380 ------------------------------------------------------
 1 files changed, 1 insertions(+), 379 deletions(-)

diff --git a/src/views/evaluate/components/viewEvaluateDetail.vue b/src/views/evaluate/components/viewEvaluateDetail.vue
index 1b352f8..d22cf1e 100644
--- a/src/views/evaluate/components/viewEvaluateDetail.vue
+++ b/src/views/evaluate/components/viewEvaluateDetail.vue
@@ -1,388 +1,10 @@
 <template>
-    <el-dialog title="信息预览" v-model="params.visible" width="70%">
-        <div class="descriptions">
-            <div class="descriptions-item" v-for="item in taskDateil" :key="item.prop" :style="{ width: item.width }">
-                <div class="label">{{ item.title }}</div>
-                <div class="value" v-if="!item.isSlot">{{ item.value }}</div>
-                <div class="table" v-else>
-                    <template v-if="item.evaluateState === 2">
-                        <avue-crud :option="item.option" :data="item.data" ref="crud" @current-change="currentChange"
-                            @size-change="sizeChange" @refresh-change="refreshChange"></avue-crud>
-                    </template>
-                    <template v-else>当前任务暂未结束</template>
-                </div>
-            </div>
-        </div>
-    </el-dialog>
+
 </template>
 
 <script setup>
-import { reactive, watch, getCurrentInstance, ref } from 'vue';
-import {
-    getCandidateList,
-    getFinallyResult,
-    getSectionFinallyResult
-} from '@/api/evaluate/evaluateTask'
-import _ from 'lodash'
 
-const { findObject } = getCurrentInstance().appContext.config.globalProperties;
-
-
-const props = defineProps({
-    params: {
-        type: Object,
-        default: () => ({
-            visible: false,
-            data: {},
-        }),
-    }
-})
-
-const page = reactive({
-    current: 1,
-    size: 10,
-    total: 0
-})
-
-const taskDateil = ref(null)
-
-const personOption = reactive([
-    {
-        title: '任务名称',
-        prop: 'taskName',
-        value: '',
-        width: 'calc(100% / 3)'
-    },
-    {
-        title: '任务类别',
-        prop: 'taskType',
-        value: '',
-        width: 'calc(100% / 3)'
-    },
-    {
-        title: '评定标准',
-        prop: 'remark',
-        value: '',
-        width: 'calc(100% / 3)'
-    },
-    {
-        title: '候选人截止日期',
-        prop: 'candidateCutoffTime',
-        value: '',
-        width: '50%'
-    },
-    {
-        title: '评优截止日期',
-        prop: 'evaluateCutoffTime',
-        value: '',
-        width: '50%'
-    },
-    {
-        title: '候选人状态',
-        prop: 'candidateState',
-        value: '',
-        width: 'calc(100% / 3)'
-    },
-    {
-        title: '评优评先状态',
-        prop: 'evaluateState',
-        value: '',
-        width: 'calc(100% / 3)'
-    },
-    {
-        title: '评优数量',
-        prop: 'evaluateNum',
-        value: '',
-        width: 'calc(100% / 3)'
-    },
-    {
-        title: '候选人数量',
-        prop: 'candidateNum',
-        value: '',
-        width: '100%'
-    },
-    {
-        title: '候选结果',
-        prop: 'candidateResult',
-        value: '',
-        width: '100%'
-    },
-    {
-        title: '最终评定结果',
-        prop: 'finallyResult',
-        isSlot: true,
-        width: '100%',
-        evaluateState: 0,
-        data: [],
-        option: {
-            height: 260,
-            calcHeight: 30,
-            tip: false,
-            searchShow: true,
-            border: true,
-            index: true,
-            dialogClickModal: false,
-            menu: false,
-            menuLeft: false,
-            header: false,
-            menuFixed: 'right',
-            column: [{
-                label: '评优项目',
-                prop: 'evaluateTaskName',
-                type: 'input',
-            },
-            {
-                label: '候选人',
-                prop: 'userName',
-                type: 'input',
-            },
-            {
-                label: '部门',
-                prop: 'deptName',
-                type: 'input'
-            },
-            {
-                label: '票数',
-                prop: 'voteNum',
-                type: 'input'
-            }],
-        }
-    }
-])
-
-const sectionOption = reactive([
-    {
-        title: '任务名称',
-        prop: 'taskName',
-        value: '',
-        width: 'calc(100% / 3)'
-    },
-    {
-        title: '任务类别',
-        prop: 'taskType',
-        value: '',
-        width: 'calc(100% / 3)'
-    },
-    {
-        title: '评定标准',
-        prop: 'remark',
-        value: '',
-        width: 'calc(100% / 3)'
-    },
-    {
-        title: '候选人截止日期',
-        prop: 'candidateCutoffTime',
-        value: '',
-        width: '50%'
-    },
-    {
-        title: '评优截止日期',
-        prop: 'evaluateCutoffTime',
-        value: '',
-        width: '50%'
-    },
-    {
-        title: '评优评先状态',
-        prop: 'evaluateState',
-        value: '',
-        width: '50%'
-    },
-    {
-        title: '评优数量',
-        prop: 'evaluateNum',
-        value: '',
-        width: '50%'
-    },
-    {
-        title: '评优人数量',
-        prop: 'candidateNum',
-        value: '',
-        width: '100%'
-    },
-    {
-        title: '最终评定结果',
-        prop: 'finallyResult',
-        isSlot: true,
-        width: '100%',
-        evaluateState: 0,
-        data: [],
-        option: {
-            height: 260,
-            calcHeight: 30,
-            tip: false,
-            searchShow: true,
-            border: true,
-            index: true,
-            dialogClickModal: false,
-            menu: false,
-            menuLeft: false,
-            header: false,
-            menuFixed: 'right',
-            column: [{
-                label: '评优项目',
-                prop: 'evaluateTaskName',
-                type: 'input',
-            },
-            {
-                label: '部门',
-                prop: 'deptName',
-                type: 'input'
-            },
-            {
-                label: '票数',
-                prop: 'voteNum',
-                type: 'input'
-            }],
-        }
-    }
-])
-
-watch(() => props.params.visible, (val) => {
-    if (!val) return
-    initData()
-}, {
-    deep: true
-})
-
-const candidateList = () => {
-    let values = {
-        evaluateTaskId: props.params.data.id
-    };
-    return getCandidateList(1, 99999, values).then(res => {
-        const candidateRes = res.data.data.records;
-        return candidateRes
-    });
-}
-
-const getFinallyList = () => {
-    const { type } = props.params
-    const { id, evaluateNum } = props.params.data
-    const params = {
-        evaluateTaskId: id,
-        current: 1,
-        size: evaluateNum,
-        type: !type ? 2 : 1
-    }
-    return (!type ? getFinallyResult(params) : getSectionFinallyResult(params)).then(res => {
-        return res.data.data.records
-    })
-}
-
-const initData = async () => {
-    const data = props.params.data
-    taskDateil.value = !props.params.type ? personOption : sectionOption
-    const status = {
-        0: '未开始',
-        1: '进行中',
-        2: '已完成'
-    }
-
-    for (const item of taskDateil.value) {
-        item.value = data[item.prop] || '暂未完善'
-
-        if (['candidateState', 'evaluateState'].includes(item.prop)) {
-            item.value = status[data[item.prop]]
-            if (item.prop === 'evaluateState') {
-                const obj = taskDateil.value.find(s => s.prop === 'finallyResult')
-                obj.evaluateState = data[item.prop]
-            }
-        }
-        
-        if (item.prop === 'candidateNum') {
-            const candidateNumStrArr = []
-            const { candidateNum } = _.cloneDeep(data)
-            candidateNum.forEach(item => {
-                const userList = []
-                item.users.forEach(user => {
-                    userList.push(user.name)
-                })
-                candidateNumStrArr.push(`${item.deptName}(${item.users.length}人):${userList.join('、')}`)
-            })
-            item.value = candidateNumStrArr.join('\n')
-        }
-
-        if (item.prop === 'candidateResult') {
-            const res = await candidateList()
-            if (res.length == 0) {
-                item.value = '暂无候选人'
-            } else {
-                const candidates = {}
-                const candidateStrArr = []
-                const { candidateNum } = data
-                candidateNum.forEach(candidate => {
-                    res.forEach(r => {
-                        const value = candidate.users.find(user => user.id === r.userId)
-                        if (value) {
-                            if (candidates[candidate.deptName] === void 0) {
-                                candidates[candidate.deptName] = []
-                            }
-                            candidates[candidate.deptName].push(value.name)
-                        }
-                    })
-                })
-                Object.keys(candidates).forEach(key => { candidateStrArr.push(`${key}(${candidates[key].length}人):${candidates[key].join('、')}`) })
-                item.value = candidateStrArr.join('\n')
-                console.log(candidateStrArr.join('\n'));
-            }
-        }
-
-        if (item.prop === 'finallyResult') {
-            const res = await getFinallyList()
-            item.data = res
-        }
-    }
-
-    console.log(taskDateil.value);
-
-}
 </script>
 
 <style lang="scss" scoped>
-.descriptions {
-    width: 100%;
-    display: flex;
-    flex-wrap: wrap;
-
-    border: {
-        top: 1px solid #eeeded;
-        right: 1px solid #eeeded;
-    }
-
-
-    .descriptions-item {
-        display: flex;
-        box-sizing: border-box;
-
-        border: {
-            bottom: 1px solid #eeeded;
-            left: 1px solid #eeeded;
-        }
-
-        .label,
-        .value {
-            padding: 10px 5px;
-            display: flex;
-            align-items: center;
-        }
-
-        .label {
-            width: 100px;
-            flex-shrink: 0;
-            white-space: nowrap;
-            overflow: hidden;
-            text-overflow: ellipsis;
-            background-color: aliceblue;
-            border-right: 1px solid #eeeded;
-        }
-
-        .value {
-            white-space: pre-line;
-        }
-
-        .table {
-            padding: 10px;
-            width: calc(100% - 20px);
-        }
-    }
-}
 </style>
\ No newline at end of file

--
Gitblit v1.9.3