app.controller('placeCtrl', ["$rootScope", "$scope", "$http", "$state", "$timeout", "$interval", "SweetAlert", "$modal", "FileUploader", "i18nService", "uiGridConstants", "uiGridGroupingConstants", "Restangular", "api_user_data", function($rootScope, $scope, $http, $state, $timeout, $interval, SweetAlert, $modal, FileUploader, i18nService, uiGridConstants, uiGridGroupingConstants, Restangular, api_user_data) { $scope.langs = i18nService.getAllLangs(); $scope.lang = 'zh-cn'; $scope.cancles = true; var loginUser = $rootScope.user; var fildata = { "idx": 0, "sum": 1000 }; $scope.choice = false; $scope.backcolor = []; $scope.placebackcolor = []; $scope.outarea = []; $scope.outplace = []; $scope.pla = {}; $scope.areaid = ''; $scope.areaname = ""; $scope.areaplace = true; $scope.freshenarea = function() { api_user_data.fetchDataList('area', fildata).then(function(response) { if (response) { if (response.status = 200) { $scope.outarea = response.list; } } }) } $scope.freshenarea(); $scope.freshenplace = function(id) { if (id) { var fildata = { "idx": 0, "sum": 1000, "place": { areaId: id } }; api_user_data.fetchDataList('place', fildata).then(function(response) { if (response) { if (response.status = 200) { $scope.outplace = response.list; } } }) } } $scope.ckickrow = function(data) { $scope.choice = false; $scope.areaid = data.id; $scope.areaname = data.area; $scope.areaplace = true; if (data.id) { $scope.freshenplace(data.id); // var fildata={"idx":0,"sum":1000,"place":{areaId:data.id}}; // api_user_data.fetchDataList('place',fildata).then(function(response){ // if(response){ // if(response.status=200){ // $scope.outplace= response.list; // } // } // }) } else {} } $scope.clickplace = function(pla) { $scope.areaplace = false; $scope.pla = pla } //区域地点修改 $scope.savedatas = function(placedate) { $scope.choice = false; if ($scope.areaplace) { if ($scope.areaid && $scope.areaid != "") { var addarea = true; for (var i = 0; i < $scope.outarea.length; i++) { if ($scope.outarea[i].area == placedate && $scope.outarea[i].id != $scope.areaid) { addarea = false; } } if (addarea) { var upplace = { "area": { 'id': $scope.areaid, 'area': placedate } }; api_user_data.updData('area', upplace).then(function(response) { if (response) { if (response.status == 200) { for (var i = 0; i < $scope.outarea.length; i++) { if ($scope.outarea[i].id == $scope.areaid) { $scope.backcolor[i] = ""; } } $scope.cancles = true; SweetAlert.swal({ title: "修改成功!", type: "success" }) } else { $scope.cancles = false; SweetAlert.swal({ title: "修改失败!", type: "error" }) } } }) } else { for (var i = 0; i < $scope.outarea.length; i++) { if ($scope.outarea[i].id == $scope.areaid) { $scope.backcolor[i] = "#FF9933"; } } $scope.cancles = false; SweetAlert.swal({ title: "修改失败!", text: "“" + placedate + "”" + "已存在", type: "error" }, function() { // $scope.cancles=false; }) } } else { var addarearight = true; for (var i = 0; i < $scope.outarea.length; i++) { if ($scope.outarea[i].area == placedate) { addarearight = false; } } if (addarearight) { var filplace = { "area": { "area": placedate } }; api_user_data.addData('area', filplace).then(function(response) { if (response) { if (response.status == 200) { $scope.cancles = true; $scope.areaid = response.data.id; $scope.areaname = response.data.area; $scope.freshenarea(); $scope.freshenplace($scope.areaid); SweetAlert.swal({ title: "新增成功!", type: "success" }) } else { $scope.cancles = false; SweetAlert.swal({ title: "新增失败!", type: "error" }) } } }) } else { $scope.cancles = false; SweetAlert.swal({ title: "新增失败!", text: "“" + placedate + "”" + "已存在", type: "error" }) } } } else { if ($scope.pla.id) { var addplace = true; for (var i = 0; i < $scope.outplace.length; i++) { if ($scope.outplace[i].place == placedate && $scope.outplace[i].id != $scope.pla.id) { addplace = false; } } if (addplace) { var upplace = { "place": { 'id': $scope.pla.id, 'areaId': $scope.areaid, 'place': placedate } }; api_user_data.updData('place', upplace).then(function(response) { if (response) { for (var i = 0; i < $scope.outplace.length; i++) { if ($scope.outplace[i].id == $scope.pla.id) { $scope.placebackcolor[i] = ""; } } if (response.status == 200) { $scope.cancles = true; SweetAlert.swal({ title: "修改成功!", type: "success" }) } else { $scope.cancles = false; SweetAlert.swal({ title: "修改失败!", type: "error" }) } } }) } else { for (var i = 0; i < $scope.outplace.length; i++) { if ($scope.outplace[i].id == $scope.pla.id) { $scope.placebackcolor[i] = "#FF9933"; } } $scope.cancles = false; SweetAlert.swal({ title: "修改失败!", text: "“" + placedate + "”" + "已存在", type: "error" }) } } else { var addplaceright = true; for (var i = 0; i < $scope.outplace.length; i++) { if ($scope.outplace[i].place == placedate) { addplaceright = false; } } if (addplaceright) { var filplace = { "place": { 'areaId': $scope.areaid, 'place': placedate } }; api_user_data.addData('place', filplace).then(function(response) { if (response) { if (response.status == 200) { $scope.freshenplace($scope.areaid) $scope.cancles = true; SweetAlert.swal({ title: "新增成功!", type: "success" }) } else { $scope.cancles = false; SweetAlert.swal({ title: "新增失败!", type: "error" }) } } }) } else { $scope.cancles = false; SweetAlert.swal({ title: "新增失败!", text: "“" + placedate + "”" + "已存在", type: "error" }) } } } }; // $scope.scrollWindowarea = function() { // var _el = document.getElementById('addarea'); // _el.scrollTop = _el.scrollHeight; // }; // $scope.scrollWindowplace = function() { // var _el = document.getElementById('addplace'); // _el.scrollTop = _el.scrollHeight; // }; //新增区域 $scope.addarea = function() { $scope.choice = true; $scope.cancles = false; $scope.areaplace = true; // $scope.outarea.push({ // setareaid: $scope.outarea.length + 1 // }); // angular.forEach($scope.outarea, function(item, i) { // $scope.outarea[i + 1] = $scope.outarea[i]; // }) for (i = $scope.outarea.length; i >= 0; i--) { $scope.outarea[i] = $scope.outarea[i - 1]; } $scope.outarea[0] = { setareaid: 0 }; // $timeout(function() { // $scope.scrollWindowarea(); // }, 500); }; //删除区域 $scope.closearea = function(index, data) { if (!data.id) { $scope.cancles = true; $scope.outarea.splice(index, 1); } else { var rmvList = data; var modalInstance = $modal.open({ templateUrl: 'assets/views/delete.html', controller: function($scope, $modalInstance) { $scope.ok = function() { $modalInstance.close(data); }; $scope.cancel = function() { $modalInstance.dismiss('cancel'); }; }, size: 'sm' }); modalInstance.result.then(function(selectedItem) { if (selectedItem) { if (selectedItem.id) { var fildata = [selectedItem.id]; api_user_data.rmvData('area', fildata).then(function(response) { if (response) { if (response.status == 200) { $scope.outplace = []; $scope.areaname = ""; $scope.outarea.splice(index, 1); SweetAlert.swal({ title: "删除成功!", type: "success" }) } else { SweetAlert.swal({ title: "删除失败!", type: "error" }) } } }) } } }) } } //新增地点 $scope.addplace = function(data) { $scope.choice = true; $scope.cancles = false; $scope.areaplace = false; if ($scope.areaid != {}) { for (i = $scope.outplace.length; i >= 0; i--) { $scope.outplace[i] = $scope.outplace[i - 1]; } $scope.outplace[0] = { setid: 0 }; // $scope.outplace.push({ // setid: $scope.outplace.length + 1 // }); } else { SweetAlert.swal({ title: "请选择要填加的地点所在区域!", type: "error" }) } // $timeout(function() { // $scope.scrollWindowplace(); // }, 500); } //删除地点 $scope.closeplace = function(index, data) { if (!data.id) { $scope.cancles = true; $scope.outplace.splice(index, 1); } else { var rmvList = data; var modalInstance = $modal.open({ templateUrl: 'assets/views/delete.html', controller: function($scope, $modalInstance) { $scope.ok = function() { $modalInstance.close(data); }; $scope.cancel = function() { $modalInstance.dismiss('cancel'); }; }, size: 'sm' }); modalInstance.result.then(function(selectedItem) { if (selectedItem) { if (selectedItem.id) { var fildata = [selectedItem.id]; api_user_data.rmvData('place', fildata).then(function(response) { if (response) { if (response.status == 200) { $scope.outplace.splice(index, 1); SweetAlert.swal({ title: "删除成功!", type: "success" }) } else { SweetAlert.swal({ title: "删除失败!", type: "error" }) } } }) } } }) } } //导入 $scope.importopen = function() { //导入触发事件 var modalInstance = $modal.open({ templateUrl: 'assets/views/import.html', controller: function($scope, $modalInstance, FileUploader) { var importUploader = $scope.importUploader = new FileUploader({ url: api_user_data.importData().getRequestedUrl(), }); importUploader.onWhenAddingFileFailed = function(item /*{File|FileLikeObject}*/ , filter, options) { console.info('onWhenAddingFileFailed', item, filter, options); }; importUploader.onAfterAddingFile = function(fileItem) { console.info('onAfterAddingFile', fileItem); }; importUploader.onAfterAddingAll = function(addedFileItems) { console.info('onAfterAddingAll', addedFileItems); }; importUploader.onProgressItem = function(fileItem, progress) { console.info('onProgressItem', fileItem, progress); }; importUploader.onProgressAll = function(progress) { console.info('onProgressAll', progress); }; importUploader.onSuccessItem = function(fileItem, response, status, headers) { if (response.status == 200) { SweetAlert.swal({ title: "导入成功!", confirmButtonColor: "#007AFF", type: "success" }, function() { // $scope.ldloading.contract_overlay = false; $rootScope.isMask = false; $scope.refreshData('expand-right', defaultFilterData); }); } else { // $scope.ldloading.contract_overlay = false; $rootScope.isMask = false; SweetAlert.swal({ title: "导入失败!", text: response.error, type: "error" }) } console.info('onSuccessItem', fileItem, response, status, headers); }; importUploader.onErrorItem = function(fileItem, response, status, headers) { console.info('onErrorItem', fileItem, response, status, headers); SweetAlert.swal({ title: "系统错误!", text: "系统错误,请稍候重试!", type: "error" }); }; importUploader.onCancelItem = function(fileItem, response, status, headers) { console.info('onCancelItem', fileItem, response, status, headers); }; importUploader.onCompleteItem = function(fileItem, response, status, headers) { console.info('onCompleteItem', fileItem, response, status, headers); }; importUploader.onCompleteAll = function() { console.info('onCompleteAll'); }; $scope.ldloading = {}; $rootScope.isMask = false; $scope.import = function(style) { // $scope.ldloading[style.replace('-', '_')] = true; $modalInstance.dismiss('cancel'); $rootScope.isMask = true; importUploader.onBeforeUploadItem = function(item) { angular.extend(item.headers, $rootScope.getSession()); item.formData.push({ 'filename': item.file.name }); item.formData.push({ 'type': "areaPlace" }); console.info('onBeforeUploadItem', item); }; importUploader.uploadAll(); } $scope.cancel = function() { $modalInstance.dismiss('cancel'); }; }, size: 'sm', resolve: { importUploader: function() { return $scope.importUploader; } } }); modalInstance.result.then(function(selectedItem) { if (selectedItem) {} }) } //导出 $scope.openmodel = function() { // var modalInstance = $modal.open({ // templateUrl: 'assets/views/system/tpl/getdown.html', // controller: function($scope, $modalInstance) { // $scope.key = {}; // $scope.onChange = function(key) { // $scope.key = key; // } // // $scope.downmodel = [{ id: 1, name: "EXCEL2003版(xls)" }, { id: 2, name: "EXCEL2007及以上版(xlsx)" }] // $scope.ok = function() { // $modalInstance.close($scope.key); // }; // $scope.cancel = function() { // $modalInstance.dismiss('cancel'); // }; // }, // size: 'sm', // }); // modalInstance.result.then(function(selectedItem) { // if (selectedItem) { // var selectedItemId = ""; // if (selectedItem.id == 2) { // selectedItemId = ".xlsx"; // } // var type = "areaPlace"; // var month = 0; $http({ url: api_user_data.downDataModel("areaPlace", 0).getRequestedUrl(), method: 'GET', headers: { 'Accept': '*/*' }, responseType: 'arraybuffer' }).success(function(data, status, headers, config) { var file = new Blob([data], { // type : 'application/octet-stream' type: 'application/vnd.ms-excel' }); //trick to download store a file having its URL var fileURL = URL.createObjectURL(file); var a = document.createElement('a'); a.href = fileURL; a.target = '_blank'; a.download = "区域地点.xlsx"; document.body.appendChild(a); a.click(); }).error(function(data, status, headers, config) { console.log(data); }); } // }); // } }]);