微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

详解angularjs popup-table 弹出框表格指令

本文主要介绍了angularjs popup-table 弹出框表格指令,分享给大家,具体如下:

var primaryKeyFieldName = ""; var codeFieldName = ""; $scope.showAddButton = true; $scope.showRefreshButton = true; var checkList = new Array(); //监视url变化。从而重新读取数据 $scope.$watch('url',function (newVal,oldVal) { if (oldVal != newVal) { //设定全选为false $scope.checkallvalue = false; querySearch(0,""); } }); //选择所有 $scope.checkall = function () { if (angular.isDefined($scope.popupdata) && $scope.popupdata.length > 0) { angular.forEach($s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.popupdata,function (item,index) { $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.changeChoose($s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.checkallvalue,item); }); } } //选择改变时事件 $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.changeChoose = function (check,data) { var index = findSelected(data); if (check) { if (index <= -1) checkList.push(data); } else { if (index > -1) checkList.splice(index,1); } } //通过data数据在数组中<a href="https://www.jb51.cc/tag/chaxun/" target="_blank" class="keywords">查询</a>,并返回所在的索引,没有找到则返回-1 function findSelected(data) { var indexvalue = -1; if (angular.isUndefined(checkList) || checkList.length <= 0 || primaryKeyFieldName == "") return indexvalue; angular.forEach(checkList,index) { if (indexvalue == -1) { if (item[primaryKeyFieldName] == data[primaryKeyFieldName]) { indexvalue = index; } } }); return indexvalue; } //判断是否选中 $scope.isChecked = function (rowdata) { return findSelected(rowdata) > -1; } //1、读取网络数据,<a href="https://www.jb51.cc/tag/fenye/" target="_blank" class="keywords">分页</a>,<a href="https://www.jb51.cc/tag/sousuo/" target="_blank" class="keywords">搜索</a> function querySearch(index,searchText) { if ($s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.popupdata != null && $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.popupdata.length > 0) $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.popupdata = null; //初始化 var p<a href="https://www.jb51.cc/tag/ara/" target="_blank" class="keywords">ara</a>ms = { "SearchKey": searchText,"UserId": $rootS<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.loginUserId }; p<a href="https://www.jb51.cc/tag/ara/" target="_blank" class="keywords">ara</a>ms = angular.extend(p<a href="https://www.jb51.cc/tag/ara/" target="_blank" class="keywords">ara</a>ms,{ "IsGetColumns": index > 0 ? false : true }); //刷新或者<a href="https://www.jb51.cc/tag/chaxun/" target="_blank" class="keywords">查询</a>的时候需要清空已选择项 if (index > 0) checkList.splice(0,checkList.length); $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.loading = true; $(".no-data-div").hide(); serverRequestwithformdata($http,$rootS<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.Sy<a href="https://www.jb51.cc/tag/stem/" target="_blank" class="keywords">stem</a>Url + $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.url + "/PopupList",$.p<a href="https://www.jb51.cc/tag/ara/" target="_blank" class="keywords">ara</a>m(p<a href="https://www.jb51.cc/tag/ara/" target="_blank" class="keywords">ara</a>ms),function (data) { console.info(data); $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.loading = false; if (data.status == "ok") { if (index <= 0) { $scope.title = data.windowTitle; $scope.columnlist = data.colums; $scope.showAddButton = data.ShowAdd; $scope.showRefreshButton = data.ShowRefresh; primaryKeyFieldName = data.primayKey; codeFieldName = data.codeField; //url 变化导致执行=>处理已勾选项=>赋值勾选项。 if (checkList.length > 0) checkList.splice(0,checkList.length); if (angular.isDefined($s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.selectnode) && $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.selectnode != null && $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.selectnode.length > 0) checkList = $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.selectnode; } $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.data = data.records; var sum = data.records.length; $(".sum").text("共" + sum + "条数据"); $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.pages = Math.ceil(sum / $rootS<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.PageSize); $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.newPages = $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.pages > 5 ? 5 : $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.pages; $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.<a href="https://www.jb51.cc/tag/Pagelist/" target="_blank" class="keywords">Pagelist</a> = []; $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.selPage = 1; $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.sumPage = Math.ceil($s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.data.length / $rootS<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.PageSize); for (var i = 0; i < $scope.newPages; i++) { $scope.pageList.push(i + 1); } if (sum == 0) { $(".no-data-div").show(); $(".no-data-span").val("无数据"); } $scope.setData(); $(".pages").text("当前第" + $scope.selPage + "页" + "/" + "共" + $scope.sumPage + "页"); } else { $(".no-data-div").show(); $(".no-data-span").val(data.message); } },function (data) { $scope.loading = false; $(".no-data-div").show(); $(".no-data-span").val("访问错误"); }); } //设置表格数据源(分页) $scope.setData = function () { //通过当前页数筛选出表格当前显示数据 $scope.popupdata = $scope.data.slice(($rootScope.PageSize * ($scope.selPage - 1)),($scope.selPage * $rootScope.PageSize)); if (angular.isDefined($scope.popupdata) && $scope.popupdata.length > 0) { var indexvalue = 0; angular.forEach($s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.popupdata,index) { if (findSelected(item) > -1) indexvalue++; }); $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.checkallvalue = (indexvalue == $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.popupdata.length); } } //打印当前选中页索引 $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.selectPage = function (page) { if (page < 1 || page > $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.pages) return; if (page > 2) { var new<a href="https://www.jb51.cc/tag/Pagelist/" target="_blank" class="keywords">Pagelist</a> = []; for (var i = (page - 3) ; i < ((page + 2) > $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.pages ? $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.pages : (page + 2)) ; i++) { new<a href="https://www.jb51.cc/tag/Pagelist/" target="_blank" class="keywords">Pagelist</a>.push(i + 1); } $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.<a href="https://www.jb51.cc/tag/Pagelist/" target="_blank" class="keywords">Pagelist</a> = new<a href="https://www.jb51.cc/tag/Pagelist/" target="_blank" class="keywords">Pagelist</a>; } $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.selPage = page; $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.setData(); $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.isActivePage(page); $(".pages").text("当前第" + page + "页" + "/" + "共" + $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.sumPage + "页"); }; //<a href="https://www.jb51.cc/tag/tiaozhuan/" target="_blank" class="keywords">跳转</a> $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.jump = function () { var page = parseInt($(".jump-bar").val()); if ($(".jump-bar").val() == 0) { swal("请输入<a href="https://www.jb51.cc/tag/tiaozhuanye/" target="_blank" class="keywords">跳转页</a>数","","error"); return; } //不能小于1大于最大 if (page < 1 || page > $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.pages) return; //最多<a href="https://www.jb51.cc/tag/xianshi/" target="_blank" class="keywords">显示</a><a href="https://www.jb51.cc/tag/fenye/" target="_blank" class="keywords">分页</a>数5 if (page > 2) { //因为只<a href="https://www.jb51.cc/tag/xianshi/" target="_blank" class="keywords">显示</a>5个页数,大于2页开始<a href="https://www.jb51.cc/tag/fenye/" target="_blank" class="keywords">分页</a>转换 var new<a href="https://www.jb51.cc/tag/Pagelist/" target="_blank" class="keywords">Pagelist</a> = []; for (var i = (page - 3) ; i < ((page + 2) > $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.pages ? $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.pages : (page + 2)) ; i++) { new<a href="https://www.jb51.cc/tag/Pagelist/" target="_blank" class="keywords">Pagelist</a>.push(i + 1); } $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.<a href="https://www.jb51.cc/tag/Pagelist/" target="_blank" class="keywords">Pagelist</a> = new<a href="https://www.jb51.cc/tag/Pagelist/" target="_blank" class="keywords">Pagelist</a>; } $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.selPage = page; $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.setData(); $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.isActivePage(page); $(".pages").text("当前第" + page + "页" + "/" + "共" + $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.sumPage + "页"); }; //设置当前选中页样式 $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.isActivePage = function (page) { return $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.selPage == page; }; //<a href="https://www.jb51.cc/tag/shangyiye/" target="_blank" class="keywords">上一页</a> $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.Prev<a href="https://www.jb51.cc/tag/IoU/" target="_blank" class="keywords">IoU</a>s = function () { $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.selectPage($s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.selPage - 1); } //<a href="https://www.jb51.cc/tag/xiayiye/" target="_blank" class="keywords">下一页</a> $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.Next = function () { $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.selectPage($s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.selPage + 1); }; //<a href="https://www.jb51.cc/tag/guanbi/" target="_blank" class="keywords">关闭</a>弹出框 function closewindow() { $(".pop-up").stop(true,false).fadeOut(); } //取消弹出框 $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.PopupCancel = function () { closewindow(); } //确定 $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.PopupOK = function () { if (primaryKeyFieldName == "" || codeFieldName == "") { swal("当前未配置返回信息","error"); return; } //<a href="https://www.jb51.cc/tag/huoqu/" target="_blank" class="keywords">获取</a>选中的数据,并<a href="https://www.jb51.cc/tag/guanbi/" target="_blank" class="keywords">关闭</a>弹出,然后返回填值 if (angular.isUndefined(checkList) || checkList.length <= 0) { swal("请勾选要操作的数据","error"); return; } var allowMulti = false; if (angular.isDefined($s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.mulitselect)) { allowMulti = $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.mulitselect; } var primaryKey = ""; var codeKey = ""; //只存在1个的情况 if (checkList.length == 1) { primaryKey = checkList[0][primaryKeyFieldName]; codeKey = checkList[0][codeFieldName]; } else { //存在多个 if (allowMulti == false) { primaryKey = checkList[0][primaryKeyFieldName]; codeKey = checkList[0][codeFieldName]; } else { angular.forEach(checkList,index) { primaryKey += item[primaryKeyFieldName] + ","; codeKey += item[codeFieldName] + ","; }); } } if (primaryKey.endsWith(",")) primaryKey = primaryKey.substring(0,primaryKey.length - 1); if (codeKey.endsWith(",")) codeKey = codeKey.substring(0,codeKey.length - 1); closewindow(); if ($s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.onCallback) { $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.onCallback({ data: checkList,primaryKey: primaryKey,codeKey: codeKey,url: $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.url }); } } //刷新 $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.PopupRefresh = function () { $("#searchText").val(""); querySearch(1,""); } //新增 $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.PopupAdd = function () { $location.path('/' + $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.routepath).search({ id: '-1',type: $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.routetype }); } //<a href="https://www.jb51.cc/tag/sousuo/" target="_blank" class="keywords">搜索</a> $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.PopupSearch = function () { querySearch(1,$("#searchText").val()); } }

};
}]);

模板的url 页面

rush:js;">

原文地址:https://www.jb51.cc/js/36234.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