html+vue编写分页功能
效果:
html关键代码:
<div class="ui-jqgrid-resize-mark" id="rs_mlist_table_C87E35BE"> </div><div class="list_component_pager ui-jqgrid-pager undefined" dir="ltr"><div id="pg_list_table_C87E35BE_pager" class="ui-pager-control" role="group"><table class="ui-pg-table ui-common-table ui-pager-table table table-sm"><tbody><tr><td id="list_table_C87E35BE_pager_left" align="left"></td><td id="list_table_C87E35BE_pager_center" align="center"style="white-space: pre; width: 370.844px;"><table class="ui-pg-table ui-common-table ui-paging-pager"><tbody><tr><td ng-show="pageNum<=1" class="ui-pg-button undefined ui-disabled"title="第一页"><span class="bi bi-chevron-bar-left"></span></td><td ng-show="pageNum>1" class="ui-pg-button undefined" title="第一页"ng-click='ctrl.firstPage()'><span class="bi bi-chevron-bar-left"></span></td><td ng-show="pageNum<=1" class="ui-pg-button undefined ui-disabled"title="上一页"><span class="bi bi-chevron-left"></span></td><td ng-show="pageNum>1" class="ui-pg-button undefined" title="上一页"ng-click='ctrl.upperPage()'><span class="bi bi-chevron-left"></span></td><td class="ui-pg-button ui-disabled" style="cursor: default;"><span class="ui-separator"></span></td><td id="input_list_table_C87E35BE_pager" dir="ltr"><input class="ui-pg-input undefined" type="text" size="2" maxlength="7"ng-model="pageNum" role="textbox"> 共<span id="sp_1_list_table_C87E35BE_pager">{{totalPages}}</span>页</td><td class="ui-pg-button ui-disabled" style="cursor: default;"><span class="ui-separator"></span></td><td ng-show="totalPages==pageNum"class="ui-pg-button undefined ui-disabled"title="下一页"style="cursor: default;"><span class="bi bi-chevron-right"></span></td><td ng-show="pageNum>=1&&totalPages>1&&pageNum!=totalPages"class="ui-pg-button undefined"title="下一页"ng-click='ctrl.nextPage()'style="cursor: default;"><span class="bi bi-chevron-right"></span></td><td ng-show="pageNum<totalPages"class="ui-pg-button undefined" title="最后一页"ng-click='ctrl.lastPage()'><span class="bi bi-chevron-bar-right"></span></td><td ng-show="pageNum>=totalPages"class="ui-pg-button undefined ui-disabled"title="最后一页"><span class="bi bi-chevron-bar-right"></span></td><td style="margin-top: 20px;"><cb-select style="border: 1px solid #f0f0f0;margin-top: 20px;"ng-model="statType" options="statTypeOptions"ng-change='ctrl.flippingPage()'inline="true" title="每页记录数"></cb-select><!-- <select class="ui-pg-selbox undefined" size="1" role="listbox"--><!-- title="每页记录数">--><!-- <option role="option" value="15" selected="selected">15</option>--><!-- <option role="option" value="50">50</option>--><!-- <option role="option" value="100">100</option>--><!-- </select>--></td></tr></tbody></table></td><td id="list_table_C87E35BE_pager_right" align="right"><div dir="ltr" style="text-align:right" class="ui-paging-info">{{test1}}-{{test2}} 共{{count}} 条</div></td></tr></tbody></table></div></div>
vue代码:
$scope.statTypeOptions = [{id: '1', name: '15'}, {id: '2', name: '50'}, {id: '3', name: '100'}]; $scope.statType = $scope.statTypeOptions[0]; $scope.count = '';//总数 $scope.test1 = '';//开始页数 $scope.test2 = '';//结束页数 $scope.totalPages = '';//总页数 $scope.pageNum = '';//页码 $scope.pageSize = '';//每页数 $scope.lastSize = '';//最后一页
initialize: function () {ctrl.initData();},initData: function () {ctrl.getList(ctrl.filter.keyword, ctrl.filter.dateRange, ctrl.filter.dateRanges, $scope.pageNum, $scope.pageSize)},getList: function (keyword, dateRange, dateRanges, pageNum, pageSize) {http.get('maintenanceRecords/total', {keyword: keyword,dateRange: util.encodeJSON(dateRange),dateRanges: util.encodeJSON(dateRanges),pageNum: pageNum, pageSize: pageSize}).then(function (response) {var result = _.get(response, 'data.datas.result', {});$scope.entity = result.list;$scope.count = result.count;$scope.totalPages = result.totalPages;$scope.pageNum = result.pageNum;$scope.pageSize = result.pageSize;if ($scope.pageNum == '1') {$scope.test1 = '1'$scope.test2 = $scope.count} else {$scope.test1 = $scope.pageSize * 1 + 1if ($scope.pageSize * $scope.pageNum <= $scope.count) {$scope.test2 = $scope.pageSize * $scope.pageNum} else {$scope.test2 = $scope.count}}$scope.lastSize = Math.ceil($scope.totalPages / $scope.pageSize);util.apply($scope);});},firstPage: function () {ctrl.getList(ctrl.filter.keyword, ctrl.filter.dateRange, ctrl.filter.dateRanges, '1', $scope.pageSize)},upperPage: function () {$scope.pageNum = $scope.pageNum * 1 - 1ctrl.getList(ctrl.filter.keyword, ctrl.filter.dateRange, ctrl.filter.dateRanges, $scope.pageNum, $scope.pageSize)},nextPage: function () {$scope.pageNum = $scope.pageNum * 1 + 1ctrl.getList(ctrl.filter.keyword, ctrl.filter.dateRange, ctrl.filter.dateRanges, $scope.pageNum, $scope.pageSize)},lastPage: function () {$scope.pageNum = Math.ceil($scope.count * 1 / $scope.pageSize * 1);ctrl.getList(ctrl.filter.keyword, ctrl.filter.dateRange, ctrl.filter.dateRanges, $scope.pageNum, $scope.pageSize)},flippingPage: function () {$scope.pageSize = $scope.statType.namectrl.getList(ctrl.filter.keyword, ctrl.filter.dateRange, ctrl.filter.dateRanges, $scope.pageNum, $scope.pageSize)},
Java后端代码:
@GetMapping("/total")public CheckMessage total(@RequestParam(value = "keyword", required = false) String keyword,@RequestParam(value = "dateRanges", required = false) String dateRanges,@RequestParam(value = "dateRange", required = false) String dateRange,@RequestParam(value = "pageNum", required = false, defaultValue = "1") Integer pageNum,@RequestParam(value = "pageSize", required = false, defaultValue = "15") Integer pageSize) {Document userDoc = UserUtils.getUser();Document query = new Document();//维修单编号、状态、产品类型、产品编码、产品名称、SN码(新旧码一起搜索)、处理方案、创建日期、维修完成日期if (StrUtil.isNotEmpty(keyword)) {query = new Document().append("$or", Arrays.asList(new Document("repairOrderNumber", new Document("$regex", keyword)),new Document("orderWorkStatus", new Document("$regex", keyword)),new Document("appraisal.service.name", new Document("$regex", keyword)),new Document("product.type", new Document("$regex", keyword)),new Document("product.code", new Document("$regex", keyword)),new Document("product.name", new Document("$regex", keyword)),new Document("snCode", new Document("$regex", keyword)),new Document("resultsRepair.newSnCode", new Document("$regex", keyword)),new Document("resultsRepair.machine", new Document("$regex", keyword))));}if (UserUtils.isOEMUser()) {Document oemDto = userDoc.get("oem", Document.class);query.append("oemCode", oemDto.getString("id"));}if (StrUtil.isNotEmpty(dateRange)) {Document entity = DocuLib.parseDecode(dateRange);if (entity.size() > 0) {query.append("$and", Arrays.asList(new Document("createTime", new Document("$gte", entity.getString("start"))),new Document("createTime", new Document("$lte", entity.getString("end")))));}}if (StrUtil.isNotEmpty(dateRanges)) {Document entity = DocuLib.parseDecode(dateRanges);if (entity.size() > 0) {query.append("$and", Arrays.asList(new Document("completedRepairData", new Document("$gte", entity.getString("start"))),new Document("completedRepairData", new Document("$lte", entity.getString("end")))));}}// 计算跳过的记录数int skipCount = (pageNum - 1) * pageSize;List<Document> list = DBUtils.list(MaintenanceRecords.collectionName, query, null, null, pageSize, skipCount);//总数long count = DBUtils.count(MaintenanceRecords.collectionName, query);// 计算总页数int totalPages = (int) Math.ceil((double) count / pageSize);Document entity = new Document();entity.put("list", list);entity.put("count", count);entity.put("pageNum", pageNum);entity.put("pageSize", pageSize);entity.put("totalPages", totalPages);return ResultData.succ(entity);}
相关文章:

html+vue编写分页功能
效果: html关键代码: <div class"ui-jqgrid-resize-mark" id"rs_mlist_table_C87E35BE"> </div><div class"list_component_pager ui-jqgrid-pager undefined" dir"ltr"><div id"pg…...

计算机网络 实验指导 实验17
实验17 配置无线网络实验 1.实验拓扑图 Table PC0 和 Table PC1 最开始可能还会连Access Point0,无影响后面会改 名称接口IP地址网关地址Router0fa0/0210.10.10.1fa0/1220.10.10.2Tablet PC0210.10.10.11Tablet PC1210.10.10.12Wireless互联网220.10.10.2LAN192.16…...
在 Vue中,v-for 指令的使用
在 Vue中,v-for 指令用于渲染一个列表,基于源数据多次渲染元素或模板块。它对于展示数组或对象中的数据特别有用。 数组渲染 假设你有一个数组,并且你想为每个数组元素渲染一个 <li> 标签: <template> <ul>…...
达梦数据库执行sql报错:数据溢出
数据库执行sql报错数据溢出 单独查询对应的数字进行计算是不是超过了某个字段类型的上限或下限 如果已经超过了,进行对字段进行cast类型转换处理,转换为dec num都可以尝试 这里就是从 max(T.BLOCK_ID as dec*8192t.bytes)/1024/1024 max_MB,换成了这个…...

从「宏大叙事」到「生活叙事」,小红书品牌种草的的“正确姿势”
不同于抖音和微博,在小红书上,品牌营销的基调应该是怎样的?品牌怎样与小红书用户对话?什么样的内容,才能走进小红书用户的心中?本期,小编将带大家洞察品牌在小红书营销的“正确姿势”。从「小美…...
Python Selenium 的基本使用方法
文章目录 1. 概述2. 安装Chrome及ChromeDriver2.1 安装Chrome2.2 安装ChromeDriver 3. 安装Selenium4. 常见用法4.1 启动4.2 查找元素4.3 等待页面加载元素 1. 概述 Selenium 是一个用于自动化 web 浏览器的工具,它提供了一套用于测试 web 应用程序的工具和库。Sel…...

上位机图像处理和嵌入式模块部署(树莓派4b固件功能设计)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 前面我们说过,上位机的功能都是基于插件进行开发的。但是上位机的成本比较贵,一般的企业不一定愿意接接受。这个时候另外一…...
新手入门人工智能:从零开始学习AI的正确途径
你是否对人工智能(AI)充满了好奇心和探索欲?你是否想了解如何从零开始学习AI,成为一名人工智能领域的专家?那么,这篇文章就是为你准备的!我们将带你了解人工智能的基本概念,学习如何…...
ubuntu git相关操作
1 安装git sudo apt install git git --version git version 2.25.1 2 解决git超时 2.1 扩大post的buffer git config --global http.postBuffer 524288000 git config --global http.postBuffer 157286400 2.2 换回HTTP1上传。上传之后再切换回HTTP2 …...

IDEA工具|添加 GitLab 账户之两三事
📫 作者简介:「六月暴雪飞梨花」,专注于研究Java,就职于科技型公司后端工程师 🏆 近期荣誉:华为云云享专家、阿里云专家博主、腾讯云优秀创作者、ACDU成员 🔥 三连支持:欢迎 ❤️关注…...
蓝桥杯:棋盘(Java)
目录 问题描述输入格式输出格式代码实现 问题描述 小蓝拥有n n大小的棋盘,一开始棋盘上全都是白子。小蓝进行了m.次操作,每次操作会将棋盘上某个范围内的所有棋子的颜色取反(也就是白色棋子变为黑色,黑色棋子变为白色)。请输出所…...

跨界融合:ERP与TMS的区分、相通之处、融合方式,全告诉你。
Hi,如今系统的边界越来越模糊,A系统和B系统会有一些功能的交叉,贝格前端工场今天开始介绍第二篇ERP和TMS的融合。 一、什么是ERP和TMS ERP是企业资源规划(Enterprise Resource Planning)的缩写,是一种集成…...
SAP Smartform转存PDF方法汇总
用户会有保存SF至本地PDF文件的需求,下面详细说明一下Smartform转成PDF的四种方法,其中,方法二和三相比于其他方法更便捷实用,如果还有其他方法,欢迎留言补充。 一、代码开发 1)先调用smartform函数获取OTF格式数据 2)后调用函数CONVERT_OTF转换成PDF格式数据 3)再…...

