businessCtrl.js 58 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411
  1. 'use strict';
  2. app.controller('businessListCtrl', ["$scope", "$http", "i18nService", "$rootScope", "$state", "$timeout", "moment", "$interval", "$modal", "$stateParams", "SweetAlert", "uiGridConstants", "uiGridGroupingConstants", "Restangular", "api_bpm_domain", "api_text", "api_bpm_data", "api_user_data", "api_cmdb", "api_cmdb2", "FileUploader", "api_solution","api_cmdb3", function ($scope, $http, i18nService, $rootScope, $state, $timeout, moment, $interval, $modal, $stateParams, SweetAlert, uiGridConstants, uiGridGroupingConstants, Restangular, api_bpm_domain, api_text, api_bpm_data, api_user_data, api_cmdb, api_cmdb2, FileUploader, api_solution,api_cmdb3) {
  3. $scope.add_mask = false;//蒙版
  4. $scope.add_Popup = false;//弹出框
  5. $rootScope.ywxt_edit_mask = false;
  6. $rootScope.ywxt_edit_Popup = false;
  7. $scope.lb_select_val={};//列表下拉选择框
  8. $scope.add_managementUnit={};//管理单位下拉框
  9. $scope.add_deploymentArea={};//部署区域下拉框
  10. $scope.add_influence_data={};//紧急度
  11. $scope.ywxt_edit_influence={};//编辑紧急度
  12. $scope.ywxt_edit_managementUnit = {};//编辑管理单位下拉框
  13. $scope.ywxt_edit_deploymentArea = {};//编辑管理区域下拉框
  14. // 关闭编辑
  15. $scope.edit_close = function () {
  16. $(".form").scrollTop(0);
  17. $rootScope.ywxt_edit_mask = false;
  18. $rootScope.toedit="new_top";
  19. $scope.edit_QY="";
  20. // $rootScope.ywxt_edit_Popup = false;
  21. $scope.ywxt_edit_influence={};
  22. $scope.ywxt_edit_managementUnit = {};
  23. $scope.ywxt_edit_deploymentArea = {};
  24. };
  25. // 监听新增虚拟机数量
  26. $scope.$watch('add_virtualMachinesNum',function(val,oldval){
  27. var zhengze=/^\w{0,4}$/;
  28. if(!zhengze.exec(val)){
  29. $scope.add_virtualMachinesNum=oldval;
  30. }
  31. });
  32. // 监听编辑虚拟机数量
  33. $scope.$watch('ywxt_edit_virtualMachinesNum',function(val,oldval){
  34. var zhengze=/^\w{0,4}$/;
  35. if(!zhengze.exec(val)){
  36. $scope.ywxt_edit_virtualMachinesNum=oldval;
  37. }
  38. });
  39. // 验证新增开发手机号码
  40. $scope.new_kaifa=function(){
  41. var zhengze=/^[1][3,4,5,7,8][0-9]{9}$/;
  42. if(!zhengze.exec($scope.add_softwareLinkmanPhone)){
  43. SweetAlert.swal({
  44. title: "电话格式错误",
  45. text: "请输出有效手机号码!",
  46. type: "error"
  47. });
  48. $scope.add_softwareLinkmanPhone=''
  49. }
  50. }
  51. // 验证新增运维手机号码
  52. $scope.new_yunwei=function(){
  53. var zhengze=/^[1][3,4,5,7,8][0-9]{9}$/;
  54. if(!zhengze.exec($scope.add_operationsManagerPhone)){
  55. SweetAlert.swal({
  56. title: "电话格式错误",
  57. text: "请输出有效手机号码!",
  58. type: "error"
  59. });
  60. $scope.add_operationsManagerPhone=''
  61. }
  62. }
  63. // 验证编辑开发手机号码
  64. $scope.edit_kaifa=function(){
  65. var zhengze=/^[1][3,4,5,7,8][0-9]{9}$/;
  66. if(!zhengze.exec($scope.ywxt_edit_softwareLinkmanPhone)){
  67. SweetAlert.swal({
  68. title: "电话格式错误",
  69. text: "请输出有效手机号码!",
  70. type: "error"
  71. });
  72. $scope.ywxt_edit_softwareLinkmanPhone=''
  73. }
  74. }
  75. // 验证编辑运维手机号码
  76. $scope.edit_yunwei=function(){
  77. var zhengze=/^[1][3,4,5,7,8][0-9]{9}$/;
  78. if(!zhengze.exec($scope.ywxt_edit_operationsManagerPhone)){
  79. SweetAlert.swal({
  80. title: "电话格式错误",
  81. text: "请输出有效手机号码!",
  82. type: "error"
  83. });
  84. $scope.ywxt_edit_operationsManagerPhone=''
  85. }
  86. }
  87. // 编辑
  88. // 监听编辑下拉框管理单位数据
  89. $scope.$watch('ywxt_edit_managementUnit.management_data', function (val) {
  90. $scope.ywxt_edit_managementUnit_id = val;
  91. });
  92. // 监听编辑管理单位
  93. $scope.$watch('ywxt_edit_managementUnit_caozuo', function (val) {
  94. // console.log(val);
  95. $scope.ywxt_edit_managementUnit_id = val;
  96. });
  97. // 监听编辑业务系统
  98. $scope.$watch('ywxt_edit_serviceName_caozuo', function (val) {
  99. $scope.ywxt_edit_serviceName = val;
  100. });
  101. // 监听编辑业务系统简称
  102. $scope.$watch('ywxt_edit_shortName_caozuo', function (val) {
  103. $scope.ywxt_edit_shortName = val;
  104. });
  105. // 监听编辑虚拟机数量
  106. $scope.$watch('ywxt_edit_virtualMachinesNum_caozuo', function (val) {
  107. $scope.ywxt_edit_virtualMachinesNum = val;
  108. });
  109. // 监听编辑部署区域
  110. $scope.$watch('ywxt_edit_deploymentArea_caozuo', function (val) {
  111. $scope.ywxt_edit_deploymentArea_name = val;
  112. });
  113. // 监听编辑下拉框部署区域
  114. $scope.$watch('ywxt_edit_deploymentArea.area_data', function (val) {
  115. $scope.ywxt_edit_deploymentArea_name=val;
  116. });
  117. // 监听编辑IP地址段
  118. $scope.$watch('ywxt_edit_ipAddress_caozuo', function (val) {
  119. $scope.ywxt_edit_ipAddress = val;
  120. });
  121. // 监听编辑软件开发单位
  122. $scope.$watch('ywxt_edit_softwareDeveloper_caozuo', function (val) {
  123. $scope.ywxt_edit_softwareDeveloper = val;
  124. });
  125. // 监听编辑软件开发联系人
  126. $scope.$watch('ywxt_edit_softwareLinkman_caozuo', function (val) {
  127. $scope.ywxt_edit_softwareLinkman = val;
  128. });
  129. // 监听编辑软件开发联系人电话
  130. $scope.$watch('ywxt_edit_softwareLinkmanPhone_caozuo', function (val) {
  131. $scope.ywxt_edit_softwareLinkmanPhone = val;
  132. });
  133. // 监听编辑运维管理员
  134. $scope.$watch('ywxt_edit_operationsManager_caozuo', function (val) {
  135. $scope.ywxt_edit_operationsManager = val;
  136. });
  137. // 监听编辑运维管理员联系电话
  138. $scope.$watch('ywxt_edit_operationsManagerPhone_caozuo', function (val) {
  139. $scope.ywxt_edit_operationsManagerPhone = val;
  140. });
  141. // 监听业务测试地址
  142. $scope.$watch('ywxt_edit_serviceTestingAddress_caozuo', function (val) {
  143. $scope.ywxt_edit_serviceTestingAddress = val;
  144. });
  145. // 监听影响度
  146. $scope.$watch('ywxt_edit_influence_caozuo', function (val) {
  147. $scope.ywxt_edit_influence_id = val;
  148. });
  149. // 监听影响度下拉数据
  150. $scope.$watch('ywxt_edit_influence.flu_data', function (val) {
  151. $scope.ywxt_edit_influence_id = val;
  152. });
  153. // 监听编辑备注
  154. $scope.$watch('ywxt_edit_remark_caozuo', function (val) {
  155. $scope.ywxt_edit_remark = val;
  156. });
  157. // 保存编辑
  158. $scope.edit_preservation = function () {
  159. if($scope.ywxt_edit_serviceName==undefined||$scope.ywxt_edit_serviceName==''){
  160. SweetAlert.swal({
  161. title: "修改失败",
  162. text: "必填信息请填写完整!",
  163. type: "error"
  164. });
  165. }else{
  166. var edit_data = {
  167. "managementUnitId": $scope.ywxt_edit_managementUnit_id.id,
  168. "serviceName": $scope.ywxt_edit_serviceName,
  169. "shortName": $scope.ywxt_edit_shortName,
  170. "virtualMachinesNum": $scope.ywxt_edit_virtualMachinesNum,
  171. // "deploymentArea": $scope.ywxt_edit_deploymentArea_name.area,
  172. "deploymentArea": $scope.edit_QY,
  173. "ipAddress": $scope.ywxt_edit_ipAddress,
  174. "softwareDeveloper": $scope.ywxt_edit_softwareDeveloper,
  175. "softwareLinkman": $scope.ywxt_edit_softwareLinkman,
  176. "softwareLinkmanPhone": $scope.ywxt_edit_softwareLinkmanPhone,
  177. "operationsManager": $scope.ywxt_edit_operationsManager,
  178. "operationsManagerPhone": $scope.ywxt_edit_operationsManagerPhone,
  179. "serviceTestingAddress":$scope.ywxt_edit_serviceTestingAddress,
  180. // "influence":{id:$scope.ywxt_edit_influence_id.id},
  181. "influence":{id:1},
  182. "remark": $scope.ywxt_edit_remark,
  183. "id": $rootScope.ywxt_edit_id,
  184. "deleteFlag":1
  185. }
  186. api_cmdb2.edit_preservation("operationSystem", edit_data).then(function (data) {
  187. $(".form").scrollTop(0);
  188. $rootScope.ywxt_edit_mask = false;
  189. $rootScope.ywxt_edit_Popup = false;
  190. $rootScope.toedit="new_top";
  191. var pdKey = "cmdb";
  192. if($scope.fenye==undefined){
  193. $scope.fenye=0
  194. };
  195. $scope.refreshData = function (style, filterData) {
  196. $scope.myData = [];
  197. $scope.gridOptions['sum'] = filterData.sum;
  198. api_cmdb2.fetchDataList(pdKey, filterData).then(function (data) {
  199. if (data.data) {
  200. var myData = Restangular.stripRestangular(data);
  201. var list = [];
  202. $scope.gridOptions['totalItems'] = myData.resultCount;
  203. $scope.myData = myData.data;
  204. for (var i = 0; i < $scope.myData.length; i++) {
  205. $scope.myData[i]['item'] = i + 1 + filterData.idx * filterData.sum
  206. }
  207. } else {
  208. SweetAlert.swal({
  209. title: "系统错误",
  210. text: "请稍后再试!",
  211. type: "error"
  212. });
  213. }
  214. $scope.ldloading[style.replace('-', '_')] = false;
  215. }, function () {
  216. $scope.ldloading[style.replace('-', '_')] = false;
  217. });
  218. };
  219. $scope.ywxt_edit_managementUnit = {};
  220. $scope.ywxt_edit_deploymentArea = {};
  221. $scope.edit_QY="";
  222. SweetAlert.swal({
  223. title: "修改成功",
  224. confirmButtonColor: "#007AFF",
  225. type: "success"
  226. });
  227. $scope.refreshData("zoom-in", { "idx": $scope.fenye, "sum": mun });
  228. })
  229. }
  230. }
  231. //弹框下滑
  232. $rootScope.toedit="new_top";
  233. // 新增管理单位
  234. $scope.new_management_tankuang_bg=false;
  235. $scope.new_management_tankuang="new_management_tankuang_before";
  236. // 新增管理单位按钮
  237. $scope.add_management=function(){
  238. $scope.new_management_tankuang_bg=true;
  239. $scope.new_management_tankuang="new_management_tankuang_after";
  240. $scope.new_management_name=""
  241. }
  242. // 关闭新增管理单位
  243. $scope.new_management_clo=function(){
  244. $scope.new_management_tankuang_bg=false;
  245. $scope.new_management_tankuang="new_management_tankuang_before";
  246. }
  247. // 确定管理单位
  248. $scope.new_management_mit=function(){
  249. console.log($scope.new_management_tankuang_data);
  250. if($scope.new_management_name==''||$scope.new_management_name==undefined){
  251. SweetAlert.swal({
  252. title: "新增错误",
  253. text: "新增管理单位不能为空!",
  254. type: "error"
  255. });
  256. }else{
  257. var new_management_tankuang_data={
  258. name:$scope.new_management_name
  259. }
  260. api_cmdb2.add_preservation("managementUnit",new_management_tankuang_data).then(function(data){
  261. })
  262. $scope.new_management_tankuang_bg=false;
  263. $scope.new_management_tankuang="new_management_tankuang_before";
  264. $scope.refreshDat();
  265. SweetAlert.swal({
  266. title: "新增管理单位成功",
  267. confirmButtonColor: "#007AFF",
  268. type: "success"
  269. });
  270. }
  271. }
  272. $scope.get_managementUnit=function(){
  273. $scope.refreshDat();
  274. }
  275. //新增
  276. $scope.newly = function () {
  277. $scope.add_managementUnit={};//管理单位下拉框
  278. $scope.add_deploymentArea={};//部署区域下拉框
  279. // $scope.add_Popup = true;
  280. $scope.add_mask = true;
  281. $rootScope.toedit="new_after";
  282. $(".form").scrollTop(0)
  283. };
  284. //关闭新增
  285. $scope.close = function () {
  286. $scope.add_mask = false;//蒙版
  287. $rootScope.toedit="new_top";
  288. $scope.more_XR="";
  289. // $scope.add_Popup = false;//弹出框
  290. $scope.add_managementUnit = {};//新增管理单位
  291. $scope.add_serviceName = "";//新增业务系统
  292. $scope.add_shortName = "";//新增业务系统简称
  293. $scope.add_virtualMachinesNum = "";//新增虚拟机数量
  294. $scope.add_deploymentArea = {};//新增部署区域
  295. $scope.add_ipAddress = "";//新增IP地址段
  296. $scope.add_softwareDeveloper = "";//新增软件开发单位
  297. $scope.add_softwareLinkman = "";//新增软件开发联系人
  298. $scope.add_softwareLinkmanPhone = "";//新增软件开发联系人电话
  299. $scope.add_operationsManager = "";//新增运维管理员
  300. $scope.add_operationsManagerPhone = "";//新增运维管理员联系电话
  301. $scope.add_serviceTestingAddress="";//新增业务测试地址
  302. $scope.add_influence_data={};//紧急度
  303. $scope.add_remark = "";//新增备注
  304. // $scope.add_influence="";//新增影响度
  305. $scope.file_name_see="请上传附件";
  306. $(".form").scrollTop(0)
  307. };
  308. $scope.more_XR="";
  309. $scope.jry_moreCeshi=function(){
  310. // console.log($scope.add_deploymentArea);
  311. // $scope.more_XR.push($scope.add_deploymentArea.area_data.area);
  312. // $scope.more_XR=$scope.more_XR+","+$scope.add_deploymentArea.area_data.area;
  313. $scope.more_XR==""?$scope.more_XR=$scope.more_XR+$scope.add_deploymentArea.area_data.area:$scope.more_XR=$scope.more_XR+","+$scope.add_deploymentArea.area_data.area;
  314. // console.log($scope.more_XR);
  315. }
  316. $scope.edit_QY="";
  317. $scope.edit_areaMore=function(){
  318. console.log($scope.ywxt_edit_deploymentArea);
  319. $scope.edit_QY==""?$scope.edit_QY=$scope.edit_QY+$scope.ywxt_edit_deploymentArea.area_data.area:$scope.edit_QY=$scope.edit_QY+","+$scope.ywxt_edit_deploymentArea.area_data.area;
  320. console.log($scope.edit_QY)
  321. }
  322. // 新增保存按钮
  323. $scope.preservation = function () {
  324. console.log($scope.add_deploymentArea.area_data==undefined);
  325. if($scope.add_managementUnit.management_data==undefined||$scope.add_serviceName==undefined||$scope.add_managementUnit.management_data==''||$scope.add_serviceName==''){
  326. // alert("请输入或选择必填信息");
  327. SweetAlert.swal({
  328. title: "新增失败",
  329. text: "必填信息请填写完整!",
  330. type: "error"
  331. });
  332. }else{
  333. var add_data = {
  334. "managementUnitId": $scope.add_managementUnit.management_data.id,
  335. "serviceName": $scope.add_serviceName,
  336. "shortName": $scope.add_shortName,
  337. "virtualMachinesNum": $scope.add_virtualMachinesNum,
  338. // "deploymentArea": $scope.add_deploymentArea.area_data.area,
  339. // "deploymentArea": $scope.add_deploymentArea.area_data==undefined?"":$scope.add_deploymentArea.area_data.area,
  340. "deploymentArea":$scope.more_XR,
  341. "ipAddress": $scope.add_ipAddress,
  342. "softwareDeveloper": $scope.add_softwareDeveloper,
  343. "softwareLinkman": $scope.add_softwareLinkman,
  344. "softwareLinkmanPhone": $scope.add_softwareLinkmanPhone,
  345. "operationsManager": $scope.add_operationsManager,
  346. "operationsManagerPhone": $scope.add_operationsManagerPhone,
  347. "serviceTestingAddress":$scope.add_serviceTestingAddress,
  348. "influence":{id:1},
  349. "remark": $scope.add_remark,
  350. "deleteFlag":1
  351. }
  352. api_cmdb2.add_preservation("operationSystem", add_data).then(function (res) {
  353. var adid = res.id;
  354. if($scope.fileItem!=undefined){
  355. $scope.fileItem.url=$scope.fileItem.url+adid;
  356. }
  357. if (res.status == "200") {
  358. // $rootScope.ywxt_edit_managementUnit.management_data.name = "请选择管理单位";//新增管理单位
  359. $scope.add_serviceName = "";//新增业务系统
  360. $scope.more_XR="";
  361. $scope.add_shortName = "";//新增业务系统简称
  362. $scope.add_virtualMachinesNum = '';//新增虚拟机数量
  363. $scope.add_managementUnit={};//管理单位下拉框
  364. $scope.add_deploymentArea = {};//新增部署区域
  365. $scope.add_ipAddress = "";//新增IP地址段
  366. $scope.add_softwareDeveloper = "";//新增软件开发单位
  367. $scope.add_softwareLinkman = "";//新增软件开发联系人
  368. $scope.add_softwareLinkmanPhone = "";//新增软件开发联系人电话
  369. $scope.add_operationsManager = "";//新增运维管理员
  370. $scope.add_operationsManagerPhone = "";//新增运维管理员联系电话
  371. $scope.add_serviceTestingAddress="";//新增业务测试地址
  372. $scope.add_influence_data={};//新增影响度
  373. $scope.add_remark = "";//新增备注
  374. $(".form").scrollTop(0);
  375. $scope.add_mask = false;//蒙版
  376. $scope.add_Popup = false;//弹出框
  377. $scope.refreshDat();
  378. $rootScope.toedit="new_top";
  379. var pdKey = "cmdb";
  380. if($scope.fenye==undefined){
  381. $scope.fenye=0
  382. };
  383. $scope.refreshData = function (style, filterData) {
  384. $scope.myData = [];
  385. $scope.gridOptions['sum'] = filterData.sum;
  386. api_cmdb2.fetchDataList(pdKey, filterData).then(function (data) {
  387. if (data.data) {
  388. var myData = Restangular.stripRestangular(data);
  389. var list = [];
  390. $scope.gridOptions['totalItems'] = myData.resultCount;
  391. $scope.myData = myData.data;
  392. for (var i = 0; i < $scope.myData.length; i++) {
  393. $scope.myData[i]['item'] = i + 1 + filterData.idx * filterData.sum
  394. }
  395. } else {
  396. SweetAlert.swal({
  397. title: "系统错误",
  398. text: "请稍后再试!",
  399. type: "error"
  400. });
  401. }
  402. $scope.ldloading[style.replace('-', '_')] = false;
  403. }, function () {
  404. $scope.ldloading[style.replace('-', '_')] = false;
  405. });
  406. };
  407. if($scope.file_name_see!="请上传附件"&&$scope.file_name_see!=""){
  408. $scope.import();
  409. }
  410. $scope.file_name_see="请上传附件";
  411. $scope.refreshData("expand-right", { "idx": $scope.fenye, "sum": mun });
  412. SweetAlert.swal({
  413. title: "新增成功",
  414. confirmButtonColor: "#007AFF",
  415. type: "success"
  416. });
  417. }else{
  418. SweetAlert.swal({
  419. title: "新增失败",
  420. text: "请刷新后再试!",
  421. type: "error"
  422. });
  423. }
  424. })
  425. }
  426. };
  427. $scope.items_display=[];
  428. //删除
  429. $scope.remove = function () {
  430. if($scope.items_display.length==0){
  431. SweetAlert.swal({
  432. title: "删除失败",
  433. text: "请勾选最少一条数据!",
  434. type: "error"
  435. });
  436. }else{
  437. SweetAlert.swal({
  438. title: "确认删除?",
  439. text: "删除的数据不可恢复,请确认继续操作!",
  440. type: "warning",
  441. showCancelButton: true,
  442. confirmButtonColor: "#DD6B55",
  443. confirmButtonText: "继续删除",
  444. cancelButtonText: "取消操作",
  445. closeOnConfirm: false,
  446. closeOnCancel: false
  447. }, function (isConfirm) {
  448. if (isConfirm) {
  449. api_cmdb2.remov("operationSystem", $scope.items_display).then(function (data) {
  450. var pdKey = "cmdb";
  451. if($scope.fenye==undefined){
  452. $scope.fenye=0
  453. };
  454. $scope.refreshData = function (style, filterData) {
  455. $scope.myData = [];
  456. $scope.gridOptions['sum'] = filterData.sum;
  457. api_cmdb2.fetchDataList(pdKey, filterData).then(function (data) {
  458. if (data.data) {
  459. var myData = Restangular.stripRestangular(data);
  460. var list = [];
  461. $scope.gridOptions['totalItems'] = myData.resultCount;
  462. $scope.myData = myData.data;
  463. for (var i = 0; i < $scope.myData.length; i++) {
  464. $scope.myData[i]['item'] = i + 1 + filterData.idx * filterData.sum
  465. }
  466. } else {
  467. SweetAlert.swal({
  468. title: "系统错误",
  469. text: "请稍后再试!",
  470. type: "error"
  471. });
  472. }
  473. $scope.ldloading[style.replace('-', '_')] = false;
  474. }, function () {
  475. $scope.ldloading[style.replace('-', '_')] = false;
  476. });
  477. };
  478. $scope.refreshData("expand-right", { "idx": $scope.fenye, "sum": mun });
  479. })
  480. $scope.items_display=[];
  481. SweetAlert.swal("操作成功!", "数据已经被删除.", "success");
  482. } else {
  483. SweetAlert.swal("操作取消", "数据安全", "error");
  484. }
  485. });
  486. }
  487. };
  488. $scope.liucheng_id="";
  489. var importUploader = $scope.importUploader = new FileUploader({
  490. url:api_bpm_domain.upload("uploadAttachment/operationSystem/", '').getRequestedUrl()
  491. });
  492. $scope.file_name_see="请上传附件";
  493. // 附件上传
  494. importUploader.onWhenAddingFileFailed = function(item /*{File|FileLikeObject}*/ , filter, options) {
  495. console.info('onWhenAddingFileFailed', item, filter, options);
  496. };
  497. importUploader.onAfterAddingFile = function(fileItem) {
  498. console.info('onAfterAddingFile', fileItem);
  499. $scope.fileItem=fileItem;
  500. $scope.file_name_see=fileItem._file.name;
  501. var name_arr=fileItem._file.name.split(".");
  502. if(fileItem._file.size>1000000){
  503. SweetAlert.swal({
  504. title: "添加附件失败",
  505. text: "大小不能超过1M!",
  506. type: "error"
  507. });
  508. // $scope.fileItem="";
  509. $scope.file_name_see="";
  510. // $scope.addedFileItems=""
  511. }else if(name_arr[name_arr.length-1]=='exe'){
  512. SweetAlert.swal({
  513. title: "添加附件失败",
  514. text: "不能上传exe附件!",
  515. type: "error"
  516. });
  517. // $scope.fileItem="";
  518. $scope.file_name_see="";
  519. // $scope.addedFileItems=""
  520. }
  521. // console.log($scope.fileItem.url)
  522. };
  523. importUploader.onAfterAddingAll = function(addedFileItems) {
  524. console.info('onAfterAddingAll', addedFileItems);
  525. // $scope.addedFileItems=addedFileItems;
  526. // console.log($scope.addedFileItems[0].url)
  527. };
  528. importUploader.onProgressItem = function(fileItem, progress) {
  529. console.info('onProgressItem', fileItem, progress);
  530. };
  531. importUploader.onProgressAll = function(progress) {
  532. console.info('onProgressAll', progress);
  533. };
  534. importUploader.onSuccessItem = function(fileItem, response, status, headers) {
  535. if (response.status == 200) {
  536. // SweetAlert.swal({
  537. // title: "文件上传成功!",
  538. // confirmButtonColor: "#007AFF",
  539. // type: "success"
  540. // }, function() {
  541. // // $scope.ldloading.contract_overlay = false;
  542. // // $rootScope.isMask = false;
  543. // // $scope.refreshListData('expand-right', defaultFilterData);
  544. // });
  545. } else {
  546. // $scope.ldloading.contract_overlay = false;
  547. // $rootScope.isMask = false;
  548. // SweetAlert.swal({
  549. // title: "文件上传失败!",
  550. // text: response.error,
  551. // type: "error"
  552. // })
  553. }
  554. console.info('onSuccessItem', fileItem, response, status, headers);
  555. };
  556. importUploader.onErrorItem = function(fileItem, response, status, headers) {
  557. console.info('onErrorItem', fileItem, response, status, headers);
  558. SweetAlert.swal({
  559. title: "系统错误!",
  560. text: "系统错误,请稍候重试!",
  561. type: "error"
  562. });
  563. };
  564. importUploader.onCancelItem = function(fileItem, response, status, headers) {
  565. console.info('onCancelItem', fileItem, response, status, headers);
  566. };
  567. importUploader.onCompleteItem = function(fileItem, response, status, headers) {
  568. console.info('onCompleteItem', fileItem, response, status, headers);
  569. };
  570. importUploader.onCompleteAll = function() {
  571. console.info('onCompleteAll');
  572. };
  573. $scope.ldloading = {};
  574. $rootScope.isMask = false;
  575. $scope.import = function(style) {
  576. importUploader.onBeforeUploadItem = function(item) {
  577. angular.extend(item.headers, $rootScope.getSession());
  578. item.formData.push({ 'filename': item.file.name });
  579. item.formData.push({ 'type': "dataImport" });
  580. console.info('onBeforeUploadItem', item);
  581. };
  582. importUploader.uploadAll();
  583. }
  584. $scope.cancel = function() {
  585. $modalInstance.dismiss('cancel');
  586. };
  587. var select_data = "";
  588. var search = "";
  589. // 列表下拉框数据
  590. $scope.lb_select_data = [
  591. { "name": "管理单位" },
  592. { "name": "业务名称" },
  593. { "name": "业务系统简称" },
  594. { "name": "虚拟机数量" },
  595. { "name": "IP地址段" },
  596. { "name": "部署区域" },
  597. { "name": "软件开发单位" },
  598. { "name": "软件开发联系人" },
  599. { "name": "软件开发联系人电话" },
  600. { "name": "运维管理员" },
  601. { "name": "运维管理员联系电话" },
  602. { "name": "业务测试地址" },
  603. { "name": "备注" },
  604. ];
  605. $scope.$watch('search', function (val) {
  606. $scope.search = val;
  607. search = $scope.search;
  608. });
  609. $scope.select_data=""
  610. // 列表下拉框数据获取
  611. $scope.$watch('lb_select_val.lb_select_data', function (val) {
  612. // console.log(val);
  613. if(val==undefined){
  614. $scope.select_data=""
  615. }else{
  616. if (val.name == "管理单位") {
  617. $scope.select_data = "managementUnit.name"
  618. } else if (val.name == "业务名称") {
  619. $scope.select_data = "serviceName"
  620. } else if (val.name == "业务系统简称") {
  621. $scope.select_data = "shortName"
  622. } else if (val.name == "虚拟机数量") {
  623. $scope.select_data = "virtualMachinesNum"
  624. } else if (val.name == "IP地址段") {
  625. $scope.select_data = "ipAddress"
  626. } else if (val.name == "部署区域") {
  627. $scope.select_data = "deploymentArea"
  628. } else if (val.name == "软件开发单位") {
  629. $scope.select_data = "softwareDeveloper"
  630. } else if (val.name == "软件开发联系人") {
  631. $scope.select_data = "softwareLinkman"
  632. } else if (val.name == "软件开发联系人电话") {
  633. $scope.select_data = "softwareLinkmanPhone"
  634. } else if (val.name == "运维管理员") {
  635. $scope.select_data = "operationsManager"
  636. } else if (val.name == "运维管理员联系电话") {
  637. $scope.select_data = "operationsManagerPhone"
  638. } else if (val.name == "业务测试地址") {
  639. $scope.select_data = "serviceTestingAddress"
  640. } else if (val.name == "备注") {
  641. $scope.select_data = "remark"
  642. }
  643. // select_data = $scope.select_data;
  644. }
  645. // console.log(select_data)
  646. });
  647. var search = $scope.search;
  648. // 点击搜索
  649. $scope.sear = function () {
  650. var select_data = $scope.select_data;
  651. //获取列表数据
  652. var pdKey = "cmdb";
  653. if($scope.fenye==undefined){
  654. $scope.fenye=0
  655. };
  656. $scope.refreshData = function (style, filterData) {
  657. $scope.myData = [];
  658. $scope.gridOptions['sum'] = filterData.sum;
  659. var aaaa = '{"' + select_data + '"' + ":" + '"' + search + '"}';
  660. var data2 = JSON.parse(aaaa);
  661. var idxx = "idx";
  662. var summ = "sum";
  663. data2[idxx] = 0;
  664. data2[summ] = 10;
  665. api_cmdb2.fetchDataList(pdKey, data2).then(function (data) {
  666. if (data.data) {
  667. var myData = Restangular.stripRestangular(data);
  668. var list = [];
  669. $scope.gridOptions['totalItems'] = myData.resultCount;
  670. $scope.myData = myData.data;
  671. for (var i = 0; i < $scope.myData.length; i++) {
  672. $scope.myData[i]['item'] = i + 1 + filterData.idx * filterData.sum
  673. }
  674. } else {
  675. SweetAlert.swal({
  676. title: "系统错误",
  677. text: "请稍后再试!",
  678. type: "error"
  679. });
  680. }
  681. $scope.ldloading[style.replace('-', '_')] = false;
  682. }, function () {
  683. $scope.ldloading[style.replace('-', '_')] = false;
  684. });
  685. };
  686. $scope.refreshData("expand-right", { "idx": $scope.fenye, "sum": mun });
  687. }
  688. // 重置按钮
  689. $scope.reset = function () {
  690. // $scope.items_display=[];
  691. $scope.search = "";//搜索字段
  692. $scope.lb_select_val={};
  693. if($scope.fenye==undefined){
  694. $scope.fenye=0
  695. };
  696. var pdKey = "cmdb";
  697. $scope.refreshData = function (style, filterData) {
  698. $scope.myData = [];
  699. $scope.gridOptions['sum'] = filterData.sum;
  700. api_cmdb2.fetchDataList(pdKey, filterData).then(function (data) {
  701. if (data.data) {
  702. var myData = Restangular.stripRestangular(data);
  703. var list = [];
  704. $scope.gridOptions['totalItems'] = myData.resultCount;
  705. $scope.myData = myData.data;
  706. for (var i = 0; i < $scope.myData.length; i++) {
  707. $scope.myData[i]['item'] = i + 1 + filterData.idx * filterData.sum
  708. }
  709. } else {
  710. SweetAlert.swal({
  711. title: "系统错误",
  712. text: "请稍后再试!",
  713. type: "error"
  714. });
  715. }
  716. $scope.ldloading[style.replace('-', '_')] = false;
  717. }, function () {
  718. $scope.ldloading[style.replace('-', '_')] = false;
  719. });
  720. };
  721. $scope.refreshData("expand-right", { "idx": $scope.fenye, "sum": mun });
  722. // $scope.refreshData("expand-right", { "idx": 0, "sum": mun });
  723. }
  724. $scope.langs = i18nService.getAllLangs();
  725. $scope.lang = 'zh-cn';
  726. i18nService.setCurrentLang($scope.lang);
  727. $scope.myData = [];
  728. var loginUser = $rootScope.user;
  729. //全部事件权限
  730. $scope.allright = false;
  731. $scope.allrightnot = true;
  732. for (var obj in $rootScope.user.role) {
  733. if ($rootScope.user.role[obj].rolecode == 'incident manager' || $rootScope.user.role[obj].rolecode == 'call center') {
  734. $scope.allright = true;
  735. $scope.allrightnot = false;
  736. }
  737. }
  738. var pdKey = $state.current.pdKey;
  739. $scope.gridOptions = {};
  740. $scope.gridOptions.data = 'myData';
  741. $scope.gridOptions.enableColumnResizing = true;
  742. $scope.gridOptions.enableFiltering = false;
  743. $scope.gridOptions.enableGridMenu = false;
  744. $scope.gridOptions.enableSelectAll = true;
  745. $scope.gridOptions.enableRowSelection = true;
  746. $scope.gridOptions.showGridFooter = true;
  747. $scope.gridOptions.showColumnFooter = false;
  748. $scope.gridOptions.fastWatch = true;
  749. $scope.gridOptions.enableSorting = true;
  750. $scope.gridOptions.useExternalSorting = true;
  751. $scope.gridOptions.useExternalFiltering = false;
  752. $scope.gridOptions.useExternalPagination = true;
  753. $scope.gridOptions.paginationPageSizes = [10, 20, 50, 100];
  754. $scope.gridOptions.paginationPageSize = 10;
  755. $scope.gridOptions.multiSelect = true;
  756. var mun = $scope.gridOptions.paginationPageSize;
  757. $scope.gridOptions.rowTemplate = "<div ng-click=\"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>";
  758. $scope.gridOptions.rowIdentity = function (row) {
  759. return row.id;
  760. };
  761. $scope.gridOptions.getRowIdentity = function (row) {
  762. return row.id;
  763. };
  764. $scope.transferColor = function (item) {
  765. var color = "icon iconfont icon-zhengchang greenfont";
  766. if (item.colourInfo) {
  767. if (item.colourInfo.id == 1) {
  768. color = "icon iconfont icon-yiyuqi redfont";
  769. } else if (item.colourInfo.id == 2) {
  770. color = "iconfont icon-yuqixinxiu yellofont";
  771. }
  772. } else {
  773. // color = "white";
  774. }
  775. return color;
  776. }
  777. $scope.transfertip = function (item) {
  778. var tip = "正常";
  779. if (item.colourInfo) {
  780. if (item.colourInfo.id == 1) {
  781. tip = "逾期";
  782. } else if (item.colourInfo.id == 2) {
  783. tip = "即将逾期";
  784. }
  785. } else {
  786. // color = "white";
  787. }
  788. return tip;
  789. }
  790. $scope.transferstatus = function (item) {
  791. var statecolor = "#fc4c58";
  792. if (item.id == 2) { //待处理
  793. statecolor = "#fc4c58";
  794. } else if (item.id == 7) { //待审核
  795. statecolor = "#fcb44c";
  796. } else if (item.id == 3) { //请求重新指派
  797. statecolor = "#ebf902";
  798. } else if (item.id == 4) { //处理中
  799. statecolor = "#0aa5f5";
  800. } else if (item.id == 5) { //已解决
  801. statecolor = "#2edbb8";
  802. } else if (item.id == 6) { //已关闭
  803. statecolor = "#bbbbbb";
  804. }
  805. return statecolor;
  806. }
  807. $scope.gridOptions.columnDefs = [
  808. {
  809. name: 'item',
  810. displayName: '序号',
  811. width: 49,
  812. cellTemplate: '<div>' +
  813. '<div class="ui-grid-cell-contents">{{row.entity.item}}</div>' +
  814. '</div>'
  815. },
  816. {
  817. name: 'managementUnit',
  818. displayName: '管理单位',
  819. width: 144,
  820. cellTemplate: '<div>' +
  821. '<div class="ui-grid-cell-contents">{{row.entity.managementUnit.name}}</div>' +
  822. '</div>'
  823. },
  824. {
  825. name: 'serviceName',
  826. displayName: '业务名称',
  827. width: 179,
  828. cellTemplate: '<div>' +
  829. '<div class="ui-grid-cell-contents">{{row.entity.serviceName}}</div>' +
  830. '</div>'
  831. },
  832. {
  833. name: 'shortName',
  834. displayName: '业务系统简称',
  835. width: 107,
  836. cellTemplate: '<div>' +
  837. '<div class="ui-grid-cell-contents">{{row.entity.shortName}}</div>' +
  838. '</div>'
  839. },
  840. {
  841. name: 'virtualMachinesNum',
  842. displayName: '虚拟机数量',
  843. width: 98,
  844. cellTemplate: '<div>' +
  845. '<div class="ui-grid-cell-contents">{{row.entity.virtualMachinesNum}}</div>' +
  846. '</div>'
  847. },
  848. {
  849. name: 'ipAddress',
  850. displayName: 'IP地址段',
  851. width: 116,
  852. cellTemplate: '<div>' +
  853. '<div class="ui-grid-cell-contents">{{row.entity.ipAddress}}</div>' +
  854. '</div>'
  855. },
  856. {
  857. name: 'deploymentArea',
  858. displayName: '部署区域',
  859. width: 96,
  860. cellTemplate: '<div>' +
  861. '<div class="ui-grid-cell-contents">{{row.entity.deploymentArea}}</div>' +
  862. '</div>'
  863. },
  864. {
  865. name: 'softwareDeveloper',
  866. displayName: '软件开发单位',
  867. width: 127,
  868. cellTemplate: '<div>' +
  869. '<div class="ui-grid-cell-contents">{{row.entity.softwareDeveloper}}</div>' +
  870. '</div>'
  871. },
  872. {
  873. name: 'softwareLinkman',
  874. displayName: '软件开发联系人',
  875. width: 127,
  876. cellTemplate: '<div>' +
  877. '<div class="ui-grid-cell-contents">{{row.entity.softwareLinkman}}</div>' +
  878. '</div>'
  879. },
  880. {
  881. name: 'softwareLinkmanPhone',
  882. displayName: '软件开发联系人电话',
  883. width: 147,
  884. cellTemplate: '<div>' +
  885. '<div class="ui-grid-cell-contents">{{row.entity.softwareLinkmanPhone}}</div>' +
  886. '</div>'
  887. },
  888. {
  889. name: 'operationsManager',
  890. displayName: '运维管理员',
  891. width: 89,
  892. cellTemplate: '<div>' +
  893. '<div class="ui-grid-cell-contents">{{row.entity.operationsManager}}</div>' +
  894. '</div>'
  895. },
  896. {
  897. name: 'operationsManagerPhone',
  898. displayName: '运维管理员联系电话',
  899. width: 147,
  900. cellTemplate: '<div>' +
  901. '<div class="ui-grid-cell-contents">{{row.entity.operationsManagerPhone}}</div>' +
  902. '</div>'
  903. },
  904. {
  905. name: 'serviceTestingAddress',
  906. displayName: '业务测试地址',
  907. width: 104,
  908. cellTemplate: '<div>' +
  909. '<div class="ui-grid-cell-contents">{{row.entity.serviceTestingAddress}}</div>' +
  910. '</div>'
  911. },
  912. {
  913. name: 'remark',
  914. displayName: '备注',
  915. width: 42,
  916. cellTemplate: '<div>' +
  917. '<div class="ui-grid-cell-contents">{{row.entity.remark}}</div>' +
  918. '</div>'
  919. },
  920. // {
  921. // name: 'influence',
  922. // displayName: '影响度',
  923. // width: 61,
  924. // cellTemplate: '<div>' +
  925. // '<div class="ui-grid-cell-contents">{{row.entity.influence.name}}</div>' +
  926. // '</div>'
  927. // },
  928. // {
  929. // name: 'enclosure',
  930. // displayName: '附件',
  931. // width: 93,
  932. // cellTemplate: '<div>' +
  933. // '<div class="ui-grid-cell-contents">{{row.entity.item}}</div>' +
  934. // '</div>'
  935. // },
  936. // {
  937. // name: '附件预览',
  938. // enableSorting: false,
  939. // width: 73,
  940. // cellTemplate: '<yl style="background-color:{{row.entity.colourInfo.rgb}}" item="row.entity" colobject="col">',
  941. // enableFiltering: false
  942. // },
  943. {
  944. name: '附件下载',
  945. enableSorting: false,
  946. width: 73,
  947. cellTemplate: '<jrydw style="background-color:{{row.entity.colourInfo.rgb}}" item="row.entity" colobject="col">',
  948. enableFiltering: false
  949. },
  950. {
  951. name: '操作',
  952. enableSorting: false,
  953. width: 73,
  954. cellTemplate: '<jrywt style="background-color:{{row.entity.colourInfo.rgb}}" item="row.entity" colobject="col">',
  955. enableFiltering: false
  956. },
  957. ];
  958. $scope.value = 10;
  959. $scope.decrement = function () {
  960. $scope.value = $scope.value - 1;
  961. };
  962. $scope.record = function () {
  963. api_text.record($rootScope.takes).then(function (data) {
  964. if (data.errno == 0) {
  965. $scope.busy = false;
  966. }
  967. })
  968. };
  969. $scope.parameters = null;
  970. $scope.open = function ($event) {
  971. $event.preventDefault();
  972. $event.stopPropagation();
  973. $scope.opened = !$scope.opened;
  974. };
  975. $scope.endOpen = function ($event) {
  976. $event.preventDefault();
  977. $event.stopPropagation();
  978. $scope.startOpened = false;
  979. $scope.endOpened = !$scope.endOpened;
  980. };
  981. $scope.startOpen = function ($event) {
  982. $event.preventDefault();
  983. $event.stopPropagation();
  984. $scope.endOpened = false;
  985. $scope.startOpened = !$scope.startOpened;
  986. };
  987. $scope.othcode = {};
  988. // $scope.items_display=[];
  989. //列表排序
  990. $scope.gridOptions.onRegisterApi = function (gridApi) {
  991. $scope.gridApi = gridApi;
  992. var index = 0;
  993. var oldheader = {};
  994. // 复选框单选
  995. gridApi.selection.on.rowSelectionChanged($scope, function (data) {
  996. if (data.isSelected) {
  997. data.grid.appScope.selected.items.push(data.entity)
  998. } else {
  999. for (var i = 0; i <= data.grid.appScope.selected.items.length; i++) {
  1000. if (data.grid.appScope.selected.items[i].id == data.entity.id) {
  1001. data.grid.appScope.selected.items.splice(i, 1);
  1002. break;
  1003. }
  1004. }
  1005. };
  1006. // console.log(data);
  1007. if (data.isSelected) {
  1008. // alert('ok');
  1009. $scope.items_display.push(data.entity.id);
  1010. } else {
  1011. var indes = $scope.items_display.indexOf(data.entity.id);
  1012. if (indes > -1) {
  1013. $scope.items_display.splice(indes, 1);
  1014. }
  1015. }
  1016. // console.log($scope.items_display)
  1017. });
  1018. // 复选框全选
  1019. gridApi.selection.on.rowSelectionChangedBatch($scope, function(rows) {
  1020. // console.log(rows);
  1021. if(rows[0].isSelected==true){
  1022. $scope.items_display=[];
  1023. for(var i=0;i<rows.length;i++){
  1024. $scope.items_display.push(rows[i].entity.id)
  1025. }
  1026. }else{
  1027. $scope.items_display=[];
  1028. }
  1029. // console.log($scope.items_display)
  1030. var selectitem = [];
  1031. selectitem = angular.copy($scope.selected.items);
  1032. for (var j = 0; j < rows.length; j++) {
  1033. if (rows[j].isSelected == true) {
  1034. selectitem.push(rows[j].entity);
  1035. } else {
  1036. delete selectitem[j];
  1037. // rows.splice(j, 1);
  1038. }
  1039. }
  1040. $scope.selected.items = [];
  1041. for (var i = 0; i < selectitem.length; i++) {
  1042. if (selectitem[i]) {
  1043. $scope.selected.items.push(selectitem[i]);
  1044. }
  1045. }
  1046. });
  1047. gridApi.grid.sortColumn = function (gridApi) {
  1048. if (oldheader.field) {
  1049. if (oldheader.field == gridApi.field) {
  1050. // index = 0;
  1051. } else {
  1052. index = 0;
  1053. }
  1054. }
  1055. index++;
  1056. oldheader = gridApi;
  1057. var fildata = $scope.memoryfilterData;
  1058. if (index % 3 == 0) {
  1059. delete $scope.memoryfilterData.incident;
  1060. fildata = $scope.memoryfilterData;
  1061. } else if (index % 3 == 1) {
  1062. if (fildata.incident) {
  1063. if (gridApi.field == "acceptDate") {
  1064. angular.extend(fildata.incident, { "sort": gridApi.field });
  1065. } else {
  1066. angular.extend(fildata.incident, { "sort": gridApi.field + " desc , _incident.acceptDate" });
  1067. }
  1068. } else {
  1069. if (gridApi.field == "acceptDate") {
  1070. angular.extend(fildata, { 'incident': { "sort": gridApi.field } });
  1071. } else {
  1072. angular.extend(fildata, { 'incident': { "sort": gridApi.field + " desc , _incident.acceptDate" } });
  1073. }
  1074. }
  1075. } else if (index % 3 == 2) {
  1076. if (fildata.incident) {
  1077. if (gridApi.field == "acceptDate") {
  1078. angular.extend(fildata.incident, { "sort": gridApi.field, "order": "asc" });
  1079. } else {
  1080. angular.extend(fildata.incident, { "sort": gridApi.field + " asc , _incident.acceptDate" });
  1081. }
  1082. } else {
  1083. if (gridApi.field == "acceptDate") {
  1084. angular.extend(fildata, { 'incident': { "sort": gridApi.field, "order": "asc" } });
  1085. } else {
  1086. angular.extend(fildata.incident, { "sort": gridApi.field + " asc , _incident.acceptDate" });
  1087. }
  1088. }
  1089. // angular.extend(fildata, { 'incident': { "sort": gridApi.field, "order": "asc" } });
  1090. }
  1091. $scope.refreshData('expand-right', fildata);
  1092. }
  1093. gridApi.pagination.on.paginationChanged($scope, function (newPage, pageSize) {
  1094. var filtersData = $scope.memoryfilterData;
  1095. $scope.fenye=newPage - 1;
  1096. filtersData.idx = newPage - 1;
  1097. filtersData.sum = pageSize;
  1098. $scope.refreshData('expand-right', filtersData);
  1099. });
  1100. gridApi.core.on.filterChanged($scope, function () {
  1101. var grid = this.grid;
  1102. if ($rootScope.user.group) {
  1103. var filtersData = {
  1104. idx: 0,
  1105. sum: mun
  1106. };
  1107. } else {
  1108. var filtersData = {
  1109. idx: 0,
  1110. sum: mun
  1111. };
  1112. }
  1113. angular.forEach(grid.columns, function (item) {
  1114. if (item.enableFiltering) {
  1115. if (angular.isDefined(item.filters[0].term) && item.filters[0].term != '') {
  1116. filtersData = $scope.memoryfilterData
  1117. if (angular.isUndefined(filtersData['incident'])) {
  1118. filtersData['incident'] = {};
  1119. }
  1120. if (item.field == 'requester.name') {
  1121. filtersData['incident']['requester'] = {};
  1122. filtersData.incident.requester['accountName'] = item.filters[0].term;
  1123. } else if (item.field == 'handlingPersonnelUser.name') {
  1124. filtersData['incident']['handlingPersonnelUser'] = {};
  1125. filtersData.incident.handlingPersonnelUser['name'] = item.filters[0].term;
  1126. } else if (item.field == 'requester.account') {
  1127. filtersData['incident']['requester'] = {};
  1128. filtersData.incident.requester['account'] = item.filters[0].term;
  1129. } else if (item.field == 'acceptUser.name') {
  1130. filtersData['incident']['acceptUser'] = {};
  1131. filtersData.incident.acceptUser['name'] = item.filters[0].term;
  1132. } else {
  1133. filtersData['incident'][item.field] = item.filters[0].term;
  1134. }
  1135. }
  1136. }
  1137. });
  1138. filtersData.idx = 0;
  1139. $scope.memoryfilterData = filtersData;
  1140. $scope.refreshData('expand-right', filtersData);
  1141. });
  1142. };
  1143. //当前人是否分组
  1144. if ($rootScope.user.group) {
  1145. if ($rootScope.user.group.length == 0) {
  1146. SweetAlert.swal("访问失败!", "当前登录人未分配工作组,无权限访问,请添加工作组后重试。", "error");
  1147. } else {
  1148. $scope.memoryfilterData = defaultFilterData = {
  1149. "idx": 0,
  1150. "sum": mun
  1151. };
  1152. }
  1153. } else {
  1154. $scope.memoryfilterData = defaultFilterData = {
  1155. "idx": 0,
  1156. "sum": mun
  1157. };
  1158. }
  1159. //导出
  1160. $scope.export = function () {
  1161. if($scope.items_display.length==0){
  1162. SweetAlert.swal({
  1163. title: "导出失败",
  1164. text: "请勾选最少一条数据!",
  1165. type: "error"
  1166. });
  1167. }else{
  1168. var filadata = angular.copy($scope.memoryfilterData);
  1169. filadata.sum = 10000;
  1170. var wt_data = {
  1171. ids: $scope.items_display
  1172. };
  1173. var wt_url = api_cmdb2.exportData("downDataModel/operationSystem", wt_data).getRequestedUrl()
  1174. // console.log(wt_url)
  1175. $http({
  1176. url: wt_url,
  1177. method: 'POST',
  1178. data: JSON.stringify(wt_data),
  1179. headers: {
  1180. 'Accept': '*/*'
  1181. },
  1182. responseType: 'arraybuffer'
  1183. }).success(function (data, status, headers, config) {
  1184. // $scope.ldloading.zoom_in = false;
  1185. var file = new Blob([data], {
  1186. type: 'application/vnd.ms-excel'
  1187. });
  1188. var fileURL = URL.createObjectURL(file);
  1189. var a = document.createElement('a');
  1190. a.href = fileURL;
  1191. a.target = '_blank';
  1192. a.download = '业务系统列表.xls';
  1193. document.body.appendChild(a);
  1194. a.click();
  1195. }).error(function (data, status, headers, config) {
  1196. // $scope.ldloading.zoom_in = false;
  1197. // console.log(data);
  1198. });
  1199. }
  1200. };
  1201. // 复选框
  1202. if ($stateParams.model) {
  1203. if (JSON.parse($stateParams.model).searchType && JSON.parse($stateParams.model).searchType != null) {
  1204. $scope.searchTypes = JSON.parse($stateParams.model).searchType;
  1205. } else {
  1206. $scope.searchTypes = "todo";
  1207. }
  1208. } else {
  1209. $scope.searchTypes = "todo";
  1210. }
  1211. if ($rootScope.user.group) {
  1212. var defaultFilterData = {
  1213. "idx": 0,
  1214. "sum": mun
  1215. };
  1216. } else {
  1217. var defaultFilterData = {
  1218. "idx": 0,
  1219. "sum": mun
  1220. };
  1221. }
  1222. if (angular.isDefined($rootScope.search) && angular.isDefined($rootScope.search.incident)) {
  1223. defaultFilterData['searchType'] = $rootScope.search.incident;
  1224. $scope.searchTypes = $rootScope.search.incident;
  1225. }
  1226. if ($rootScope['cmdbs'] != 'incident') { $rootScope.idx = 1 }
  1227. if (angular.isDefined($rootScope.idx) && $rootScope.cmdbs != "false") {
  1228. $rootScope['cmdbs'] = 'incident';
  1229. defaultFilterData.idx = $rootScope.idx - 1;
  1230. } else { $rootScope.cmdbs = ""; }
  1231. $scope.ldloading = {};
  1232. //获取列表数据
  1233. var pdKey = "cmdb";
  1234. $scope.refreshData = function (style, filterData) {
  1235. $scope.myData = [];
  1236. $scope.gridOptions['sum'] = filterData.sum;
  1237. api_cmdb2.fetchDataList(pdKey, filterData).then(function (data) {
  1238. if (data.data) {
  1239. var myData = Restangular.stripRestangular(data);
  1240. var list = [];
  1241. $scope.gridOptions['totalItems'] = myData.resultCount;
  1242. $scope.myData = myData.data;
  1243. for (var i = 0; i < $scope.myData.length; i++) {
  1244. $scope.myData[i]['item'] = i + 1 + filterData.idx * filterData.sum
  1245. }
  1246. } else {
  1247. SweetAlert.swal({
  1248. title: "系统错误",
  1249. text: "请稍后再试!",
  1250. type: "error"
  1251. });
  1252. }
  1253. $scope.ldloading[style.replace('-', '_')] = false;
  1254. }, function () {
  1255. $scope.ldloading[style.replace('-', '_')] = false;
  1256. });
  1257. };
  1258. //管理单位
  1259. $scope.refreshDat = function () {
  1260. api_cmdb2.management_unit().then(function (data) {
  1261. $scope.management_data = data.managementUnit;
  1262. });
  1263. };
  1264. $scope.selected = {
  1265. items: []
  1266. }
  1267. // 部署区域
  1268. $scope.refreshDa = function () {
  1269. var are = "area";
  1270. var dat = {
  1271. "sum": 1000,
  1272. "idx": 0
  1273. }
  1274. api_user_data.fetchDataList(are, dat).then(function (data) {
  1275. $scope.area_data = data.list;
  1276. })
  1277. }
  1278. // 紧急度
  1279. $scope.refreshD = function () {
  1280. var flu = "influence";
  1281. var dat = {
  1282. "sum": 1000,
  1283. "idx": 0
  1284. }
  1285. api_cmdb3.fetchDataList(flu, dat).then(function (data) {
  1286. $scope.flu_data = data.list;
  1287. })
  1288. }
  1289. $scope.refreshD();
  1290. $scope.refreshDat();
  1291. $scope.refreshDa();
  1292. $scope.refreshData('expand-right', { "idx": 0, "sum": 10 });
  1293. }]);
  1294. //操作按钮权限控制
  1295. app.controller('ywxt_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) {
  1296. // 点击编辑按钮
  1297. $scope.edit = function () {
  1298. $rootScope.toedit="new_after";
  1299. console.log($scope.item);
  1300. $rootScope.ywxt_edit_managementUnit_caozuo = $scope.item.managementUnit;//编辑管理单位
  1301. $rootScope.ywxt_edit_serviceName_caozuo = $scope.item.serviceName;//编辑业务系统
  1302. $rootScope.ywxt_edit_shortName_caozuo = $scope.item.shortName;//编辑业务系统简称
  1303. $rootScope.ywxt_edit_virtualMachinesNum_caozuo = $scope.item.virtualMachinesNum;//编辑虚拟机数量
  1304. $rootScope.ywxt_edit_deploymentArea_caozuo = $scope.item.deploymentArea;//编辑部署区域
  1305. $rootScope.ywxt_edit_ipAddress_caozuo = $scope.item.ipAddress;//编辑IP地址段
  1306. $rootScope.ywxt_edit_softwareDeveloper_caozuo = $scope.item.softwareDeveloper;//编辑软件开发单位
  1307. $rootScope.ywxt_edit_softwareLinkman_caozuo = $scope.item.softwareLinkman;//编辑软件开发联系人
  1308. $rootScope.ywxt_edit_softwareLinkmanPhone_caozuo = $scope.item.softwareLinkmanPhone;//编辑软件开发联系人电话
  1309. $rootScope.ywxt_edit_operationsManager_caozuo = $scope.item.operationsManager;//编辑运维管理员
  1310. $rootScope.ywxt_edit_operationsManagerPhone_caozuo = $scope.item.operationsManagerPhone;//编辑运维管理员联系电话
  1311. $rootScope.ywxt_edit_serviceTestingAddress_caozuo = $scope.item.serviceTestingAddress;//编辑业务测试地址
  1312. $rootScope.ywxt_edit_influence_caozuo=$scope.item.influence;//编辑影响度
  1313. $rootScope.ywxt_edit_remark_caozuo = $scope.item.remark;//编辑备注
  1314. $rootScope.ywxt_edit_id = $scope.item.id;//id
  1315. $rootScope.ywxt_edit_mask = true;
  1316. // $rootScope.ywxt_edit_Popup = true;
  1317. }
  1318. // 附件下载
  1319. $scope.ywxt_down=function(){
  1320. var wt_url_down = api_bpm_domain.upload("listAttachment/operationSystem/", $scope.item.id).getRequestedUrl()
  1321. $http({
  1322. url: wt_url_down,
  1323. method: 'GET',
  1324. }).success(function (res) {
  1325. // console.log(res);
  1326. if(res.data==[]||res.data==undefined||res.data==""){
  1327. SweetAlert.swal({
  1328. title: "下载失败",
  1329. text: "此列数据暂无上传附件!",
  1330. type: "error"
  1331. });
  1332. return false
  1333. }else{
  1334. var token=res.data[0].token;
  1335. var filename=res.data[0].name;
  1336. $scope.download = function(token, filename) {
  1337. var downUrl = up_down_file.downloadAttachment("common/common/downloadAttachment", token).getRequestedUrl();
  1338. // window.open(downUrl);
  1339. var a = document.createElement('a');
  1340. a.href = downUrl;
  1341. a.target = '_blank';
  1342. a.download = filename;
  1343. document.body.appendChild(a);
  1344. a.click();
  1345. };
  1346. $scope.download(token, filename);
  1347. }
  1348. }
  1349. ).error(function (data, status, headers, config) {
  1350. });
  1351. }
  1352. }]);
  1353. //操作
  1354. app.directive('jrywt', function () {
  1355. return {
  1356. restrict: 'E',
  1357. scope: {
  1358. item: '=',
  1359. colobject: '='
  1360. },
  1361. controller: 'ywxt_caozuoCtrl',
  1362. template: '<div><div class="cl-effect-1 ui-grid-cell-contents pull-left" >' +
  1363. '<a ng-click="edit()" class="handlefont" >编辑</a>' +
  1364. '</div></div>'
  1365. };
  1366. });
  1367. // 附件下载
  1368. app.directive('jrydw', function () {
  1369. return {
  1370. restrict: 'E',
  1371. scope: {
  1372. item: '=',
  1373. colobject: '='
  1374. },
  1375. controller: 'ywxt_caozuoCtrl',
  1376. template: '<div><div class="cl-effect-1 ui-grid-cell-contents pull-left" >' +
  1377. '<div ng-click="ywxt_down()" class="fujian_down">' +
  1378. '<img src="assets/images/jiang/down.png">' +
  1379. '</div>' +
  1380. '</div></div>'
  1381. };
  1382. });
  1383. // 附件预览
  1384. app.directive('yl', function () {
  1385. return {
  1386. restrict: 'E',
  1387. scope: {
  1388. item: '=',
  1389. colobject: '='
  1390. },
  1391. controller: 'ywxt_caozuoCtrl',
  1392. template: '<div><div class="cl-effect-1 ui-grid-cell-contents pull-left" >' +
  1393. '<img src="assets/images/jiang/yl.png">' +
  1394. '</div></div>'
  1395. };
  1396. });