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

Vue页面,基础配置

最简单页面

  1. 日期范围及字符搜索,监听器处理日期范围搜索控件清空重置问题
  2. 导出、导出文件文件名称带日期时间
  3. 表格日期指定格式显示
  4. 。。。
<template><div class="app-container"><el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px"><el-form-item label="申请日期"><el-date-pickerv-model="queryParams.queryDate"style="width: 240px"value-format="yyyy-MM-dd"type="daterange"range-separator="-"start-placeholder="开始日期"end-placeholder="结束日期"></el-date-picker></el-form-item><el-form-item label="姓名" prop="name"><el-inputv-model="queryParams.name"placeholder="请输入..."clearable@keyup.enter.native="handleQuery"/></el-form-item><el-form-item><el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button><el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button></el-form-item></el-form><el-row :gutter="10" class="mb8"><el-col :span="1.5"><el-buttontype="warning"plainicon="el-icon-download"size="mini"@click="handleExport"v-hasPermi="['Leslie:Lee:export']">导出</el-button></el-col><right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar></el-row><el-table v-loading="loading" :data="dataList" @selection-change="handleSelectionChange" border :max-height="tableMaxHeight"><el-table-column type="selection" width="55" align="center"/><el-table-column label="ID" align="center" prop="id" width="100" :show-overflow-tooltip='true' v-if="false"/><el-table-column label="姓名" align="center" prop="name" width="200" :show-overflow-tooltip="true"/><el-table-column label="申请日期" align="center" prop="applicationDate" width="100"><template slot-scope="scope"><span>{{ parseTime(scope.row.applicationDate, '{y}-{m}-{d}') }}</span></template></el-table-column></el-table><paginationv-show="total>0":total="total":page.sync="queryParams.pageNum":limit.sync="queryParams.pageSize"@pagination="getList"/></div>
</template><script>
import {queryDataList} from "@/api/leslie/lee.js";export default {name: "Leslie Lee",data() {return {// 遮罩层loading: true,// 选中数组ids: [],// 非单个禁用single: true,// 非多个禁用multiple: true,// 显示搜索条件showSearch: true,// 总条数total: 0,// 弹出层标题title: "",// 是否显示弹出层open: false,// 表单参数form: {},// 表单校验rules: {},// 数据集合dataList: [],// 查询参数queryParams: {// 页码、页显示量pageNum: 1,pageSize: 10,// 日期查询控件值集合queryDate: null,// 日期范围查询开始、结束startDate: null,endDate: null,// 其他查询参数id: null,name: null,applicationDate: null,},/** queryParams 范围 */};/** return 范围 */},/** data 范围 */created() {this.getList();},/** created 范围 */computed: {/** 页面适应 */tableMaxHeight() {const screenHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;return screenHeight - 230;}},/** computed 范围 */methods: {/** 数据查询 */getList() {this.loading = true;this.queryParams.params = {};if (this.queryParams.queryDate != null && this.queryParams.queryDate !== '') {this.queryParams.startDate = this.queryParams.queryDate[0];this.queryParams.endDate = this.queryParams.queryDate[1];}queryDataList(this.queryParams).then(response => {this.dataList = response.rows;this.total = response.total;this.loading = false;});},// 取消按钮cancel() {this.open = false;this.reset();},// 表单重置reset() {this.form = {};this.resetForm("form");},/** 搜索按钮操作 */handleQuery() {this.queryParams.pageNum = 1;this.getList();},/** 重置按钮操作 */resetQuery() {this.queryParams.queryDate = null;this.queryParams.startDate = null;this.queryParams.endDate = null;this.resetForm("queryForm");this.handleQuery();},// 多选框选中数据handleSelectionChange(selection) {this.ids = selection.map(item => item.oddNumbers)this.single = selection.length !== 1this.multiple = !selection.length},/** 导出按钮操作 */handleExport() {var date = new Date()var year = date.getFullYear().toString()var month = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1).toString() : (date.getMonth() + 1).toString()var day = date.getDate() < 10 ? '0' + date.getDate().toString() : date.getDate().toString()var h = date.getHours() < 10 ? '0' + date.getHours().toString() : date.getHours().toString()var m = date.getMinutes() < 10 ? '0' + date.getMinutes().toString() : date.getMinutes().toString()var s = date.getSeconds() < 10 ? '0' + date.getSeconds().toString() : date.getSeconds().toString()var dateTime = year + '-' + month + '-' + day + "_" + h + m + sthis.download('Leslie/Lee/export', {...this.queryParams}, `导出_${dateTime}.xlsx`)}},/** methods 范围 */watch: {// 监听日期清理后数据为null进行处理否则会报错'queryParams.queryDate'(newVal) {if (newVal == null) {this.queryParams.queryDate = ''this.queryParams.startDate = ''this.queryParams.endDate = ''}}},/** watch 范围 */};
</script>

 表头居中

el-table 中加入 :header-cell-style="headerCellStyle"

设置表头居中,使 align 属性生效不冲突表头格式

 函数写在 methods

    headerCellStyle({column, rowIndex, columnIndex, cellStyle}) {return {textAlign: 'center'};},

表格合计行

el-table 中加入:show-summary :summary-method="getSummaries"

表格最下方出现合计行,但不会随导出出现在导出文件中

可设置 显示千分位

 函数写在 methods

getSummaries(param) {const {columns, data} = param;const sums = [];columns.forEach((column, index) => {if (index === 0) {sums[index] = '合计';return;}const values = data.map(item => Number(item[column.property]));if (!values.every(value => isNaN(value))) {sums[index] = values.reduce((prev, curr) => {const value = Number(curr);if (!isNaN(value)) {return prev + curr;// 保留两位小数//return Math.round((prev + value) * 100) / 100;} else {return prev;}}, 0);sums[index] += '';//显示千分位//sums[index] = sums[index].toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");} else {sums[index] = '';}});return sums;},

 合并行

设置哪几列符合什么条件后,值相等的行合并

仅写函数,不需要其他配置

函数写在 methods 中 

handleSpanMethod({row, // 行column, // 列rowIndex, // 行索引columnIndex, // 列索引}) {if (columnIndex === 1 || columnIndex === 2) {/**表格数据:this.dataList判断合并行数:this.mergeColumn()*/const _row = (this.mergeColumn(this.dataList).one)[rowIndex]const _col = _row > 0 ? 1 : 0return {rowspan: _row,colspan: _col}}},/**合并行配套方法*/mergeColumn(data) {const spanOneArr = []let concatOne = 0data.forEach((item, index) => {if (index === 0) {spanOneArr.push(1)} else {//条件if (item.name === data[index - 1].name) { //第一列需合并相同内容的字段spanOneArr[concatOne] += 1spanOneArr.push(0)} else {spanOneArr.push(1)concatOne = index}}})return {one: spanOneArr}},

获取当月第一天~最后一天

可用于设置日期范围搜索默认值

函数写在 methods 中  

    defaultDate() {var date = new Date()var year = date.getFullYear().toString()var month = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1).toString() : (date.getMonth() + 1).toString()var da = new Date(date.getFullYear(), month, 0).getDate()da < 10 ? '0' + da.toString() : da.toString()var beg = year + '-' + month + '-01'var end = year + '-' + month + '-' + dathis.queryParams.queryDate = [beg, end] //将值设置给插件绑定的数据},

相关文章:

Vue页面,基础配置

最简单页面 日期范围及字符搜索&#xff0c;监听器处理日期范围搜索控件清空重置问题导出、导出文件文件名称带日期时间表格日期指定格式显示。。。 <template><div class"app-container"><el-form :model"queryParams" ref"queryForm…...

(杨辉三角) 攻防世界--->notsequence

学习笔记。(不想看可以直接跳正文。) 前言&#xff1a;仿佛又回到高中 - - 只不过&#xff0c;是以另一种形式再次出现。 学习思维为主&#xff0c;做题位次。&#xff08;后面再补。&#xff09; 前置知识&#xff1a; 什么是杨辉三角&#xff1a; 杨辉三角_百度百科 (bai…...

【CTF Web】Pikachu CSRF(get) Writeup(CSRF+GET请求+社会工程学)

CSRF(跨站请求伪造)概述 Cross-site request forgery 简称为“CSRF”&#xff0c;在CSRF的攻击场景中攻击者会伪造一个请求&#xff08;这个请求一般是一个链接&#xff09;&#xff0c;然后欺骗目标用户进行点击&#xff0c;用户一旦点击了这个请求&#xff0c;整个攻击就完成…...

智能工厂的软件设计 作为“程序Program”的中台 之2

Q11、现在&#xff0c;我们再重新理解一下前面所说&#xff1a;三种中台&#xff08;数据中台、技术中台和业务中台&#xff09;作为这个整体的三个整子Holon&#xff0c;合起来是一个 融合了三分法&#xff08; 三分部 的三个中台构成三段式 程序框架&#xff0c;分别用 <h…...

GB28181信令交互流程及Android端设备对接探讨

GB28181规范必要性 好多开发者在做比如执法记录仪、智能安全帽、智能监控等设备端视频回传技术方案选型的时候&#xff0c;不清楚到底是用RTSP、RTMP还是GB28181&#xff0c;对GB28181相对比较陌生&#xff0c;我们就GB28181规范的必要性&#xff0c;做个探讨&#xff1a; 实现…...

OpenCV视频I/O(14)创建和写入视频文件的类:VideoWriter介绍

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 视频写入器类。 该类提供了用于写入视频文件或图像序列的 C API。 cv::VideoWriter 类是 OpenCV 库中用于创建和写入视频文件的一个类。它提供了…...

c语言学习(书本目录)

关键字 变量 3.typedef的使用&#xff1a; 定义一个结构体&#xff0c;名字是Person&#xff1a; struct Person { char name[50]; int age; }; 给结构体取一个别名&#xff1a;struct Person---》Person typedef struct Person Person; 上面带标签的结构体等效于 …...

2024年最新版本神马TV8.5影视APP源码 293TV影视点播系统源码搭建教程 神马TV8.2加强版反编译教程 保姆级小白可搭建 完整版本视频教程

2024年最新版的神马TV影视APP源码&#xff0c;版本号8.5&#xff0c;提供了前所未有的定制化选项和高级功能。用户可以轻松更换应用的包名和名称&#xff0c;确保品牌个性化。此外&#xff0c;该应用采用了动态域名加密技术&#xff0c;增强了数据传输的安全性。它支持自动切换…...

衍生品交易的隐藏风险:认识CCR和xVA

作为一名资深的量化交易专家和金融自媒体人&#xff0c;我经常被问到&#xff1a;"衍生品交易真的像传说中那么危险吗&#xff1f;"这个问题背后&#xff0c;隐藏着许多投资者对金融市场的担忧和好奇。今天&#xff0c;让我们一起揭开衍生品交易中两个关键概念的面纱…...

我的项目管理生涯

1 前言 从好几年前就想写几篇关于自己职业生涯的文章了&#xff0c;一直由于各种原因没有写成&#xff0c;正好借新的工作机会&#xff0c;尤其是项目管理这段工作经历&#xff0c;计划通过这一二篇文章进行总结和反思一下&#xff0c;以期更顺利的开展相关工作或是自己能更上…...

ChatGPT Canvas:交互式对话编辑器

自两年前 ChatGPT 发布以来&#xff0c;主流 AI 均以对话形式进行交互。传统的对话式界面可以直观看到反馈结果&#xff0c;但在需要深度编辑和协作的项目中就略显局限。为了解决此问题&#xff0c;几个月前 Claude 就发布过 Artifacts 功能&#xff0c;用来拓展原有对话。而现…...

[Linux] Linux 的进程如何调度——Linux的 O(1)进程调度算法

标题&#xff1a;[Linux] Linux 的进程如何调度——优先级与进程调度 个人主页水墨不写bug 目录 一、前言 二、将要出现的概念 1.进程调度队列 2.位图 3.进程的优先级 三、Linux进程的调度过程 1.活动队列&#xff08;*active指向的队列&#xff09; 2.过期队列&#…...

Python使用Selenium动态爬取CSDN社区帖子的URL链接

前几天读了一篇CSDN社区的帖子&#xff0c;发现文章内容写得极好&#xff0c;值得借鉴学习。于是我想将那个社区的帖子都爬下来&#xff0c;但是那个社区发布的贴子挺多的&#xff0c;一直往下拉才到2022年5月的发布。于是我就只将5月份之前的爬下来就行&#xff0c;但是帖子是…...

【ShuQiHere】双系统指南:如何在 Linux 系统情况下安装 Windows 11,处理引导与网络问题 ️

【ShuQiHere】 &#x1f5a5;️&#x1f4a1; 在安装 Windows 11 和 Linux 双系统时&#xff0c;常常会遇到各种棘手的问题&#xff0c;特别是在网络连接、BIOS 设置和引导修复方面。今天我将详细带你解决这些问题&#xff0c;让你顺利完成 Windows 11 安装&#xff0c;并恢复…...

jQuery EasyUI 扩展

jQuery EasyUI 扩展 引言 jQuery EasyUI 是一个流行的 HTML5 框架,用于构建交互式网页界面。它提供了一系列的 UI 组件,如布局、窗口、数据网格等,使得网页开发变得更加简单快捷。然而,尽管 EasyUI 功能丰富,但在某些特定场景下,开发者可能需要更多的定制化功能或组件。…...

408算法题leetcode--第24天

#378. 有序矩阵中第 K 小的元素 378. 有序矩阵中第 K 小的元素思路&#xff1a;值二分&#xff0c;如注释时间&#xff1a;O(log(r-l) * n)&#xff1b;空间&#xff1a;O(1) class Solution { public:int check(vector<vector<int>>& matrix, int target){/…...

【CKA】二、节点管理-设置节点不可用

2、节点管理-设置节点不可用 1. 考题内容&#xff1a; 2. 答题思路&#xff1a; 先设置节点不可用&#xff0c;然后驱逐节点上的pod 这道题就两条命令&#xff0c;直接背熟就行。 也可以查看帮助 kubectl cordon -h kubectl drain -h 参数详情&#xff1a; –delete-empty…...

STM32中断编程指南:NVIC和中断优先级

在STM32微控制器编程中&#xff0c;中断是实现多任务处理和实时响应的关键技术。NVIC&#xff08;Nested Vectored Interrupt Controller&#xff09;是STM32中的中断控制器&#xff0c;负责管理中断请求、优先级和中断向量。本文将详细介绍STM32的NVIC配置和中断优先级设置&am…...

ThreadLocal底层原理及数据结构详解

ThreadLocal允许为每个线程创建独立的变量副本&#xff0c;使得同一个ThreadLocal对象在不同的线程中拥有不同的值。它的主要作用是在并发环境下提供线程隔离&#xff0c;避免多个线程共享同一个变量&#xff0c;从而减少线程间的相互干扰。 ThreadLocal的核心在于为每个线程维…...

Android Framework AMS(02)AMS启动及相关初始化5-8

该系列文章总纲链接&#xff1a;专题总纲目录 Android Framework 总纲 本章关键点总结 & 说明&#xff1a; 说明&#xff1a;本章节主要涉及systemserver启动AMS及初始化AMS相关操作。同时由于该部分内容过多&#xff0c;因此拆成2个章节&#xff0c;本章节是第二章节&…...

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…...

JavaSec-RCE

简介 RCE(Remote Code Execution)&#xff0c;可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景&#xff1a;Groovy代码注入 Groovy是一种基于JVM的动态语言&#xff0c;语法简洁&#xff0c;支持闭包、动态类型和Java互操作性&#xff0c…...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄

文&#xff5c;魏琳华 编&#xff5c;王一粟 一场大会&#xff0c;聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中&#xff0c;汇集了学界、创业公司和大厂等三方的热门选手&#xff0c;关于多模态的集中讨论达到了前所未有的热度。其中&#xff0c;…...

ES6从入门到精通:前言

ES6简介 ES6&#xff08;ECMAScript 2015&#xff09;是JavaScript语言的重大更新&#xff0c;引入了许多新特性&#xff0c;包括语法糖、新数据类型、模块化支持等&#xff0c;显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var&#xf…...

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...

Day131 | 灵神 | 回溯算法 | 子集型 子集

Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 笔者写过很多次这道题了&#xff0c;不想写题解了&#xff0c;大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...

Go 语言接口详解

Go 语言接口详解 核心概念 接口定义 在 Go 语言中&#xff0c;接口是一种抽象类型&#xff0c;它定义了一组方法的集合&#xff1a; // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的&#xff1a; // 矩形结构体…...

定时器任务——若依源码分析

分析util包下面的工具类schedule utils&#xff1a; ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类&#xff0c;封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz&#xff0c;先构建任务的 JobD…...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

Neo4j 集群管理:原理、技术与最佳实践深度解析

Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...