Compare commits

...

2 Commits

2 changed files with 998 additions and 966 deletions

View File

@ -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) {