Showing
1 changed file
with
35 additions
and
19 deletions
| ... | @@ -152,10 +152,7 @@ | ... | @@ -152,10 +152,7 @@ |
| 152 | </el-form-item> | 152 | </el-form-item> |
| 153 | </template> --> | 153 | </template> --> |
| 154 | <div style="margin-left: 20px;"> | 154 | <div style="margin-left: 20px;"> |
| 155 | - <el-button | 155 | + <el-button type="primary" @click="openUserForm"> |
| 156 | - type="primary" | ||
| 157 | - @click="openUserForm" | ||
| 158 | - > | ||
| 159 | 设置人员配置 | 156 | 设置人员配置 |
| 160 | </el-button> | 157 | </el-button> |
| 161 | </div> | 158 | </div> |
| ... | @@ -199,6 +196,7 @@ | ... | @@ -199,6 +196,7 @@ |
| 199 | <el-dialog v-model="state.dialogUserFormVisible" title="成员列表"> | 196 | <el-dialog v-model="state.dialogUserFormVisible" title="成员列表"> |
| 200 | <div style="border: 1px dashed #DCDFE6; padding: 10px;"> | 197 | <div style="border: 1px dashed #DCDFE6; padding: 10px;"> |
| 201 | <el-tag | 198 | <el-tag |
| 199 | + v-if="state.userTags.length" | ||
| 202 | v-for="tag in state.userTags" | 200 | v-for="tag in state.userTags" |
| 203 | :key="tag.name" | 201 | :key="tag.name" |
| 204 | class="" | 202 | class="" |
| ... | @@ -208,6 +206,7 @@ | ... | @@ -208,6 +206,7 @@ |
| 208 | > | 206 | > |
| 209 | {{ tag.name }} | 207 | {{ tag.name }} |
| 210 | </el-tag> | 208 | </el-tag> |
| 209 | + <div v-else style="text-align: center; color: #DCDFE6;">请选择成员</div> | ||
| 211 | </div> | 210 | </div> |
| 212 | <div style="border: 1px solid #DCDFE6; padding: 10px; margin-top: 10px;"> | 211 | <div style="border: 1px solid #DCDFE6; padding: 10px; margin-top: 10px;"> |
| 213 | <div style="height: 40px"> | 212 | <div style="height: 40px"> |
| ... | @@ -470,7 +469,7 @@ export default { | ... | @@ -470,7 +469,7 @@ export default { |
| 470 | userTags: [], | 469 | userTags: [], |
| 471 | currentNodeKey: [], // 当前展开的节点 | 470 | currentNodeKey: [], // 当前展开的节点 |
| 472 | activeTabId: "tab-1", // TODO: 需要获取默认第一个ID | 471 | activeTabId: "tab-1", // TODO: 需要获取默认第一个ID |
| 473 | - activeTabContent: '', | 472 | + activeTabContent: "", |
| 474 | userTabs: [], | 473 | userTabs: [], |
| 475 | tabSelectData: [], | 474 | tabSelectData: [], |
| 476 | userTabType: "tree", | 475 | userTabType: "tree", |
| ... | @@ -634,7 +633,7 @@ export default { | ... | @@ -634,7 +633,7 @@ export default { |
| 634 | } | 633 | } |
| 635 | ] | 634 | ] |
| 636 | } | 635 | } |
| 637 | - ] | 636 | + ]; |
| 638 | }; | 637 | }; |
| 639 | 638 | ||
| 640 | const handleTabClick = (tab, event, idx) => { | 639 | const handleTabClick = (tab, event, idx) => { |
| ... | @@ -642,7 +641,7 @@ export default { | ... | @@ -642,7 +641,7 @@ export default { |
| 642 | state.tabSelectData = tab.data; // tab选中数据提供给list类型使用 | 641 | state.tabSelectData = tab.data; // tab选中数据提供给list类型使用 |
| 643 | state.userList = []; // 清空用户列表 | 642 | state.userList = []; // 清空用户列表 |
| 644 | state.checkedUserList = []; // 清空选中用户列表 | 643 | state.checkedUserList = []; // 清空选中用户列表 |
| 645 | - state.activeTabContent = ''; // 清空侧边栏显示 | 644 | + state.activeTabContent = ""; // 清空侧边栏显示 |
| 646 | state.currentNodeKey = []; // 清空树形的默认展开 | 645 | state.currentNodeKey = []; // 清空树形的默认展开 |
| 647 | // console.log(tab, event); | 646 | // console.log(tab, event); |
| 648 | // 设置当前激活的tab | 647 | // 设置当前激活的tab |
| ... | @@ -755,8 +754,9 @@ export default { | ... | @@ -755,8 +754,9 @@ export default { |
| 755 | // 合并成一维数组列表 | 754 | // 合并成一维数组列表 |
| 756 | userList = [...userList.flat()]; | 755 | userList = [...userList.flat()]; |
| 757 | // 如果ID相同,需要数据去重 | 756 | // 如果ID相同,需要数据去重 |
| 758 | - let uniqueArray = userList.filter((value, index, self) => | 757 | + let uniqueArray = userList.filter( |
| 759 | - index === self.findIndex(obj => obj.id === value.id) | 758 | + (value, index, self) => |
| 759 | + index === self.findIndex(obj => obj.id === value.id) | ||
| 760 | ); | 760 | ); |
| 761 | // 勾选变化后同步到选中列表 | 761 | // 勾选变化后同步到选中列表 |
| 762 | state.userTags = uniqueArray | 762 | state.userTags = uniqueArray |
| ... | @@ -793,15 +793,31 @@ export default { | ... | @@ -793,15 +793,31 @@ export default { |
| 793 | return ele.id; | 793 | return ele.id; |
| 794 | }); | 794 | }); |
| 795 | // console.warn(tagsId); | 795 | // console.warn(tagsId); |
| 796 | - // 获取tags中已删除的, 勾选列表中还勾选的值 | 796 | + if (state.is_active_search) { // 搜索状态 |
| 797 | - let result = state.checkedUserList.filter( | 797 | + // 获取tags中已删除的, 勾选列表中还勾选的值 |
| 798 | - value => !tagsId.includes(value) | 798 | + let result = state.checkedSearchUserList.filter( |
| 799 | - ); | 799 | + value => !tagsId.includes(value) |
| 800 | - // 选中列表中不存在勾选列表中项时,需要删除勾选列表中的项 | 800 | + ); |
| 801 | - if (result.length) { | 801 | + // 选中列表中不存在勾选列表中项时,需要删除勾选列表中的项 |
| 802 | - result.forEach(ele => { | 802 | + if (result.length) { |
| 803 | - state.checkedUserList.splice(state.checkedUserList.indexOf(ele), 1); | 803 | + result.forEach(ele => { |
| 804 | - }); | 804 | + state.checkedSearchUserList.splice( |
| 805 | + state.checkedSearchUserList.indexOf(ele), | ||
| 806 | + 1 | ||
| 807 | + ); | ||
| 808 | + }); | ||
| 809 | + } | ||
| 810 | + } else { // 非搜索状态 | ||
| 811 | + // 获取tags中已删除的, 勾选列表中还勾选的值 | ||
| 812 | + let result = state.checkedUserList.filter( | ||
| 813 | + value => !tagsId.includes(value) | ||
| 814 | + ); | ||
| 815 | + // 选中列表中不存在勾选列表中项时,需要删除勾选列表中的项 | ||
| 816 | + if (result.length) { | ||
| 817 | + result.forEach(ele => { | ||
| 818 | + state.checkedUserList.splice(state.checkedUserList.indexOf(ele), 1); | ||
| 819 | + }); | ||
| 820 | + } | ||
| 805 | } | 821 | } |
| 806 | // console.log(result); | 822 | // console.log(result); |
| 807 | // console.log(state.userTags); | 823 | // console.log(state.userTags); |
| ... | @@ -878,7 +894,7 @@ export default { | ... | @@ -878,7 +894,7 @@ export default { |
| 878 | label: "用户1-3", | 894 | label: "用户1-3", |
| 879 | checked: false, | 895 | checked: false, |
| 880 | disabled: true | 896 | disabled: true |
| 881 | - }, | 897 | + } |
| 882 | ]; | 898 | ]; |
| 883 | // console.log(state.userTags); | 899 | // console.log(state.userTags); |
| 884 | checkSearchStatus(); | 900 | checkSearchStatus(); | ... | ... |
-
Please register or login to post a comment