| | |
| | | <a-form-item label="名称"> |
| | | <a-input readOnly :value="currentTreeNodeInfo.label"></a-input> |
| | | </a-form-item> |
| | | <a-form-item label="是否分配子节点"> |
| | | <a-form-item label="是否同时配置子节点"> |
| | | <a-switch v-model="isAssignSonNode"></a-switch> |
| | | </a-form-item> |
| | | </a-form-model> |
| | |
| | | <a-tabs v-model="activeTabKey"> |
| | | <a-tab-pane :key="1" tab="分配部门"> |
| | | <DepartPermissionTransfer ref="departPermissionTransferRef" :currentTreeNodeInfo="currentTreeNodeInfo" |
| | | :dataSource="allDepartmentsList" :isAssignSonNode="isAssignSonNode"/> |
| | | :treeDataProps="allDepartmentsList" :allTreeKeys="allTreeKeys" |
| | | :isAssignSonNode="isAssignSonNode"/> |
| | | </a-tab-pane> |
| | | |
| | | <a-tab-pane :key="2" tab="分配用户"> |
| | |
| | | import dncApi from '@/api/dnc' |
| | | import DepartPermissionTransfer from './DepartPermissionTransfer' |
| | | import UserPermissionTransfer from './UserPermissionTransfer' |
| | | import { queryProductionTreeList } from '@/api/api' |
| | | |
| | | export default { |
| | | name: 'AssignPermissionModal', |
| | |
| | | activeTabKey: 1, |
| | | allDepartmentsList: [], |
| | | allUsersList: [], |
| | | allTreeKeys: [], |
| | | hasLoadedDataTabKeyArray: [] |
| | | } |
| | | }, |
| | |
| | | |
| | | // 调用接口获取所有部门列表 |
| | | getAllDepartmentsListByApi() { |
| | | dncApi.getAllDepartmentsListApi() |
| | | this.allTreeKeys = [] |
| | | queryProductionTreeList() |
| | | .then(res => { |
| | | console.log('res-------------------', res) |
| | | if (res.success) { |
| | | this.allDepartmentsList = res.list |
| | | this.$nextTick(() => this.$refs.departPermissionTransferRef.getHasPermissionDepartByApi()) |
| | | this.allDepartmentsList = res.result |
| | | this.generateList(this.allDepartmentsList) |
| | | this.$nextTick(() => { |
| | | this.$refs.departPermissionTransferRef.getHasPermissionDepartByApi() |
| | | this.$refs.departPermissionTransferRef.expandedKeys = this.allTreeKeys |
| | | this.$refs.departPermissionTransferRef.flatten(JSON.parse(JSON.stringify(this.allDepartmentsList))) |
| | | }) |
| | | // 只有上次退出时在部门分配tab界面才会进入此判断 |
| | | // 若上次退出时在用户分配tab界面则再次进入时key由2变为1时会触发watch监测activeTabKey变化则会将key:1加入hasLoadedDataTabKeyArray,因此无需再次加入key:1 |
| | | if (!this.hasLoadedDataTabKeyArray.includes(this.activeTabKey)) this.hasLoadedDataTabKeyArray.push(this.activeTabKey) |
| | |
| | | }) |
| | | }, |
| | | |
| | | /** |
| | | * 递归获得所有树节点key |
| | | * @param data |
| | | */ |
| | | generateList(data) { |
| | | for (let i = 0; i < data.length; i++) { |
| | | const node = data[i] |
| | | const key = node.key |
| | | this.allTreeKeys.push(key) |
| | | if (node.children) this.generateList(node.children) |
| | | } |
| | | }, |
| | | |
| | | // 调用接口获取所有用户列表 |
| | | getAllUsersListByApi() { |
| | | dncApi.getAllUsersListApi() |
| | | .then(res => { |
| | | if (res.success) { |
| | | this.allUsersList = res.result.records |
| | | this.allUsersList = res.result.records.map(item => { |
| | | return { |
| | | ...item, |
| | | disabled: item.username === 'admin' |
| | | } |
| | | }) |
| | | this.$nextTick(() => this.$refs.userPermissionTransferRef.getHasPermissionUserByApi()) |
| | | } |
| | | }) |