From 462b2f149d02b9e7ecca82922a68dfbba4b4baa5 Mon Sep 17 00:00:00 2001
From: GuLiMmo <2820890765@qq.com>
Date: Fri, 29 Dec 2023 17:19:15 +0800
Subject: [PATCH] 部门评优修改

---
 src/views/evaluate/components/addCandidate.vue |   53 ++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 42 insertions(+), 11 deletions(-)

diff --git a/src/views/evaluate/components/addCandidate.vue b/src/views/evaluate/components/addCandidate.vue
index 5825a94..257c017 100644
--- a/src/views/evaluate/components/addCandidate.vue
+++ b/src/views/evaluate/components/addCandidate.vue
@@ -1,16 +1,17 @@
 <template>
-    <el-dialog v-model="props.dialogParams.visible" title="添加候选人" @close="dialogClose">
+    <el-dialog v-model="props.dialogParams.visible" :title="`${curType ? '添加候选部门' : '添加候选人'}`" @close="dialogClose">
         <div style="margin-bottom: 20px;" v-if="!form.deptId">
             <el-alert title="请先选择部门信息" type="warning" />
         </div>
         <el-form :model="form" ref="formRef" :rules="rules" label-width="70px">
             <el-row>
-                <el-col :span="12">
+                <el-col :span="!curType ? 12 : 24">
                     <el-form-item label="部门" prop="deptId">
-                        <el-cascader v-model="form.deptId" :props="cascaderProps" placeholder="请选择部门" @change="deptChange" style="width: 100%;" />
+                        <el-cascader v-model="form.deptId" :props="cascaderProps" placeholder="请选择部门" @change="deptChange"
+                            style="width: 100%;" />
                     </el-form-item>
                 </el-col>
-                <el-col :span="12">
+                <el-col :span="12" v-if="!curType">
                     <el-form-item label="候选人" prop="userId">
                         <el-select v-model="form.userId" placeholder="请选择候选人"
                             :disabled="userSelectOption.length > 0 ? false : true" @change="userSelectChange"
@@ -21,7 +22,7 @@
                         </el-select>
                     </el-form-item>
                 </el-col>
-                <el-col :span="12">
+                <el-col :span="12" v-if="!curType">
                     <el-form-item label="职务">
                         <el-input v-model="form.postName" placeholder="请填写职务" disabled />
                     </el-form-item>
@@ -36,7 +37,7 @@
 </template>
 
 <script setup>
-import { computed, markRaw, reactive, ref, watch } from 'vue';
+import { computed, inject, markRaw, reactive, ref, watch } from 'vue';
 import { getDeptLazyTree } from '@/api/system/dept.js'
 import { getList } from '@/api/system/user.js'
 import { addCandidate } from '@/api/evaluate/evaluateTask'
@@ -60,6 +61,9 @@
     deptName: '',
     postName: ''
 })
+
+const type = inject('type')
+const curType = computed(() => type())
 
 const rules = markRaw({
     userId: [
@@ -88,8 +92,18 @@
     postName: ''
 })
 
+const requestSectionParams = reactive({
+    evaluateTaskId: '',
+    evaluateTaskName: '',
+    deptId: '',
+    deptName: ''
+})
+
 // 当前部门
 const currentDeptId = ref('')
+
+
+const deptList = ref([])
 
 // options 数据
 const userSelectOption = ref([])
@@ -144,12 +158,20 @@
     })
 }
 
+
 // 选择部门改变
 const deptChange = async (value) => {
     const id = value[value.length - 1]
     currentDeptId.value = id
-    const userList = await initUserList(id)
-    userSelectOption.value = userList
+    if (!curType) {
+        const userList = await initUserList(id)
+        userSelectOption.value = userList
+    } else {
+        const dept = deptList.value.find(item => item.id == id)
+        requestSectionParams.deptId = dept.value || ''
+        requestSectionParams.deptName = dept.title || ''
+        console.log(requestSectionParams);
+    }
 }
 
 // 级联配置
@@ -162,10 +184,12 @@
         const level = node.level || 0
         if (level == 0) {
             const res = await initDept(level)
+            deptList.value = res
             resovle(res)
         } else {
             const { value } = node
             const res = await initDept(value)
+            deptList.value = res
             resovle(res)
         }
     },
@@ -191,7 +215,8 @@
 const submit = () => {
     formRef.value.validate(valid => {
         if (!valid) return ElMessage.error('添加候选人失败')
-        addCandidate(requestParams).then(res => {
+        const params = curType? requestSectionParams : requestParams
+        addCandidate(params).then(res => {
             ElMessage.success('添加候选人成功')
             props.dialogParams.visible = false
             emits('refresh')
@@ -208,8 +233,14 @@
 watch(() => props.dialogParams.visible, (val) => {
     if (!val) return
     const { evaluateTaskId, evaluateTaskName } = props.dialogParams.taskParams
-    requestParams.evaluateTaskName = evaluateTaskName
-    requestParams.evaluateTaskId = evaluateTaskId
+    if (!curType) {
+        requestParams.evaluateTaskName = evaluateTaskName
+        requestParams.evaluateTaskId = evaluateTaskId
+    } else {
+        requestSectionParams.evaluateTaskName = evaluateTaskName
+        requestSectionParams.evaluateTaskId = evaluateTaskId
+    }
+
 }, {
     deep: true
 })

--
Gitblit v1.9.3