|
@@ -6,7 +6,7 @@
|
|
|
<div class="transBox">
|
|
|
<div class="allBag">
|
|
|
<el-input style="width: 220px;margin-left: 18px;margin-top:5px" v-model="allBag"
|
|
|
- placeholder="搜索"></el-input>
|
|
|
+ @blur="searchPeople" placeholder="搜索"></el-input>
|
|
|
<div class="allLog">
|
|
|
<el-tree ref="treeRef" :data="allTreeData" :props="allTreeProps" show-checkbox node-key="id"
|
|
|
:default-expanded-keys="openTree" @check-change="allTreeChange"
|
|
@@ -16,16 +16,16 @@
|
|
|
<div class="needBag">
|
|
|
<div style="border-bottom: 1px solid gray;" class="needBag_top">
|
|
|
<span>已选择{{ chooseTagData.length }}人</span>
|
|
|
- <span style="color: red;font-size: 14px;float: right;">清空</span>
|
|
|
+ <span style="color: red;font-size: 14px;float: right;cursor: pointer;"
|
|
|
+ @click="cleanPeople">清空</span>
|
|
|
</div>
|
|
|
<div class="needLog">
|
|
|
- <el-scrollbar height="349px">
|
|
|
- <el-tag v-for="(item, index) in chooseTagData" :key="index" class="tagtag"
|
|
|
+ <el-scrollbar height="349px">
|
|
|
+ <el-tag v-for="(item, index) in chooseTagData" :key="index" class="tagtag"
|
|
|
:closable="lastPeople" @close="handleClose(item)">
|
|
|
{{ item.userName ? item.userName : item.name }}
|
|
|
- </el-tag>
|
|
|
- </el-scrollbar>
|
|
|
-
|
|
|
+ </el-tag>
|
|
|
+ </el-scrollbar>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -81,6 +81,7 @@ export default {
|
|
|
disabled: false,
|
|
|
id: "id"
|
|
|
}
|
|
|
+ let treeRef = ref(null)
|
|
|
let openTree = ref([])
|
|
|
let chooseTagData = ref([])
|
|
|
let allBag = ref('')
|
|
@@ -94,6 +95,7 @@ export default {
|
|
|
}
|
|
|
// 分享穿梭框
|
|
|
function allTreeChange(e) {
|
|
|
+ console.log('触发了change事件');
|
|
|
const id = e.id;
|
|
|
const label = e.label;
|
|
|
const disabled = e.disabled;
|
|
@@ -104,15 +106,15 @@ export default {
|
|
|
chooseTagData.value.splice(existingIndex, 1);
|
|
|
} else {
|
|
|
// 选择操作,将数据添加到 needTagData 中
|
|
|
- chooseTagData.value.push({ userId: id, userName: label ,disabled:disabled});
|
|
|
+ chooseTagData.value.push({ userId: id, userName: label, disabled: disabled });
|
|
|
}
|
|
|
if (chooseTagData.value.length === 1) {
|
|
|
lastPeople.value = true
|
|
|
} else {
|
|
|
lastPeople.value = false
|
|
|
}
|
|
|
- chooseTagData.value = chooseTagData.value.filter(item=>!item.disabled)
|
|
|
- console.log('chooseTagData',chooseTagData.value);
|
|
|
+ chooseTagData.value = chooseTagData.value.filter(item => !item.disabled)
|
|
|
+ // console.log('chooseTagData初始数组',chooseTagData.value);
|
|
|
}
|
|
|
// 确认分享
|
|
|
function sureShare() {
|
|
@@ -166,9 +168,7 @@ export default {
|
|
|
}
|
|
|
// 获取用户树
|
|
|
function getAllUser() {
|
|
|
- console.log('feeh',feeh);
|
|
|
userTree.getUserTree({}).then(res => {
|
|
|
- console.log('userTree',res);
|
|
|
allTreeData.value = [res]
|
|
|
userTree.getUserTree({}).then(res => {
|
|
|
allTreeData.value = [res];
|
|
@@ -196,8 +196,8 @@ export default {
|
|
|
})
|
|
|
})
|
|
|
}
|
|
|
- if(feeh === 0){
|
|
|
- fileCount.getActor(dees).then(res => {
|
|
|
+ if (feeh === 0) {
|
|
|
+ fileCount.getActor(dees).then(res => {
|
|
|
// 去除数组内部的重复元素
|
|
|
// const uniqueRes = Array.from(new Set(res.map(item => item.userName))).map(id => res.find(item => item.userName === id));
|
|
|
// 现在的 uniqueRes 数组不包含重复元素
|
|
@@ -213,6 +213,42 @@ export default {
|
|
|
}
|
|
|
|
|
|
}
|
|
|
+ function cleanPeople() {
|
|
|
+ treeRef.value.setCheckedKeys([]);
|
|
|
+ chooseTagData.value = [];
|
|
|
+ ElMessage({
|
|
|
+ message: "再次点击以完全清空",
|
|
|
+ type: "warning",
|
|
|
+ duration: 1000
|
|
|
+ })
|
|
|
+ }
|
|
|
+ function searchInTreeData(treeData, searchValue) {
|
|
|
+ const foundItems = [];
|
|
|
+ function traverseTree(node) {
|
|
|
+ if (node.label.includes(searchValue)) {
|
|
|
+ foundItems.push(node);
|
|
|
+ }
|
|
|
+ if (node.children) {
|
|
|
+ node.children.forEach(childNode => traverseTree(childNode));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ treeData.forEach(node => traverseTree(node));
|
|
|
+ return foundItems;
|
|
|
+ }
|
|
|
+ function searchPeople() {
|
|
|
+ let treeNew = allTreeData.value
|
|
|
+ if (allBag.value == '') {
|
|
|
+ getAllUser()
|
|
|
+ } else {
|
|
|
+ const foundData = searchInTreeData(allTreeData.value, allBag.value);
|
|
|
+ if (foundData.length > 0) {
|
|
|
+ allTreeData.value = foundData
|
|
|
+ } else {
|
|
|
+ allTreeData.value = treeNew
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
function getBack() {
|
|
|
transferModals.value = false
|
|
|
emit("getCback", transferModals.value)
|
|
@@ -248,6 +284,9 @@ export default {
|
|
|
lastPeople,
|
|
|
feeh,
|
|
|
backToFather: getBack,
|
|
|
+ cleanPeople,
|
|
|
+ treeRef,
|
|
|
+ searchPeople,
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -292,15 +331,18 @@ export default {
|
|
|
/* border: 1px solid red; */
|
|
|
overflow-y: auto;
|
|
|
}
|
|
|
-.needBag_top{
|
|
|
+
|
|
|
+.needBag_top {
|
|
|
padding: 0 10px;
|
|
|
height: 30px;
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
justify-content: space-between;
|
|
|
}
|
|
|
-.needLog{
|
|
|
+
|
|
|
+.needLog {
|
|
|
height: 100%;
|
|
|
+ overflow-y: auto;
|
|
|
}
|
|
|
|
|
|
:deep(.el-tag__content) {
|