From 5832e4ce53d30bc282bb2c0add421d5f0a6b091d Mon Sep 17 00:00:00 2001
From: GuLiMmo <2820890765@qq.com>
Date: Tue, 09 Jan 2024 14:54:25 +0800
Subject: [PATCH] 详情提交

---
 src/views/evaluate/components/candidateResult.vue |   66 +++++++++++++++++++++++++++++----
 1 files changed, 58 insertions(+), 8 deletions(-)

diff --git a/src/views/evaluate/components/candidateResult.vue b/src/views/evaluate/components/candidateResult.vue
index f8eb7fc..286ff37 100644
--- a/src/views/evaluate/components/candidateResult.vue
+++ b/src/views/evaluate/components/candidateResult.vue
@@ -1,16 +1,26 @@
 <template>
     <el-dialog v-model="params.visible" title="第一轮评优结果">
-        <avue-crud v-model:page="page" :option="option" :table-loading="loading" :data="data" @current-change="currentChange"
-            @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
-            <template #menu="{row}">
-                <el-button type="primary" icon="el-icon-plus" text>添加至第二轮</el-button>
+        <avue-crud v-model:page="page" :option="option" :table-loading="loading" :data="data"
+            @current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
+            <template #menu="{ row }">
+                <el-button type="primary" icon="el-icon-plus" text @click="addEvaluateTypeHandler(row)">添加至第二轮</el-button>
             </template>
         </avue-crud>
+        <el-dialog v-model="addEvaluateTypeVisible" width="400px" title="请选择添加至评优类别" append-to-body
+            @open="evaluateTypeOpen">
+            <el-select v-model="selectEvaluateType" placeholder="请选择要添加至的评优类别" style="width: 100%;">
+                <el-option v-for="item in evaluateTypeList" :key="item.id" :label="item.categoryName" :value="item.id" />
+            </el-select>
+            <template #footer>
+                <el-button @click="addEvaluateTypeVisible = false">取消</el-button>
+                <el-button type="primary" @click="addSecondRoundHandler">确定</el-button>
+            </template>
+        </el-dialog>
     </el-dialog>
 </template>
 
 <script>
-import { getCandidateResult } from '@/api/evaluate/evaluateTask'
+import { getCandidateResult, getEcList, addEtaskCc } from '@/api/evaluate/evaluateTask'
 
 export default {
     props: {
@@ -68,11 +78,18 @@
                     {
                         label: '票数',
                         prop: 'voteNum',
-                        type: 'input'
+                        type: 'input',
+                        formatter: (_row, value) => {
+                            return value + '票'
+                        }
                     },
                 ]
             },
-            data: []
+            data: [],
+            currentRow: {},
+            selectEvaluateType: '',
+            evaluateTypeList: [],
+            addEvaluateTypeVisible: false,
         }
     },
     methods: {
@@ -102,9 +119,42 @@
                 this.page.total = data.total;
                 this.data = data.records;
                 this.loading = false;
-                this.selectionClear();
             });
         },
+        initEvalutateType() {
+            const { id } = this.params.data
+            getEcList(1, 10, id).then(ecResult => {
+                const { code, data: { records } } = ecResult.data
+                if (code !== 200) return this.$message.error('评优类别加载失败')
+                this.evaluateTypeList = records
+            })
+        },
+        evaluateTypeOpen() {
+            this.initEvalutateType()
+        },
+        addEvaluateTypeHandler(row) {
+            this.addEvaluateTypeVisible = true;
+            this.currentRow = row
+        },
+        addSecondRoundHandler() {
+            if (!this.selectEvaluateType) return this.$message.warning('请选择当前候选人要填至的评优类别')
+            const { user_id, user_name, dept_id, dept_name, post_name } = this.currentRow
+            const requestParams = {
+                evaluateTaskCategoryId: this.selectEvaluateType,
+                userId: user_id,
+                userName: user_name,
+                deptId: dept_id,
+                deptName: dept_name,
+                postName: post_name,
+            }
+            addEtaskCc(requestParams).then(res => {
+                this.$message.success('添加成功')
+                this.addEvaluateTypeVisible = false
+                this.selectEvaluateType = ''
+            }, error => {
+                this.$message.error(error)
+            })
+        }
     }
 }
 </script>

--
Gitblit v1.9.3