当前位置: 首页 > news >正文

el-tree业务

 <el-form-item label="选择节点" prop="node_ids"><el-checkboxv-if="regionList.length"v-model="selectAll":disabled="selectDisabled":indeterminate="isIndeterminate":show-checkbox="!selectDisabled"label="全选"@change="selectAllChange"/><el-treev-if="regionList.length"ref="tree"class="w-full":data="regionList"node-key="id"show-checkboxdefault-expand-all:default-checked-keys="formState.node_ids":props="defaultProps"@check-change="handleChange"/><span v-else class="text-[#2D2E33]">暂无数据</span></el-form-item>
const formState = reactive<WafData>({node_ids: [],
})
const selectAllChange = () => {if (selectAll.value) {const levelTwoNodes = regionList.value.flatMap((node: any) =>node.nodes ? node.nodes.map((child: any) => child.id) : [])tree.value.setCheckedKeys(levelTwoNodes) //pushData是树形节点的data} else {tree.value.setCheckedKeys([])}isIndeterminate.value = false
}
const handleChange = () => {formState.node_ids = tree.value.getCheckedKeys(true)//   .concat(tree.value.getHalfCheckedKeys(true))if (regionKeysLength.value === formState?.node_ids?.length) {selectAll.value = true} else {selectAll.value = false}const length = formState?.node_ids?.length as numberisIndeterminate.value =length > 0 && length < getAllChildren(regionList.value).length
}
//获取所有子节点数据
const getAllChildren = (nodeArr: any = [], arr: any = []) => {for (const item of nodeArr) {if (!item.nodes && item.id) arr.push(item.id)if (item.nodes && item.nodes.length) {getAllChildren(item.nodes, arr)}}return arr
}
watch(() => regionList.value,val => {regionKeysLength.value = getAllChildren(val).lengthif (regionKeysLength.value === formState?.node_ids?.length) {selectAll.value = true} else {selectAll.value = false}const length = formState?.node_ids?.length as numberisIndeterminate.value =length > 0 && length < getAllChildren(regionList.value).length},{ deep: true }
)
const handleConfirm = async () => {await Promise.all([formEl.value?.validate(), matchingView.value.validate()])/**新增或编辑 */const { id } = activeSite.valueconst expression = matchingView.value?.generateTemplate() as stringconst data = {site_id: id,rule_id: formState?.rule_id,name: formState?.name,operation: formState?.operation,expression,expression_template: JSON.stringify(ruleGroups.value),node_ids: tree.value.getCheckedKeys(true).join(','),region_id: undefined,priority: formState.priority}if (data.expression) {handleEditorUser(data)} else {ElNotification.error({title: '失败',message: '请输入匹配规则'})}
}
// 获取区域列表
const getRegion = () => {get_region_nodes({}).then(res => {let list = res.listlist = JSON.parse(JSON.stringify(list).replaceAll('region_id', 'id').replaceAll('region_name', 'name'))regionList.value = listif (JSON.stringify(regionList.value).indexOf('nodes') === -1) {selectDisabled.value = true} else {selectDisabled.value = false}regionKeysLength.value = getAllChildren(regionList.value).length}).finally(() => {})
}

相关文章:

el-tree业务

<el-form-item label"选择节点" prop"node_ids"><el-checkboxv-if"regionList.length"v-model"selectAll":disabled"selectDisabled":indeterminate"isIndeterminate":show-checkbox"!selectDisabl…...

警惕Mallox勒索病毒的最新变种malloxx,您需要知道的预防和恢复方法。

导言&#xff1a; 恶意软件的威胁不断进化&#xff0c;其中之一是.malloxx勒索病毒。这种病毒可以加密您的文件&#xff0c;并要求您支付赎金以解锁它们。本文91数据恢复将详细介绍.malloxx勒索病毒&#xff0c;包括如何恢复被加密的数据文件以及如何预防这种威胁。如果受感染…...

linux中断下文之tasklet(中断二)

在申请 GPIO 中断时使用 request_irq,但是request_irq绑定的中断服务程序指的是中断上文。在 Linux 内核中&#xff0c;tasklet 是一种特殊的软中断机制&#xff0c;被广泛用于处理中断下文相关的任务。它是一种常见且有效的方法&#xff0c;在多核处理系统上可以避免并发问题。…...

Mysql事务+redo日志+锁分类+隔离级别+mvcc

事务&#xff1a; 是数据库操作的最小工作单元&#xff0c;是作为单个逻辑工作单元执行的一系列操作&#xff1b;这些操作作为一个整体一起向系统提交&#xff0c;要么都执行、要么都不执行&#xff1b;事务是一组不可再分割的操作集合&#xff08;工作逻辑单元&#xff09;&a…...

Kafka-Java四:Spring配置Kafka消费者提交Offset的策略

一、Kafka消费者提交Offset的策略 Kafka消费者提交Offset的策略有 自动提交Offset&#xff1a; 消费者将消息拉取下来以后未被消费者消费前&#xff0c;直接自动提交offset。自动提交可能丢失数据&#xff0c;比如消息在被消费者消费前已经提交了offset&#xff0c;有可能消息…...

Python 训练集、测试集以及验证集切分方法:sklearn及手动切分

目录 方法一 方法二 需求目的&#xff1a;针对模型训练输入&#xff0c;按照6:2:2的比例进行训练集、测试集和验证集的划分。当前数据量约10万条。如果针对的是记录条数达上百万的数据集&#xff0c;可按照98:1:1的比例进行切分。 方法一&#xff1a;切分训练集和测试集&…...

数据结构,及分类(存储分类、逻辑分类)介绍

一、数据结构&#xff1a; 数据是软件开发的核心。在软件开发过程中基本上就是对数据的新增、删除、修改、查看的操作。 如何合理存储数据&#xff0c;如何有效提升数据操作开发效率&#xff0c;都是软件开发中的重中之重。使用合理的数据结构是非常重要的。 1.1简介&#xff…...

Powershell脚本自动备份dhcp数据库

文章目录 为什么要备份DHCP数据库呢&#xff1f;在PowerShell中自动备份DHCP数据库1&#xff0c;创建备份目录2&#xff0c;判断备份路径是否存在3&#xff0c;备份DHCP数据库4&#xff0c;完整自动备份脚本5&#xff0c;安排定期备份 推荐阅读 为什么要备份DHCP数据库呢&#…...

第十六章总结:反射和注解

.1.1&#xff1a;访问构造方法 反射&#xff1a; 1.class类 2.获取构造方法 3.获取成员属性 4.获取成员方法 注解 1.内置注解 2.反射注解 3 创建Class对象的三种方式 1.使用getClass&#xff08;&#xff09;方法 object str new object&#xff08;&#xff09;…...

mysql 切割字符串函数

93、mysql 切割字符串函数 需求&#xff0c;使用in 匹配多个参数&#xff0c;name字段值类型&#xff1a;1234(小明) 结果&#xff1a; select * from user where SUBSTRING_INDEX(REPLACE(name, ), ), (, -1) in ( 小明,小李)使用的函数如下 1、使用SUBSTRING_INDEX函数 SU…...

汽车发动机电机右盖设计

摘要 随着我国微型电子技术和社会经济的发展&#xff0c;目前行业内为满足客户需求出现了大量的电器设备&#xff0c;而大多数的电气设备的重要组成中都有电机&#xff0c;并且电机端盖成为电机研发人员重点关注和研究的对象&#xff0c;逐渐成为电机的重要组成部分&#xff0c…...

ETHERNET/IP从站转CANOPEN主站连接AB系统的配置方法

你还在为配置网关的ETHERNET/IP从站和CANOPEN主站发愁吗&#xff1f;今天来教你解决办法&#xff01; 一&#xff0c;首先&#xff0c;配置网关的ETHERNET/IP从站&#xff0c;需要使用AB系统的配置方法&#xff0c;具体步骤如下 1&#xff0c;使用 AB 系统配置网关的 ETHERNET/…...

人工智能和机器学习:走向智能未来的关键

人工智能&#xff08;AI&#xff09;和机器学习&#xff08;ML&#xff09;是当今IT领域中最令人振奋的发展方向之一。从自动驾驶汽车到智能助手&#xff0c;AI技术的应用正在不断扩展&#xff0c;重新定义着我们的生活方式和商业模式。在这个文章中&#xff0c;我们将深入探讨…...

openGauss本地Centos7.6单机安装和简单应用

openGauss本地Centos7.6单机安装和简单应用 openGauss基础环境配置openGauss安装openGauss使用测试openGauss常用命令 openGauss基础环境配置 在VMware Workstation中安装一台 centos7.6 内存&#xff1a;8GB&#xff0c;亲测4GB安装不够 磁盘&#xff1a;测试50GB-100GB够用 …...

LeetCode--1 两数之和

文章目录 1 题目描述2 解题思路2.1 暴力破解2.2 使用 Map 1 题目描述 给定一个整数数组 nums 和一个整数目标值 target, 请你在该数组中找出 和为目标值 target 的那 两个 整数, 并返回它们的数组下标 你可以假设每种输入只会对应一个答案。但是, 数组中同一个元素在答案里不…...

Hafnium安全分区管理器和示例参考软件栈

安全之安全(security)博客目录导读 目录 一、安全分区管理器 1、术语 2、对旧平台的支持 二、示例参考软件栈 一、安全分区管理器 安全分区管理器的三种实现在TF-A代码库并存&#xff1a; 1.基于FF-A规范的S-EL2 SPMC&#xff08;SPM Core&#xff09;&#xff0c;使能安全…...

Python解读市场趋势:LSTM 和 GRU 在预测 Google 股价方面的探索

我将向您展示如何使用 LSTM 和 GRU 预测股票价格。 导入库 import pandas as pd import numpy as np import seaborn as sns import matplotlib.pyplot as plt import matplotlib.dates as mdates import plotly.express as pxfrom keras.preprocessing.sequence import Timese…...

vue源码分析(二)——vue的入口发生了什么

文章目录 前言&#xff08;1&#xff09;vue 项目构建的时候&#xff0c;通过package.json文件看到构建入口&#xff08;2&#xff09; 构建入口页面&#xff1a;导入同级模块config的getAllbuilds方法&#xff08;3&#xff09; 通过传入参数中的builds对象使用map获取&#x…...

系统架构师论文总结【持续更新】

系统架构师考试是对计算机从业人员&#xff0c;以考代评的重要考试&#xff0c;近几年一直在参加考试&#xff0c;屡战屡败&#xff0c;后又屡败屡战&#xff0c;记录总结论文相关的知识点&#xff0c;方便考前查看。 一、2010年论文 1&#xff09;论软件的静态演化和动态演化…...

STM32-LCD中英文显示及应用

目录 字符编码 ASCII码&#xff08;8位&#xff09; 中文编码&#xff08;16位&#xff09; GB2312标准 GBK编码 GB18030标准&#xff08;32位&#xff09; Big5编码 Unicode字符集和编码 UTF-32&#xff08;32位&#xff09; UTF-16&#xff08;16位/32位&#xff0…...

DeOldify模型压缩与量化教程:适配边缘计算设备部署

DeOldify模型压缩与量化教程&#xff1a;适配边缘计算设备部署 想让老照片在手机上瞬间焕发色彩吗&#xff1f;DeOldify模型以其出色的黑白照片上色效果而闻名&#xff0c;但它的“体重”对于手机、树莓派这类边缘设备来说&#xff0c;可能有点“超重”了。直接部署原版模型&a…...

打卡信奥刷题(3062)用C++实现信奥题 P6862 [RC-03] 随机树生成器

P6862 [RC-03] 随机树生成器 题目描述 小 R 有一个随机树生成器&#xff0c;其工作原理如下&#xff1a; 输入 nnn&#xff0c;则对于每个 1<i≤n1<i\le n1<i≤n&#xff0c;随机选择一个 [1,i)[1,i)[1,i) 中的节点作为其父亲。返回这棵树。 给定 n,kn,kn,k&#xff0…...

2026产研知识一体化平台推荐:8款工具测评与适用场景分析

本文将深入对比8款主流产研知识一体化平台&#xff1a;PingCode、亿方云、Confluence、Notion、ClickUp、SharePoint、GitBook、Box。一、为什么企业越来越重视产研知识一体化平台很多企业现在并不缺文档工具&#xff0c;真正缺的是一套能把产品、研发、测试、项目知识连起来的…...

BGE-Reranker-v2-m3能否替代BM25?语义检索对比评测

BGE-Reranker-v2-m3能否替代BM25&#xff1f;语义检索对比评测 在构建智能问答、文档检索这类系统时&#xff0c;我们常常面临一个核心难题&#xff1a;如何从海量文档中&#xff0c;精准地找到用户真正需要的那几段信息&#xff1f;传统的关键词匹配方法&#xff0c;比如BM25…...

OpenClaw镜像体验指南:千问3.5-35B-A3B-FP8云端沙盒快速验证

OpenClaw镜像体验指南&#xff1a;千问3.5-35B-A3B-FP8云端沙盒快速验证 1. 为什么选择云端沙盒验证OpenClaw 去年冬天&#xff0c;当我第一次尝试在本地部署OpenClaw时&#xff0c;整整两天时间都耗在了环境依赖和权限问题上。Node.js版本冲突、Python虚拟环境报错、CUDA驱动…...

OpenClaw自动化测试方案:Phi-3-vision-128k-instruct实现UI截图比对

OpenClaw自动化测试方案&#xff1a;Phi-3-vision-128k-instruct实现UI截图比对 1. 为什么需要自动化UI测试 在个人项目开发中&#xff0c;每次代码提交后手动检查页面样式是否错乱&#xff0c;是最容易被忽视却又最耗费精力的环节。我曾经历过一个典型场景&#xff1a;深夜修…...

PHP使用互斥锁确保代码的线程安全的操作示例

代码的线程安全在没有互斥机制的情况下&#xff0c;多个进程或线程可能会同时修改同一个资源&#xff0c;导致数据不一致的问题。例如&#xff0c;在一个简单的库存扣减操作中&#xff1a;12345678// 假设库存为 10$stock 10;// 多个请求同时到达&#xff0c;每个请求都扣减库…...

OpenClaw高阶玩法:Qwen3-4B模型微调适配专属自动化流程

OpenClaw高阶玩法&#xff1a;Qwen3-4B模型微调适配专属自动化流程 1. 为什么需要定制化模型&#xff1f; 去年夏天&#xff0c;我尝试用OpenClaw自动化处理一批专业文献时遇到了瓶颈。当AI试图理解"CRISPR-Cas9基因编辑技术"这类术语时&#xff0c;标准模型要么要…...

解决Matlab安装包路径字符陷阱:从“Unable to open the requested feature”错误谈起

1. 当Matlab安装包遇上中文路径&#xff1a;一个隐藏的字符陷阱 第一次在Windows系统上安装Matlab时&#xff0c;我把下载的安装包随手放在了"D:\软件安装包\数学工具"目录下。双击setup.exe后&#xff0c;那个熟悉的错误提示框弹了出来&#xff1a;"Unable to …...

如何利用 Bing Webmaster Tools 来优化 SEO 自然排名

如何利用 Bing Webmaster Tools 来优化 SEO 自然排名 在当今互联网的竞争环境中&#xff0c;搜索引擎优化&#xff08;SEO&#xff09;是一个至关重要的环节。而在众多搜索引擎中&#xff0c;Bing作为全球第二大搜索引擎&#xff0c;其市场份额在逐年增长。因此&#xff0c;如…...