vatModule.controller('taxControlDiskController', ['$log', '$scope', '$q', '$timeout', '$translate', 'SweetAlert', 'outputCommonService', 'messagebox', '$state', 'vatOutputInvoiceManageService', '$uibModal', function($log, $scope, $q, $timeout, $translate, SweetAlert, outputCommonService, messagebox, $state, vatOutputInvoiceManageService, $uibModal) { var thisConstant = { DiskType: { 1: $translate.instant('BaiWang'), 2: $translate.instant('HangXing'), } }; var replaceService = { nameReplace:function(value){ if (value){ value=value.replace(/[^\(\)()\w\u4e00-\u9fa5]/g,'') } return value; }, codeReplace:function(value){ if (value){ value=value.replace(/[^\w]/g,'') } return value; } }; var editAlertService = { open: function() { var editModel = {}; if ($scope.selectedRows && $scope.selectedRows.length === 1) { $scope.editModel = angular.copy($scope.selectedRows[0]); } else { return; } var modalInstance = $uibModal.open({ animation: false, backdrop: false, ariaLabelledBy: 'modal-title', ariaDescribedBy: 'modal-body', templateUrl: 'EditTaxControlDiskConfirmModal.html', windowClass: 'EditTaxControlDiskConfirmModal', size: 'edit-taxcontrol', scope: $scope, resolve: { editModel: editModel } }); $scope.dxOptions={ mainTaxAuthoritiesName: { valueChangeEvent: "keyup", maxLength: 50, onValueChanged: function (e) { $scope.editModel.mainTaxAuthoritiesName=replaceService.nameReplace(e.value); } }, mainTaxAuthoritiesCode: { valueChangeEvent: "keyup", maxLength: 50, onValueChanged: function (e) { $scope.editModel.mainTaxAuthoritiesCode=replaceService.codeReplace(e.value); } }, } modalInstance.result.then(function(data) { }, function() { }); $scope.saveDisk = function() { var model = $scope.editModel; vatOutputInvoiceManageService.updateTaxControlDisk(model).success(function(data) { if (data && data.result) { messagebox.info($translate.instant("SaveSuccess")); modalInstance.close($scope.editModel); $scope.eventService.refreshTable(); } else { messagebox.warning(data.resultMsg, true); } }); }; // 取消 $scope.cancel = function() { modalInstance.dismiss('cancel'); }; } }; var mainModule = { main: function() { mainModule.initControl(); mainModule.bindEvent(); mainModule.loadData(); $scope.showEditBtn = false; //设置表格高度 $timeout(function() { $scope.setInvoiceGridHeight(); }, 500); }, initControl: function() { $scope.taxControlDiskData = []; $scope.taxControlDiskGrid = { bindingOptions: { height: 'gridTable', dataSource: 'taxControlDiskData' }, // dataSource: new DevExpress.data.CustomStore({ // key: "id", // load: function(loadOptions) { // var model = {}; // return vatOutputInvoiceManageService.getTaxControlDiskList(model, false) // .then(function(res) { // var list = res.data.list; // if (list && list.length > 0) { // list.forEach(function(r) { // r.taxControlStatusBool = r.taxControlStatus === 1; // }); // } // $scope.taxControlDiskData = list; // return { data: list, totalCount: res.data.list.length }; // }, function(response) { // return $q.reject($translate.instant("DataLoadingError")); // }); // } // }), onToolbarPreparing: function(e) { var toolbarItems = e.toolbarOptions.items; toolbarItems.unshift({ location: "before", template: "checkStatusTempl" }); }, noDataText: $translate.instant('NoDataText'), columnAutoWidth: true, showRowLines: true, showBorders: true, columnFixing: { enabled: true }, columnChooser: { enabled: true }, searchPanel: { placeholder: $translate.instant("SearchHintText"), visible: true, }, loadPanel: { enabled: false }, selection: { mode: "single" }, onSelectionChanged: function(e) { $scope.selectedRows = e.selectedRowsData; if ($scope.selectedRows && $scope.selectedRows.length > 0) { $scope.showEditBtn = true; } }, columns: [ { dataField: 'kpjh', caption: $translate.instant('KPJH'), visible: false }, { dataField: 'qymc', caption: $translate.instant('qymc'), visible: false }, { dataField: 'qysh', caption: $translate.instant('qysh'), visible: false }, { dataField: 'jmbbh', caption: $translate.instant('jmbbh'), visible: false }, { dataField: 'dzfpFlag', caption: $translate.instant('dzfpFlag'), visible: false }, { dataField: 'sfjyzs', caption: $translate.instant('sfjyzs'), visible: false }, { dataField: 'swjgdm', caption: $translate.instant('swjgdm'), visible: false }, { dataField: 'jssz', caption: $translate.instant('jssz'), visible: false }, { dataField: 'jspbh', caption: $translate.instant('jspbh'), visible: false }, { dataField: 'equipmentSupplier', caption: $translate.instant('equipmentSupplier'), visible: false }, { dataField: 'organizationName', caption: $translate.instant('Entity') }, { dataField: 'organizationCode', caption: $translate.instant('EntityCode') }, { dataField: 'taxControlDiskSerialNumber', caption: $translate.instant('TaxControlDiskSerialNumber') }, { cellTemplate: 'statusTempl', caption: $translate.instant('TaxControlStatus'), alignment: 'center', width: '120' }, { dataField: 'diskTyeText', caption: $translate.instant('Type') }, { dataField: 'mainTaxAuthoritiesName', caption: $translate.instant('MainTaxAuthoritiesName') }, { dataField: 'mainTaxAuthoritiesCode', caption: $translate.instant('MainTaxAuthoritiesCode') }, { dataField: 'topMargin', caption: $translate.instant('Top') }, { dataField: 'leftMargin', caption: $translate.instant('Left') }, { dataField: 'taxControlDiskNo', caption: $translate.instant('TaxControlDiskNo') }, { dataField: 'taxControlDiskDescribe', caption: $translate.instant('TaxControlDiskDescribe') }, { dataField: 'taxControlDiskUser', caption: $translate.instant('TaxControlDiskUser') }, { dataField: 'department', caption: $translate.instant('Department') }, { dataField: 'mobile', caption: $translate.instant('Mobile') }, { dataField: 'email', caption: $translate.instant('Email') }, { dataField: 'taxControlUrl', caption: $translate.instant('TaxControlUrl') }, ] }; }, loadData: function() { // body... var model = {}; var parseViewData = function(r) { if (r) { r.taxControlStatusBool = r.taxControlStatus === 1; r.diskTyeText = thisConstant.DiskType[r.diskType]; } return r; }; vatOutputInvoiceManageService.getTaxControlDiskList(model, false) .then(function(res) { var list = res.data.list; if (list && list.length > 0) { list.forEach(function(r) { r = parseViewData(r); }); } $scope.taxControlDiskData = list; }, function(response) { // return $q.reject($translate.instant("DataLoadingError")); }); }, bindEvent: function() { $scope.eventService = { checkStatus: function() { // 正在查询 if ($scope.Checking) { return; } var dataList = $scope.taxControlDiskData; var dataLength = dataList.length; $scope.Checking = true; var testStatusFunction = function(i) { if (i < dataLength) { var row = dataList[i]; row.isTest = true; // row.failMsg="Testing"; $scope.taxControlDiskData = dataList; vatOutputInvoiceManageService.testIsActive(row, false).then(function(res) { row.isTest = false; var data = res.data; if (data && data.result) { $scope.eventService.refreshTable(); } if (i === dataLength - 1) { // 最后一个 $scope.Checking = false; } else { i++; testStatusFunction(i); } }); } } testStatusFunction(0); }, refreshTable: function() { // $('#taxControlDiskGridID').dxDataGrid('instance').refresh(); mainModule.loadData(); }, updateAlert: function() { editAlertService.open(); }, }; } }; (function() { mainModule.main(); })(); } ]);