/// /// /// /// /// /// module Developer { export var WorkspacesController = controller("WorkspacesController", ["$scope", "KubernetesModel", "DataModel","KubernetesState", "$templateCache", "$location", "$routeParams", "$http", "$timeout", "KubernetesApiURL", "$element", ($scope, KubernetesModel:Kubernetes.KubernetesModelService, DataModel:Developer.DataModelService, KubernetesState, $templateCache:ng.ITemplateCacheService, $location:ng.ILocationService, $routeParams, $http, $timeout, KubernetesApiURL, $element) => { init($scope,location,$routeParams); $scope.model=DataModel; $scope.model.initParamOptions(); $scope.options = DataModel.paramOptions; $scope.pageSizeChoses = DataModel.paramOptions.pagerSizeOption; $scope.options.dataType = getDataType($location); $scope.model.updateModel(); //配置数据表格需要显示的内容及显示格式 $scope.tableConfig = { data: 'model.data', showSelectionCheckbox: true, enableRowClickSelection: false, multiSelect: true, selectedItems: [], filterOptions: { filterText: $location.search()["q"] || '' }, columnDefs: [ { field: "_key", displayName: '编码', customSortField: (field) =>{ return field.id; } }, { field: "name", displayName: '市-区/县' }, { field: "systemName", displayName: '系统名称' }, { field: "labels", displayName: '数据标签', cellTemplate: $templateCache.get("dataLabelsTemplate.html") }, { field: "collectingTime", displayName: '采集时间' }, { field: "collectorName", displayName: '汇总状态' } ] }; $scope.selectBatchItem = (item)=> { $scope.navbarItems.forEach((nav) =>{ nav.class=""; }); item.class="active"; if(item.label === "全部") $scope.model.updateParamOption("dataBatch", null); else $scope.model.updateParamOption("dataBatch", item.alias); } $scope.isEmptyOrFirst = () => { var idx = $scope.model.getParamOption("currentPageNum"); var length =$scope.options.getPageSizeNum(); return length <= 0 || idx <= 1; } $scope.isEmptyOrLast = () =>{ var idx = $scope.model.getParamOption("currentPageNum"); var length =$scope.options.getPageSizeNum(); return length < 1 || idx >= length; } $scope.first = () => { var idx = $scope.model.getParamOption("currentPageNum"); if(idx >1) $scope.model.updateParamOption("currentPageNum", 1); } $scope.last = () =>{ var idx = $scope.model.getParamOption("currentPageNum"); var length =$scope.options.getPageSizeNum(); if(idx < length) $scope.model.updateParamOption("currentPageNum", length); } $scope.previous = () => { var idx = $scope.model.getParamOption("currentPageNum"); var length =$scope.options.getPageSizeNum(); if(idx > 1) $scope.model.updateParamOption("currentPageNum", idx-1); } $scope.next = () =>{ var length =$scope.options.getPageSizeNum(); var idx = $scope.model.getParamOption("currentPageNum"); if(idx < length) $scope.model.updateParamOption("currentPageNum", idx+1); } $scope.$watch('options', (newValue, oldValue) => { if(newValue && newValue !== oldValue){ if(newValue.currentTableSize !== oldValue.currentTableSize) $scope.options.priorTableSize = oldValue.currentTableSize; else $scope.options.priorTableSize = newValue.currentTableSize; DataModel.updateModel(); } }, true); $scope.deletePrompt = (items) =>{ var idColl = []; angular.forEach(items,(item) => { idColl.push(item.id); console.log(item.id); }); $http({ method: "POST", url: "/java/console/api/delete/data", params: {"data": idColl} }).success(function(data, status, headers, config) { //成功之后做一些事情 DataModel.updateModel(); }).error(function(data, status, headers, config) { }); } $scope.migrationClick = { items:null, selectedItem: $scope.tableConfig.selectedItems, dialog: new UI.Dialog(), onOk: () => { }, open: (selected) =>{ var migrationClick = $scope.migrationClick; migrationClick.dialog.open(); $http({ url: "/java/console/api/getFolder", method:'POST', params:{oracleName: selected} }).success(function(data,header,config,status){ $scope.treeData = data; console.log("success"); }).error(function(data,header,config,status){ //log.warn("Failed to connect " + connectParam + " " + data + " " + status); }); }, close: () => { $scope.migrationClick.dialog.close(); } }; $scope.createOracleService = (items) =>{ console.log(items); /*angular.forEach(items,(item)=>{ console.log(item); Kubernetes.createRC({ name: item._key, labels: { system: item.systemCode.toString(), version: item.dataVersion.toString(), region: item.regionalismCode.toString() }, annotations: { cityName: item.cityName, districtName: item.districtName, systemName: item.systemName }, path: item.dataPath+"app/", isTarget: "false" }, (rc) =>{ Kubernetes.connectOracle($http, $timeout, "/java/console/api/connectOracle", "create", Kubernetes.getName(rc), 0); }); });*/ } function init($scope,$location,$routeParams){ //创建二级菜单 $scope.subTabConfig = Developer.createCurrentSubNavBar($scope, $location, $routeParams); $scope.navbarItems =[{ herf: "", label: "全部", title: "查看全部数据", class: "active", alias: null }, { herf: "", label: "批次A", title: "查看批次A的数据", class: "", alias: "A" }, { herf: "", label: "批次B", title: "查看批次B的数据", class: "", alias: "B" }] } function getDataType($location){ var path = $location.path(); var result; var subPath = path.split("/"); switch (subPath[subPath.length -1]) { case "financial": result = "财政" break; case "social-security": result = "社保" break; default: result = null; break; } return result; } }]); }