diff --git a/src/views/system/modules/UserModal.vue b/src/views/system/modules/UserModal.vue
index 27d42bf..72d4432 100644
--- a/src/views/system/modules/UserModal.vue
+++ b/src/views/system/modules/UserModal.vue
@@ -44,37 +44,44 @@
>
-
-
- {{ item.text }}
-
-
-
-
- {{ item.text }}
-
-
- {{ action.roleName }}
+
+ {{ action.roleName
+ }}
+
-
-
+
+
+ {{ item.text }}
+
+
+
+
+ {{ item.text }}
+
+
+
+
{{ item.text }}
-
+
-
+
{{ item.username }} -{{ item.mobile }}
@@ -135,25 +142,24 @@ export default {
confirmLoading: false,
roleAll: [],
mdl: {},
- data: [],
+ searchUserList: [],
customerList: [],
deptCheck: true,
spinning: false,
tenantData: [],
parkData: [],
- form: this.$form.createForm(this)
+ form: this.$form.createForm(this),
+ selectRoleEnable: false,
+ tenantShow: false,
+ parkShow: false,
+ customerShow: false,
+ selectUserShow: false
}
},
beforeCreate() {
},
created() {
- getCustomerList().then(res => {
- res.rows.forEach(r => {
- this.customerList.push({ value: r.id, text: r.name })
- })
- })
-
- // 租户
+ // 地区
getTenantList().then(res => {
if (res.code === 0) {
res.rows.forEach(r => {
@@ -161,23 +167,134 @@ export default {
})
}
})
- // 获取园区
- getParkList().then(res => {
- if (res.code === 0) {
- res.rows.forEach(r => {
- this.parkData.push({ value: r.id, text: r.name })
- })
- }
- })
this.loadRoleAll()
},
methods: {
+ // 选择角色
+ roleSelectChange(value) {
+ console.log('roleSelectChange', value)
+ // 清空数据
+ this.searchUserList = []
+ // 赋值
+ this.mdl.roleIds = value
+ // 角色判断
+ if (value.length > 0) {
+ this.selectRoleEnable = true
+ // 判断角色
+ if (value[0] == 4) { // 企业:4
+ this.tenantShow = true
+ this.parkShow = true
+ this.customerShow = true
+
+ } else if (value[0] == 5) { // 园区:5
+ this.tenantShow = true
+ this.parkShow = true
+
+ } else {
+ this.tenantShow = false
+ this.parkShow = false
+ this.customerShow = false
+ this.selectUserShow = false
+ }
+
+ } else {
+ this.selectRoleEnable = false
+ //
+ this.tenantShow = false
+ this.parkShow = false
+ this.customerShow = false
+ this.selectUserShow = false
+ }
+ },
+ // 选择地区 -> 查询园区
+ selectTenant(id) {
+ console.log('selectTenant', id)
+ getParkList({
+ tenantId: id
+ }).then(res => {
+ this.parkData = res.rows.map(item => {
+ return {
+ value: item.id,
+ text: item.name
+ }
+ })
+ })
+ // 赋值
+ this.mdl.tenantId = id
+ // 清空数据
+ this.searchUserList = []
+ // 隐藏用户搜索
+ this.selectUserShow = false
+ // 清空园区、企业、用户
+ this.mdl.parkId = null
+ this.mdl.customerId = null
+ this.mdl.staffId = null
+ this.form.setFieldsValue({
+ parkId: null,
+ customerId: null,
+ staffId: null
+ })
+ },
+ // 选择园区 -> 查询企业
+ selectPark(id) {
+ getCustomerList({
+ parkId: id
+ }).then(res => {
+ this.customerList = res.data.map(item => {
+ return {
+ value: item.id,
+ text: item.name
+ }
+ })
+ })
+ // 赋值
+ this.mdl.parkId = id
+ // 清空数据
+ this.searchUserList = []
+ // 清空企业、用户
+ this.mdl.customerId = null
+ this.mdl.staffId = null
+ this.form.setFieldsValue({
+ customerId: null,
+ staffId: null
+ })
+ // 园区角色显示用户并且查询用户
+ console.log('this.mdl.roleIds', this.mdl.roleIds)
+ if (this.mdl.roleIds[0] == 5) {
+ this.selectUserShow = true
+ } else {
+ // 隐藏用户搜索
+ this.selectUserShow = false
+ }
+ },
+ // 选择企业
+ selectEnterprise(id) {
+ // 赋值
+ this.mdl.customerId = id
+ // 显示搜索用户
+ this.selectUserShow = true
+ // 清空数据
+ this.searchUserList = []
+ // 清空用户
+ this.mdl.staffId = null
+ this.form.setFieldsValue({
+ staffId: null
+ })
+ },
handleSearch(value) {
let param = {
mobile: value
+ }
+ // 判断角色
+ if (this.mdl.roleIds[0] == 4) { // 企业:4
+ param.customerId = this.mdl.customerId
+ } else if (this.mdl.roleIds[0] == 5) { // 园区:5
+ param.parkId = this.mdl.parkId
+ } else {
+
}
getStaffList(param).then(res => {
- this.data = res.rows
+ this.searchUserList = res.rows
})
},
handleChange() {
@@ -190,11 +307,12 @@ export default {
this.$nextTick(() => {
this.form.setFieldsValue(pick(this.mdl, 'id', 'username', 'nickname', 'status', 'mobile', 'roleIds', 'staffId', 'customerId', 'remark', 'deptId', 'parkId', 'tenantId'))
})
- let param = {}
- getStaffListByUser(param).then(res => {
- this.data = res.rows
-
- })
+ // 初始化显示
+ this.selectRoleEnable = false
+ this.tenantShow = false
+ this.parkShow = false
+ this.customerShow = false
+ this.selectUserShow = false
},
edit(record) {
if (record.id > 0) {
@@ -202,20 +320,54 @@ export default {
this.spinning = true
getUser(record.id).then(res => {
this.mdl = Object.assign({}, res)
+ let copyMdl = JSON.parse(JSON.stringify(this.mdl))
this.visible = true
this.$nextTick(() => {
this.form.setFieldsValue(pick(this.mdl, 'id', 'username', 'nickname', 'status', 'mobile', 'roleIds', 'customerId', 'staffId', 'remark', 'deptId', 'parkId', 'tenantId'))
this.spinning = false
// this.form.setFieldsValue({ ...record })
- // 查询 选择用户
- getStaffListByUser({
- staffId: this.mdl.staffId
- }).then(res => {
- console.log('edit getStaffListByUser', res)
- this.data = res.rows
- })
})
+ // 判断角色
+ if (this.mdl.roleIds[0] == 4) { // 企业:4
+ // 选择地区 -> 查询园区
+ this.mdl = JSON.parse(JSON.stringify(copyMdl))
+ this.selectTenant(copyMdl.tenantId)
+ // 选择园区 -> 查询企业
+ this.mdl = JSON.parse(JSON.stringify(copyMdl))
+ this.selectPark(copyMdl.parkId)
+ // 查询用户
+ this.mdl = JSON.parse(JSON.stringify(copyMdl))
+ this.handleSearch(copyMdl.staffPhone)
+ // 赋值
+ this.mdl.customerId = copyMdl.customerId
+ this.mdl.staffId = copyMdl.staffId
+ // 显示
+ this.tenantShow = true
+ this.parkShow = true
+ this.customerShow = true
+ this.selectUserShow = true
+ } else if (this.mdl.roleIds[0] == 5) { // 园区:5
+ // 选择地区 -> 查询园区
+ this.mdl = JSON.parse(JSON.stringify(copyMdl))
+ this.selectTenant(copyMdl.tenantId)
+ // 查询用户
+ this.mdl = JSON.parse(JSON.stringify(copyMdl))
+ this.handleSearch(copyMdl.staffPhone)
+ // 赋值
+ this.mdl.staffId = copyMdl.staffId
+ // 显示
+ this.tenantShow = true
+ this.parkShow = true
+ this.customerShow = false
+ this.selectUserShow = true
+
+ } else {
+ this.tenantShow = false
+ this.parkShow = false
+ this.customerShow = false
+ this.selectUserShow = false
+ }
})
}
},