From de27dcbd6a6f6479c0e2f6be5e0a685631410a3e Mon Sep 17 00:00:00 2001
From: GuLiMmo <2820890765@qq.com>
Date: Fri, 22 Dec 2023 09:19:05 +0800
Subject: [PATCH] 新增窗口数据筛选
---
src/views/evaluate/components/addDialog.vue | 79 ++++++++++++++++++---------------------
1 files changed, 36 insertions(+), 43 deletions(-)
diff --git a/src/views/evaluate/components/addDialog.vue b/src/views/evaluate/components/addDialog.vue
index 5795210..90ca939 100644
--- a/src/views/evaluate/components/addDialog.vue
+++ b/src/views/evaluate/components/addDialog.vue
@@ -239,50 +239,43 @@
});
this.params.visible = false;
},
- initData(tenantId) {
- // 读取部门列表
- getDeptTree(tenantId)
- .then(res => {
- let deptList = [];
- _.cloneDeep(res.data.data).forEach(item => {
- deptList.push(item);
- if (item.children) {
- item.children.forEach(ic => {
- ic.title = item.title + '/' + ic.title;
- })
- deptList = deptList.concat(item.children);
- delete item.children;
- }
- });
- return {
- deptList,
- };
- })
- .then(({ deptList }) => {
- const depts_list = _.cloneDeep(deptList);
- this.depts = [];
- depts_list.forEach(dept => {
- getList(1, 99999, {}, dept.id).then(employeeRes => {
- const { records } = employeeRes.data.data;
- this.depts.push({
- deptId: dept.id,
- deptName: dept.title,
- users: [],
- employees: records
- });
- this.setDefaultValue(this.depts);
- });
- });
- });
- },
- setDefaultValue(depts) {
- const params = _.cloneDeep(this.params.addForm.candidateNum) || []
- const newParams = params.map(item => {
- const value = depts.find(dept => item.deptId === dept.deptId);
- item.employees = value?.employees || [];
- return item
+ async initData(tenantId) {
+ const deptTreeRes = await getDeptTree(tenantId)
+ let deptList = []
+ const cloneDeptTreeRes = _.cloneDeep(deptTreeRes.data.data)
+ // 扁平化deptTree
+ cloneDeptTreeRes.forEach(item => {
+ deptList.push(item);
+ if (item.children) {
+ item.children.forEach(ic => {
+ ic.title = item.title + '/' + ic.title;
+ })
+ deptList = deptList.concat(item.children);
+ delete item.children;
+ }
})
- this.selectGroup = newParams
+ const depts_list = _.cloneDeep(deptList)
+ depts_list.forEach(async (dept) => {
+ const employeeRes = await getList(1, 99999, {}, dept.id)
+ const { records } = employeeRes.data.data
+ this.depts.push({
+ deptId: dept.id,
+ deptName: dept.title,
+ users: [],
+ employees: records
+ });
+ const params = _.cloneDeep(this.params.addForm.candidateNum) || []
+ const newParams = params.map(item => {
+ const value = this.depts.find(dept => item.deptId === dept.deptId);
+ item.employees = value?.employees || [];
+ return item
+ })
+ // 宏任务延迟
+ setTimeout(() => {
+ const params = newParams.filter(item => item.employees.length > 0)
+ this.selectGroup = params
+ }, 100)
+ });
},
handleEmployeeChange(val, content) {
if (val) {
--
Gitblit v1.9.3