app.controller('devEventerCtrl', ['$scope', '$http', '$timeout', 'toaster', 'FileUploader', 'i18nService', function ($scope, $http, $timeout, toaster, FileUploader, i18nService) { i18nService.setCurrentLang("zh-cn"); $scope.dataGridOptions = { data: 'myData', showGridFooter: true, //是否显示grid footer //-------- 分页属性 ---------------- paginationPageSizes: [10, 20, 50, 100], //每页显示个数可选项 paginationCurrentPage: 1, //当前页码 paginationPageSize: 10, //每页显示个数 totalItems: 0,// 总数量 columnDefs: [], //---------------api--------------------- onRegisterApi: function (gridApi) { $scope.gridApi = gridApi; gridApi.pagination.on.paginationChanged($scope, function (newPage, pageSize) { if ($scope.setPagingData) { $scope.getPagedDataAsync(newPage, pageSize); } }); } }; function setColumnDefs() { $scope.dataGridOptions.columnDefs = [ {field: 'eventerFile', displayName: '事件处理器名称', minWidth: 120}, {field: 'eventerVer', displayName: '事件处理器版本', minWidth: 180}, ]; var fields = $scope.dataGridOptions.columnDefs; for (var index in fields) { var item = fields[index]; if (item && item['minWidth'] == null) { item['minWidth'] = 80; } } } $scope.setPagingData = function (data, curPage, pageSize) { var pagedData = data.data.dataList; $scope.myData = pagedData; $scope.dataGridOptions.totalItems = data.data.total; }; $scope.getPagedDataAsync = function (curPage, pageSize) { var params = { pageSize: pageSize, pageIndex: curPage }; $http.get('/device/driver/eventer/list', { params: params }).then(function (data) { data = data.data $scope.setPagingData(data, curPage, pageSize); }).catch(function (data) { toaster.pop("error", "提示", "获取列表失败"); }); }; function initDataGrid() { //首次加载表格 $scope.getPagedDataAsync($scope.dataGridOptions.paginationCurrentPage, $scope.dataGridOptions.paginationPageSize); } setColumnDefs(); initDataGrid(); //编辑弹窗需要的数据 $scope.dialogName = "编辑事件处理器信息"; $scope.dialogData = {}; //事件 $scope.ngEvent = { }; //默认充值优惠信息 $scope.config = { }; //添加Code $scope.addEventer = function () { //重置表单状态 $scope.devEventerForm.$setPristine(); $scope.devEventerForm.$setUntouched(); $scope.dialogName = "添加事件处理器"; $scope.dialogData = {}; $("#devEventerPanel").modal(); }; //编辑设备类型 $scope.editEventer = function () { //重置表单状态 $scope.devEventerForm.$setPristine(); $scope.devEventerForm.$setUntouched(); $scope.dialogName = "编辑事件处理器"; var rows = $scope.gridApi.selection.getSelectedRows(); if (rows.length == 0) { toaster.pop("info", "提示", "请选择数据!"); return; } if (rows.length > 1) { toaster.pop("info", "提示", "只能选中编辑一条数据"); return; } //选中的第一条为准 var item = rows[0]; $scope.dialogData = $.extend(true, {}, item);//需要深度克隆 $("#devEventerPanel").modal(); }; //删除编码 $scope.deleteEventer = function () { var rows = $scope.gridApi.selection.getSelectedRows(); if (rows.length == 0) { toaster.pop("info", "提示", "请选择数据!"); return; } var ids = []; for (var i = 0; i < rows.length; i++) { ids.push(rows[i].id); } $.confirm({ content: '确定删除?', buttons: { ok: { btnClass: 'btn-red', action: function () { $http({ method: 'POST', url: '/device/driver/eventer/delete', data: {ids: ids} }).then(function (response) { initDataGrid(); }, function (response) { toaster.pop("error", "提示", "删除失败!"); }); } }, } }); }; //提交表单保存 $scope.saveEventer = function () { if ($scope.devCoForm.$invalid) { return } var url = ""; if ($scope.dialogData.id == null) { url = "/device/driver/eventer/add"; } else { url = "/device/driver/eventer/edit"; } $http({ method: 'POST', url: url, data: $scope.dialogData }).then(function (response) { //保存成功 弹窗消失 $('#devEventerPanel').modal('hide'); $scope.getPagedDataAsync($scope.dataGridOptions.paginationCurrentPage, $scope.dataGridOptions.paginationPageSize); }, function (response) { toaster.pop("error", "提示", "保存失败!"); }); }; }]);