POJOPage.java

package cn.com.mcd.util;

import java.io.Serializable;
import java.util.List;

public class PagesPojo<T> implements Serializable {

private static final long serialVersionUID = -5583579662704307696L;

private int curPage = 1; // 当前页
private int pageSize = 10; // 每页多少行
private int totalRow; // 共多少行
private int start;// 当前页起始行
private int end;// 结束行
private int totalPage; // 共多少页
private String sortColumn;//排序字段
private boolean sortDirection;//排序方向()

/**分页数据**/
private List<T> pages;

public List<T> getPages() {
return pages;
}

public void setPages(List<T> pages) {
this.pages = pages;
}

public int getCurPage() {
return curPage;
}

public void setCurPage(int curPage) {
if (curPage < 1) {
curPage = 1;
} else {
start = pageSize * (curPage - 1);
}
end = start + pageSize > totalRow ? totalRow : start + pageSize;
this.curPage = curPage;
}

public int getStart() {
// start=curPage*pageSize;
return start;
}

public int getEnd() {

return end;
}

public int getPageSize() {
return pageSize;
}

public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}

public int getTotalRow() {
return totalRow;
}

public void setTotalRow(int totalRow) {
totalPage = (totalRow + pageSize - 1) / pageSize;
this.totalRow = totalRow;
if (totalPage < curPage) {
if (totalPage != 0) curPage = totalPage;
end = totalRow;
}
start = pageSize * (curPage - 1);
end = start + pageSize > totalRow ? totalRow : start + pageSize;
}

public int getTotalPage() {

return this.totalPage;
}

public String getSortColumn() {
return sortColumn;
}

public void setSortColumn(String sortColumn) {
this.sortColumn = sortColumn;
}

public boolean isSortDirection() {
return sortDirection;
}

public void setSortDirection(boolean sortDirection) {
this.sortDirection = sortDirection;
}

}

javaBean

package cn.com.mcd.model;

import java.util.Date;

public class ItEquipmentMaintenance {
private Long id;

private String equipmentNo;

private String faCode;

private String equipmentCode;

private String equipmentName;

private String areaType;

private String equipmentType;

private String auditStatus;

private String comments;

private String createdBy;

private Date createdStamp;

public Long getId() {
return id;
}

public void setId(Long id) {
this.id = id;
}

public String getEquipmentNo() {
return equipmentNo;
}

public void setEquipmentNo(String equipmentNo) {
this.equipmentNo = equipmentNo == null ? null : equipmentNo.trim();
}

public String getFaCode() {
return faCode;
}

public void setFaCode(String faCode) {
this.faCode = faCode == null ? null : faCode.trim();
}

public String getEquipmentCode() {
return equipmentCode;
}

public void setEquipmentCode(String equipmentCode) {
this.equipmentCode = equipmentCode == null ? null : equipmentCode.trim();
}

public String getEquipmentName() {
return equipmentName;
}

public void setEquipmentName(String equipmentName) {
this.equipmentName = equipmentName == null ? null : equipmentName.trim();
}

public String getAreaType() {
return areaType;
}

public void setAreaType(String areaType) {
this.areaType = areaType == null ? null : areaType.trim();
}

public String getEquipmentType() {
return equipmentType;
}

public void setEquipmentType(String equipmentType) {
this.equipmentType = equipmentType == null ? null : equipmentType.trim();
}

public String getAuditStatus() {
return auditStatus;
}

public void setAuditStatus(String auditStatus) {
this.auditStatus = auditStatus == null ? null : auditStatus.trim();
}

public String getComments() {
return comments;
}

public void setComments(String comments) {
this.comments = comments == null ? null : comments.trim();
}

public String getCreatedBy() {
return createdBy;
}

public void setCreatedBy(String createdBy) {
this.createdBy = createdBy == null ? null : createdBy.trim();
}

public Date getCreatedStamp() {
return createdStamp;
}

public void setCreatedStamp(Date createdStamp) {
this.createdStamp = createdStamp;
}
}

controller.java

