From 36cf6c5a265d3300a286e2aff6058b82bca8227e Mon Sep 17 00:00:00 2001
From: GuLiMmo <2820890765@qq.com>
Date: Mon, 25 Dec 2023 10:29:43 +0800
Subject: [PATCH] 评优页面更新

---
 src/views/evaluate/components/viewEvaluateDetail.vue |   59 ++++++++++++++++++++++-------
 src/api/evaluate/evaluateResult.js                   |    2 
 src/api/evaluate/evaluateTask.js                     |    1 
 src/views/evaluate/components/addCandidate.vue       |    1 
 src/views/evaluate/evaluateTask.vue                  |    9 ++--
 src/views/assessment/assessmentTaskSetting.vue       |    3 +
 src/views/assessment/assessmentTask.vue              |    4 +-
 7 files changed, 55 insertions(+), 24 deletions(-)

diff --git a/src/api/evaluate/evaluateResult.js b/src/api/evaluate/evaluateResult.js
index a8cd3a2..8fa5ca7 100755
--- a/src/api/evaluate/evaluateResult.js
+++ b/src/api/evaluate/evaluateResult.js
@@ -9,7 +9,7 @@
       ...params,
       current,
       size,
-      descs: 'vote_num'
+      descs: 'evaluate_task_id,dept_id,vote_num'
     }
   })
 }
diff --git a/src/api/evaluate/evaluateTask.js b/src/api/evaluate/evaluateTask.js
index b0e8f3c..64dee94 100644
--- a/src/api/evaluate/evaluateTask.js
+++ b/src/api/evaluate/evaluateTask.js
@@ -85,7 +85,6 @@
     method: 'get',
     params: {
       ...params,
-      type: 2,
       descs: 'vote_num'
     }
   })
diff --git a/src/views/assessment/assessmentTask.vue b/src/views/assessment/assessmentTask.vue
index f5e4be7..d368871 100644
--- a/src/views/assessment/assessmentTask.vue
+++ b/src/views/assessment/assessmentTask.vue
@@ -15,9 +15,9 @@
             @click="handleDelete">
             删除
           </el-button>
-          <el-button type="warning" plain icon="el-icon-download" @click="handleExport">
+          <!-- <el-button type="warning" plain icon="el-icon-download" @click="handleExport">
             导出
-          </el-button>
+          </el-button> -->
         </template>
         <template #menu="{ row }">
           <el-button type="primary" icon="el-icon-plus" size="small" @click="handleTaskResult(row)">
