修改禅道已知bug

This commit is contained in:
sunFlower
2022-09-30 16:28:44 +08:00
parent 65fa2c9ef9
commit 2ea345a190
2 changed files with 215 additions and 105 deletions
@@ -31,42 +31,45 @@
<a-input-search style="margin-bottom: 8px" :placeholder="$t('NodeQuickLookup')"
v-model="searchModel" @search="onSearch"/>
<div class="drawer-content">
<!-- <virtualNodeTree-->
<!-- :keeps="50"-->
<!-- show-checkbox-->
<!-- v-model="checkboxList"-->
<!-- class="treeWrap"-->
<!-- :props="{-->
<!-- isLeaf: 'leaf'-->
<!-- }"-->
<!-- :check-strictly="false"-->
<!-- node-key="id"-->
<!-- @check-change="handleCheckChange"-->
<!-- :data="gData">-->
<!-- <span slot-scope="{ data }">-->
<!-- <span>{{ data.title }}</span>-->
<!-- </span>-->
<!-- </virtualNodeTree>-->
<a-tree
style="margin-bottom: 60px;height: 600px"
<JLoading :loading="loading">{{$t('dataLoading')}}</JLoading>
<virtualNodeTree
v-if="treeVisible"
checkable
checkStrictly
:loading="loading"
:tree-data="gData"
@check="onCheck"
@expand="onExpand"
v-model:checkedKeys="defaultCheckedKeys"
:defaultExpandedKeys="defaultExpandedKeys"
>
</a-tree>
:keeps="40"
show-checkbox
v-model="checkboxList"
class="treeWrap"
:props="{
isLeaf: 'leaf'
}"
:defaultCheckedKeys="defaultCheckedKeys"
:check-strictly="false"
node-key="id"
@check-change="handleCheckChange"
:data.sync="gData">
<span slot-scope="{ data }">
<span>{{ data.title }}</span>
</span>
</virtualNodeTree>
<!-- <a-tree-->
<!-- style="margin-bottom: 60px;height: 600px"-->
<!-- v-if="treeVisible"-->
<!-- checkable-->
<!-- checkStrictly-->
<!-- :loading="loading"-->
<!-- :tree-data="gData"-->
<!-- @check="onCheck"-->
<!-- @expand="onExpand"-->
<!-- v-model:checkedKeys="defaultCheckedKeys"-->
<!-- :defaultExpandedKeys="defaultExpandedKeys"-->
<!-- >-->
<!-- </a-tree>-->
</div>
<div class="drawer-bootom-button">
<a-button @click="handleCancel" style="margin-right: 16px">{{$t('cancel')}}</a-button>
<a-button @click="handleSubmit" type="primary">{{$t('submit')}}</a-button>
</div>
</a-drawer>
</div>
</template>
@@ -78,13 +81,13 @@
export default {
name: 'index',
props: ['query', 'value', 'personneQuery', 'isSingleChoice', 'isInput', 'isClass', 'isDelete', 'disabled'],
props: ['query', 'value', 'personneQuery', 'isSingleChoice', 'isInput', 'isClass', 'isDelete', 'disabled', 'selectDepartment'],
components: {
virtualNodeTree
},
data() {
return {
loading: true,
loading: false,
gData: [],
autoExpandParent: true,
checkboxList: [],
@@ -99,7 +102,8 @@
defaultExpandedKeys: [],
defaultCheckedKeys: [],
defaultCheckedKeysName: [],
content: []
content: [],
dataList: []
}
},
mounted() {
@@ -107,23 +111,69 @@
},
methods: {
handleCheckChange(val, checked, indeterminate) {
console.log(val)
console.log(this.checkboxList)
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.userIds = []
this.userName = []
this.userIds = []
let gData = localStorage.getItem('gData')
// if (gData) {
// this.gData = this.toTree(JSON.parse(gData))
// this.treeVisible = true
// } else {
this.queryDepartUserTreeList(1)
// }
this.visible = true
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.treeVisible = true
} else {
this.queryDepartUserTreeList(1)
}
}, 200)
},
//将数据拼成树形结构
toTree(config) {
@@ -233,6 +283,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 只能查找到第一个
})
this.$emit('input', userName.join(','))
this.$emit('change', this.query.db_field_name, userIds.join(','), this.query.subscript)
this.visible = false
@@ -250,88 +306,132 @@
this.defaultCheckedKeys = []
},
onSearch(e) {
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
this.loading = true
// this.treeVisible = false
let p = new Promise((resolve, reject) => {
resolve()
})
},
onExpand(selectedKeys, val) {
if (this.searchModel == '' || !this.searchModel) {
if (val.expanded) {
if (this.departId == val.node.value) {
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)) {
content.push(res)
}
} else if (res.type == 'Depart') {
content.push(res)
}
})
this.gData = this.toTree(content)
} else {
this.departId = val.node.value
this.queryDepartUserTreeList(2)
this.gData = this.toTree(JSON.parse(gData))
}
}
}
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
postAction('sys/user/queryDepartUserTreeList', {
departId: this.departId,
json: gData,
flag: '1'
getAction('sys/user/queryUserTreeList', {
// 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.gData = 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)
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.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.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.treeVisible = true
} else {
@@ -378,6 +478,7 @@
.drawer-content {
height: calc(100% - 60px);
overflow: auto;
position: relative;
}
.my-tree {
+9
View File
@@ -142,6 +142,14 @@ const user = {
//Vue.ls.set(USER_AUTH,authData);
sessionStorage.setItem(USER_AUTH, JSON.stringify(authData))
sessionStorage.setItem(SYS_BUTTON_AUTH, JSON.stringify(allAuthData))
let gData = localStorage.getItem('gData')
if (!gData) {
getAction('sys/user/queryUserTreeList', {}).then((res) => {
if (res.success) {
localStorage.setItem('gData', JSON.stringify(res.result))
}
})
}
if (menuData && menuData.length > 0) {
//update--begin--autor:qinfeng-----date:20200109------forJEECG-63 一级菜单的子菜单全部是隐藏路由,则一级菜单不显示------
menuData.forEach((item, index) => {
@@ -178,6 +186,7 @@ const user = {
Vue.ls.remove(USER_NAME)
Vue.ls.remove(UI_CACHE_DB_DICT_DATA)
Vue.ls.remove(CACHE_INCLUDED_ROUTES)
localStorage.removeItem('gData')
//console.log('logoutToken: '+ logoutToken)
logout(logoutToken).then(() => {
if (process.env.VUE_APP_SSO == 'true') {