main.js 43 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069
  1. var app = angular.module('itsmApp', ['itsm-dep']);
  2. var serverIp = "http://192.168.3.175/service"; //"http://218.197.181.211";
  3. var reportIp = "http://192.168.3.175/service";
  4. var inspectIp = "http://192.168.3.233";
  5. // var wechatIp = "http://wechat.tunnel.dashitech.com";
  6. var callIp = "http://192.168.3.49";
  7. // var serverIp = "http://202.197.144.144";//"http://218.197.181.211";
  8. // var reportIp= "http://125.220.91.43";
  9. // var inspectIp= "http://218.197.181.213";
  10. // var callIp= "http://218.197.181.213";
  11. app.run(['$rootScope', '$state', '$stateParams', '$http', '$cookieStore', 'Restangular',
  12. function($rootScope, $state, $stateParams, $http, $cookieStore, Restangular) {
  13. // Attach Fastclick for eliminating the 300ms delay between a physical tap and the firing of a click event on mobile browsers
  14. FastClick.attach(document.body);
  15. // Set some reference to access them from any scope
  16. $rootScope.$state = $state;
  17. $rootScope.$stateParams = $stateParams;
  18. // GLOBAL APP SCOPE
  19. // set below basic information
  20. // $rootScope.audioiIp="http://218.197.181.213:8080"
  21. $rootScope.app = {
  22. name: '大势科技', // name of your project
  23. author: '大势InSerP服务管理系统', // author's name or company name
  24. description: '大势InSerP服务管理系统 V2.0', // brief description
  25. version: 'V2.0', // current version
  26. year: ((new Date()).getFullYear()), // automatic current year (for copyright information)
  27. isMobile: (function() { // true if the browser is a mobile device
  28. var check = false;
  29. if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) {
  30. check = true;
  31. };
  32. return check;
  33. })(),
  34. // isLogins: false,
  35. isLoginFixed: false,
  36. layout: {
  37. // isLoginFixed: true,
  38. isNavbarFixed: true, //true if you want to initialize the template with fixed header
  39. isSidebarFixed: true, // true if you want to initialize the template with fixed sidebar
  40. isSidebarClosed: false, // true if you want to initialize the template with closed sidebar
  41. isFooterFixed: true, // true if you want to initialize the template with fixed footer
  42. theme: 'theme-5', // indicate the theme chosen for your project
  43. logo: 'assets/images/logo.png' // relative path of the project logo
  44. }
  45. };
  46. // $http.defaults.headers.common["X-Auth-Token"] = $cookieStore.get('Auth-Token') || null;
  47. // $http.defaults.headers.common["X-Auth-Token"] = $cookieStore.get('Auth-Token') || null;
  48. Restangular.setFullRequestInterceptor(function(element, operation, what, url, headers, queryParams) {
  49. var token = $cookieStore.get('Auth-Token') || null;
  50. var isReportUri = url.indexOf('saiku') > 0;
  51. if (token && isReportUri) {
  52. return {
  53. element: element,
  54. params: queryParams,
  55. headers: _.extend({}, headers, { 'X-Auth-Token': $cookieStore.get('Auth-Token') || null })
  56. };
  57. } else {
  58. return {
  59. element: element,
  60. params: queryParams,
  61. headers: headers
  62. };
  63. }
  64. });
  65. Restangular.addResponseInterceptor(function(data, operation, what, url, response, deferred) {
  66. var ua = window.navigator.userAgent.toLowerCase();
  67. ua.match(/chrome/i)
  68. if (data) {
  69. if (data.state == "433") {
  70. $state.go("login.signin");
  71. var Notification = window.Notification;
  72. Notification.requestPermission();
  73. data = {};
  74. var n = new Notification("登录退出", {
  75. body: "您的账号在其他地方登录,请确认后重新登录",
  76. icon: '../bower_components/HTML5-Desktop-Notifications/alert.ico',
  77. onclick: function onNotificationClicked() {
  78. console.log('Notification clicked.');
  79. }
  80. });
  81. } else if (data.state == "403") {
  82. $state.go("app.dashboard");
  83. var Notification = window.Notification;
  84. Notification.requestPermission();
  85. var n = new Notification("无权限访问", {
  86. body: "此页面无权限访问",
  87. icon: '../bower_components/HTML5-Desktop-Notifications/alert.ico',
  88. onclick: function onNotificationClicked() {
  89. console.log('Notification clicked.');
  90. }
  91. });
  92. } else {
  93. deferred.resolve(data)
  94. }
  95. }
  96. });
  97. // $rootScope.nickname ='lijin';
  98. // $rootScope.user = {
  99. // name: 'Peter',
  100. // job: 'ng-Dev',
  101. // picture: 'app/img/user/02.jpg'
  102. // };
  103. }
  104. ]);
  105. // translate config
  106. app.config(['$translateProvider',
  107. function($translateProvider) {
  108. // prefix and suffix information is required to specify a pattern
  109. // You can simply use the static-files loader with this pattern:
  110. $translateProvider.useStaticFilesLoader({
  111. prefix: 'assets/i18n/',
  112. suffix: '.json'
  113. });
  114. // Since you've now registered more then one translation table, angular-translate has to know which one to use.
  115. // This is where preferredLanguage(langKey) comes in.
  116. $translateProvider.preferredLanguage('zh');
  117. // Store the language in the local storage
  118. $translateProvider.useLocalStorage();
  119. }
  120. ]);
  121. // Angular-Loading-Bar
  122. // configuration
  123. app.config(['cfpLoadingBarProvider',
  124. function(cfpLoadingBarProvider) {
  125. cfpLoadingBarProvider.includeBar = true;
  126. cfpLoadingBarProvider.includeSpinner = false;
  127. }
  128. ]);
  129. /**
  130. *
  131. */
  132. app.config(['RestangularProvider', function(RestangularProvider) {
  133. RestangularProvider.setBaseUrl('');
  134. }]);
  135. app.factory('WechatRestangular', function(Restangular) {
  136. return Restangular.withConfig(function(RestangularConfigurer) {
  137. RestangularConfigurer.setBaseUrl(serverIp + ':9680/api/common/');
  138. });
  139. });
  140. app.factory('api_wechatfile', ['WechatRestangular', function(WechatRestangular) {
  141. var dataService = WechatRestangular.all("common");
  142. return {
  143. listAttachments: function(type, model) {
  144. return dataService.customGET('listAttachment/' + type + "/" + model, {});
  145. // return dataService.one('listAttachment/' + type + "/" + model);
  146. },
  147. downloadAttachment: function(model) {
  148. return dataService.one('downloadAttachment/' + model, {});
  149. }
  150. };
  151. }]);
  152. app.factory('ConversationRestangular', function(Restangular) {
  153. return Restangular.withConfig(function(RestangularConfigurer) {
  154. RestangularConfigurer.setBaseUrl(serverIp + ':9680/api/conversation/');
  155. });
  156. });
  157. app.factory('api_conversation', ['ConversationRestangular', function(ConversationRestangular) {
  158. var dataService = ConversationRestangular.all("conversation");
  159. return {
  160. roleMenu: function(model) {
  161. return dataService.customGET('roleMenu/' + model, {});
  162. },
  163. pageMenuByCode: function(model) {
  164. return dataService.customGET('pageMenuByCode/' + model, {});
  165. },
  166. pageEvent: function(data, model) {
  167. return dataService.customPOST(data, 'pageEvent', {});
  168. }
  169. };
  170. }]);
  171. app.factory('textRestangular', function(Restangular) {
  172. return Restangular.withConfig(function(RestangularConfigurer) {
  173. RestangularConfigurer.setBaseUrl(inspectIp + ':8088/IXServer/');
  174. });
  175. });
  176. app.factory('api_text', ['textRestangular', function(textRestangular) {
  177. var loginService = textRestangular.all("comm");
  178. var loginsins = textRestangular.all("tele/agent");
  179. return {
  180. start: function(phone) {
  181. var rdata = "dom=0&epwd=&aid=1000&apwd=e10adc3949ba59abbe56e057f20f883e&adn=" + phone;
  182. return loginService.customPOST(rdata, 'start', {}, { 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8' });
  183. },
  184. exit: function(token) {
  185. var rdata = "dom=0&token=" + token;
  186. return loginService.customPOST(rdata, 'exit', {}, { 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8' });
  187. },
  188. login: function(group, token) {
  189. var rdata = "dom=0&token=" + token + "&aid=1000&acd=" + group + "&skill=-1&mon=false&silent=false";
  190. return loginsins.customPOST(rdata, 'login', {}, { 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8' });
  191. },
  192. logout: function(token) {
  193. var rdata = "dom=0&token=" + token + "&aid=1000";
  194. return loginsins.customPOST(rdata, 'logout', {}, { 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8' });
  195. },
  196. dialout: function(token, gid, teleno) {
  197. var rdata = "dom=0&token=" + token + "&teleno=" + teleno + "&gid=" + gid + "&uud=&async=true";
  198. return loginsins.customPOST(rdata, 'dialout', {}, { 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8' });
  199. },
  200. callout: function(token, teleno) {
  201. var rdata = "dom=0&token=" + token + "&teleno=" + teleno + "&uud=&async=true";
  202. return loginsins.customPOST(rdata, 'dialout', {}, { 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8' });
  203. },
  204. setbusy: function(token) {
  205. var rdata = "dom=0&token=" + token;
  206. return loginsins.customPOST(rdata, 'setbusy', {}, { 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8' });
  207. },
  208. setidle: function(token) {
  209. var rdata = "dom=0&token=" + token;
  210. return loginsins.customPOST(rdata, 'setidle', {}, { 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8' });
  211. },
  212. inittrans: function(telephone, token) {
  213. var rdata = "dom=0&token=" + token + "&teleno=" + telephone + "&uud=&async=true";
  214. return loginsins.customPOST(rdata, 'inittrans', {}, { 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8' });
  215. },
  216. comptrans: function(telephone, token) {
  217. var rdata = "dom=0&token=" + token;
  218. return loginsins.customPOST(rdata, 'comptrans', {}, { 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8' });
  219. },
  220. record: function(token) {
  221. var rdata = "dom=0&token=" + token + "&filename=/tmp/agent.wav&async=true&maxtime=10&termchar=&append=true";
  222. return loginsins.customPOST(rdata, 'record', {}, { 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8' });
  223. },
  224. offhook: function(token) {
  225. var rdata = "dom=0&token=" + token;
  226. return loginsins.customPOST(rdata, 'offhook', {}, { 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8' });
  227. },
  228. onhook: function(token) {
  229. var rdata = "dom=0&token=" + token;
  230. return loginsins.customPOST(rdata, 'onhook', {}, { 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8' });
  231. },
  232. getcdrid: function(token) {
  233. var rdata = "dom=0&token=" + token;
  234. return loginsins.customPOST(rdata, 'getcdrid', {}, { 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8' });
  235. }
  236. }
  237. }])
  238. app.factory('UserRestangular', function(Restangular) {
  239. return Restangular.withConfig(function(RestangularConfigurer) {
  240. RestangularConfigurer.setBaseUrl(serverIp + ':9680/api/user/');
  241. });
  242. });
  243. app.factory('api_user', ['UserRestangular', function(UserRestangular) {
  244. var basePath = "user/";
  245. return {
  246. };
  247. }]);
  248. app.factory('api_login', ['UserRestangular', function(UserRestangular) {
  249. var loginService = UserRestangular.all("auth");
  250. return {
  251. login: function(username, password) {
  252. return loginService.customPOST({ 'username': username, 'password': password }, 'login', {});
  253. },
  254. // logout: function(sessionid,userid){
  255. // return loginService.customPOST(sessionid + '/' + userid);
  256. // },
  257. sso: function(nickname) {
  258. return loginService.customGET('sso/' + nickname);
  259. },
  260. resetpwd: function(userid) {
  261. return loginService.customGET('resetpwd/' + userid);
  262. },
  263. uppwd: function(data) {
  264. return loginService.customPOST(data, 'uppwd', {});
  265. }
  266. }
  267. }])
  268. app.factory('api_user_data', ['UserRestangular', function(UserRestangular) {
  269. var dataService = UserRestangular.all("bpmdata");
  270. var userService = UserRestangular.all("auth");
  271. return {
  272. validate: function(data) {
  273. return dataService.customPOST(data, 'validate/role', {});
  274. },
  275. importData: function() {
  276. return dataService.one('/importData');
  277. },
  278. fetchDataList: function(model, data) {
  279. return dataService.customPOST(data, 'fetchDataList/' + model, {});
  280. },
  281. fetchData: function(model, data) {
  282. return dataService.customPOST(data, 'fetchData/' + model, {});
  283. },
  284. addData: function(model, data) {
  285. return dataService.customPOST(data, 'addData/' + model, {});
  286. },
  287. updData: function(model, data) {
  288. return dataService.customPOST(data, 'updData/' + model, {});
  289. },
  290. rmvData: function(model, data) {
  291. return dataService.customPOST(data, 'rmvData/' + model, {});
  292. },
  293. downDataModel: function(type, month) {
  294. return dataService.one('downDataModel/' + type + '/' + month);
  295. },
  296. fetchgetData: function(model, data) {
  297. return dataService.customGET('fetchData/' + model + '/' + data, {});
  298. },
  299. roleMenu: function(model) {
  300. return userService.customGET('roleMenu/' + model, {});
  301. },
  302. pageMenuByCode: function(model) {
  303. return userService.customGET('pageMenuByCode/' + model, {});
  304. },
  305. pageEvent: function(data, model) {
  306. return userService.customPOST(data, 'pageEvent', {});
  307. },
  308. pageMenu: function(data, model) {
  309. return userService.customPOST(data, 'pageMenu', {});
  310. // return userService.one('/pageMenu' + data);
  311. },
  312. getMenu: function(data, model) {
  313. return userService.customPOST(data, 'getMenu', {});
  314. }
  315. };
  316. }]);
  317. // app.factory('DpmRestangular', function(Restangular) {
  318. // return Restangular.withConfig(function(RestangularConfigurer) {
  319. // RestangularConfigurer.setBaseUrl(serverIp+':9008/data/');
  320. // });
  321. // });
  322. // app.factory('api_bpm_dbca', ['DpmRestangular', function(DpmRestangular){
  323. // var bpm = DpmRestangular.all("bpm");
  324. // return {
  325. // impFileData: function(pdKey){
  326. // return bpm.customPOST( 'impFileData/' + pdKey);
  327. // },
  328. // };
  329. // }]);
  330. app.factory('BpmRestangular', function(Restangular) {
  331. return Restangular.withConfig(function(RestangularConfigurer) {
  332. // RestangularConfigurer.setBaseUrl("http://168.166.3.41"+':9008/api/');
  333. RestangularConfigurer.setBaseUrl(serverIp + ':9680/api/bpm');
  334. });
  335. });
  336. app.factory('api_statistic', ['BpmRestangular', function(BpmRestangular) {
  337. var statistic = BpmRestangular.all("statistic");
  338. return {
  339. query: function(data, rptId) {
  340. return statistic.customPOST(data, 'unidimensional/' + rptId, {});
  341. },
  342. // exportData: function(reportView, uuid, reportfileName){
  343. // return reportService.one('query/rest/export/xls/?exportname='+reportfileName+'xls');
  344. // }
  345. unidimensionalExport: function(rptId) {
  346. return statistic.one('unidimensionalExport/' + rptId);
  347. }
  348. }
  349. }]);
  350. app.factory('api_bpm', ['BpmRestangular', function(BpmRestangular) {
  351. var process = BpmRestangular.all("process");
  352. return {
  353. deploy: function(data) {
  354. return process.customPOST(data, 're/model/deploy', {});
  355. },
  356. list: function() {
  357. return process.customGET('re/model/list');
  358. },
  359. modelsource: function(pdId) {
  360. return process.customGET('re/model/' + pdId + '/source');
  361. },
  362. savemodel: function(pdId, data) {
  363. return process.customPOST(data, 're/model/' + pdId + '/save', {});
  364. },
  365. removemodel: function(modelId) {
  366. return process.customGET('re/model/' + modelId + '/remove');
  367. }
  368. };
  369. }]);
  370. app.factory('api_bpm_domain', ['BpmRestangular', function(BpmRestangular) {
  371. var bpmService = BpmRestangular.all("bpm");
  372. return {
  373. fetchtask: function(pdKey, data) {
  374. return bpmService.customPOST(data, 'fetchTask/' + pdKey, {});
  375. },
  376. start: function(pdKey, data) {
  377. return bpmService.customPOST(data, 'start/' + pdKey, {});
  378. },
  379. flowTracing: function(processInstanceId, data) {
  380. return bpmService.customPOST(data, 'flowTracing/' + processInstanceId, {});
  381. },
  382. complete: function(taskId, userId, data) {
  383. return bpmService.customPOST(data, 'completeTask/' + taskId + '/' + userId, {});
  384. },
  385. completeUpgrade: function(data) {
  386. return bpmService.customPOST(data, 'upgradeIncident', {});
  387. },
  388. save: function(taskId, data) {
  389. return bpmService.customPOST(data, 'saveTaskVar/' + taskId, {});
  390. },
  391. claimtask: function(taskId, data) {
  392. return bpmService.customPOST(data, 'claimTask/' + taskId, {});
  393. },
  394. expectedTime: function(taskId) {
  395. return bpmService.customGET('expectedTime/' + taskId);
  396. },
  397. history: function(processId) {
  398. return bpmService.customGET('history/' + processId);
  399. },
  400. upgrade: function(processInstanceId, taskId, data) {
  401. return bpmService.customPOST(data, 'upgradeIncident/' + processInstanceId + '/' + taskId, {});
  402. },
  403. listAttachments: function(processId, data) {
  404. return bpmService.customPOST(data, 'getAttachmentList/' + processId, {});
  405. },
  406. saveAttachments: function(processId, taskId, userId, data) {
  407. return bpmService.one('saveAttachments/' + processId + '/' + taskId + '/' + userId);
  408. },
  409. download: function(attachmentId) {
  410. return bpmService.one('getAttachmentContent/' + attachmentId);
  411. },
  412. // download: function(attachmentId){
  413. // return bpmService.customGET('getAttachmentContent/' + attachmentId,{},{'responseType':'arraybuffer'});
  414. // },
  415. attachmentsPreviewUrl: function(attachmentId) {
  416. return bpmService.customGET('attachmentsPreviewUrl/' + attachmentId);
  417. },
  418. startformkey: function(pdKey) {
  419. return bpmService.customGET('startformkey/' + pdKey);
  420. },
  421. taskformkey: function(taskId) {
  422. return bpmService.customGET('taskformkey/' + taskId);
  423. },
  424. workernumber: function(type) {
  425. return bpmService.customGET('restful/' + type);
  426. }
  427. };
  428. }]);
  429. app.factory('api_bpm_data', ['BpmRestangular', function(BpmRestangular) {
  430. var dataService = BpmRestangular.all("data");
  431. var serviceCatalogue = BpmRestangular.all("ServiceCatalogue");
  432. var inspectionProcessActual = BpmRestangular.all("InspectionProcessActual");
  433. return {
  434. impFileData: function() {
  435. return dataService.one('/impFileData/bpm_scheduleorder');
  436. },
  437. importData: function() {
  438. return dataService.one('/impFileData');
  439. },
  440. fetchDataList: function(model, data) {
  441. return dataService.customPOST(data, 'fetchDataList/' + model, {});
  442. },
  443. fetchData: function(model, dataId) {
  444. return dataService.customGET('fetchData/' + model + '/' + dataId);
  445. },
  446. fetchServiceTasks: function(model, data) {
  447. if (!model) {
  448. model = "ALL"
  449. }
  450. return serviceCatalogue.customPOST(data, 'fetchServiceTasks/' + model, {});
  451. },
  452. fetchInspectServiceTasks: function(model, data) {
  453. if (!model) {
  454. model = "ALL"
  455. }
  456. return inspectionProcessActual.customPOST(data, 'fetchServiceTasks/' + model, {});
  457. },
  458. addData: function(model, data) {
  459. return dataService.customPOST(data, 'addData/' + model, {});
  460. },
  461. updData: function(model, data) {
  462. return dataService.customPOST(data, 'updData/' + model, {});
  463. },
  464. rmvData: function(model, data) {
  465. return dataService.customPOST(data, 'rmvData/' + model, {});
  466. },
  467. getCount: function(data) {
  468. return dataService.customPOST(data, 'getCount', {});
  469. },
  470. downDataModel: function(type, month) {
  471. return dataService.one('downDataModel/' + type + '/' + month);
  472. }
  473. // downDataModel: function(type, month, data) {
  474. // return dataService.customPOST(data, 'downDataModel/' + type + '/' + month, {}, { 'Accept': 'application/json, text/javascript, */*' });
  475. // }
  476. };
  477. }]);
  478. app.factory('api_bpm_schedule', ['BpmRestangular', function(BpmRestangular) {
  479. var dataService = BpmRestangular.all("data");
  480. return {
  481. getScheduleClass: function() {
  482. var data = {
  483. "idx": "0",
  484. "sum": "10"
  485. };
  486. return dataService.customPOST(data, 'fetchDataList/scheduleclass', {});
  487. },
  488. fetchList: function(startTime, endTime, userId, queryKey) {
  489. var scheduleOrder = {
  490. "scheduleorder": {
  491. "startTime": startTime,
  492. "endTime": endTime
  493. },
  494. "idx": "0",
  495. "sum": "1000"
  496. };
  497. if (userId) {
  498. scheduleOrder['scheduleorder']['user'] = userId;
  499. }
  500. if (queryKey) {
  501. scheduleOrder['scheduleorder']['description'] = queryKey;
  502. }
  503. return dataService.customPOST(scheduleOrder, 'fetchDataList/scheduleorder', {});
  504. },
  505. fetchData: function(dataId) {
  506. return dataService.customGET('fetchData/scheduleorder/' + dataId);
  507. },
  508. update: function(data) {
  509. return dataService.customPOST(data, 'updData/scheduleorder', {});
  510. },
  511. add: function(data) {
  512. return dataService.customPOST(data, 'addData/scheduleorder', {});
  513. },
  514. remove: function(data) {
  515. return dataService.customPOST(data, 'rmvData/scheduleorder', {});
  516. },
  517. fetchSchedule: function(userId, startTime, endTime) {
  518. var scheduleData = {
  519. "schedulewatch": {
  520. "type": "1",
  521. "user": {
  522. "id": userId
  523. },
  524. "startTime": startTime,
  525. "endTime": endTime
  526. },
  527. "idx": "0",
  528. "sum": "100"
  529. };
  530. return dataService.customPOST(scheduleData, 'fetchDataList/schedulewatch', {});
  531. },
  532. queryRecieveSwitch: function(userId) {
  533. var handleSwitch = {
  534. "schedulewatch": {
  535. "type": "3",
  536. "user": {
  537. "id": userId
  538. }
  539. },
  540. "idx": "0",
  541. "sum": "10"
  542. };
  543. return dataService.customPOST(handleSwitch, 'fetchDataList/schedulewatch', {});
  544. },
  545. queryHandleoutSwitch: function(userId) {
  546. var handleSwitch = {
  547. "schedulewatch": {
  548. "type": "2",
  549. "user": {
  550. "id": userId
  551. }
  552. },
  553. "idx": "0",
  554. "sum": "10"
  555. };
  556. return dataService.customPOST(handleSwitch, 'fetchDataList/schedulewatch', {});
  557. },
  558. handleSchedule: function(data) {
  559. return dataService.customPOST(data, 'updData/schedulewatch', {});
  560. },
  561. querySwitch: function(filterData) {
  562. var switchData = {
  563. "scheduleorder": {
  564. "type": "4"
  565. },
  566. "idx": filterData.idx,
  567. "sum": filterData.sum
  568. };
  569. return dataService.customPOST(switchData, 'fetchDataList/scheduleorder', {});
  570. },
  571. query: function(filterData) {
  572. var switchData = {
  573. "scheduleorder": filterData.scheduleorder,
  574. "idx": filterData.idx,
  575. "sum": filterData.sum
  576. };
  577. return dataService.customPOST(switchData, 'fetchDataList/scheduleorder', {});
  578. }
  579. };
  580. }]);
  581. app.factory('SysinfoRestangular', function(Restangular) {
  582. return Restangular.withConfig(function(RestangularConfigurer) {
  583. RestangularConfigurer.setBaseUrl(serverIp + ':9680/api/sysinfo/');
  584. });
  585. });
  586. app.factory('api_sysinfo', ['SysinfoRestangular', function(SysinfoRestangular) {
  587. var dataService = SysinfoRestangular.all("data");
  588. return {
  589. fetchDataList: function(model, data) {
  590. return dataService.customPOST(data, 'fetchDataList/' + model, {});
  591. },
  592. addData: function(model, data) {
  593. return dataService.customPOST(data, 'addData/' + model, {});
  594. },
  595. getSerialnumber: function(type, model) {
  596. return dataService.customGET('getSerialnumber/' + type + '/' + model);
  597. }
  598. };
  599. }]);
  600. app.factory('ConfigureRestangular', function(Restangular) {
  601. return Restangular.withConfig(function(RestangularConfigurer) {
  602. RestangularConfigurer.setBaseUrl(serverIp + ':9680/api/config/');
  603. });
  604. });
  605. app.factory('api_configure_form', ['ConfigureRestangular', function(ConfigureRestangular) {
  606. var formService = ConfigureRestangular.all("form");
  607. return {
  608. renderForm: function(formKey, userId, processInstanceId) {
  609. if (processInstanceId) {
  610. return formService.customGET('renderForm/' + formKey + "/" + processInstanceId + "/" + userId);
  611. } else {
  612. return formService.customGET('renderForm/' + formKey + "/000000/" + userId);
  613. }
  614. },
  615. renderList: function(formKey) {
  616. return formService.customGET('renderList/' + formKey);
  617. },
  618. renderTabForm: function(classify) {
  619. return formService.customGET('renderTabForm/' + classify);
  620. }
  621. };
  622. }]);
  623. app.factory('api_configure_data', ['ConfigureRestangular', function(ConfigureRestangular) {
  624. var dataService = ConfigureRestangular.all("data");
  625. return {
  626. fetchDataList: function(model, data) {
  627. return dataService.customPOST(data, 'fetchDataList/' + model, {});
  628. },
  629. linkConfigure: function(model, data) {
  630. return dataService.customPOST(data, 'linkConfigure/' + model, {});
  631. },
  632. fetchDataById: function(model, id) {
  633. return dataService.customGET('fetchData/' + id + '/' + model);
  634. },
  635. fetchData: function(model, data) {
  636. return dataService.customPOST(data, 'fetchData/' + model, {});
  637. },
  638. addData: function(model, data) {
  639. return dataService.customPOST(data, 'addData/' + model, {});
  640. },
  641. rmvData: function(model, data) {
  642. return dataService.customPOST(data, 'rmvData/' + model, {});
  643. },
  644. updData: function(model, data) {
  645. return dataService.customPOST(data, 'updData/' + model, {});
  646. },
  647. downModels: function(type, id, name) {
  648. return dataService.one('export/' + type + '/' + id + '/' + name);
  649. }
  650. };
  651. }]);
  652. app.factory('SolutionRestangular', function(Restangular) {
  653. return Restangular.withConfig(function(RestangularConfigurer) {
  654. //RestangularConfigurer.setBaseUrl('http://168.166.203.41:9000/services');
  655. RestangularConfigurer.setBaseUrl(serverIp + ':9680/api/solution');
  656. });
  657. });
  658. app.factory('api_solution', ['SolutionRestangular', function(SolutionRestangular) {
  659. var solutionService = SolutionRestangular.all("solution");
  660. var data = SolutionRestangular.all("solutionData");
  661. var history = SolutionRestangular.all("solutionHistory");
  662. var review = SolutionRestangular.all("solution_review");
  663. var typeservice = SolutionRestangular.all("solutionType");
  664. var groupservice = SolutionRestangular.all("solutionGroup");
  665. return {
  666. findSolutionByKeys: function(data) {
  667. var key = data.key,
  668. status = data.status || 0,
  669. pageIndex = data.pageIndex || 0,
  670. pageSum = data.pageSum,
  671. treeIds = data.treeIds,
  672. userId = data.userId;
  673. if (angular.isUndefined(treeIds)) {
  674. return solutionService.customGET('findSolutionByKeys/' + key + '/' + status + '/' + pageIndex + '/' + pageSum + '/' + userId);
  675. } else {
  676. return solutionService.customGET('findSolutionByKeys/' + key + '/' + status + '/' + pageIndex + '/' + pageSum + '/' + treeIds + '/' + userId);
  677. }
  678. },
  679. // searcher: function(data){
  680. // var queryBuilder=data.key, indexname=data.treeIds, type=data.userId;
  681. // return searchservice.customGET('searcher/' + queryBuilder + '/' + indexname + '/' + type );
  682. // },
  683. addSolution: function() {
  684. return solutionService.one('add');
  685. },
  686. addFile: function(data) {
  687. return solutionService.customPOST(data, 'addSolution', {});
  688. },
  689. addModel: function(type, data) {
  690. return solutionService.customPOST(data, 'addModel/' + type, {});
  691. },
  692. updModel: function(type, data) {
  693. return solutionService.customPOST(data, 'updModel/' + type, {});
  694. },
  695. rmModels: function(id, data) {
  696. return solutionService.customPOST(data, 'rmModels/' + id, {});
  697. },
  698. update: function() {
  699. return solutionService.one('update');
  700. },
  701. upload: function() {
  702. return solutionService.one('upload');
  703. },
  704. uploadResponseUri: function() {
  705. return solutionService.one('/');
  706. },
  707. addNotFile: function(data) {
  708. return solutionService.customPOST(data, 'addNotFile', {});
  709. },
  710. updateNotFile: function(data) {
  711. return solutionService.customPOST(data, 'updateNotFile', {});
  712. },
  713. updateSolution: function(data) {
  714. return solutionService.customPOST(data, 'updateSolution', {});
  715. },
  716. searchSolutionByKey: function(key, id) {
  717. return solutionService.customGET('searchSolutionByKey/' + key + '/' + id);
  718. },
  719. findSolutionById: function(id) {
  720. return solutionService.customGET('check/' + id);
  721. },
  722. findSolutions: function(id) {
  723. return solutionService.customGET('check2/' + id);
  724. },
  725. fetchDataList: function(model, data) {
  726. return solutionService.customPOST(data, 'fetchDataList/' + model, {});
  727. },
  728. findSolutionDataByDateById: function(ndate, sid) {
  729. return data.customGET('findSolutionDataByDateById/' + ndate + '/' + sid);
  730. },
  731. findSolutionTypeActions: function(userId) {
  732. return typeservice.customGET('findSolutionTypeActions/' + userId);
  733. },
  734. findSolutionTypesUser: function(data) {
  735. return typeservice.customPOST(data, 'findSolutionTypesUser', {});
  736. },
  737. addTypeUserAll: function(data) {
  738. return typeservice.customPOST(data, 'addTypeUserAll', {});
  739. },
  740. hotRanking: function(num) {
  741. return solutionService.customGET('hotRanking/' + num);
  742. },
  743. scoreRanking: function(num) {
  744. return solutionService.customGET('scoreRanking/' + num);
  745. },
  746. fetchBBSSolutions: function(pageIndex, pageSum, sequence, userId) {
  747. return solutionService.customGET('communicationSolutions/' + pageIndex + '/' + pageSum + '/' + sequence + '/' + userId);
  748. },
  749. queryBBSSolutions: function(pageIndex, pageSum, sequence, userId, key) {
  750. return solutionService.customGET('communicationSolutions/' + pageIndex + '/' + pageSum + '/' + sequence + '/' + userId + '/' + key);
  751. },
  752. updateSolutionStatus: function(data) {
  753. return solutionService.customPOST(data, 'updateSolutionStatus', {});
  754. },
  755. getSolutionNumber: function() {
  756. return solutionService.customGET('getSolutionNumber');
  757. },
  758. addSolutionType: function(data) {
  759. return typeservice.customPOST(data, 'add', {});
  760. },
  761. updateSolutionType: function(data) {
  762. return typeservice.customPOST(data, 'update', {});
  763. },
  764. removeSolutionType: function(id) {
  765. return typeservice.customGET('delete/' + id);
  766. },
  767. getSolutionType: function(id) {
  768. return typeservice.customGET('' + id);
  769. },
  770. getTree: function(typeId, groupId, flag) {
  771. return typeservice.customGET('getTree/' + typeId + '/' + groupId + '/' + flag);
  772. },
  773. checkCommentScoreByUserIds: function(userId, id) {
  774. return review.customGET('findCommentScore/' + userId + '/' + id);
  775. },
  776. addSolutionReview: function(data) {
  777. return solutionService.customPOST(data, 'addScore', {});
  778. },
  779. findSolutionReviewById: function(userid, id, pageIndex, pageSum) {
  780. return solutionService.customGET('findSolutionReviewByType/' + userid + '/' + id + '/' + pageIndex + '/' + pageSum);
  781. },
  782. saveAllUserAuth: function(solutionId, flag) {
  783. return solutionService.customGET('saveAllUserTrees/' + solutionId + '/' + flag);
  784. },
  785. updatermvSolutionType: function(typeId, groupId, userIds, flag) {
  786. return typeservice.customGET('delOrUpdateTrees/' + typeId + '/' + groupId + '/' + userIds + '/' + flag);
  787. },
  788. findSolutionGroup: function(id) {
  789. return groupservice.customGET('findSolutionGroup/' + id);
  790. },
  791. saveSolutionGroup: function(id, data) {
  792. return groupservice.customPOST(data, 'saveSolutionGroup/' + id);
  793. },
  794. // getSolutionDowpath: function(id){
  795. // return solutionService.one('download/'+id);
  796. // }
  797. getSolutionDowpath: function(attachmentId) {
  798. return solutionService.one('download/' + attachmentId + '/file');
  799. }
  800. // getSolutionDowpath: function(attachmentId){
  801. // return solutionService.customGET('download/' + attachmentId);
  802. // }
  803. };
  804. }]);
  805. app.factory('CMDBRestangular', function(Restangular) {
  806. return Restangular.withConfig(function(RestangularConfigurer) {
  807. RestangularConfigurer.setBaseUrl(serverIp + ':9680/api/cmdb/cmdb/');
  808. });
  809. });
  810. app.factory('api_cmdb', ['CMDBRestangular', function(CMDBRestangular) {
  811. var ciService = CMDBRestangular.all("ci");
  812. var uuidService = CMDBRestangular.all("uuid");
  813. var edgeService = CMDBRestangular.all("edge");
  814. var traversal = CMDBRestangular.all("traversal");
  815. var downloadService = CMDBRestangular.all("download");
  816. var exportService = CMDBRestangular.all("export");
  817. var importService = CMDBRestangular.all("import");
  818. var exportModelService = CMDBRestangular.all("exportModel");
  819. var importDataService = CMDBRestangular.all("importData");
  820. var exportDataService = CMDBRestangular.all("exportData");
  821. var searchService = CMDBRestangular.all("search");
  822. function serializeData(data) {
  823. // If this is not an object, defer to native stringification.
  824. if (!angular.isObject(data)) {
  825. return ((data == null) ? "" : data.toString());
  826. }
  827. var buffer = [];
  828. // Serialize each key in the object.
  829. for (var name in data) {
  830. if (!data.hasOwnProperty(name)) {
  831. continue;
  832. }
  833. var value = data[name];
  834. buffer.push(
  835. encodeURIComponent(name) + "=" + encodeURIComponent((value == null) ? "" : value)
  836. );
  837. }
  838. // Serialize the buffer and clean it up for transportation.
  839. var source = buffer.join("&").replace(/%20/g, "+");
  840. return (source);
  841. }
  842. return {
  843. create: function(data) {
  844. return ciService.customPOST(data, '', {});
  845. },
  846. importData: function() {
  847. return importDataService.one('/nodes');
  848. },
  849. put: function(data, id) {
  850. return ciService.customPUT(data, id, {});
  851. },
  852. remove: function(id) {
  853. return ciService.customDELETE(id);
  854. },
  855. removeByUUId: function(uuid) {
  856. return ciService.customDELETE('uuid/' + id, {}, { 'Content-Type': 'application/json' });
  857. },
  858. removeRefById: function(id) {
  859. return ciService.customDELETE(id + '/ref');
  860. },
  861. find: function(id) {
  862. return ciService.customGET(id);
  863. },
  864. searchkey: function(type, key, idx, sum) {
  865. return searchService.customGET(type + '/' + key + '/' + idx + '/' + sum);
  866. },
  867. findByUUId: function(uuid) {
  868. return ciService.customGET('?uuid=' + uuid);
  869. },
  870. query: function(data) {
  871. return ciService.customGET('query', data);
  872. },
  873. findRefById: function(id) {
  874. return ciService.customGET(id + '/refs');
  875. },
  876. finduuid: function(type, model) {
  877. return uuidService.customGET(type + '/' + model);
  878. },
  879. types: function() {
  880. return CMDBRestangular.customGET('types');
  881. },
  882. createRef: function(data) {
  883. return edgeService.customPOST(data, '', {});
  884. },
  885. putRef: function(data, id) {
  886. return edgeService.customPUT(data, '' + id, {});
  887. },
  888. removeRef: function(id) {
  889. return edgeService.customDELETE(id, {}, { 'Content-Type': 'application/json' });
  890. },
  891. traversal: function(uuid) {
  892. return traversal.customGET(uuid);
  893. },
  894. traversalRel: function(uuid, relation) {
  895. return traversal.customGET(uuid + '/' + relation + '/' + 'none');
  896. },
  897. export: function(label) {
  898. return exportService.customGET('nodes/' + label);
  899. },
  900. import: function() {
  901. return importService.one('/nodes');
  902. },
  903. download: function(label) {
  904. return downloadService.one('/label');
  905. },
  906. exportData: function(type, model) {
  907. return exportDataService.one(model + '/' + type);
  908. },
  909. downModels: function(type, model) {
  910. return exportModelService.one(model + '/' + type);
  911. }
  912. };
  913. }]);
  914. app.factory('MonitorRestangular', function(Restangular) {
  915. return Restangular.withConfig(function(RestangularConfigurer) {
  916. RestangularConfigurer.setBaseUrl(serverIp + ':9004/services');
  917. });
  918. });
  919. app.factory('api_monitor', ['MonitorRestangular', function(MonitorRestangular) {
  920. //http://127.0.0.1:9004/services/ftpFile/monitor/bankTip/
  921. var process = MonitorRestangular.all("ftpFile/monitor");
  922. return {
  923. bankTip: function(id) {
  924. return process.customGET('bankTip/' + id);
  925. },
  926. list: function() {
  927. return process.customGET('list/1000');
  928. },
  929. devList: function(id) {
  930. return process.customGET('devList/' + id);
  931. },
  932. cpuList: function() {
  933. return process.customGET('cpuList/10');
  934. },
  935. memList: function() {
  936. return process.customGET('memList/10');
  937. },
  938. storageList: function() {
  939. return process.customGET('storageList/10');
  940. },
  941. transData: function() {
  942. return process.customGET('transData/5');
  943. },
  944. banklist: function() {
  945. return process.customGET('banklist');
  946. },
  947. app: function(id) {
  948. return process.customGET('app/' + id);
  949. },
  950. beita: function(id) {
  951. return process.customGET('beita/' + id);
  952. },
  953. gongji: function(id) {
  954. return process.customGET('gongji/' + id);
  955. }
  956. };
  957. }]);
  958. app.factory('ReportRestangular', function(Restangular) {
  959. return Restangular.withConfig(function(RestangularConfigurer) {
  960. //RestangularConfigurer.setBaseUrl('http://127.0.0.1:9005/api/cmdb/');
  961. RestangularConfigurer.setBaseUrl(reportIp + ':8080/saiku/rest');
  962. // RestangularConfigurer.setBaseUrl(serverIp+':8092/saiku/rest');
  963. //saiku/rest/saiku/api/query/execute/
  964. });
  965. });
  966. app.factory('api_report', ['ReportRestangular', 'Restangular', function(MonitorRestangular, Restangular) {
  967. var reportService = MonitorRestangular.all("saiku/api");
  968. var authService = MonitorRestangular.one("saiku/session");
  969. return {
  970. getLicenseKey: function() {
  971. return Restangular.one('assets/').customGET('api/reportToken.js');
  972. },
  973. // auth: function(){
  974. // return authService.customPOST('username=admin&password=admin&language=zh'
  975. // ,'', {}, {'Content-Type': 'application/x-www-form-urlencoded'});
  976. // },
  977. // session: function(){
  978. // return authService.customGET('');
  979. // },
  980. list: function() {
  981. return reportService.customGET('repository?type=saiku');
  982. /**
  983. /saiku/api/repository
  984. path: /homes/home:admin/itsm_reports
  985. */
  986. },
  987. getMdx: function(path, uuid) {
  988. var rdata = 'file=' + path + '&formatter=flattened&language=zh';
  989. return reportService.customPOST(rdata, 'query/' + uuid, {}, { 'Content-Type': 'application/x-www-form-urlencoded' });
  990. },
  991. execute: function(data) {
  992. return reportService.customPOST(data, 'query/execute', {}, { 'Accept': 'application/json, text/javascript, */*' });
  993. },
  994. exportData: function(reportView, uuid, reportfileName) {
  995. return reportService.one('query/rest/export/xls/?exportname=' + reportfileName + 'xls');
  996. }
  997. };
  998. }]);
  999. app.factory('ReportsRestangular', function(Restangular) {
  1000. return Restangular.withConfig(function(RestangularConfigurer) {
  1001. RestangularConfigurer.setBaseUrl(reportIp + ':9680/api/report/');
  1002. });
  1003. });
  1004. app.factory('api_reportservice', ['ReportsRestangular', 'Restangular', function(MonitorRestangular, Restangular) {
  1005. var reportService = MonitorRestangular.all("data");
  1006. return {
  1007. reportGroup: function(model, data) {
  1008. return reportService.customPOST(data, 'fetchDataList/' + model);
  1009. },
  1010. };
  1011. }]);