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

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、后端关键字自动生成没有代码段提示&#xff0c;原因是拉取的项目代码中没有.vscode文件夹&#xff0c;复制一套至项目src同级即可 2、前端快速创建&#xff0c;在Entity完成后就去快速创建中选数据结构&#xff0c;这时没有对应的内容&#xff0c;数据结构是和controller层a…...

CentOS 7 更换软件仓库

CentOS 7 于2024年6月30日停止维护&#xff0c;官方仓库已经没有软件了&#xff0c;想要继续使用 &#xff0c;需要更换软件仓库&#xff0c;这里更换到阿里云的软件仓库 https://developer.aliyun.com/mirror/ 查看目前可用的软件数量 yum repolist 更换软件仓库&#xff1a…...

现代Web开发:React Hooks深入解析

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 现代Web开发&#xff1a;React Hooks深入解析 现代Web开发&#xff1a;React Hooks深入解析 现代Web开发&#xff1a;React Hook…...

HarmonyOS使用arkTS拉起指定第三方应用程序

HarmonyOS使用arkTS拉起指定第三方应用程序 前言代码及说明bundleName获取abilityName获取 前言 本篇只说采用startAbility方式拉起第三方应用&#xff0c;需要用到两个必备的参数bundleName&#xff0c;abilityName&#xff0c;本篇就介绍如何获取参数… 代码及说明 bundle…...

flex安装学习笔记

https://zhuanlan.zhihu.com/p/2783726096 3.下载 Flux 模型 FLUX.1 [dev] &#xff1a;官方版本满配版&#xff0c;最低显存要求 24G&#xff1b;FLUX.1 [dev] fp8&#xff1a;大佬优化 [dev] 后版本&#xff0c;建议选择此版本&#xff0c;最低 12G 显存可跑&#xff1b;FLU…...

09-结构化搜索、搜索的相关性算分

term 查询执行精确值匹配&#xff0c;要求文档中的字段值与指定的词项完全相等。对于日期字段等精确值字段&#xff0c;通常使用 term 查询可以快速有效地匹配文档。match 查询执行全文搜索&#xff0c;会对输入的文本进行分析&#xff0c;生成查询词项&#xff0c;并试图找到与…...

手机屏幕上进行OCR识别方案

在手机屏幕上进行OCR识别&#xff0c;可以通过一些主流方案实现高效、准确的文本识别。以下是几种常见方案&#xff1a; 1. 使用 Tesseract OCR 原理&#xff1a;Tesseract 是一个开源的 OCR 引擎&#xff0c;支持多种语言。可以通过一些优化提升其对手机屏幕文本的识别效果。…...

遗传算法与深度学习实战(22)——使用Numpy构建神经网络

遗传算法与深度学习实战&#xff08;22&#xff09;——使用Numpy构建神经网络 0. 前言1. 神经网络基础1.1 简单神经网络的架构1.2 神经网络的训练 2. 使用 Numpy 构建神经网络2.1 网络架构2.2 实现神经网络 小结系列链接 0. 前言 我们已经学习了如何使用进化算法来优化深度学…...

react->Antd->Table调整checkbox默认样式

checkbox默认不展示&#xff0c;hover此行时&#xff0c;出现checkbox,选中后不消失&#xff1a; hover前&#xff0c;设置透明边框&#xff1b; hover时&#xff0c;checkbox出现 选中后 代码块&#xff1a; .ant-checkbox {.ant-checkbox-inner {border: transparent;}}.ant…...

一种ESB的设计

系统架构 ESB包括&#xff1a; ESB总控服务、业务应用集群、业务消息WEB服务、业务消息日志服务、运维管理平台、业务设计器。如下图所示 ESB总控服务 ESB总控服务承载了各项业务的运维和管理。主要包括&#xff1a; 业务流程的管理ESB内部不同模块间的通讯ESB系统设置和管理…...

上位机常用通信方式

1. 串口通信&#xff1a;RS232&#xff08;设备和PC之间&#xff0c;最常用&#xff0c;短距离&#xff09;、RS485&#xff08;工业现场总线&#xff0c;长距离&#xff0c;多点通信&#xff09; 2. 以太网通信&#xff1a;TCP/IP协议 3. CAN总线通信 4. Modbus协议&#xff1…...

Vue3中使用LogicFlow实现简单流程图

实现结果 实现功能&#xff1a; 拖拽创建节点自定义节点/边自定义快捷键人员选择弹窗右侧动态配置组件配置项获取/回显必填项验证 自定义节点与拖拽创建节点 拖拽节点面板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 …...

知识竞赛答题系统,线上答题小程序链接怎么做?

随着智能手机的普及&#xff0c;越来越多的单位开始在线上开展知识竞赛。这种形式的知识竞赛不仅易于操作&#xff0c;而且参与度更高。那么线上知识竞赛答题系统怎么做呢&#xff1f;自己可以做吗&#xff1f;答案是可以的&#xff01;借助微信答题系统制作平台风传吧&#xf…...