diff --git a/src/views/assessment/assessmentTaskSetting.vue b/src/views/assessment/assessmentTaskSetting.vue
index 758710e..c483d71 100644
--- a/src/views/assessment/assessmentTaskSetting.vue
+++ b/src/views/assessment/assessmentTaskSetting.vue
@@ -274,7 +274,8 @@
             } = this.query;
             let values = {
                 ...this.query,
-                ...params
+                ...params,
+                userType: 2
             };
             this.data = []
             !this.defaultTaskType && getList(page.currentPage, page.pageSize, values, values.deptId).then(res => {
diff --git a/src/views/evaluate/components/addCandidate.vue b/src/views/evaluate/components/addCandidate.vue
index 8756a7a..43ea68b 100644
--- a/src/views/evaluate/components/addCandidate.vue
+++ b/src/views/evaluate/components/addCandidate.vue
@@ -119,7 +119,6 @@
             type: 'input',
             display: false,
             formatter: (row) => {
-                console.log(dataSourceStatus[row.dataSource]);
                 return dataSourceStatus[row.dataSource] || '系统分配'
             },
         }
diff --git a/src/views/evaluate/components/viewEvaluateDetail.vue b/src/views/evaluate/components/viewEvaluateDetail.vue
index 9905eaa..d0657b2 100644
--- a/src/views/evaluate/components/viewEvaluateDetail.vue
+++ b/src/views/evaluate/components/viewEvaluateDetail.vue
@@ -1,5 +1,5 @@
 <template>
-    <el-dialog title="信息预览" v-model="params.visible" width="50%">
+    <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>
@@ -106,27 +106,27 @@
             column: [
                 {
                     label: '评优项目',
-                    prop: '',
+                    prop: 'evaluateTaskName',
                     type: 'input',
                 },
-                {
-                    label: '名称',
-                    prop: '',
-                    type: 'input',
-                },
+                // {
+                //     label: '任务类别',
+                //     prop: '',
+                //     type: 'input',
+                // },
                 {
                     label: '候选人',
-                    prop: '',
+                    prop: 'userName',
                     type: 'input',
                 },
                 {
                     label: '部门',
-                    prop: '',
+                    prop: 'deptName',
                     type: 'input'
                 },
                 {
                     label: '票数',
-                    prop: '',
+                    prop: 'voteNum',
                     type: 'input'
                 }
             ]
@@ -151,10 +151,11 @@
 }
 
 const getFinallyList = () => {
+    const { id, evaluateNum } = props.params.data
     const params = {
-        evaluateTaskId: props.params.data.id,
-        current: page.current,
-        size: page.size
+        evaluateTaskId: id,
+        current: 1,
+        size: evaluateNum
     }
     return getFinallyResult(params).then(res => {
         return res.data.data.records
@@ -163,19 +164,48 @@
 
 const initData = async () => {
     const data = props.params.data
+    const status = {
+        0: '未开始',
+        1: '进行中',
+        2: '已完成'
+    }
+
     for (const item of taskDateil) {
         item.value = data[item.prop] || '暂未完善'
+
+        if (['candidateState', 'evaluateState'].includes(item.prop)) {
+            item.value = status[item.value]
+        }
 
         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(item.data);
         }
     }
 
@@ -220,9 +250,10 @@
             background-color: aliceblue;
             border-right: 1px solid #eeeded;
         }
-
         .value {
+            white-space: pre-line;
         }
+
         .table {
             padding: 10px;
             width: calc(100% - 20px);
diff --git a/src/views/evaluate/evaluateTask.vue b/src/views/evaluate/evaluateTask.vue
index 7eb8338..47dafef 100644
--- a/src/views/evaluate/evaluateTask.vue
+++ b/src/views/evaluate/evaluateTask.vue
@@ -10,15 +10,15 @@
         <el-button type="primary" icon="el-icon-plus" @click="handleAdd">新增</el-button>
         <el-button type="danger" icon="el-icon-delete" plain v-if="permission.evaluateTask_delete"
           @click="handleDelete">删除</el-button>
-        <el-button type="warning" plain icon="el-icon-download" @click="handleExport">导出</el-button>
+        <!-- <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-edit" @click="editDialog(row)">编辑</el-button>
         <el-button type="primary" text plain icon="el-icon-position" @click="publicTimeBtn(row)"
-          v-if="row.candidateState === 2">发布</el-button>
-        <el-button type="primary" v-if="row.type === 0 && row.candidateState === 2" text plain icon="el-icon-plus" @click="addCandidateHandle(row)">新增候选人</el-button>
-        <el-button type="primary" text plain icon="el-icon-download">导出</el-button>
+          v-if="row.candidateState === 2 && row.evaluateState === 0">发布</el-button>
+        <el-button type="primary" v-if="row.type === 0 && row.candidateState === 0" text plain icon="el-icon-plus" @click="addCandidateHandle(row)">新增候选人</el-button>
+        <!-- <el-button type="primary" text plain icon="el-icon-download">导出</el-button> -->
       </template>
     </avue-crud>
     <!-- 发布弹窗 -->
@@ -344,6 +344,7 @@
       this.rowData = row;
       this.dialogVisible = true;
     },
+    // 发布
     timeSubmit() {
       const { id } = this.rowData;
       const params = {

--
Gitblit v1.9.3