Linux【实战篇】—— NFS服务搭建与配置
目录 一、介绍 1.1什么是NFS? 1.2客户端与服务端之间的NFS如何进行数据传输? 1.3RPC和NFS的启动顺序 1.4NFS服务 系统守护进程 二、安装NFS服务端 2.1安装NFS服务 2.2 创建共享目录 2.3创建共享目录首页文件 2.4关闭防火墙 2.5启动NFS服务 2.…...
Edge的使用心得与深度探索
Microsoft Edge 是微软推出的一款网页浏览器,基于 Chromium 开源项目开发。从 2020 年开始,Edge 浏览器经历了一次重大更新,采用了与 Google Chrome 相同的浏览器引擎,这使得它在性能、兼容性和扩展支持方面都得到了显著改善。以下…...

逆向案例二十八——红某点集登录接口逆向序
网址:aHR0cHM6Ly93d3cuaHJkanl1bi5jb20vIy9sb2dpbj9yZWRpcmVjdD0lMkZyZWFsVGltZUxpdmluZw 登录接口,发现两个参数加密,分别是pwd和sig,t很明显是时间戳。 观察pwd,发现很像md5加密,我输入的密码是123456,在在线加密网…...
我的创作纪念日20240418
机缘 我的技术博客起源于对编程的深深热爱和对知识的渴望。从一开始,我就被编程世界的无限可能所吸引,而这种热情也推动我开始了技术创作之旅。我创建博客的初衷有以下几点: 分享实战经验:在工作中,我遇到了许多技术…...
计算机视觉入门
计算机视觉是人工智能的一个分支,它涉及研究如何使计算机能够理解和解释图像和视频中的视觉信息。这个领域结合了计算机科学、工程学、神经科学和认知科学等多个学科的知识。以下是计算机视觉入门的一些关键点: 1. 基础概念 - **图像处理**:对…...