/**
* 分页查询所有22. IT设备维护(eps_it_equipment_maintenance)
* @param vendorinfo
* @param page
* @return
* @throws Exception
*/
@RequestMapping(value = "/selectItEquipmentMaintenance", method = RequestMethod.POST)
@ResponseBody
public ResultModel selectItEquipmentMaintenance(@ModelAttribute ItEquipmentMaintenance itEquipmentMaintenance,@ModelAttribute PagesPojo<ItEquipmentMaintenance> page) throws Exception {
log.info(this.getClass().getName()+".selectItEquipmentMaintenance.start==itEquipmentMaintenance="+itEquipmentMaintenance+"========page="+page);
ResultModel resultModel = new ResultModel();
int count = purchaseItListService.countItEquipmentMaintenanceAll();
log.info(this.getClass().getName()+".selectItEquipmentMaintenance.count"+JSON.toJSONString(count));
List<ItEquipmentMaintenance> list=new ArrayList<ItEquipmentMaintenance>();
page.setTotalRow(count);
if(count>0){
list = purchaseItListService.selectItEquipmentMaintenance(page,itEquipmentMaintenance);
}
log.info(this.getClass().getName()+".selectItEquipmentMaintenance.list"+JSON.toJSONString(list));
page.setPages(list);
resultModel.setResultCode(Constants.SERVICE_SUCCESS_CODE);
resultModel.setResultMsg(Constants.DATA_BASE_SEARCH_SUCCESS_MSG);
resultModel.setResultData(page);
log.info(this.getClass().getName()+".selectItEquipmentMaintenance.end.resultModel="+resultModel);
return resultModel;
}

service.java

/**
* 分页查询22. IT设备
*/
@Override
public List<ItEquipmentMaintenance> selectItEquipmentMaintenance(PagesPojo<ItEquipmentMaintenance> page,ItEquipmentMaintenance itEquipmentMaintenance) {
List<ItEquipmentMaintenance> result =new ArrayList<ItEquipmentMaintenance>();
try{
result = itEquipmentMaintenanceMapper.selectItEquipmentMaintenance(page,itEquipmentMaintenance);
}catch(DataBaseAccessException e){
log.error("getAllITRepairCostRecords itEquipment repair cost maintenance table fail",e);
throw new DataBaseAccessException("getAllITRepairCostRecords itEquipment repair cost maintenance table fail");
}
return result;
}

sql.xml

param1:第1个参数

param2:第二个参数

