diff --git a/src/assets/js/api/configManage.js b/src/assets/js/api/configManage.js index 26c43efd..61377a2e 100644 --- a/src/assets/js/api/configManage.js +++ b/src/assets/js/api/configManage.js @@ -54,4 +54,11 @@ export const deleteNoticeRemindSoundApi = data => post('xmgl/noticeRemindSound/d //列表查询通知提示音信息 export const selectNoticeRemindSoundApi = data => post('xmgl/noticeRemindSound/list', data); +// 组织机构管理 +export const getTreeGroupApi = data => get('xmgl/xzProjectOrg/tree/list', data); +export const addTreeGroupApi = data => post('xmgl/xzProjectOrg/add', data); +export const editTreeGroupApi = data => post('xmgl/xzProjectOrg/edit', data); +export const deleteTreeGroupApi = data => post('xmgl/xzProjectOrg/delete', data); + + diff --git a/src/components/header.vue b/src/components/header.vue index 9df3f779..26f3ae80 100644 --- a/src/components/header.vue +++ b/src/components/header.vue @@ -41,7 +41,7 @@ v-if="$route.path.indexOf('/firm/') == -1 && company != 'nanchang'" @click="changeArea(-1)" >{{ - $store.state.currentProDetail.name ? systemInfo.platformName + " - " + $store.state.currentProDetail.name : headerName + $store.state.currentProDetail && $store.state.currentProDetail.name ? systemInfo.platformName + " - " + $store.state.currentProDetail.name : headerName }} require(["@/views/companyAdmin/operationLog.vue"], resolve), }, - + { + path: "/project/configManage/groupStructureManagement", + name: "系统管理_人员权限1", + component: (resolve) => + require([ + "@/views/projectFront/configManage/groupStructureManagement.vue", + ], resolve), + }, { path: "/project/towerCrane/home", //塔吊管理 首页 name: "塔吊管理_首页2", diff --git a/src/views/projectFront/configManage/groupStructureManagement.vue b/src/views/projectFront/configManage/groupStructureManagement.vue new file mode 100644 index 00000000..02439b2b --- /dev/null +++ b/src/views/projectFront/configManage/groupStructureManagement.vue @@ -0,0 +1,591 @@ + + + diff --git a/src/views/projectFront/configManage/personnelAccess.vue b/src/views/projectFront/configManage/personnelAccess.vue index 42868440..7b0e8f2b 100644 --- a/src/views/projectFront/configManage/personnelAccess.vue +++ b/src/views/projectFront/configManage/personnelAccess.vue @@ -192,6 +192,29 @@ :placeholder="$t('message.companyDiagram.PleaseEnter')" > + + + + + + + + { + if (result.success) { + this.treeList = result.result; + } + }); + }, + // 树形控件点击 + treeClick(data) { + console.log(data); + this.selectVal = data.deptName; + this.selectTreeData = data; + this.addEditForm.xzProjectOrgId = data.id; + }, configFn(item) { this.companyDialog = true; this.addEditForm = JSON.parse(JSON.stringify(item)); @@ -704,7 +755,21 @@ export default { .split(",") .map(Number); } + if (this.addEditForm.xzProjectOrgObj) { + this.selectTreeData = JSON.parse(this.addEditForm.xzProjectOrgObj); + this.selectVal = this.selectTreeData.deptName; + this.defaultExpandArr = [this.selectTreeData.id]; + } else { + this.selectTreeData = {}; + this.selectVal = ""; + this.defaultExpandArr = []; + } this.handle("edit", true); + this.$nextTick(() => { + if (this.addEditForm.xzProjectOrgObj) { + this.$refs.groupTree.setCurrentKey(this.addEditForm.xzProjectOrgId); + } + }); }, deleteDev(obj) { console.log("删除", obj); @@ -740,6 +805,9 @@ export default { let params = this.addEditForm; // params.alarmPushWorkerId = this.addEditForm.alarmPushWorkerId.join(','); params.sn = this.$store.state.projectSn; + if(this.selectVal){ + params.xzProjectOrgObj = JSON.stringify(this.selectTreeData); + } if (this.Popup.type === "add") { addProjectUserApi(params).then((result) => { if (result.success) { @@ -799,7 +867,7 @@ export default {