|
@@ -5,12 +5,18 @@
|
|
|
<el-dialog v-model="transferModals" title="分享" width="40%" :close-on-click-modal="false">
|
|
|
<div class="transBox">
|
|
|
<div class="allBag">
|
|
|
- <el-input style="width: 220px;margin-left: 18px;margin-top:5px" v-model="allBag"
|
|
|
- @blur="searchPeople" placeholder="搜索"></el-input>
|
|
|
+ <div style="position: relative;">
|
|
|
+ <el-input style="width: 220px;margin-left: 18px;margin-top:5px" v-model="allBag"
|
|
|
+ @keyup.enter="searchPeople" placeholder="搜索"></el-input>
|
|
|
+ <el-icon @click="searchPeople" style="position: absolute;top: 13px;left: 210px;">
|
|
|
+ <Search />
|
|
|
+ </el-icon>
|
|
|
+ </div>
|
|
|
<div class="allLog">
|
|
|
- <el-tree ref="treeRef" :data="allTreeData" :props="allTreeProps" show-checkbox node-key="id"
|
|
|
- :default-expanded-keys="openTree" @check-change="allTreeChange"
|
|
|
+ <el-tree v-if="have" ref="treeRef" :data="allTreeData" :props="allTreeProps" show-checkbox
|
|
|
+ node-key="id" :default-expanded-keys="openTree" @check-change="allTreeChange"
|
|
|
:default-checked-keys="backScreen" :check-strictly="false" />
|
|
|
+ <span v-else>暂无数据</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="needBag">
|
|
@@ -21,8 +27,8 @@
|
|
|
</div>
|
|
|
<div class="needLog">
|
|
|
<el-scrollbar height="349px">
|
|
|
- <el-tag v-for="(item, index) in chooseTagData" :key="index" class="tagtag"
|
|
|
- :closable="lastPeople" @close="handleClose(item)">
|
|
|
+ <el-tag v-for="(item, index) in chooseTagData" :key="index" class="tagtag" :closable="true"
|
|
|
+ @close="handleClose(item)">
|
|
|
{{ item.userName ? item.userName : item.name }}
|
|
|
</el-tag>
|
|
|
</el-scrollbar>
|
|
@@ -88,6 +94,8 @@ export default {
|
|
|
let needTagData = ref([])
|
|
|
let backScreen = ref([])
|
|
|
let lastPeople = ref(false)
|
|
|
+ let allCancel = ref(false)
|
|
|
+ let have = ref(true)
|
|
|
function allTeam() {
|
|
|
if (result) {
|
|
|
transferModals.value = result
|
|
@@ -95,7 +103,7 @@ export default {
|
|
|
}
|
|
|
// 分享穿梭框
|
|
|
function allTreeChange(e) {
|
|
|
- console.log('触发了change事件');
|
|
|
+ // console.log('触发了change事件'+ 1++);
|
|
|
const id = e.id;
|
|
|
const label = e.label;
|
|
|
const disabled = e.disabled;
|
|
@@ -198,9 +206,6 @@ export default {
|
|
|
}
|
|
|
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 数组不包含重复元素
|
|
|
chooseTagData.value = res;
|
|
|
backScreen.value = chooseTagData.value.map(item => {
|
|
|
return item.userId
|
|
@@ -216,12 +221,14 @@ export default {
|
|
|
function cleanPeople() {
|
|
|
treeRef.value.setCheckedKeys([]);
|
|
|
chooseTagData.value = [];
|
|
|
- ElMessage({
|
|
|
- message: "再次点击以完全清空",
|
|
|
- type: "warning",
|
|
|
- duration: 1000
|
|
|
+ setTimeout(() => {
|
|
|
+ antherClean()
|
|
|
})
|
|
|
}
|
|
|
+ function antherClean() {
|
|
|
+ treeRef.value.setCheckedKeys([]);
|
|
|
+ chooseTagData.value = [];
|
|
|
+ }
|
|
|
function searchInTreeData(treeData, searchValue) {
|
|
|
const foundItems = [];
|
|
|
function traverseTree(node) {
|
|
@@ -239,11 +246,14 @@ export default {
|
|
|
let treeNew = allTreeData.value
|
|
|
if (allBag.value == '') {
|
|
|
getAllUser()
|
|
|
+ have.value = true
|
|
|
} else {
|
|
|
const foundData = searchInTreeData(allTreeData.value, allBag.value);
|
|
|
if (foundData.length > 0) {
|
|
|
+ have.value = true
|
|
|
allTreeData.value = foundData
|
|
|
} else {
|
|
|
+ have.value = false
|
|
|
allTreeData.value = treeNew
|
|
|
}
|
|
|
}
|
|
@@ -255,11 +265,20 @@ export default {
|
|
|
}
|
|
|
function handleClose(tag) {
|
|
|
chooseTagData.value.splice(chooseTagData.value.indexOf(tag), 1);
|
|
|
- // 从标签中获取 userId
|
|
|
- // const userId = tag.userId;
|
|
|
- // 从 chooseTagData 中筛选出不包含当前 userId 的标签
|
|
|
- // chooseTagData.value = chooseTagData.value.filter(item => item.userId !== userId)
|
|
|
-
|
|
|
+ let result = chooseTagData.value.map((item) => {
|
|
|
+ return item.userId
|
|
|
+ })
|
|
|
+ treeRef.value.setCheckedKeys(result);
|
|
|
+ setTimeout(() => {
|
|
|
+ antherClose(tag)
|
|
|
+ }, 10)
|
|
|
+ }
|
|
|
+ function antherClose(tag) {
|
|
|
+ chooseTagData.value.splice(chooseTagData.value.indexOf(tag), 1);
|
|
|
+ let result = chooseTagData.value.map((item) => {
|
|
|
+ return item.userId
|
|
|
+ })
|
|
|
+ treeRef.value.setCheckedKeys(result);
|
|
|
}
|
|
|
onMounted(() => {
|
|
|
allTeam()
|
|
@@ -287,6 +306,7 @@ export default {
|
|
|
cleanPeople,
|
|
|
treeRef,
|
|
|
searchPeople,
|
|
|
+ have,
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -314,14 +334,16 @@ export default {
|
|
|
|
|
|
.allBag {
|
|
|
width: 255px;
|
|
|
- height: 380px;
|
|
|
+ height: 400px;
|
|
|
border: 1px solid green;
|
|
|
+ overflow-y: auto;
|
|
|
}
|
|
|
|
|
|
.needBag {
|
|
|
width: 255px;
|
|
|
- height: 380px;
|
|
|
+ height: 400px;
|
|
|
border: 1px solid green;
|
|
|
+ overflow-y: auto;
|
|
|
}
|
|
|
|
|
|
.allLog {
|
|
@@ -330,6 +352,7 @@ export default {
|
|
|
margin: 5px auto;
|
|
|
/* border: 1px solid red; */
|
|
|
overflow-y: auto;
|
|
|
+ text-align: center;
|
|
|
}
|
|
|
|
|
|
.needBag_top {
|
|
@@ -352,4 +375,8 @@ export default {
|
|
|
:deep(.el-icon el-tag__close) {
|
|
|
display: block;
|
|
|
}
|
|
|
+
|
|
|
+:deep(.el-scrollbar__wrap .el-scrollbar__wrap--hidden-default) {
|
|
|
+ height: 346px !important;
|
|
|
+}
|
|
|
</style>
|