<select id="selectItEquipmentMaintenance" resultMap="BaseResultMap">
SELECT top (#{param1.pageSize})
<include refid="Base_Column_List" />
from eps_it_equipment_maintenance
where
id not in (
select top (#{param1.start}) id
from eps_it_equipment_maintenance
<if test="param1.sortColumn !=null">
order by ${param1.sortColumn}
<if test="param1.sortDirection">
ASC
</if>
<if test="!param1.sortDirection">
DESC
</if>
</if>
)
<if test="param2.equipmentName!=null">
and equipment_name = #{param2.equipmentName}
</if>
<if test="param2.areaType!=null">
and area_type= #{param2.areaType}
</if>
<if test="param2.equipmentType!=null">
and equipment_type = #{param2.equipmentType}
</if>

<if test="param1.sortColumn !=null">
order by ${param1.sortColumn}
<if test ="param1.sortDirection">
ASC
</if>
<if test="!param1.sortDirection">
DESC
</if>
</if>
</select>

controller.js

/**
* 挑选商品页面的list table
*/
$scope.page = {
curPage : 1,
pageSize : 10,
sortColumn : 'id',
sortDirection : true
};
$scope.gridOptionsGoods = {
paginationPageSizes: [10, 20, 30, 40, 50],
paginationPageSize: 10,
enableColumnMenus: false,
rowEditWaitInterval: -1,
enableHorizontalScrollbar: 0,
enableVerticalScrollbar: 0,
useExternalPagination: true,
useExternalSorting: true,
expandableRowTemplate:'angularjsMVC/master-data/it-equipment-list-maintenance/template/it-equipment-list-maintenance-common.html',
expandableRowHeight : 150,
columnDefs : [
{name : 'id',displayName: '序号',enableCellEdit : false,cellTooltip:function(row) { return row.entity.purchaseNo ;}},
{name : 'equipmentNo',displayName: 'IT设备编号',enableCellEdit : false,cellTooltip:function(row) { return row.entity.purchaseName ;}},
{name : 'equipmentName',displayName: '设备名称',enableCellEdit : false,cellTooltip:function(row) { return row.entity.auditStatus ;}},
{name : 'areaType',displayName: '设备所用区域分类',enableCellEdit : false,cellTooltip:function(row) { return row.entity.auditStatus ;}},
{name : 'areaType',displayName: '设备分类',enableCellEdit : false,cellTooltip:function(row) { return row.entity.auditStatus ;}}
],

onRegisterApi : function(gridApi) {
$scope.gridApi = gridApi;
$scope.gridApi.core.on.sortChanged($scope,$scope.page,function(grid, sortColumns) {
if (sortColumns.length != 0) {
if (sortColumns[0].sort.direction == 'asc')
$scope.page.sortDirection = true;
if (sortColumns[0].sort.direction == 'desc')
$scope.page.sortDirection = false;
$scope.page.sortColumn = sortColumns[0].displayName;
ItEquipmentCommonService.queryGoodsByPage($scope,$scope.page);
}
});
gridApi.pagination.on.paginationChanged($scope,function(newPage, pageSize) {
$scope.page.curPage = newPage;
$scope.page.pageSize = pageSize;
ItEquipmentCommonService.queryGoodsByPage($scope,$scope.page);
});
gridApi.selection.on.rowSelectionChanged($scope, function(row) {
var msg = 'row selected '+ row.isSelected;
});
gridApi.selection.on.rowSelectionChangedBatch($scope,function(rows) {
var msg = 'rows changed '+ rows.length;
});
}

service.js

/**查询被挑选的商品**/
this.queryGoodsByPage = function(scope) {
var purchasemaintainData = {
'equipmentName': scope.equipmentName,
'areaType': scope.areaType.id,
'equipmentType': scope.equipmenttype.id,
};
var pages = [];
pages.push(purchasemaintainData);
scope.page.pages = pages;
http({
method: 'POST',
url: 'purchasemaintain/queryAllbyNumberandNameandAuditstatus',
data: scope.page,
}).success(function(data){
scope.gridOptionsGoods.totalItems = data.resultData.totalRow;
scope.gridOptionsGoods.data = data.resultData.pages;
scope.page = data.resultData;
}).error(function(data){
alert("fail");
});

};

html页面

<a ng-href="#">后退</a>
<div ng-controller="itEquipmentCreatController">
<div class="panelSelf panel panel-primary">
<div class="panel-heading">{{titleText}}</div>
<div class="panel-body">
<form class="form-horizontal fromSelf" role="from">
<div class="row">
<div class="col-xs-3">
<label class="control-label">项目编号:</label> <span class="colorSelf">*</span>
</div>
<div class="col-xs-3 col-xs-offset-1">
<label class="control-label">项目名称:</label> <span class="colorSelf">*</span>
</div>
<div class="col-xs-3 col-xs-offset-1" >
<label class="control-label">项目负责人</label>
</div>
</div>

<div class="form-group row divRow">
<div class="col-xs-3">
<ui-select ng-model="pro.selected" theme="bootstrap" ng-change="change()" search-enabled="searchEnabled" ng-disabled="disabled" style="width: 150px;" title="Choose a proNo">
<ui-select-match placeholder="Please select">{{$select.selected.purchaseNo}}</ui-select-match>
<ui-select-choices repeat="pro in proNoesList | propsFilter: {purchaseNo: $select.search, purchaseName: $select.search}">
<div ng-bind-html="pro.purchaseNo +'-'+pro.purchaseName | highlight: $select.search"></div>
<!-- <small> -->
<!-- {{pro.purchaseNo +'-'+pro.purchaseName}} -->
<!-- </small> -->
</ui-select-choices>
</ui-select>
</div>
<div class="col-xs-3 col-xs-offset-1">
<label ng-model="name" ng-disabled="isDisable" type="text" class="form-control">{{pro.selected.purchaseName}}</label>
</div>
<div class="col-xs-3 col-xs-offset-1">
<label ng-model="address" ng-disabled="isDisable" type="text" class="form-control">{{pro.selected.projectLeader}}</label>
</div>
</div>

<div class="row divRow">
<div class="col-xs-3">
<label class="control-label">项目类别:</label>
</div>

<div class="col-xs-3 col-xs-offset-1">
<label class="control-label">生效时间</label>
</div>
<div class="col-xs-3 col-xs-offset-1">
<label class="control-label">结束时间</label>
</div>
</div>

<div class="row divRow">
<div class="col-xs-3 radio-inline">
<label class="col-xs-4"><input ng-disabled="radioAble" name="optionRadio" type="radio" value="1" />设备</label>
<label class="col-xs-4"><input ng-disabled="radioAble" name="optionRadio" type="radio" value="2"/>工程</label>
<label class="col-xs-4"><input ng-disabled="radioAble" name="optionRadio" type="radio" value="3" checked="checked"/>IT</label>
</div>

<div class="col-xs-3 col-xs-offset-1">
<label type="text" class="form-control">{{pro.selected.startTime |date:'yyyy-MM-dd'}}</label>
</div>

<div class="col-xs-3 col-xs-offset-1">
<label type="text" class="form-control">{{pro.selected.endTime |date:'yyyy-MM-dd'}}</label>
</div>
</div>

<div class="row divRow">
<div class="col-xs-3">
<label class="control-label">备注:</label>
</div>
</div>

<div class="row divRow">
<div class="col-xs-7">
<textarea class="form-control" rows="4" placeholder="填写备注" name="checkInfo" value="pro.selected.remark">{{pro.selected.remark}}</textarea>
</div>
</div>

<div class="row divRow form-inline">
<div class="col-xs-6">
<!-- 上传文件标签 <label for="file" class="btnSelf btn btn-info">上传文件</label>
<input type="file" id="file" style="display: none" file-upload multiple/><br/> -->

<label class="control-label">已上传附件:</label>
<label ng-model="name" class="control-label">{{file}}*****</label>
<button ng-disabled="disableFlag" type="button" class="btnSelf btn btn-info">下载文件</button>
</div>
</div>

<div class="row">
<div class="col-xs-3">
<label class="control-label">SI工程师人数:</label>
<span class="colorSelf">*</span>
</div>
<div class="col-xs-3 col-xs-offset-1">
<label class="control-label" >差旅无住宿天数:</label>
</div>
<div class="col-xs-3 col-xs-offset-1">
<label class="control-label">差旅住宿天数:</label>
</div>
</div>
<div class="row divRow">
<div class="col-xs-3">
<input type="text" ng-model="siEngineerNumber" class="form-control" placeholder=""/>
</div>
<div class="col-xs-3 col-xs-offset-1">
<input type="text" ng-model="travelDaysExcludeHotel" class="form-control" placeholder=""/>
</div>
<div class="col-xs-3 col-xs-offset-1">
<input type="text" ng-model="travelDaysIncludeHotel" class="form-control" placeholder=""/>
</div>
</div>
<div class="row">
<div class="col-xs-3">
<label class="control-label">餐饮次数:</label>
<span class="colorSelf">*</span>
</div>
<div class="col-xs-3 col-xs-offset-1">
<label class="control-label" >大工程运输费:</label>
</div>
<div class="col-xs-3 col-xs-offset-1">
<label class="control-label">standby工时:</label>
</div>
</div>
<div class="row divRow">
<div class="col-xs-3">
<input type="text" ng-model="reparstTimes"" class="form-control" placeholder=""/>
</div>
<div class="col-xs-3 col-xs-offset-1">
<input type="text" ng-model="trafficExpense" class="form-control" placeholder=""/>
</div>
<div class="col-xs-3 col-xs-offset-1">
<input type="text" ng-model="standBy" class="form-control" placeholder=""/>
</div>
</div>
<div ng-controller="itEquipmentCreatController">
<div class="row divRow col-xs-offset-7">
<button ng-disabled="disableFlag" data-toggle="modal" data-target="#chooseGoods" type="button" class="btnSelf btn btn-info" ng-click="clearData()">挑选商品</button>
<button ng-disabled="disableFlag" ng-click="removeData(false)" type="button" class="btnSelf btn btn-info">移除</button>
</div>
</div>

<!-- 显示选中的商品 table list-->
<div ng-hide="visibles">
<div ui-grid="gridOptionsShow" class="grid" ui-grid-pagination ui-grid-cellNav ui-grid-selection ui-grid-auto-resize></div>
</div>

<div class="form-group row">
<div class="col-xs-12 ">
<button ng-click="" type="button" class="btnSelf btn btn-info" ng-hide="visible">保存</button>
<button ng-click="" type="button" class="btnSelf btn btn-info">取消</button>
</div>
</div>
</div>

<!-- 挑选商品 -->
<div id="chooseGoods" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="chooseGoodsLabel" aria-hidden="true">
<div style="margin-top: 30px;"></div>
<div class="modal-dialog" style="width: 70%; margin: auto;">
<div class="modal-content" style="padding: 20px;background-color: #EFEFEF;">
<div class="panel panel-primary">
<div class="panel-heading modal-title" id="chooseGoodsLabel">挑选设备</div>
<div class="panel-body">
<form class="form-horizontal fromSelf" role="from">
<div class="row divRow">
<div class="col-xs-3">
<label class="control-label">设备名称:</label>
</div>
<div class="col-xs-3 col-xs-offset-1">
<label class="control-label">设备所用区域:</label>
</div>
<div class="col-xs-3 col-xs-offset-1">
<label class="control-label">设备分类:</label>
</div>
</div>
<div class="form-group row divRow">
<div class="col-xs-3">
<input type="text" class="form-control" placeholder="" ng-model="equipmentName"/>
</div>
<div class="col-xs-3 col-xs-offset-1">
<ui-select ng-model="areaType.id" theme="bootstrap" ng-change="change()" search-enabled="searchEnabled" style="width: 150px;" title="Choose a areaType">
<ui-select-match placeholder="Please select">{{$select.selected.area}}</ui-select-match>
<ui-select-choices repeat="areaType in areaTypes | propsFilter: {id: $select.search, area: $select.search}">
<div ng-bind-html=" areaType.area | highlight: $select.search "></div>
<!-- <small> -->
<!-- {{areaType.area +'-'+areaType.id}} -->
<!-- </small> -->
</ui-select-choices>
</ui-select>
</div>
<div class="col-xs-3 col-xs-offset-1">
<ui-select ng-model="equipmenttype.id" theme="bootstrap" ng-change="change()" search-enabled="searchEnabled" style="width: 150px;" title="Choose a equipmenttype">
<ui-select-match placeholder="Please select">{{$select.selected.type}}</ui-select-match>
<ui-select-choices repeat="equipmenttype in equipmenttypes | propsFilter: {id: $select.search, code :$select.search, type: $select.search}">
<div ng-bind-html=" equipmenttype.type | highlight: $select.search "></div>
<!-- <small> -->
<!-- {{areaType.area +'-'+areaType.id}} -->
<!-- </small> -->
</ui-select-choices>
</ui-select>
</div>
</div>
<div class="row divRow">
<div class="col-xs-12">
<button ng-click="showData(false)" type="button" class="btnSelf btn btn-info">查询</button>
<button data-dismiss="modal" type="button" class="btnSelf btn btn-info">取消</button>
<button ng-click="backShowData(false)" data-dismiss="modal" ng-hide="visible" type="button" class="btnSelf btn btn-info">确认选择</button>
</div>
</div>
</form>
</div>
</div>
<!-- 挑选商品table list-->
<div ng-hide="visibles2">
<div ui-grid="gridOptionsGoods" class="grid" ui-grid-pagination ui-grid-cellNav ui-grid-selection ui-grid-auto-resize></div>
</div>
</div>

</div>
</div>
</div>
</div>
<div class="divRow"><a ng-href="#/">back up</a></div>

转载于:https://www.cnblogs.com/songyunxinQQ529616136/p/6375460.html

angularJs完成分页相关推荐

  1. html分页自动加载数据库,AngularJS实现分页显示数据库信息

    接着第一篇<>AngularJS内建服务$location及其功能详解>,进行学习 Section 2:实现分页显示效果 那么再隐身一下,通过location的setter方法设置当 ...

  2. Bootstrap+angularjs+MVC3+分页技术+角色权限验证系统

    1.Bootstrap使用教程 相关教程: http://www.bootcss.com/components.html 页面使用代码: <script src="@Url.Conte ...

  3. angularJS前端分页插件

    首先在项目中引入 分页插件的 js 和 css: 在html页面引入 相关js 和 css: 在控制器中引入分页插件中定义的 module[可以打开pagination.js查看,可以看到 其实,在插 ...

  4. 基于Angularjs实现分页

    前言 学习任何一门语言前肯定是有业务需求来驱动你去学习它,当然ng也不例外,在学习ng前我第一个想做的demo就是基于ng实现分页,除去基本的计算思路外就是使用指令封装成一个插件,在需要分页的列表页面 ...

  5. AngularJS自定义指令详解(有分页插件代码)

    前言 除了 AngularJS 内置的指令外,我们还可以创建自定义指令. 通过 .directive() 函数来添加自定义的指令. 调用自定义指令时,需要在HTMl 元素上添加自定义指令名. 自定义指 ...

  6. AngularJs创建自己的Grid–分页组件

    我把这个组件命名为tm.pagination,原因是因为起名真的太难起了.而且我网名也叫天名, TM就这样了吧.github地址https://github.com/miaoyaoyao/Angula ...

  7. angularjs实现的前端分页控件

    angularjs实现的前端分页控件 前言:之前写个一个jQuery的分页显示插件,http://blog.csdn.net/peakchen_90/article/details/52187175, ...

  8. angularjs中的分页指令

    自定义指令 import angular from 'angular';/*** @ngdoc module* @name components.page* @description 分页direct ...

  9. angularjs分页

    var routerApp = angular.module('routerApp', ['routerApp.paging']); /** * 公共分页 */ angular.module('rou ...

  10. AngularJS分页显示的简单案例

    由于我下载的anjularJs是1.3的,所以有些代码会和1.5以及之后的有些不同.虽然代码可能不同,但是分页思想还是差不多的. <body ng-app="myApp" n ...

最新文章

  1. Django视图之介绍、项目准备、URL、路由命名、reverse反解析和Postman测试
  2. 批阅论文和作业Python程序助手
  3. rhel-server版安装vbox增强功能
  4. 数据中心可以从云计算学习可持续性运营
  5. 【leetcode】472. Concatenated Words
  6. 将用户添加到sudoers里面,使用户拥有sudo权限
  7. 完美下巴标准_平行下颚抓
  8. sorted_一个函数秒杀冒泡排序算法和选择排序
  9. 收藏的一个关于C# ToString的方法集合
  10. vi中如何跳到指定行
  11. 华为 该软件被检测为风险软件_美团被华为标记为“病毒软件”,用户表示懵了,华为官方出面解释...
  12. 解决Rational Rose找不到suite objects.dll文件的问题
  13. matlab多排图例,在Matlab中绘制多行的图例
  14. SSO单点登录系统解决方案
  15. 一个能够让你快速从html结构生成css结构的vscode插件
  16. ps:HSB色彩模式
  17. 银行双活数据中心建设项目实践
  18. C语言----文件存储
  19. 平面桁架静力计算程序
  20. tf.keras入门系列(一)

热门文章

  1. 查找python矩阵中最大元素_一种快速查找numpy数组中最大N个元素的方法
  2. 构造函数= default;_C++核心准则C.46:默认状态下明确定义单参数构造函数
  3. python中import和from...import...有关头文件的使用方法及工作原理
  4. tron区块链php对接,兄弟连区块链入门到精通教程基础开发通过接口查询tron提币情况...
  5. 推荐方法-1:UserCFItemCF
  6. 容器技术Docker K8s 52 边缘容器服务(ACK@Edge)-边缘计算和边缘容器
  7. mysql exporter怎么配置_prometheus mysqld_exporter监控mysql-5.7
  8. reverse函数中的begin和end迭代器
  9. 关系模型的完整性约束
  10. Packet Voice Modeling 语音包模型