CTFHUB-技能树-Web前置技能-文件上传(前端验证—MIME绕过、00截断、00截断-双写后缀)
CTFHUB-技能树-Web前置技能-文件上传(前端验证—MIME绕过、00截断、00截断-双写后缀) 文章目录 CTFHUB-技能树-Web前置技能-文件上传(前端验证—MIME绕过、00截断、00截断-双写后缀)前端验证—MIME绕过有关MIMEMIME的作用 解题时有…...

Java面试题笔记(持续更新)
Java基础 java中的Math.round(-1.5)等于多少? Math的round方法是四舍五入,如果参数是负数,则往大的数如,Math.round(-1.5)-1,如果是Math.round(1.5)则结果为2 JDK和JRE的区别? JDK 是 Java Development ToolKit 的简称,也就是…...

龙虎榜——20250610
上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...
Python爬虫实战:研究feedparser库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...

Map相关知识
数据结构 二叉树 二叉树,顾名思义,每个节点最多有两个“叉”,也就是两个子节点,分别是左子 节点和右子节点。不过,二叉树并不要求每个节点都有两个子节点,有的节点只 有左子节点,有的节点只有…...

OPENCV形态学基础之二腐蚀
一.腐蚀的原理 (图1) 数学表达式:dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一,腐蚀跟膨胀属于反向操作,膨胀是把图像图像变大,而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...

uniapp手机号一键登录保姆级教程(包含前端和后端)
目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号(第三种)后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...
Git常用命令完全指南:从入门到精通
Git常用命令完全指南:从入门到精通 一、基础配置命令 1. 用户信息配置 # 设置全局用户名 git config --global user.name "你的名字"# 设置全局邮箱 git config --global user.email "你的邮箱example.com"# 查看所有配置 git config --list…...

论文阅读:LLM4Drive: A Survey of Large Language Models for Autonomous Driving
地址:LLM4Drive: A Survey of Large Language Models for Autonomous Driving 摘要翻译 自动驾驶技术作为推动交通和城市出行变革的催化剂,正从基于规则的系统向数据驱动策略转变。传统的模块化系统受限于级联模块间的累积误差和缺乏灵活性的预设规则。…...