cooladmin使用整理
1、后端关键字自动生成没有代码段提示,原因是拉取的项目代码中没有.vscode文件夹,复制一套至项目src同级即可

2、前端快速创建,在Entity完成后就去快速创建中选数据结构,这时没有对应的内容,数据结构是和controller层admin下的文件对应的,也就是说有几个接口文件就可以创建几个前端页面。
3、前端详情编辑页面中的内容可以使用折叠卡片,在item中使用cl-form-card组件,为其添加children数组,children中正常写各个组件和字段就可以。

4、前端列表页刷新数据分页展示数据参数设置,添加参数也可以在这里设置
const Crud = useCrud({service: service.purchase.orderComparePrices},(app) => {app.refresh({ size: 5 });}
);//其他参数
const Crud = useCrud({service: service.purchase.comparePricesInfo},(app) => {app.refresh({ size: 5, comparePricesId: props.comparePricesId });}
);
5、设置分页为5,列表展示五行信息,列表高度为0不展示内容,修改table样式
<cl-table ref="Table" style="max-height: 722px;" />
6、前端获取浏览器cookie
import { storage } from "/@/cool/utils";
const username = storage.get("username") || "";//用户名
7、获取数组字典用于页面展示
import { useCool } from "/@/cool";
const { service } = useCool();//供应商启用状态数据字典选项
export async function getDictOps(dictName: string[]): Promise<any[]> {const types = new Array([dictName]);try {const res = await service.dict.info.data({ types: types });const status = res[dictName].map((item: any) => ({...item,label: item.name,// type: getType(item.value, dictName[0]),//为标签设置颜色,如果设置了type,会将颜色设置覆盖掉,使用color就不设置typecolor: getColor(item.value, dictName[0]),}));return status;} catch (error) {console.error('Error fetching dictionary operations:', error);throw error;}
}//设置选项标签类型:success、danger、warning、error
function getType(value: string, dictName: string): string {switch (dictName) {//耗材启用状态case 'status':return value === 1 ? "success" : "danger";//供应商启用状态case 'vendorStatus':return value === 'Y' ? "success" : "danger";//供应商等级选项case 'vendorLevelOps':switch (value) {case 0:return "success";//优质供应商case 1:return "info";//正常case 2:return "info";//重点关注case 3:return "danger";//劣质供应商case 4:return "warning";//黑名单default:return "info";}//比价拟用采纳状态case 'pricesInfoIsProposed':return value === 1 ? "success" : "danger";// //订单状态选项case 'PIOrderStateOps':return info;//订单验收状态case 'PIOrderResultOps':switch (value) {case 0:return "info";//未验收case 1:return "info";//通过case 2:return "danger";//不通过default:return "info";}default:return "info";}
}function getColor(value: string, dictName: string): string {switch (dictName) {//耗材启用状态case 'status':return value === 1 ? "#67c23a" : "#f56c6c";//供应商启用状态case 'vendorStatus':return value === 'Y' ? "#67c23a" : "#f56c6c";//供应商等级选项case 'vendorLevelOps':switch (value) {case 0:return "#FF007F";//优质供应商case 1:return "#00BFFF";//正常case 2:return "#67c23a";//重点关注case 3:return "#8B0000";//劣质供应商case 4:return "#404040";//黑名单default:return "#00BFFF";}//比价拟用采纳状态case 'pricesInfoIsProposed':return value === 1 ? "#67c23a" : "#f56c6c";// //订单状态选项case 'PIOrderStateOps':switch (value) {case 0:return "#FFA500";//待确认case 1:return "#00BFFF";//已发货case 2:return "#67c23a";//已收货default:return "#FFA500";}// //订单验收状态case 'PIOrderResultOps':switch (value) {case 0:return "#FFD700";//未验收case 1:return "#67c23a";//通过case 2:return "#f56c6c";//不通过default:return "#FFD700";}default:return '#FFFF00';}
}
8、列表页面table设置单元格按钮并编写事件
const Table = useTable({columns: [{ type: "selection" },// { label: "询价比价主表ID", prop: "comparePricesId" },{ label: "订单编码", prop: "code" },{ label: "订单标题", prop: "title", showOverflowTooltip: true },//状态:待确认(0)、已发货(1)、已收货(2){ label: "订单状态", prop: "state", dict: orderStateOptions, width: "90px" },{ label: "创建者", prop: "createBy" },//采购明细{label: "采购明细",type: "op",buttons: [{label: "查看",type: "primary",onClick: (row) => {//采购计划列表comparePricesId.value = row.scope.row.comparePricesId;openPlanInfos.value = true;}},],width: "100px"},{ label: "验收人员", prop: "inspectorName", width: "90px" },{ label: "验收内容", prop: "acceptanceContent", showOverflowTooltip: true },//验收结果状态:未验收(0)、通过(1)、不通过(2){ label: "验收结果状态", prop: "resultState", dict: resultStateOptions, },{ label: "通过/不通过原因", prop: "reason", showOverflowTooltip: true },// { label: "更新者", prop: "updateBy" },{ label: "创建时间", prop: "createTime" },// { label: "更新时间", prop: "updateTime" },{ type: "op", buttons: ["info", "edit", "delete"], width: "225px" }]
});
9、应用其他页面作为子组件,引用写法
<cl-dialog :title=title v-model="open" width="80%" append-to-body><consumableDetail v-model="open" ref="myRefs" /><div slot="footer" class="dialog-footer"><el-button type="primary" @click="HandleSelectedLists">确 定</el-button><el-button @click="open = false">取 消</el-button></div></cl-dialog><cl-dialog title="供给耗材" v-model="openConsumables" width="80%" append-to-body><el-button class="el-button el-button--primary" @click="handleConsumableDetail">选择耗材</el-button><vendorConsumable v-model="openConsumables" ref="consumablesRefs" :vendorId="vendorId" /><div slot="footer" class="dialog-footer"><!-- <el-button type="primary" @click="HandleSelectedLists">确 定</el-button> --><el-button @click="openConsumables = false">取 消</el-button></div></cl-dialog>
import consumableDetail from "/@/modules/purchase/views/consumableDetail.vue";
import vendorConsumable from "/@/modules/purchase/views/vendorConsumable.vue";
10、详情编辑页面打开前逻辑处理
// cl-upsert
const Upsert = useUpsert({onOpen() {if (Upsert.value.mode == "add") {Upsert.value.form.vendorCode = "V" + nowDate();Upsert.value.form.createBy = storage.get("username") || "";}if (Upsert.value.mode == "update") {Upsert.value.form.updateBy = storage.get("username") || "";}},
});
11、列表单元格文本过长展示省略号和鼠标悬浮title,在列设置showOverflowTooltip: true
{ label: "供应商名称", prop: "vendorName", width: "100px", showOverflowTooltip: true },
12、详情页面lable标签过长换行,并设置向右对齐。在label值中需要换行的位置加上\n换行符,然后添加样式如下:
label: "供应商\n英文名称",
.el-form-item__label {white-space: pre-line;/*保留换行符*//* white-space: pre-wrap; */text-align: right;/*向右对齐*/word-wrap: break-word;line-height: 100%;align-items: center;/*上下居中*/
}
13、后续继续补充
相关文章:
cooladmin使用整理
1、后端关键字自动生成没有代码段提示,原因是拉取的项目代码中没有.vscode文件夹,复制一套至项目src同级即可 2、前端快速创建,在Entity完成后就去快速创建中选数据结构,这时没有对应的内容,数据结构是和controller层a…...
CentOS 7 更换软件仓库
CentOS 7 于2024年6月30日停止维护,官方仓库已经没有软件了,想要继续使用 ,需要更换软件仓库,这里更换到阿里云的软件仓库 https://developer.aliyun.com/mirror/ 查看目前可用的软件数量 yum repolist 更换软件仓库:…...
现代Web开发:React Hooks深入解析
💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 现代Web开发:React Hooks深入解析 现代Web开发:React Hooks深入解析 现代Web开发:React Hook…...
HarmonyOS使用arkTS拉起指定第三方应用程序
HarmonyOS使用arkTS拉起指定第三方应用程序 前言代码及说明bundleName获取abilityName获取 前言 本篇只说采用startAbility方式拉起第三方应用,需要用到两个必备的参数bundleName,abilityName,本篇就介绍如何获取参数… 代码及说明 bundle…...
flex安装学习笔记
https://zhuanlan.zhihu.com/p/2783726096 3.下载 Flux 模型 FLUX.1 [dev] :官方版本满配版,最低显存要求 24G;FLUX.1 [dev] fp8:大佬优化 [dev] 后版本,建议选择此版本,最低 12G 显存可跑;FLU…...
09-结构化搜索、搜索的相关性算分
term 查询执行精确值匹配,要求文档中的字段值与指定的词项完全相等。对于日期字段等精确值字段,通常使用 term 查询可以快速有效地匹配文档。match 查询执行全文搜索,会对输入的文本进行分析,生成查询词项,并试图找到与…...
手机屏幕上进行OCR识别方案
在手机屏幕上进行OCR识别,可以通过一些主流方案实现高效、准确的文本识别。以下是几种常见方案: 1. 使用 Tesseract OCR 原理:Tesseract 是一个开源的 OCR 引擎,支持多种语言。可以通过一些优化提升其对手机屏幕文本的识别效果。…...
遗传算法与深度学习实战(22)——使用Numpy构建神经网络
遗传算法与深度学习实战(22)——使用Numpy构建神经网络 0. 前言1. 神经网络基础1.1 简单神经网络的架构1.2 神经网络的训练 2. 使用 Numpy 构建神经网络2.1 网络架构2.2 实现神经网络 小结系列链接 0. 前言 我们已经学习了如何使用进化算法来优化深度学…...
react->Antd->Table调整checkbox默认样式
checkbox默认不展示,hover此行时,出现checkbox,选中后不消失: hover前,设置透明边框; hover时,checkbox出现 选中后 代码块: .ant-checkbox {.ant-checkbox-inner {border: transparent;}}.ant…...
一种ESB的设计
系统架构 ESB包括: ESB总控服务、业务应用集群、业务消息WEB服务、业务消息日志服务、运维管理平台、业务设计器。如下图所示 ESB总控服务 ESB总控服务承载了各项业务的运维和管理。主要包括: 业务流程的管理ESB内部不同模块间的通讯ESB系统设置和管理…...
上位机常用通信方式
1. 串口通信:RS232(设备和PC之间,最常用,短距离)、RS485(工业现场总线,长距离,多点通信) 2. 以太网通信:TCP/IP协议 3. CAN总线通信 4. Modbus协议࿱…...
Vue3中使用LogicFlow实现简单流程图
实现结果 实现功能: 拖拽创建节点自定义节点/边自定义快捷键人员选择弹窗右侧动态配置组件配置项获取/回显必填项验证 自定义节点与拖拽创建节点 拖拽节点面板node-panel.vue <template><div class"node-panel"><divv-for"(item, k…...
《重学Java设计模式》之 工厂方法模式
《重学Java设计模式》之 建造者模式 《重学Java设计模式》之 原型模式 《重学Java设计模式》之 单例模式 模拟发奖多种商品 工程结构 奖品发放接口 package com.yys.mes.design.factory.store;public interface ICommodity {/*** Author Sherry* Date 14:20 2024/11/6**/voi…...
【大数据学习 | kafka】kafka的数据存储结构
以上是kafka的数据的存储方式。 这些数据可以在服务器集群上对应的文件夹中查看到。 [hexuanhadoop106 __consumer_offsets-0]$ ll 总用量 8 -rw-rw-r--. 1 hexuan hexuan 10485760 10月 28 22:21 00000000000000000000.index -rw-rw-r--. 1 hexuan hexuan 0 10月 28 …...
知识竞赛答题系统,线上答题小程序链接怎么做?
随着智能手机的普及,越来越多的单位开始在线上开展知识竞赛。这种形式的知识竞赛不仅易于操作,而且参与度更高。那么线上知识竞赛答题系统怎么做呢?自己可以做吗?答案是可以的!借助微信答题系统制作平台风传吧…...
基于SSM的社区物业管理系统+LW参考示例
1.项目介绍 系统角色:管理员、业主(普通用户)功能模块:管理员(用户管理、二手置换管理、报修管理、缴费管理、公告管理)、普通用户(登录注册、二手置换、生活缴费、信息采集、报事报修…...
android——jetpack startup初始化框架
一、jetpack startup Android Jetpack Startup是一个库,它简化了Android应用启动过程,尤其是对于那些需要处理复杂数据绑定和初始化逻辑的应用。它的核心在于提供了一个StartupComponent,用于声明应用的初始化逻辑,这个逻辑会在首…...
英伟达HOVER——用于人形机器人的多功能全身控制器:整合不同的控制模式且实现彼此之间的无缝切换
前言 前几天,一在长沙的朋友李总发我一个英伟达HOVER的视频(自从我今年年初以来持续不断的解读各大顶级实验室的最前沿paper、以及分享我司七月在具身领域的探索与落地后,影响力便越来越大了,不断加油 ),该视频说的有点玄乎&…...
GEE代码学习 day17
13.2 地球上到处都有许多图像吗? 我们可以使用下面的代码将这个 reducer count 应用于我们过滤后的 ImageCollection。我们将返回相同的数据集并筛选 2020 年,但没有地理限制。这将收集来自世界各地的图像,然后计算每个像素中的图像数量。以…...
论文阅读笔记-Covariate Shift: A Review and Analysis on Classifiers
前言 标题:Covariate Shift: A Review and Analysis on Classifiers 原文链接:Link\ 我们都知道在机器学习模型中,训练数据和测试数据是不同的阶段,并且,通常是是假定训练数据和测试数据点遵循相同的分布。但是实际上&…...
stm32G473的flash模式是单bank还是双bank?
今天突然有人stm32G473的flash模式是单bank还是双bank?由于时间太久,我真忘记了。搜搜发现,还真有人和我一样。见下面的链接:https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...
微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】
微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来,Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...
.Net框架,除了EF还有很多很多......
文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...
转转集团旗下首家二手多品类循环仓店“超级转转”开业
6月9日,国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解,“超级…...
Nginx server_name 配置说明
Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...
论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)
笔记整理:刘治强,浙江大学硕士生,研究方向为知识图谱表示学习,大语言模型 论文链接:http://arxiv.org/abs/2407.16127 发表会议:ISWC 2024 1. 动机 传统的知识图谱补全(KGC)模型通过…...
自然语言处理——循环神经网络
自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM)…...
从“安全密码”到测试体系:Gitee Test 赋能关键领域软件质量保障
关键领域软件测试的"安全密码":Gitee Test如何破解行业痛点 在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的"神经中枢"。从国防军工到能源电力,从金融交易到交通管控,这些关乎国计民生的关键领域…...
热门Chrome扩展程序存在明文传输风险,用户隐私安全受威胁
赛门铁克威胁猎手团队最新报告披露,数款拥有数百万活跃用户的Chrome扩展程序正在通过未加密的HTTP连接静默泄露用户敏感数据,严重威胁用户隐私安全。 知名扩展程序存在明文传输风险 尽管宣称提供安全浏览、数据分析或便捷界面等功能,但SEMR…...
C++--string的模拟实现
一,引言 string的模拟实现是只对string对象中给的主要功能经行模拟实现,其目的是加强对string的底层了解,以便于在以后的学习或者工作中更加熟练的使用string。本文中的代码仅供参考并不唯一。 二,默认成员函数 string主要有三个成员变量,…...
