Compare commits
2 Commits
71d2968717
...
455542886a
| Author | SHA1 | Date |
|---|---|---|
|
|
455542886a | |
|
|
6a4ccbd90d |
|
|
@ -209,23 +209,29 @@
|
|||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="归属部门" prop="deptId">
|
||||
<treeselect v-model="form.deptId" :searchable="false" :disable-branch-nodes="true" :options="deptOptions"
|
||||
:show-count="true" placeholder="请选择归属部门"
|
||||
/>
|
||||
<el-form-item label="手机号码" prop="phonenumber">
|
||||
<el-input v-model="form.phonenumber" placeholder="请输入手机号码" maxlength="11"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="手机号码" prop="phonenumber">
|
||||
<el-input v-model="form.phonenumber" placeholder="请输入手机号码" maxlength="11"/>
|
||||
<el-form-item label="归属部门" prop="deptId">
|
||||
<treeselect v-model="form.deptId" :searchable="false" :disable-branch-nodes="true" :options="deptOptions"
|
||||
:show-count="true" placeholder="请选择归属部门" @input="handleDeptChange"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="邮箱" prop="email">
|
||||
<el-input v-model="form.email" placeholder="请输入邮箱" maxlength="50"/>
|
||||
<el-form-item label="所属组织">
|
||||
<treeselect
|
||||
v-model="form.orgId"
|
||||
:options="orgDeptTree"
|
||||
placeholder="请选择所属组织部门"
|
||||
:normalizer="orgDeptNormalizer"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
|
|
@ -358,8 +364,9 @@ import {
|
|||
updateUser,
|
||||
resetUserPwd,
|
||||
changeUserStatus,
|
||||
deptTreeSelect, approvalStatus, confirmPassword
|
||||
deptTreeSelect, approvalStatus, confirmPassword, listDeptByOrgId
|
||||
} from '@/api/system/user'
|
||||
import { listOrgTreeSimple } from '@/api/system/newdept'
|
||||
import {getToken} from '@/utils/auth'
|
||||
import Treeselect from '@riophae/vue-treeselect'
|
||||
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
|
||||
|
|
@ -371,6 +378,7 @@ export default {
|
|||
components: {Treeselect},
|
||||
data() {
|
||||
return {
|
||||
orgDeptTree: [],
|
||||
// 1. 存储选中的部门ID(关键)
|
||||
selectedDeptId: undefined,
|
||||
// 2. 存储选中的部门名称(可选,用于回显更友好)
|
||||
|
|
@ -406,12 +414,16 @@ export default {
|
|||
postOptions: [],
|
||||
// 角色选项
|
||||
roleOptions: [],
|
||||
// 组织选项
|
||||
orgOptions: [],
|
||||
// 登录权限数组
|
||||
loginTypeArr: [],
|
||||
// 角色下拉多选限制数量
|
||||
multipleLimit: 1,
|
||||
// 表单参数
|
||||
form: {},
|
||||
form: {
|
||||
orgId: undefined
|
||||
},
|
||||
defaultProps: {
|
||||
children: 'children',
|
||||
label: 'label'
|
||||
|
|
@ -459,13 +471,6 @@ export default {
|
|||
nickName: [
|
||||
{required: true, message: '用户昵称不能为空', trigger: 'blur'}
|
||||
],
|
||||
email: [
|
||||
{
|
||||
type: 'email',
|
||||
message: '请输入正确的邮箱地址',
|
||||
trigger: ['blur', 'change']
|
||||
}
|
||||
],
|
||||
deptId: [{required: true, message: '请选择归属部门', trigger: 'blur'}],
|
||||
phonenumber: [
|
||||
{required: true, message: '手机号不能为空', trigger: 'blur'},
|
||||
|
|
@ -514,6 +519,13 @@ export default {
|
|||
})
|
||||
},
|
||||
methods: {
|
||||
orgDeptNormalizer(node) {
|
||||
return {
|
||||
id: node.id,
|
||||
label: node.orgName, // 关键在这里
|
||||
children: node.children
|
||||
}
|
||||
},
|
||||
/* 手机号码脱敏 */
|
||||
hidePhone(phone) {
|
||||
if (!phone) return '';
|
||||
|
|
@ -564,6 +576,15 @@ export default {
|
|||
this.selectedDeptId = data.id; // 保存ID
|
||||
this.selectedDeptName = data.label; // 保存名称(可选)
|
||||
this.handleQuery()
|
||||
},
|
||||
// 归属部门变化时,获取归属组织选项
|
||||
handleDeptChange(deptId) {
|
||||
if (!deptId) return;
|
||||
listDeptByOrgId(deptId).then(res => {
|
||||
this.orgDeptTree = res.rows || [];
|
||||
console.log(JSON.stringify( res.rows))
|
||||
console.log("所属组织部门树:", this.orgDeptTree);
|
||||
});
|
||||
},
|
||||
//用户审批状态修改
|
||||
handleApprovalStatus(row) {
|
||||
|
|
@ -596,6 +617,7 @@ export default {
|
|||
this.form = {
|
||||
userId: undefined,
|
||||
deptId: undefined,
|
||||
orgId: undefined,
|
||||
userName: undefined,
|
||||
nickName: undefined,
|
||||
password: undefined,
|
||||
|
|
@ -609,6 +631,7 @@ export default {
|
|||
roleId: null,
|
||||
loginType: null
|
||||
}
|
||||
this.orgOptions = []
|
||||
this.resetForm('form')
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
|
|
@ -670,6 +693,8 @@ export default {
|
|||
// 强制触发响应式更新(解决偶发的treeselect不回显问题)
|
||||
this.$nextTick(() => {
|
||||
this.$forceUpdate();
|
||||
// 触发获取归属组织
|
||||
this.handleDeptChange(this.selectedDeptId);
|
||||
});
|
||||
}
|
||||
})
|
||||
|
|
@ -692,6 +717,13 @@ export default {
|
|||
this.open = true
|
||||
this.title = '修改用户'
|
||||
this.form.password = ''
|
||||
|
||||
// 修改时也要获取归属组织选项
|
||||
if (this.form.deptId) {
|
||||
this.$nextTick(() => {
|
||||
this.handleDeptChange(this.form.deptId)
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
confirmPassword(row) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue