| 
					
				 | 
			
			
				@@ -3,9 +3,9 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     <el-row :gutter="8" style="width: 100%"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <el-card shadow="never" :body-style="{ paddingBottom: '0' }" style="margin-top: 8px"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <el-form :model="state.filterModel" :inline="true" @submit.stop.prevent> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <el-form-item label="角色名称" prop="name"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <el-input v-model="state.filterModel.name" placeholder="角色名称" @keyup.enter="onQuery" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-form :inline="true" @submit.stop.prevent> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-form-item label="角色名称"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <el-input v-model="state.filter.roleName" placeholder="角色名称" @keyup.enter="onQuery" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <el-button type="primary" icon="ele-Search" @click="onQuery"> 查询 </el-button> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -72,9 +72,9 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <el-card shadow="never" :body-style="{ paddingBottom: '0' }" style="margin-top: 8px"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <el-form :model="state.filterModel" :inline="true" @submit.stop.prevent> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <el-form-item label="姓名" prop="name"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <el-input v-model="state.filterModel.name" placeholder="姓名" @keyup.enter="onGetRoleUserList" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-form :inline="true" @submit.stop.prevent> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-form-item label="姓名"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <el-input v-model="state.filter.name" placeholder="姓名" @keyup.enter="onGetRoleUserList" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <el-button type="primary" icon="ele-Search" @click="onGetRoleUserList"> 查询 </el-button> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -113,7 +113,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { ref, reactive, onMounted, getCurrentInstance, onUnmounted, nextTick, defineAsyncComponent } from 'vue' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { RoleGetListOutput, UserGetRoleUserListOutput, UserGetPageOutput, RoleAddRoleUserListInput, RoleType } from '/@/api/admin/data-contracts' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { RoleApi } from '/@/api/admin/Role' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import { listToTree } from '/@/utils/tree' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { listToTree, filterTree } from '/@/utils/tree' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { ElTable } from 'element-plus' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { cloneDeep } from 'lodash-es' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import eventBus from '/@/utils/mitt' 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -140,8 +140,9 @@ const state = reactive({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   userListLoading: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   sureLoading: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   roleFormTitle: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  filterModel: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  filter: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     name: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    roleName: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   roleTreeData: [] as any, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   roleFormTreeData: [] as any, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -166,9 +167,9 @@ const onQuery = async () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     state.loading = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (res && res.data && res.data.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    state.roleTreeData = listToTree(cloneDeep(res.data)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    state.roleTreeData = filterTree(listToTree(cloneDeep(res.data)), state.filter.roleName) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     state.roleFormTreeData = listToTree(cloneDeep(res.data).filter((a) => a.parentId === 0)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (state.roleTreeData[0].children?.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (state.roleTreeData.length > 0 && state.roleTreeData[0].children?.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       nextTick(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         roleTableRef.value!.setCurrentRow(state.roleTreeData[0].children[0]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -218,7 +219,7 @@ const onDelete = (row: RoleGetListOutput) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const onGetRoleUserList = async () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   state.userListLoading = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  const res = await new RoleApi().getRoleUserList({ RoleId: state.roleId }).catch(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const res = await new RoleApi().getRoleUserList({ RoleId: state.roleId, Name: state.filter.name }).catch(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     state.userListLoading = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   state.userListLoading = false 
			 |