fix : 修复人员取消功能
This commit is contained in:
@@ -15,7 +15,7 @@
|
||||
<div class="tree">
|
||||
<el-tree :data="dataList" ref="tree" :props="defaultProps" empty-text="" node-key="value"
|
||||
:default-expanded-keys="expandedKeys" lazy :load="loadNode" accordion
|
||||
@node-click="handleClick">
|
||||
@node-click="handleClickTreeNode">
|
||||
<template #default="{ node, data }">
|
||||
<div class="tree-node">
|
||||
<div v-if="data.type === 0" style="display: flex;align-items: center;padding: 3px 0">
|
||||
@@ -54,7 +54,7 @@
|
||||
<UserFilled/>
|
||||
</el-icon>
|
||||
{{ selectItem.name }}-{{ selectItem.companyName }}
|
||||
<el-icon @click="noSelected(selectItem)" size="20" style="margin-left: 10px;cursor: pointer;">
|
||||
<el-icon @click="removeSingleSelected(selectItem)" size="20" style="margin-left: 10px;cursor: pointer;">
|
||||
<CircleClose/>
|
||||
</el-icon>
|
||||
</div>
|
||||
@@ -62,7 +62,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<el-button size="mini" @click="visible = false">取 消</el-button>
|
||||
<el-button size="mini" @click="cancelUserPicker">取 消</el-button>
|
||||
<el-button size="mini" color="#DED0B2" @click="selectConfirm">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
@@ -113,6 +113,8 @@ const title = ref("请选择");
|
||||
const selectList = ref([]);
|
||||
const filterText = ref("");
|
||||
const dataList = ref([]);
|
||||
const isRemoveSingleSelected = ref(false);
|
||||
const originallySelectedList = ref([]);
|
||||
const tree = ref([]);
|
||||
const isSearch = ref(false);
|
||||
const expandedKeys = ref([]);
|
||||
@@ -171,7 +173,7 @@ async function loadNode(node, resolve) {
|
||||
if (data.id) {
|
||||
params = {
|
||||
chooseId: data.id,
|
||||
isResearch: props.isResearch
|
||||
isResearch: props.isResearch
|
||||
}
|
||||
} else {
|
||||
params = {
|
||||
@@ -190,7 +192,7 @@ async function loadNode(node, resolve) {
|
||||
}
|
||||
|
||||
|
||||
const handleClick = (item, data) => {
|
||||
const handleClickTreeNode = (item, data) => {
|
||||
selectItem = item;
|
||||
if (isSearch.value && item.type !== 0) {
|
||||
filterText.value = ""
|
||||
@@ -224,24 +226,25 @@ const handleClick = (item, data) => {
|
||||
selectList.value = [item];
|
||||
}
|
||||
}
|
||||
localStorage.setItem('originallySelectedList', JSON.stringify(selectList.value))
|
||||
};
|
||||
|
||||
const noSelected = (selectItem) => {
|
||||
const removeSingleSelected = (selectItem) => {
|
||||
//右侧的x
|
||||
for (let i = 0; i < selectList.value.length; i++) {
|
||||
if(selectItem.value){
|
||||
for (let i = 0; i < selectList.value?.length; i++) {
|
||||
if (selectItem.value) {
|
||||
if (selectList.value[i].value === selectItem.value) {
|
||||
selectList.value.splice(i, 1);
|
||||
break;
|
||||
}
|
||||
}else{
|
||||
} else {
|
||||
if (selectList.value[i].id === selectItem.id) {
|
||||
selectList.value.splice(i, 1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
isRemoveSingleSelected.value = true
|
||||
selectItem.selected = false;
|
||||
};
|
||||
const clearSelected = () => {
|
||||
@@ -251,9 +254,23 @@ const clearSelected = () => {
|
||||
cancelButtonText: "取消",
|
||||
type: "warning"
|
||||
}).then(() => {
|
||||
isRemoveSingleSelected.value = true
|
||||
selectList.value = [];
|
||||
emit("cancelOrClear", selectList.value);
|
||||
});
|
||||
};
|
||||
const cancelUserPicker = () => {
|
||||
if (isRemoveSingleSelected.value&&localStorage.getItem('originallySelectedList')) {
|
||||
selectList.value = JSON.parse(localStorage.getItem('originallySelectedList'))
|
||||
}else{
|
||||
selectList.value=[]
|
||||
}
|
||||
emit("cancelOrClear", selectList.value);
|
||||
visible.value = false;
|
||||
nextTick(()=>{
|
||||
isRemoveSingleSelected.value=false
|
||||
})
|
||||
}
|
||||
const selectConfirm = () => {
|
||||
//确定按钮
|
||||
if (props.checkMatrix) {
|
||||
|
||||
Reference in New Issue
Block a user