element树形组件使用之数据授权

<template><div><el-card class="tree-card"><p class="title">数据授权</p><div class="box"><div class="tree"><div class="member">选择授权人员</div><div class="search"><div class="input"><el-inputplaceholder="请输入人员名称进行搜索"prefix-icon="el-icon-search"v-model="input2"></el-input></div><div class="search-btn"><el-button type="primary" @click="handleSearch">搜索</el-button></div></div><div class="function"><p>功能权限</p></div><el-tree :data="filteredData" node-key="id"><span class="custom-tree-node" slot-scope="{ node, data }"><span>{{ node.label }}</span><span><el-checkboxv-model="data.preview"@change="printNodeProperties(node, data, 'preview')">预览</el-checkbox><el-checkboxv-model="data.download"@change="printNodeProperties(node, data, 'download')">下载</el-checkbox></span></span></el-tree></div><div class="databox"><div class="data">选择授权数据</div><div class="search"><div class="input"><el-inputplaceholder="请输入文件名称进行搜索"prefix-icon="el-icon-search"v-model="input"></el-input></div><div class="search-btn"><el-button type="primary" @click="handleSearch1">搜索</el-button></div></div><div class="drprojectTable"><el-tableref="table":data="filteredTableData"row-key="id"class="drline":header-cell-style="rowClass"style="width: 100%"@selection-change="handleSelectionChange"><el-table-column type="selection"> </el-table-column><el-table-column label="序号" type="index" prop="id"></el-table-column><el-table-column prop="name" label="文件名称"> </el-table-column><el-table-column prop="organize" label="所属组织"></el-table-column><el-table-column prop="filetype" label="文件格式类型"></el-table-column></el-table><!-- 分页组件 --><div class="drblock"><el-pagination:current-page="currentPage":background="true":page-sizes="[10, 20]":page-size="pageSize"layout=" prev, pager, next,sizes, jumper":total="total"></el-pagination></div></div></div></div><div class="button"><el-button>取消</el-button><el-button type="primary" style="margin-left: 3vw">确定</el-button></div></el-card></div>
</template><script>
let id = 1000export default {name: 'OrganizeMaintain',data() {const data = []return {data: JSON.parse(JSON.stringify(data)),data: JSON.parse(JSON.stringify(data)),checkAll: false,checkedCities: [],tableData: [],multipleSelection: [],input2: '', // 用于存储搜索关键字filteredData: [], // 用于存储过滤后的数据filteredTableData: [],input: '',checked: '',nodesWithPreview: [], // 存储具有 preview 为 true 的节点nodesWithDownload: [], // 存储具有 download 为 true 的节点selectedNodes: [], // 用于存储所有preview被选中的节点selectedNodes1: [], // 用于存储所有download被选中的节点}},methods: {handleSearch1() {const searchText = this.input.trim().toLowerCase()console.log(searchText)if (searchText === '') {// 如果搜索关键字为空,则显示全部数据console.log(this.tableData)this.filteredTableData = this.tableData} else {// 根据搜索关键字筛选数据this.filteredTableData = this.tableData.filter((row) => {return row.name.toLowerCase().includes(searchText)})}},rowClass({}) {return 'background:#F0F0F0'},handleSelectionChange(selection) {// `selection`参数是选中的行数据数组console.log(selection)// 如果你需要获取所有选中行的特定属性,可以使用map函数const selectedIds = selection.map((row) => row.id)console.log(selectedIds)},collectPreviewNodes(node) {if (node.preview) {this.selectedNodes.push(node)}if (node.children && node.children.length > 0) {node.children.forEach((childNode) => {this.collectPreviewNodes(childNode)})}},collectDownloadNodes(node) {if (node.download) {this.selectedNodes1.push(node)}if (node.children && node.children.length > 0) {node.children.forEach((childNode) => {this.collectDownloadNodes(childNode)})}},printNodeProperties(node, data, type) {if (type === 'preview') {this.selectedNodes = [] // 清空之前收集的节点this.filteredData.forEach((rootNode) => {this.collectPreviewNodes(rootNode) // 递归收集节点})// 所有具有预览功能的节点console.log('具有 preview 为 true 的节点:', this.selectedNodes)const preview = this.selectedNodes.map((item) => item.id)console.log(preview)} else if (type === 'download') {this.selectedNodes1 = [] // 清空之前收集的节点this.filteredData.forEach((rootNode) => {this.collectDownloadNodes(rootNode) // 递归收集节点})// 所有具有下载功能的节点console.log('具有 download 为 true 的节点:', this.selectedNodes1)const download = this.selectedNodes1.map((item) => item.id)console.log(download)}},collectNodes(type) {if (type === 'preview') {this.nodesWithPreview = this.filteredData.filter((node) => node.preview)console.log('具有 preview 为 true 的节点:', this.nodesWithPreview)} else if (type === 'download') {this.nodesWithDownload = this.filteredData.filter((node) => node.download)console.log('具有 download 为 true 的节点:', this.nodesWithDownload)}},},created() {this.filteredData = this.datathis.filteredTableData = this.tableData},
}
</script><style scoped lang="scss">
.custom-tree-node {flex: 1;display: flex;align-items: center;justify-content: space-between;font-size: 14px;padding-right: 8px;
}
.tree-card {overflow-y: auto; /* 开启滚动显示溢出内容 */width: 100%;height: 88vh;.title {height: 40px;line-height: 40px;font-size: 22px;font-weight: bold;}.box {display: flex;margin-top: -6vh;.tree {width: 45%;margin-right: 5%;height: 77vh;overflow-y: auto;.search {display: flex;margin-top: -11vh;.input {width: 30vw;margin-right: 3vw;}}.function {margin-left: 29vw;margin-top: -8vh;p {height: 22px;line-height: 22px;margin-top: 5vh;margin-bottom: 1vh;}}}.databox {width: 50%;height: 77vh;overflow-y: auto;.search {display: flex;margin-top: -11vh;.input {width: 30vw;margin-right: 4vw;margin-left: 1vw;}}.checkbox {display: flex;margin-top: 2vh;}.drprojectTable {width: 95%;margin-left: 2%;margin-top: -5vh;::v-deep .el-table thead {line-height: 22px;}.drblock {margin-top: 35px;height: 60px;margin-bottom: 0px;text-align: right;}.drline {line-height: 35px;}.sort {display: inline-flex;flex-direction: column;align-items: center;height: 34px;width: 24px;vertical-align: middle;cursor: pointer;overflow: initial;position: relative;.sort-cart {width: 0;height: 0;border: 5px solid transparent;position: absolute;left: 7px;.ascending {border-bottom-color: #c0c4cc;top: 5px;}.descendign {border-top-color: #c0c4cc;bottom: 7px;}}}.sort:hover {cursor: pointer;}.label {display: flex;margin-left: 15px;}}}}.button {// margin-top: 13vh;height: 40px;line-height: 40px;display: flex;align-items: center;justify-content: center;}
}.list-card {overflow-y: auto; /* 开启滚动显示溢出内容 */width: 98%;height: 88vh;.checkbox {display: flex;margin-top: 2vh;}
}
</style>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/137682.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【python数据分析基础】—pandas中loc()与iloc()的介绍与区别

文章目录 前言一、loc[]函数二、iloc[]函数三、详细用法loc方法iloc方法 总结共同点不同点 前言 我们经常在寻找数据的某行或者某列的时常用到Pandas中的两种方法iloc和loc&#xff0c;两种方法都接收两个参数&#xff0c;第一个参数是行的范围&#xff0c;第二个参数是列的范…

前端编写一个express实现项目部署上线流程

1.先把写好的.vue文件打包成浏览器认识的html、css、js文件 使用npm run bulid命令 2.写一个express服务器 3.创建一个static文件夹&#xff0c;用来存放打包好的html、css、js文件

阿里测开面试大全(一)附答案完整版

万字长文&#xff0c;建议收藏 1 什么是POM&#xff0c;为什么要使用它&#xff1f; POM是Page Object Model的简称&#xff0c;它是一种设计思想&#xff0c;而不是框架。大概的意思是&#xff0c;把一个一个页面&#xff0c;当做一个对象&#xff0c;页面的元素和元素之间操…

day28IO流(字节流字符流)

1. IO概述 1.1 什么是IO 生活中&#xff0c;你肯定经历过这样的场景。当你编辑一个文本文件&#xff0c;忘记了ctrls &#xff0c;可能文件就白白编辑了。当你电脑上插入一个U盘&#xff0c;可以把一个视频&#xff0c;拷贝到你的电脑硬盘里。那么数据都是在哪些设备上的呢&a…

MSTP+VRRP vlan接口作为网关(2)

SW2 g0/0/2 g0/0/5 g0/0/3 g0/0/4 shutdow 链路失效, vlan 3 的 根桥、master 依然是sw2 PC3的数据包会什么还会到达外部环回口&#xff1f; SW2: dis stp instance 2 brief dis vrrp brief vlan3的主机PC3访问3.3.3.3.数据包发给网关(master)Sw2 pc3 : tracert …

C#中的方法

引言 在C#编程语言中&#xff0c;方法是一种封装了一系列可执行代码的重要构建块。通过方法&#xff0c;我们可以将代码逻辑进行模块化和复用&#xff0c;提高代码的可读性和可维护性。本文将深入探讨C#中的方法的定义、参数传递、返回值、重载、递归等方面的知识&#xff0c;…

Python 自动化运维 100个常见问题.pdf

Python自动化运维能够自动执行重复性任务&#xff0c;包括文件操作、数据处理、系统管理等&#xff0c;从而释放出更多的时间用于更有价值的工作。这有助于降低人工错误的风险&#xff0c;提高团队的工作效率。 以下是我们为大家梳理的Python 自动化运维 的学习路线&#xff0c…

Python爬虫基础(三):使用Selenium动态加载网页

文章目录 系列文章索引一、Selenium简介1、什么是selenium&#xff1f;2、为什么使用selenium3、安装selenium&#xff08;1&#xff09;谷歌浏览器驱动下载安装&#xff08;2&#xff09;安装selenium 二、Selenium使用1、简单使用2、元素定位3、获取元素信息4、交互 三、Phan…

数据包络分析(DEA)——CCR模型

写在前面&#xff1a; 博主本人大学期间参加数学建模竞赛十多余次&#xff0c;获奖等级均在二等奖以上。为了让更多学生在数学建模这条路上少走弯路&#xff0c;故将数学建模常用数学模型算法汇聚于此专栏&#xff0c;希望能够对要参加数学建模比赛的同学们有所帮助。 目录 1. …

四、C#—变量,表达式,运算符(2)

&#x1f33b;&#x1f33b; 目录 一、表达式1.1 什么是表达式1.2 表达式的基本组成 二、运算符2.1 算术运算符2.1.1 使用 / 运算符时的注意事项2.1.2 使用%运算符时的注意事项 2.2 赋值运算符2.2.1 简单赋值运算符2.2.2 复合赋值运算符 2.3 关系运算符2.4 逻辑运算符2.4.1 逻辑…

PIC16F18323电源控制软件

最近使用PIC16F18323设计一个电源的控制软件&#xff0c;主要功能有&#xff1a;检测输入电压&#xff0c;NTC贴片电阻温度监测&#xff0c;电路输出开环检测及输出过压保护锁死等。 PIC16F18323系列单片机有256字节内存&#xff0c;1K字节ROM空间&#xff0c;使用的是高速内部…

微服务生态系统:使用Spring Cloud构建分布式系统

文章目录 什么是微服务&#xff1f;为什么选择Spring Cloud&#xff1f;Spring Cloud的关键组件示例&#xff1a;构建一个简单的微服务步骤1&#xff1a;创建Spring Boot项目步骤2&#xff1a;配置Eureka服务发现步骤3&#xff1a;创建REST控制器步骤4&#xff1a;运行项目步骤…

达梦数据库阻塞与死锁查询

一、数据库阻塞 1.查询被阻塞的信息和引起阻塞的信息 SELECT SYSDATE STATTIME, DATEDIFF(SS, S1.LAST_SEND_TIME, SYSDATE) SS , 被阻塞的信息 WT , S1.SESS_ID WT_SESS_ID, S1.SQL_TEXT WT_SQL_TEXT, S1.STATE WT_STATE, S1.TRX_ID WT_TRX_ID, S1.USER_NAME WT_USER_NAME, …

实用的嵌入式编码技巧:第三部分

每个触发器都有两个我们在风险方面违反的关键规格。“建立时间”是时钟到来之前输入数据必须稳定的最小纳秒数。“保持时间”告诉我们在时钟转换后保持数据存在多长时间。 这些规格因逻辑设备而异。有些可能需要数十纳秒的设置和/或保持时间&#xff1b;其他人则需要少一个数量…

纽禄美卡Neuromeka亮相美国FABTECH,展示用于焊接的3D视觉协作机器人

原创 | 文 BFT机器人 纽禄美卡Neuromeka公司在由美国精密成型协会、美国焊接协会、化工涂料协会等5大协会举办的美国金属加工及焊接展览会FABTECH上精彩亮相。这家总部位于韩国首尔的公司成立于2013年&#xff0c;是机器人解决方案领域的领先供应商&#xff0c;致力于提高各种…

Spark 【分区与并行度】

RDD 并行度和分区 SparkConf setMaster("local[*]") 我们在创建 SparkContext 对象时通常会指定 SparkConf 参数&#xff0c;它包含了我们运行时的配置信息。如果我们的 setMaster 中的参数是 "local[*]" 时&#xff0c;通常代表使用的CPU核数为当前环境…

setState是同步还是异步的?

您好&#xff0c;如果喜欢我的文章&#xff0c;可以关注我的公众号「量子前端」&#xff0c;将不定期关注推送前端好文~ 以下内容针对React v18以下版本。 前言 setState到底是同步还是异步&#xff1f;很多人可能面试都被问到过&#xff0c;就好比这道代码输出题&#xff1…

零售超市如何应对消费者需求?非常全面!

随着科技的飞速发展和消费者期望的不断演变&#xff0c;零售行业正经历着一场深刻的革命。传统零售模式逐渐被新零售模式所取代&#xff0c;而其中一个备受关注的元素是自动售货机。 自动售货机不仅在商场、车站和办公楼等高流量地点迅速扩张&#xff0c;还在重新定义我们如何购…

基于SSM的北京集联软件科技有限公司信息管理系统

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

Meta | 对比解码:进一步提升LLM推理能力

深度学习自然语言处理 原创作者&#xff1a;wkk 为了改进LLM的推理能力&#xff0c;University of California联合Meta AI实验室提出将Contrastive Decoding应用于多种任务的LLM方法。实验表明&#xff0c;所提方法能有效改进LLM的推理能力。让我们走进论文一探究竟吧&#xff…