基于SSM的社区物业管理系统+LW参考示例

1.项目介绍 系统角色&#xff1a;管理员、业主&#xff08;普通用户&#xff09;功能模块&#xff1a;管理员&#xff08;用户管理、二手置换管理、报修管理、缴费管理、公告管理&#xff09;、普通用户&#xff08;登录注册、二手置换、生活缴费、信息采集、报事报修&#xf…...

android——jetpack startup初始化框架

一、jetpack startup Android Jetpack Startup是一个库&#xff0c;它简化了Android应用启动过程&#xff0c;尤其是对于那些需要处理复杂数据绑定和初始化逻辑的应用。它的核心在于提供了一个StartupComponent&#xff0c;用于声明应用的初始化逻辑&#xff0c;这个逻辑会在首…...

英伟达HOVER——用于人形机器人的多功能全身控制器:整合不同的控制模式且实现彼此之间的无缝切换

前言 前几天&#xff0c;一在长沙的朋友李总发我一个英伟达HOVER的视频(自从我今年年初以来持续不断的解读各大顶级实验室的最前沿paper、以及分享我司七月在具身领域的探索与落地后&#xff0c;影响力便越来越大了&#xff0c;不断加油 )&#xff0c;该视频说的有点玄乎&…...

GEE代码学习 day17

13.2 地球上到处都有许多图像吗&#xff1f; 我们可以使用下面的代码将这个 reducer count 应用于我们过滤后的 ImageCollection。我们将返回相同的数据集并筛选 2020 年&#xff0c;但没有地理限制。这将收集来自世界各地的图像&#xff0c;然后计算每个像素中的图像数量。以…...

论文阅读笔记-Covariate Shift: A Review and Analysis on Classifiers

前言 标题&#xff1a;Covariate Shift: A Review and Analysis on Classifiers 原文链接&#xff1a;Link\ 我们都知道在机器学习模型中&#xff0c;训练数据和测试数据是不同的阶段&#xff0c;并且&#xff0c;通常是是假定训练数据和测试数据点遵循相同的分布。但是实际上&…...

树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频

使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...

java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别

UnsatisfiedLinkError 在对接硬件设备中&#xff0c;我们会遇到使用 java 调用 dll文件 的情况&#xff0c;此时大概率出现UnsatisfiedLinkError链接错误&#xff0c;原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用&#xff0c;结果 dll 未实现 JNI 协…...

三体问题详解

从物理学角度&#xff0c;三体问题之所以不稳定&#xff0c;是因为三个天体在万有引力作用下相互作用&#xff0c;形成一个非线性耦合系统。我们可以从牛顿经典力学出发&#xff0c;列出具体的运动方程&#xff0c;并说明为何这个系统本质上是混沌的&#xff0c;无法得到一般解…...

C++使用 new 来创建动态数组

问题&#xff1a; 不能使用变量定义数组大小 原因&#xff1a; 这是因为数组在内存中是连续存储的&#xff0c;编译器需要在编译阶段就确定数组的大小&#xff0c;以便正确地分配内存空间。如果允许使用变量来定义数组的大小&#xff0c;那么编译器就无法在编译时确定数组的大…...

Fabric V2.5 通用溯源系统——增加图片上传与下载功能

fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...

深度学习水论文:mamba+图像增强

&#x1f9c0;当前视觉领域对高效长序列建模需求激增&#xff0c;对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模&#xff0c;以及动态计算优势&#xff0c;在图像质量提升和细节恢复方面有难以替代的作用。 &#x1f9c0;因此短时间内&#xff0c;就有不…...

C++.OpenGL (20/64)混合(Blending)

混合(Blending) 透明效果核心原理 #mermaid-svg-SWG0UzVfJms7Sm3e {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-icon{fill:#552222;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-text{fill…...

Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换

目录 关键点 技术实现1 技术实现2 摘要&#xff1a; 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式&#xff08;自动驾驶、人工驾驶、远程驾驶、主动安全&#xff09;&#xff0c;并通过实时消息推送更新车…...

三分算法与DeepSeek辅助证明是单峰函数

前置 单峰函数有唯一的最大值&#xff0c;最大值左侧的数值严格单调递增&#xff0c;最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值&#xff0c;最小值左侧的数值严格单调递减&#xff0c;最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...

协议转换利器,profinet转ethercat网关的两大派系,各有千秋

随着工业以太网的发展&#xff0c;其高效、便捷、协议开放、易于冗余等诸多优点&#xff0c;被越来越多的工业现场所采用。西门子SIMATIC S7-1200/1500系列PLC集成有Profinet接口&#xff0c;具有实时性、开放性&#xff0c;使用TCP/IP和IT标准&#xff0c;符合基于工业以太网的…...