invoiceModule.controller('modelMappingConfigurationController', ['$scope', '$log', '$timeout', '$translate', 'messagebox', 'vatOutputInvoiceManageService', function ($scope, $log, $timeout, $translate, messagebox, vatOutputInvoiceManageService) { var mappingGridInstance = null; //初始化mapping datagrid 树 var initMappingGrid = function () { $scope.dataMappingGridOptions = { keyExpr: "id", height: '300px', showRowLines: true, showColumnLines: true, showBorders: true, allowColumnResizing: true, allowColumnReordering: false, columnAutoWidth: true, hoverStateEnabled: true, bindingOptions: { dataSource: 'mappingDataSource' }, selection: { mode: "single" }, sorting: { mode: 'none' }, paging: { enabled: false, }, onSelectionChanged: function (data) { $scope.selectedItem = data.selectedRowsData; }, onContentReady: function (e) { mappingGridInstance = e.component; }, columns: [ { dataField: 'id', visible: false }, { dataField: 'modelSeries', visible: false }, { dataField: 'cabinConfiguration', visible: false }, { caption: $translate.instant('ModelSeries') + ' - ' + $translate.instant('CabinConfiguration'), alignment: 'center', calculateCellValue: function (data) { return data.modelSeries + '-' + data.cabinConfiguration; } }, { dataField: 'makeAndModel', caption: $translate.instant('MakeAndModel'), alignment: 'center' }, ] }; }; var refreshDataSource = function () { return vatOutputInvoiceManageService.getModelMappingConfig().then(function (data) { if (data && data.data) { $scope.mappingDataSource = data.data; } else { $scope.mappingDataSource = []; } $timeout(function () { $scope.selectedItem = mappingGridInstance.getSelectedRowsData(); }, 100); }); }; //关闭弹窗口 $scope.hidePopPanel = function () { $scope.$parent.isOpen = false; $scope.$dismiss({ $value: 'cancel' }); }; $scope.addMapping = function () { $scope.eventService.addOrEdit(refreshDataSource); }; $scope.editMapping = function () { if (_.isEmpty($scope.selectedItem) || _.isEmpty($scope.selectedItem[0])) { messagebox.warning('SelectMappingCheck'); return; } $scope.eventService.addOrEdit(refreshDataSource, $scope.selectedItem[0]); }; $scope.deleteMapping = function () { if (_.isEmpty($scope.selectedItem) || _.isEmpty($scope.selectedItem[0])) { messagebox.confirm('SelectMappingCheck'); return; } messagebox.confirm($translate.instant('ConfirmCancelMapping'), '', constant.teslaConfirmClassName).then(function (isConfirm) { if (isConfirm) { vatOutputInvoiceManageService.deleteModelMappingConfig($scope.selectedItem[0].id) .then(function (data) { if (!data || !data.data) { messagebox.warning('UnknownError'); } else if (!data.data.result) { messagebox.warning(_.isEmpty(data.data.resultMsg) ? 'UnknownError' : data.data.resultMsg); } else { refreshDataSource(); } }); } }); }; (function initialize() { $log.debug('modelMappingConfigurationController.ctor()...'); $scope.selectedItem = null; initMappingGrid(); refreshDataSource(); })(); }]);