diff --git a/resources/assets/js/pages/manage/components/TeamManagement.vue b/resources/assets/js/pages/manage/components/TeamManagement.vue
index 59f23d10a..0b64c3868 100644
--- a/resources/assets/js/pages/manage/components/TeamManagement.vue
+++ b/resources/assets/js/pages/manage/components/TeamManagement.vue
@@ -191,15 +191,15 @@
@@ -311,7 +311,7 @@
:value="item.id"
:key="index"
:label="item.chains.join(' - ')">
-
{{ item.name }}
+ {{ item.name }}
@@ -1238,28 +1238,13 @@ export default {
getDepartmentLists() {
this.departmentLoading++;
- this.$store.dispatch("call", {
- url: 'users/department/list',
- }).then(({data}) => {
- this.departmentList = []
- this.generateDepartmentList(data, 0, 1, [])
+ this.$store.dispatch("getDepartmentList").then(list => {
+ this.departmentList = list;
}).finally(_ => {
this.departmentLoading--;
})
},
- generateDepartmentList(data, parent_id, level, chains = []) {
- data.some(item => {
- if (item.parent_id == parent_id) {
- this.departmentList.push(Object.assign(item, {
- chains: chains.concat([item.name]),
- level: level + 1
- }))
- this.generateDepartmentList(data, item.id, level + 1, chains.concat([item.name]))
- }
- })
- },
-
onMultipleMaxBefore(num) {
$A.messageError(`最多选择${num}个部门`)
return false
diff --git a/resources/assets/js/store/actions.js b/resources/assets/js/store/actions.js
index c85489d2b..4379cfe72 100644
--- a/resources/assets/js/store/actions.js
+++ b/resources/assets/js/store/actions.js
@@ -631,7 +631,6 @@ export default {
}, typeof timeout === "number" ? timeout : 1000)
},
-
/**
* 获取审批待办未读数量
* @param state
@@ -866,6 +865,38 @@ export default {
});
},
+ /**
+ * 获取部门列表
+ * @param dispatch
+ * @returns {Promise}
+ */
+ getDepartmentList({dispatch}) {
+ return new Promise((resolve, reject) => {
+ const generateList = (data, parent_id = 0, level = 0, chains = []) => {
+ let result = [];
+ data.some(item => {
+ if (item.parent_id == parent_id) {
+ const newItem = Object.assign({}, item, {
+ chains: chains.concat([item.name]),
+ level: level + 1
+ });
+ result.push(newItem);
+ // 递归获取子部门
+ const children = generateList(data, item.id, level + 1, chains.concat([item.name]));
+ result = result.concat(children);
+ }
+ });
+ return result;
+ };
+
+ dispatch("call", {
+ url: 'users/department/list',
+ }).then(({data}) => {
+ resolve(generateList(data, 0, 1));
+ }).catch(reject);
+ });
+ },
+
/**
* 登出(打开登录页面)
* @param state
diff --git a/resources/assets/sass/pages/common.scss b/resources/assets/sass/pages/common.scss
index 3f0fd6c62..af88fed8c 100755
--- a/resources/assets/sass/pages/common.scss
+++ b/resources/assets/sass/pages/common.scss
@@ -942,3 +942,16 @@ body.window-portrait {
transform: translateY(-50%);
}
}
+
+/*部门层级*/
+.department-level-name {
+ &.level-2 {
+ margin-left: 18px;
+ }
+ &.level-3 {
+ margin-left: 36px;
+ }
+ &.level-4 {
+ margin-left: 54px;
+ }
+}
diff --git a/resources/assets/sass/pages/components/team-management.scss b/resources/assets/sass/pages/components/team-management.scss
index 2015fe956..50d9033b6 100644
--- a/resources/assets/sass/pages/components/team-management.scss
+++ b/resources/assets/sass/pages/components/team-management.scss
@@ -157,18 +157,6 @@
}
}
-.team-department-level-name {
- &.level-2 {
- margin-left: 18px;
- }
- &.level-3 {
- margin-left: 36px;
- }
- &.level-4 {
- margin-left: 54px;
- }
-}
-
.team-department-add-dialog-group {
display: flex;
align-items: center;