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