ywxt_gldwCtrl.js 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327
  1. 'use strict';
  2. /**
  3. * controller for User Profile Example
  4. */
  5. app.controller('ywxt_gldwCtr', ["$rootScope", "$scope", "$state", "$timeout", "$interval", "$modal", "SweetAlert", "i18nService", "uiGridConstants", "uiGridGroupingConstants", "Restangular", "api_user_data","api_cmdb2", function($rootScope, $scope, $state, $timeout, $interval, $modal, SweetAlert, i18nService, uiGridConstants, uiGridGroupingConstants, Restangular, api_user_data,api_cmdb2) {
  6. $scope.langs = i18nService.getAllLangs();
  7. $scope.lang = 'zh-cn';
  8. i18nService.setCurrentLang($scope.lang);
  9. var loginUser = $rootScope.user;
  10. $scope.gridOptions = {};
  11. $scope.gridOptions.data = 'myData';
  12. $scope.gridOptions.enableColumnResizing = true;
  13. $scope.gridOptions.enableFiltering = true;
  14. $scope.gridOptions.enableGridMenu = false;
  15. $scope.gridOptions.enableRowSelection = true;
  16. $scope.gridOptions.showGridFooter = true;
  17. $scope.gridOptions.showColumnFooter = false;
  18. $scope.gridOptions.fastWatch = true;
  19. $scope.gridOptions.useExternalFiltering = true;
  20. $scope.gridOptions.useExternalPagination = true;
  21. $scope.gridOptions.paginationPageSizes = [50];
  22. $scope.gridOptions.paginationPageSize = 50;
  23. $scope.gridOptions.multiSelect = false;
  24. //$scope.gridOptions.rowTemplate= "<div ng-dblclick=\"grid.appScope.onDblClick(row)\" ng-repeat=\"(colRenderIndex, col) in colContainer.renderedColumns track by col.uid\" ui-grid-one-bind-id-grid=\"rowRenderIndex + '-' + col.uid + '-cell'\" class=\"ui-grid-cell\" ng-class=\"{ 'ui-grid-row-header-cell': col.isRowHeader }\" role=\"{{col.isRowHeader ? 'rowheader' : 'gridcell'}}\" ui-grid-cell></div>";
  25. $scope.new_management_tankuang_bg=false;
  26. $scope.new_management_tankuang="new_management_tankuang_before";
  27. // 新增管理单位按钮
  28. $scope.add_management=function(){
  29. $scope.new_management_tankuang_bg=true;
  30. $scope.new_management_tankuang="new_management_tankuang_after";
  31. $scope.new_management_name=""
  32. }
  33. // 关闭新增管理单位
  34. $scope.new_management_clo=function(){
  35. $scope.new_management_tankuang_bg=false;
  36. $scope.new_management_tankuang="new_management_tankuang_before";
  37. }
  38. $scope.new_shuzu=[];
  39. // 确定管理单位
  40. $scope.new_management_mit=function(){
  41. for(var k=0;k<$scope.myData.length;k++){
  42. $scope.new_shuzu.push($scope.myData[k].name)
  43. }
  44. if($scope.new_management_name==''||$scope.new_management_name==undefined){
  45. SweetAlert.swal({
  46. title: "新增失败",
  47. text: "新增管理单位不能为空!",
  48. type: "error"
  49. });
  50. }else{
  51. if($scope.new_shuzu.indexOf($scope.new_management_name)!==-1){
  52. SweetAlert.swal({
  53. title: "新增失败",
  54. text: "新增管理单位已存在!",
  55. type: "error"
  56. });
  57. }else{
  58. var new_management_tankuang_data={
  59. name:$scope.new_management_name
  60. }
  61. api_cmdb2.add_preservation1("managementUnit",new_management_tankuang_data).then(function(data){
  62. api_cmdb2.management_unit().then(function(data){
  63. // console.log(data)
  64. var myData = Restangular.stripRestangular(data);
  65. $scope.myData = myData.managementUnit;
  66. for (var i = 0; i < $scope.myData.length; i++) {
  67. $scope.myData[i]['item'] = i+1
  68. }
  69. $scope.gridOptions.totalItems = $scope.myData.length;
  70. })
  71. })
  72. $scope.new_management_tankuang_bg=false;
  73. $scope.new_management_tankuang="new_management_tankuang_before";
  74. // $scope.refreshDat();
  75. // $scope.refreshData("zoom-in", { "idx": 0, "sum": mun });
  76. $scope.new_shuzu=[];
  77. SweetAlert.swal({
  78. title: "新增管理单位成功",
  79. confirmButtonColor: "#007AFF",
  80. type: "success"
  81. });
  82. }
  83. }
  84. }
  85. $rootScope.edit_management_tankuang_bg=false;
  86. $rootScope.edit_management_tankuang="edit_management_tankuang_before";
  87. // 关闭修改管理单位
  88. $scope.edit_management_clo=function(){
  89. $rootScope.edit_management_tankuang_bg=false;
  90. $rootScope.edit_management_tankuang="edit_management_tankuang_before";
  91. }
  92. // 确定管理单位
  93. $scope.edit_management_mit=function(){
  94. for(var k=0;k<$scope.myData.length;k++){
  95. $scope.new_shuzu.push($scope.myData[k].name)
  96. }
  97. if($scope.gldw_name==''||$scope.gldw_name==undefined){
  98. SweetAlert.swal({
  99. title: "修改失败",
  100. text: "修改管理单位不能为空!",
  101. type: "error"
  102. });
  103. }else{
  104. if($scope.new_shuzu.indexOf($scope.gldw_name)!==-1){
  105. SweetAlert.swal({
  106. title: "修改失败",
  107. text: "管理单位已存在!",
  108. type: "error"
  109. });
  110. }else{
  111. var edit_management_tankuang_data={
  112. name:$scope.gldw_name,
  113. id:$scope.gldw_id
  114. }
  115. api_cmdb2.upd_preservation("managementUnit",edit_management_tankuang_data).then(function(){
  116. $scope.myData=[];
  117. api_cmdb2.management_unit().then(function(data){
  118. // $scope.myData=[];
  119. var myData = Restangular.stripRestangular(data);
  120. $scope.myData = myData.managementUnit;
  121. for (var i = 0; i < $scope.myData.length; i++) {
  122. $scope.myData[i]['item'] = i+1
  123. }
  124. // console.log($scope.myData);
  125. $scope.gridOptions.totalItems = $scope.myData.length;
  126. $scope.new_shuzu=[]
  127. })
  128. })
  129. $rootScope.edit_management_tankuang_bg=false;
  130. $rootScope.edit_management_tankuang="edit_management_tankuang_before";
  131. SweetAlert.swal({
  132. title: "修改管理单位成功",
  133. text: "请刷新列表!",
  134. confirmButtonColor: "#007AFF",
  135. type: "success"
  136. });
  137. }
  138. }
  139. }
  140. //删除
  141. $scope.remove = function () {
  142. SweetAlert.swal({
  143. title: "此功能暂时不可用",
  144. text: "维护中!",
  145. type: "error"
  146. });
  147. // if($scope.items_display.length==0){
  148. // SweetAlert.swal({
  149. // title: "删除失败",
  150. // text: "请勾选一条数据!",
  151. // type: "error"
  152. // });
  153. // }else{
  154. // SweetAlert.swal({
  155. // title: "确认删除?",
  156. // text: "删除的数据不可恢复,请确认继续操作!",
  157. // type: "warning",
  158. // showCancelButton: true,
  159. // confirmButtonColor: "#DD6B55",
  160. // confirmButtonText: "继续删除",
  161. // cancelButtonText: "取消操作",
  162. // closeOnConfirm: false,
  163. // closeOnCancel: false
  164. // }, function (isConfirm) {
  165. // if (isConfirm) {
  166. // api_cmdb2.del_preservation("managementUnit",$scope.items_display).then(function(){
  167. // api_cmdb2.management_unit().then(function(data){
  168. // var myData = Restangular.stripRestangular(data);
  169. // $scope.myData = myData.managementUnit;
  170. // for (var i = 0; i < $scope.myData.length; i++) {
  171. // $scope.myData[i]['item'] = i+1
  172. // }
  173. // $scope.gridOptions.totalItems = $scope.myData.length;
  174. // })
  175. // })
  176. // $scope.items_display=[];
  177. // SweetAlert.swal("操作成功!", "数据已经被删除.", "success");
  178. // } else {
  179. // SweetAlert.swal("操作取消", "数据安全", "error");
  180. // }
  181. // });
  182. // }
  183. };
  184. //刷新
  185. $scope.new_data=function(){
  186. $scope.myData=[];
  187. $scope.selected.items = {};
  188. api_cmdb2.management_unit().then(function(data){
  189. // console.log(data)
  190. var myData = Restangular.stripRestangular(data);
  191. $scope.myData = myData.managementUnit;
  192. for (var i = 0; i < $scope.myData.length; i++) {
  193. $scope.myData[i]['item'] = i+1
  194. }
  195. $scope.gridOptions.totalItems = $scope.myData.length;
  196. })
  197. }
  198. //监听列表修改值
  199. $scope.$watch('gldw_name_caozuo',function(val){
  200. $scope.gldw_name=val;
  201. // console.log(val)
  202. })
  203. //监听列表id
  204. $scope.$watch('gldw_id_caozuo',function(val){
  205. $scope.gldw_id=val
  206. })
  207. $scope.gridOptions.rowIdentity = function(row) {
  208. return row.id;
  209. };
  210. $scope.gridOptions.getRowIdentity = function(row) {
  211. return row.id;
  212. };
  213. $scope.gridOptions.columnDefs = [{
  214. name: 'item',
  215. displayName: '序号',
  216. width: '10%',
  217. enableFiltering: false
  218. },
  219. {
  220. name: 'name',
  221. displayName: '管理单位',
  222. width: '90%',
  223. enableFiltering: false ,
  224. cellTemplate: '<div>' +
  225. '<div class="ui-grid-cell-contents">{{row.entity.name}}</div>' +
  226. '</div>'
  227. },
  228. {
  229. name: '编辑',
  230. width:'30%',
  231. cellTemplate: '<jrybj style="background-color:{{row.entity.colourInfo.rgb}};text-align: center" item="row.entity" colobject="col">',
  232. enableFiltering: false
  233. },
  234. ];
  235. $scope.selected = {
  236. items: []
  237. }
  238. $scope.editted = {
  239. items: []
  240. }
  241. $scope.items_display=[];
  242. $scope.gridOptions.onRegisterApi = function(gridApi) {
  243. $scope.gridApi = gridApi;
  244. // gridApi.edit.on.afterCellEdit($scope,function(rowEntity, colDef, newValue, oldValue){
  245. // // console.log(rowEntity);
  246. // });
  247. gridApi.pagination.on.paginationChanged($scope, function(newPage, pageSize) {
  248. var filtersData = $scope.memoryfilterData;
  249. filtersData.idx = newPage - 1;
  250. filtersData.sum = pageSize;
  251. defaultFilterData = filtersData;
  252. $scope.refreshData('expand-right', filtersData);
  253. });
  254. gridApi.selection.on.rowSelectionChanged($scope, function(scope) {
  255. scope.grid.appScope.selected.items = scope.entity;
  256. // console.log(scope)
  257. $scope.items_display.push(scope.entity.id);
  258. });
  259. };
  260. var defaultFilterData = {
  261. "idx": 0,
  262. "sum": 10
  263. };
  264. $scope.memoryfilterData = {
  265. "idx": 0,
  266. "sum": 10
  267. }
  268. $scope.ldloading = {};
  269. $scope.refreshData = function(style, filterData) {
  270. $scope.selected.items = {};
  271. $scope.ldloading[style.replace('-', '_')] = true;
  272. if (angular.isUndefined(filterData)) {
  273. filterData = defaultFilterData;
  274. }
  275. $scope.myData = [];
  276. $scope.selected = { items: [] };
  277. if ($scope.gridApi) {
  278. $scope.gridApi.grid.selection.selectedCount = 0;
  279. }
  280. api_cmdb2.management_unit().then(function(data){
  281. // console.log(data)
  282. var myData = Restangular.stripRestangular(data);
  283. $scope.myData = myData.managementUnit;
  284. for (var i = 0; i < $scope.myData.length; i++) {
  285. $scope.myData[i]['item'] = i+1
  286. }
  287. $scope.gridOptions.totalItems = $scope.myData.length;
  288. })
  289. };
  290. $scope.refreshData('expand-right', defaultFilterData);
  291. }]);
  292. //操作按钮权限控制
  293. app.controller('gldw_caozuoCtrl', ['$rootScope', '$http', '$scope', '$modal','api_cmdb2','api_bpm_domain','up_down_file','SweetAlert',function ($rootScope, $http, $scope, $modal,api_cmdb2,api_bpm_domain,up_down_file,SweetAlert) {
  294. $scope.edit_management=function(){
  295. // console.log($scope.item);
  296. $rootScope.edit_management_tankuang_bg=true;
  297. $rootScope.edit_management_tankuang="edit_management_tankuang_after";
  298. $rootScope.gldw_name_caozuo=$scope.item.name;
  299. $rootScope.gldw_id_caozuo=$scope.item.id;
  300. }
  301. }]);
  302. //编辑
  303. app.directive('jrybj', function () {
  304. return {
  305. restrict: 'E',
  306. scope: {
  307. item: '=',
  308. colobject: '='
  309. },
  310. controller: 'gldw_caozuoCtrl',
  311. template: '<div><div class="cl-effect-1 ui-grid-cell-contents pull-left" >' +
  312. '<a ng-click="edit_management()" class="handlefont" >编辑</a>' +
  313. '</div></div>'
  314. };
  315. });