app.controller('phoneListCtrl', ["$rootScope", "$scope", "$http", "$state", "$timeout", "$interval", "SweetAlert", "$modal", "FileUploader", "i18nService", "uiGridConstants", "uiGridGroupingConstants", "Restangular", "api_user_data", "api_cmdb2", function ($rootScope, $scope, $http, $state, $timeout, $interval, SweetAlert, $modal, FileUploader, i18nService, uiGridConstants, uiGridGroupingConstants, Restangular, api_user_data, api_cmdb2) { $scope.langs = i18nService.getAllLangs(); $scope.lang = 'zh-cn'; $scope.cancles = true; var loginUser = $rootScope.user; $scope.xinzeng = false; $scope.shanchu = false; $scope.bianji = false; for (var i = 0; i < loginUser.menu.length; i++) { if (loginUser.menu[i].link == "quyudidianguanli_xinzeng") { $scope.xinzeng = true } if (loginUser.menu[i].link == "quyudidianguanli_shanchu") { $scope.shanchu = true } if (loginUser.menu[i].link == "quyudidianguanli_bianji") { $scope.bianji = true } } var fildata = { "idx": 0, "sum": 1000 }; $scope.choice = false; $scope.backcolor = []; $scope.outarea = []; $scope.outplace = []; $scope.pla = {}; $scope.areaid = {}; $scope.areaname = ""; $scope.area = {}; $scope.areaplace = true; $scope.freshenarea = function () { api_user_data.fetchDataList('phoneUnit', fildata).then(function (response) { if (response) { if (response.status = 200) { if (!$scope.outarea.length&&response.list.length) { $scope.ckickrow(response.list[0]); } $scope.outarea = response.list; } } }) } $scope.freshenarea(); $scope.freshenplace = function (id) { if (id) { var fildata = { "idx": 0, "sum": 1000, "phoneDirectory": { "unit": { "id": id } } }; api_user_data.fetchDataList('phoneDirectory', 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.unit; $scope.areaplace = true; $scope.areaData = data; 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.clear = function () { $scope.areaname = '' $scope.outplace = [] } $scope.clickplace = function (pla) { $scope.areaplace = false; $scope.pla = pla } // 编辑单位 $scope.editArea = function (data) { var modalInstance = $modal.open({ templateUrl: 'assets/views/system/tpl/company.html', controller: function ($scope, scope, $modalInstance, api_user_data) { $scope.title = "修改单位"; $scope.cancel = function () { $modalInstance.dismiss('cancel'); }; $scope.areaName = data.unit; $scope.ok = function (areaName) { if (areaName != data.unit) { if ($scope.areaName) { $modalInstance.close(areaName); } else { SweetAlert.swal({ title: "修改失败!", text: "名称不能为空", type: "error" }) } } else { $modalInstance.dismiss('cancel'); } } }, resolve: { scope: function () { return $scope; } } }); modalInstance.result.then(function (selectedItem) { if (selectedItem) { var fildata = { "phoneUnit": { "id": data.id, "deleteFlag": 0, "unit": selectedItem } } api_user_data.addData('phoneUnit', fildata).then(function (response) { if (response) { if (response.data && response.data.id) { SweetAlert.swal({ title: "修改成功!", type: "success" }, function () { $scope.freshenarea() }) } else { SweetAlert.swal({ title: "修改失败!", text: response.msg || '', type: "error" }) } } }) } }) } // 新增单位 $scope.addArea = function (state) { var modalInstance = $modal.open({ templateUrl: 'assets/views/system/tpl/company.html', controller: function ($scope, scope, $modalInstance, api_user_data) { $scope.title = "新增单位"; $scope.areaName = ""; $scope.cancel = function () { $modalInstance.dismiss('cancel'); }; $scope.ok = function (areaName) { if ($scope.areaName) { $modalInstance.close(areaName); } else { SweetAlert.swal({ title: "新增失败!", text: "名称不能为空", type: "error" }) } } }, resolve: { scope: function () { return $scope; } } }); modalInstance.result.then(function (selectedItem) { if (selectedItem) { var fildata = { "phoneUnit": { "unit": selectedItem } } api_user_data.addData('phoneUnit', fildata).then(function (response) { if (response) { if (response.status == 200) { SweetAlert.swal({ title: "新增成功!", type: "success" }, function () { $scope.freshenarea() }) } else { SweetAlert.swal({ title: "新增失败!", text: response.msg || '', type: "error" }) } } }) } }) } //删除单位 $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'); }; $scope.title = '单位删除'; $scope.connect = '是否删除该单位' }, size: 'sm' }); modalInstance.result.then(function (selectedItem) { if (selectedItem) { if (selectedItem.id) { var fildata = [selectedItem.id]; api_user_data.rmvData('phoneUnit', 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: "删除失败!", text: response.msg || '', type: "error" }) } } }) } } }) } } // 编辑部门 $scope.editPlace = function (data) { var modalInstance = $modal.open({ templateUrl: 'assets/views/system/tpl/department.html', controller: function ($scope, scope, $modalInstance, api_user_data) { $scope.title = "修改部门"; $scope.check = { unit: data.unit, dept: data.dept, phone: data.phone, address: data.address } $scope.outarea = scope.outarea; $scope.cancel = function () { $modalInstance.dismiss('cancel'); }; $scope.ok = function (check) { if (true) { if (check.dept && check.phone) { $modalInstance.close(check); } else { SweetAlert.swal({ title: "编辑失败!", text: "请填写必填项", type: "error" }) } } else { $modalInstance.dismiss('cancel'); } } }, resolve: { scope: function () { return $scope; } } }); modalInstance.result.then(function (check) { if (check) { var fildata = { "phoneDirectory": { "dept": check.dept, "address": check.address, "phone": check.phone, "unit": { "id": check.unit.id }, "deleteFlag": 0, "id": data.id } } api_user_data.addData('phoneDirectory', fildata).then(function (response) { if (response) { if (response.data && response.data.id) { SweetAlert.swal({ title: "修改成功!", type: "success" }, function () { $scope.freshenplace($scope.areaData.id); }) } else { SweetAlert.swal({ title: "修改失败!", text: response.msg || '', type: "error" }) } } }) } }) } // 新增部门 $scope.addplace = function (area) { var modalInstance = $modal.open({ templateUrl: 'assets/views/system/tpl/department.html', controller: function ($scope, scope, $modalInstance, api_user_data) { $scope.title = "新增部门"; if (area !== undefined) { $scope.check = { unit: area } } else { $scope.check = {} } $scope.outarea = scope.outarea; $scope.cancel = function () { $modalInstance.dismiss('cancel'); }; $scope.ok = function (check) { if (check && check.unit && check.dept && check.phone) { console.log(check, 9999) $modalInstance.close(check); } else { SweetAlert.swal({ title: "新增失败!", text: "请填写必填项", type: "error" }) } } }, resolve: { scope: function () { return $scope; } } }); modalInstance.result.then(function (check) { if (check) { var fildata = { "phoneDirectory": { "dept": check.dept, "phone": check.phone, "address": check.address } } if (check.unit) { fildata.phoneDirectory.unit = { "id": check.unit.id } } api_user_data.addData('phoneDirectory', fildata).then(function (response) { if (response) { if (response.status == 200) { SweetAlert.swal({ title: "新增成功!", type: "success" }, function () { $scope.freshenplace($scope.areaData.id); }) } else { SweetAlert.swal({ title: "新增失败!", text: response.msg || '', type: "error" }) } } }) } }) } //删除部门 $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'); }; $scope.title = '部门删除'; $scope.connect = '是否删除该部门' }, size: 'sm' }); modalInstance.result.then(function (selectedItem) { if (selectedItem) { if (selectedItem.id) { var fildata = [selectedItem.id]; api_user_data.rmvData('phoneDirectory', 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); }); } // }); // } // 2021 //导入模板 $scope.importDataTpl = function () { var wt_url = api_user_data.importData1('areaPlace').getRequestedUrl(); var form = new FormData(); var file = document.getElementById("importTplIpt").files[0]; form.append('filename', file.name) form.append('file', file); console.log(document.getElementById("importTplIpt").files) $http({ method: 'POST', url: wt_url, data: form, headers: { 'Content-Type': undefined }, transformRequest: angular.identity }).success(function (data) { document.getElementById("importTplIpt").outerHTML = document.getElementById("importTplIpt").outerHTML; if (data.status == 200) { SweetAlert.swal({ title: "导入成功", confirmButtonColor: "#007AFF", type: "success" }, function (flag) { $scope.freshenarea(); $scope.freshenplace(); }); } else { SweetAlert.swal({ title: "导入失败", text: data.error, type: "error" }); } }).error(function (data) { document.getElementById("importTplIpt").outerHTML = document.getElementById("importTplIpt").outerHTML; SweetAlert.swal({ title: "导入失败", text: data.error, type: "error" }); }) }; //导出模板 $scope.exportDataTpl = function () { var wt_url = api_cmdb2.exportData1("downDataModels/operationSystem", {}).getRequestedUrl() $http({ url: wt_url, method: 'POST', headers: { 'Accept': '*/*' }, responseType: 'arraybuffer' }).success(function (data, status, headers, config) { var fileName = headers("Content-Disposition").split(";")[1].split("filename=")[1]; var file = new Blob([data], { type: 'application/vnd.ms-excel' }); var fileURL = URL.createObjectURL(file); var a = document.createElement('a'); a.href = fileURL; a.target = '_blank'; a.download = decodeURIComponent(fileName); document.body.appendChild(a); a.click(); }).error(function (data, status, headers, config) { }); }; }]);