diff --git a/jero-web/src/components/PersonnelSelection/index.vue b/jero-web/src/components/PersonnelSelection/index.vue index bfd786a92..43b6f4b88 100644 --- a/jero-web/src/components/PersonnelSelection/index.vue +++ b/jero-web/src/components/PersonnelSelection/index.vue @@ -32,40 +32,40 @@ v-model="searchModel" @search="onSearch"/>
{{$t('dataLoading')}} - - - - {{ data.title }} - - - - - + - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + +
{{$t('cancel')}} @@ -114,101 +114,102 @@ }, methods: { - handleCheckChange(val, checked, indeterminate) { - if (checked) { - this.userName.push(val.title) - this.userIds.push(val.id) - } else { - for (let i = 0; i < this.userName.length; i++) { - if (this.userName[i] == val.title) { - this.userName.splice(i, 1) - i-- - } - } - for (let i = 0; i < this.userIds.length; i++) { - if (this.userIds[i] == val.id) { - this.userIds.splice(i, 1) - i-- - } - } - } - }, + // handleCheckChange(val, checked, indeterminate) { + // if (checked) { + // this.userName.push(val.title) + // this.userIds.push(val.id) + // } else { + // for (let i = 0; i < this.userName.length; i++) { + // if (this.userName[i] == val.title) { + // this.userName.splice(i, 1) + // i-- + // } + // } + // for (let i = 0; i < this.userIds.length; i++) { + // if (this.userIds[i] == val.id) { + // this.userIds.splice(i, 1) + // i-- + // } + // } + // } + // }, standardClick() { - this.visible = true this.treeVisible = false this.departId = '' this.searchModel = '' - this.userName = [] this.userIds = [] - let gData = localStorage.getItem('gData') - if (gData) { - let dataList = JSON.parse(gData) - if (!this.selectDepartment) { - dataList.forEach(res => { - if (res.type == 'Depart') { - res.disabled = true - } - }) - } - this.dataList = this.toTree(dataList) - } - setTimeout(() => { - if (gData) { - this.gData = this.dataList - this.gData = [...this.gData] - // this.treeVisible = true - if (this.personneQuery[this.query.db_field_name + 'Name']) { - this.userName = this.personneQuery[this.query.db_field_name + 'Name'].split(',') - } else if (this.personneQuery[this.query.db_field_name]) { - this.userName = this.personneQuery[this.query.db_field_name].split(',') - } else { - this.userName = [] - } - if (this.personneQuery[this.query.db_field_name + '_id']) { - this.userIds = this.personneQuery[this.query.db_field_name + '_id'].split(',') - } else if (this.personneQuery[this.query.db_field_name]) { - this.userIds = this.personneQuery[this.query.db_field_name].split(',') - } else { - this.userIds = [] - } - this.defaultCheckedKeys = this.userIds - this.defaultCheckedKeys = [...this.defaultCheckedKeys] - this.defaultExpandAll = false - this.treeVisible = true - } else { - this.queryDepartUserTreeList(1) - } - }, 200) + this.userName = [] + this.queryDepartUserTreeList(1) + this.visible = true + // let gData = localStorage.getItem('gData') + // if (gData) { + // let dataList = JSON.parse(gData) + // if (!this.selectDepartment) { + // dataList.forEach(res => { + // if (res.type == 'Depart') { + // res.disabled = true + // } + // }) + // } + // this.dataList = this.toTree(dataList) + // } + // setTimeout(() => { + // if (gData) { + // this.gData = this.dataList + // this.gData = [...this.gData] + // // this.treeVisible = true + // if (this.personneQuery[this.query.db_field_name + 'Name']) { + // this.userName = this.personneQuery[this.query.db_field_name + 'Name'].split(',') + // } else if (this.personneQuery[this.query.db_field_name]) { + // this.userName = this.personneQuery[this.query.db_field_name].split(',') + // } else { + // this.userName = [] + // } + // if (this.personneQuery[this.query.db_field_name + '_id']) { + // this.userIds = this.personneQuery[this.query.db_field_name + '_id'].split(',') + // } else if (this.personneQuery[this.query.db_field_name]) { + // this.userIds = this.personneQuery[this.query.db_field_name].split(',') + // } else { + // this.userIds = [] + // } + // this.defaultCheckedKeys = this.userIds + // this.defaultCheckedKeys = [...this.defaultCheckedKeys] + // this.defaultExpandAll = false + // this.treeVisible = true + // } else { + // this.queryDepartUserTreeList(1) + // } + // }, 200) }, //将数据拼成树形结构 - toTree(config) { - // 删除 所有 children,以防止多次调用 - config.forEach(function(item) { - delete item.children - }) - // 将数据存储为 以 id 为 KEY 的 map 索引数据列 - let map = {} - config.forEach((item) => { - item.label = item.name - item.key = item.id - - item.title = item.name + (item.itemName ? ' ' + item.itemName : '') - map[item.id] = item - }) - let val = [] - config.forEach((item) => { - // 以当前遍历项,的pid,去map对象中找到索引的id - let parent = map[item.parentId] - // 如果找到索引,那么说明此项不在顶级当中,那么需要把此项添加到,他对应的父级中 - if (parent) { - (parent.children || (parent.children = [])).push(item) - } else { - //如果没有在map中找到对应的索引ID,那么直接把 当前的item添加到 val结果集中,作为顶级 - val.push(item) - } - }) - return val - }, + // toTree(config) { + // // 删除 所有 children,以防止多次调用 + // config.forEach(function(item) { + // delete item.children + // }) + // // 将数据存储为 以 id 为 KEY 的 map 索引数据列 + // let map = {} + // config.forEach((item) => { + // item.label = item.name + // item.key = item.id + // + // item.title = item.name + (item.itemName ? ' ' + item.itemName : '') + // map[item.id] = item + // }) + // let val = [] + // config.forEach((item) => { + // // 以当前遍历项,的pid,去map对象中找到索引的id + // let parent = map[item.parentId] + // // 如果找到索引,那么说明此项不在顶级当中,那么需要把此项添加到,他对应的父级中 + // if (parent) { + // (parent.children || (parent.children = [])).push(item) + // } else { + // //如果没有在map中找到对应的索引ID,那么直接把 当前的item添加到 val结果集中,作为顶级 + // val.push(item) + // } + // }) + // return val + // }, standardDelete() { this.$emit('input', null) this.$forceUpdate() @@ -288,12 +289,12 @@ } let userIds = JSON.parse(JSON.stringify(this.userIds)) let userName = JSON.parse(JSON.stringify(this.userName)) - userName = userName.filter(function(item, index) { - return userName.indexOf(item) === index // 因为indexOf 只能查找到第一个 - }) - userIds = userIds.filter(function(item, index) { - return userIds.indexOf(item) === index // 因为indexOf 只能查找到第一个 - }) + // userName = userName.filter(function(item, index) { + // return userName.indexOf(item) === index // 因为indexOf 只能查找到第一个 + // }) + // userIds = userIds.filter(function(item, index) { + // return userIds.indexOf(item) === index // 因为indexOf 只能查找到第一个 + // }) this.$emit('input', userName.join(',')) this.$emit('change', this.query.db_field_name, userIds.join(','), this.query.subscript) this.visible = false @@ -311,146 +312,146 @@ this.defaultCheckedKeys = [] }, onSearch(e) { - this.loading = true - this.treeVisible = false - let p = new Promise((resolve, reject) => { - resolve() + // this.loading = true + // this.treeVisible = false + // let p = new Promise((resolve, reject) => { + // resolve() + // }) + // p.then(() => { + // let gData = localStorage.getItem('gData') + // let content = [] + // if (gData) { + // if (e) { + // JSON.parse(gData).forEach(res => { + // if (res.type == 'User') { + // if (res.name.includes(e)) { + // res.color = true + // content.push(res) + // } + // } else if (res.type == 'Depart') { + // if (!this.selectDepartment) { + // res.disabled = true + // } + // content.push(res) + // } + // }) + // this.defaultExpandAll = true + // this.gData = this.toTree(content) + // } else { + // let content = JSON.parse(gData) + // if (!this.selectDepartment) { + // content.forEach(res => { + // if (res.type == 'Depart') { + // res.disabled = true + // } + // }) + // } + // this.gData = this.toTree(content) + // this.defaultExpandAll = false + // } + // } + // this.defaultCheckedKeys = this.userIds + // this.defaultCheckedKeys = [...this.defaultCheckedKeys] + // this.treeVisible = true + // this.loading = false + // }) + this.gData = [] + this.departId = '' + this.visibleTree = false + if (e) { + this.getUserAndDepart() + } else { + this.treeVisible = false + this.queryDepartUserTreeList(2) + } + }, + getUserAndDepart() { + getAction('sys/user/getUserAndDepart', { name: this.searchModel }).then((res) => { + if (res) { + this.gData = res.filter(ele => ele.flag === 'DEPART') + } else { + this.gData = [] + } + this.visibleTree = true }) - p.then(() => { - let gData = localStorage.getItem('gData') - let content = [] - if (gData) { - if (e) { - JSON.parse(gData).forEach(res => { - if (res.type == 'User') { - if (res.name.includes(e)) { - res.color = true - content.push(res) - } - } else if (res.type == 'Depart') { - if (!this.selectDepartment) { - res.disabled = true - } - content.push(res) - } - }) - this.defaultExpandAll = true - this.gData = this.toTree(content) + }, + onExpand(selectedKeys, val) { + if (this.searchModel == '' || !this.searchModel) { + if (val.expanded) { + if (this.departId == val.node.value) { } else { - let content = JSON.parse(gData) - if (!this.selectDepartment) { - content.forEach(res => { - if (res.type == 'Depart') { - res.disabled = true - } - }) - } - this.gData = this.toTree(content) - this.defaultExpandAll = false + this.departId = val.node.value + this.queryDepartUserTreeList(2) } } - this.defaultCheckedKeys = this.userIds - this.defaultCheckedKeys = [...this.defaultCheckedKeys] - this.treeVisible = true - this.loading = false - }) - // this.gData = [] - // this.departId = '' - // this.visibleTree = false - // if (e) { - // this.getUserAndDepart() - // } else { - // this.treeVisible = false - // this.queryDepartUserTreeList(2) - // } + } }, - // getUserAndDepart() { - // getAction('sys/user/getUserAndDepart', { name: this.searchModel }).then((res) => { - // if (res) { - // this.gData = res.filter(ele => ele.flag === 'DEPART') - // } else { - // this.gData = [] - // } - // this.visibleTree = true - // }) - // }, - // onExpand(selectedKeys, val) { - // if (this.searchModel == '' || !this.searchModel) { - // if (val.expanded) { - // if (this.departId == val.node.value) { - // } else { - // this.departId = val.node.value - // this.queryDepartUserTreeList(2) - // } - // } - // } - // }, queryDepartUserTreeList(num) { - // let gData = JSON.parse(JSON.stringify(this.gData)) - // if (gData && gData.length > 0) { - // gData = JSON.stringify(gData) - // } else { - // gData = '' - // } + let gData = JSON.parse(JSON.stringify(this.gData)) + if (gData && gData.length > 0) { + gData = JSON.stringify(gData) + } else { + gData = '' + } this.confirmLoading = true this.loading = true //queryDepartUserTreeList //queryUserTreeList - getAction('sys/user/queryUserTreeList', { - // departId: this.departId, - // json: gData, - // flag: '1' + postAction('sys/user/queryDepartUserTreeList', { + departId: this.departId, + json: gData, + flag: '1' }).then((res) => { this.confirmLoading = false if (res.success) { this.loading = false // localStorage.setItem('gData', JSON.stringify(res.result)) // this.toTree(dataList) - let content = JSON.parse(JSON.stringify(res.result)) - if (!this.selectDepartment) { - res.result.forEach(res => { - if (res.type == 'Depart') { - res.disabled = true - } - }) - } - localStorage.removeItem('gData') - localStorage.setItem('gData', JSON.stringify(content)) - this.gData = this.toTree(res.result) - console.log(this.gData) + // let content = JSON.parse(JSON.stringify(res.result)) + // if (!this.selectDepartment) { + // res.result.forEach(res => { + // if (res.type == 'Depart') { + // res.disabled = true + // } + // }) + // } + // localStorage.removeItem('gData') + // localStorage.setItem('gData', JSON.stringify(content)) + // this.gData = this.toTree(res.result) + this.gData = res.result this.gData = [...this.gData] // this.gData[0].isLeaf = false - // this.defaultExpandedKeys = [this.departId] + this.defaultExpandedKeys = [this.departId] if (num == 1) { - // if (this.userName && this.userName.length == 0) { - if (this.personneQuery[this.query.db_field_name + 'Name']) { - this.userName = this.personneQuery[this.query.db_field_name + 'Name'].split(',') - } else if (this.personneQuery[this.query.db_field_name]) { - this.userName = this.personneQuery[this.query.db_field_name].split(',') - } else { - this.userName = [] + if (this.userName && this.userName.length == 0) { + if (this.personneQuery[this.query.db_field_name + 'Name']) { + this.userName = this.personneQuery[this.query.db_field_name + 'Name'].split(',') + } else if (this.personneQuery[this.query.db_field_name]) { + this.userName = this.personneQuery[this.query.db_field_name].split(',') + } else { + this.userName = [] + } } - // } - // if (this.userIds && this.userIds.length == 0) { - if (this.personneQuery[this.query.db_field_name + '_id']) { - this.userIds = this.personneQuery[this.query.db_field_name + '_id'].split(',') - } else if (this.personneQuery[this.query.db_field_name]) { - this.userIds = this.personneQuery[this.query.db_field_name].split(',') - } else { - this.userIds = [] + if (this.userIds && this.userIds.length == 0) { + if (this.personneQuery[this.query.db_field_name + '_id']) { + this.userIds = this.personneQuery[this.query.db_field_name + '_id'].split(',') + } else if (this.personneQuery[this.query.db_field_name]) { + this.userIds = this.personneQuery[this.query.db_field_name].split(',') + } else { + this.userIds = [] + } } - // } this.defaultCheckedKeys = this.userIds this.defaultCheckedKeys = [...this.defaultCheckedKeys] - // this.defaultCheckedKeysName = [] - // if (this.defaultCheckedKeys.length > 0) { - // for (let i = 0; i < this.defaultCheckedKeys.length; i++) { - // this.defaultCheckedKeysName.push({ - // id: this.defaultCheckedKeys[i], - // name: this.userName[i] - // }) - // } - // } + this.defaultCheckedKeysName = [] + if (this.defaultCheckedKeys.length > 0) { + for (let i = 0; i < this.defaultCheckedKeys.length; i++) { + this.defaultCheckedKeysName.push({ + id: this.defaultCheckedKeys[i], + name: this.userName[i] + }) + } + } } this.defaultExpandAll = false this.treeVisible = true @@ -546,7 +547,8 @@ .treeWrap { height: calc(100vh - 240px); } - .active{ + + .active { color: #21c9cc; display: inline-block; }