newdash.js 89 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814
  1. 'use strict';
  2. /**
  3. * controllers used for the dashboard
  4. */
  5. var appFormly = angular.module('formlyDashboard', [
  6. 'formly', 'formlyBootstrap', 'ui.bootstrap',
  7. 'ngSanitize', 'ui.select', 'ui.grid'
  8. ]);
  9. app.requires.push('formlyDashboard');
  10. // var appFormly = angular.module('formlyExample', [
  11. // 'formly', 'formlyBootstrap','ui.bootstrap',
  12. // 'ngSanitize','ui.select','ui.grid'],
  13. appFormly.config(
  14. function config(formlyConfigProvider) {
  15. //格式转换方法 XXX-XXX转驼峰命名
  16. });
  17. appFormly.controller('newDashCtrl', ['$rootScope', '$auth', '$scope', '$parse', '$injector', '$http', '$q', '$state', '$modal', '$timeout', '$interval', 'SweetAlert', 'i18nService', '$window', "ngTableParams", 'Restangular', 'UserRestangular', 'BpmRestangular', 'api_configure_form', 'api_bpm_domain', 'api_bpm_data','api_event_form', 'api_user_data', 'api_report', 'api_msg', 'api_bpm_schedule', 'api_newreport', 'api_statistic', "calendarConfig", "api_login",
  18. function($rootScope, $auth, $scope, $parse, $injector, $http, $q, $state, $modal, $timeout, $interval, SweetAlert, i18nService, $window, ngTableParams, Restangular, UserRestangular, BpmRestangular, api_configure_form, api_bpm_domain, api_bpm_data,api_event_form, api_user_data, api_report, api_msg, api_bpm_schedule, api_newreport, api_statistic, calendarConfig, api_login) {
  19. $scope.incidentlist = {};
  20. $scope.bodyheight = {};
  21. // $scope.tableParams = {};
  22. $scope.sumline = '';
  23. $scope.gaoliangleft = true;
  24. $scope.gaoliangright = false;
  25. $scope.userlist = [];
  26. $scope.totalPage = "";
  27. $scope.thisuserrole = "admin";
  28. $rootScope.app.layout.isNavbarFixed = false;
  29. $rootScope.app.layout.isSidebarFixed = false;
  30. $scope.thisalldata = moment(new Date()).format('YYYY-MM-DD hh:mm:ss');
  31. $scope.thissomedata = moment(new Date()).format('YYYY-MM');
  32. $scope.thisdatatop5 = moment(new Date()).format('YYYY年MM月');
  33. $scope.thismonthtop5 = (new Date()).getMonth() + 1;
  34. $scope.thisyertop5 = (new Date()).getFullYear();
  35. $scope.thismonthjiejue = (new Date()).getMonth() + 1;
  36. $scope.thisyerjiejue = (new Date()).getFullYear();
  37. $scope.thisdatajiejue = moment(new Date()).format('YYYY年MM月');
  38. $scope.maxtoptime = true;
  39. $scope.maxjiejuetime = true;
  40. $scope.paiming = '(暂无)';
  41. $scope.loginBtn = {
  42. closeEl: '.close',
  43. modal: {
  44. templateUrl: 'assets/views/loginform.html',
  45. postion: 'center'
  46. }
  47. };
  48. var getMenus = function() {
  49. function convertListToTree(data, treeMap) {
  50. var idToNodeMap = {}; //Keeps track of nodes using id as key, for fast lookup
  51. var root = null; //Initially set our loop to null
  52. var parentNode = null;
  53. //loop over data
  54. for (var i = 0; i < data.length; i++) {
  55. // data[i].id = Number(data[i].id);
  56. var datum = data[i];
  57. //each node will have children, so let's give it a "children" poperty
  58. datum.children = [];
  59. //add an entry for this node to the map so that any future children can
  60. //lookup the parent
  61. idToNodeMap[datum.id] = datum;
  62. //Does this node have a parent?
  63. if (typeof datum.parentid === "undefined" || datum.parentid == null) {
  64. //Doesn't look like it, so this node is the root of the tree
  65. root = datum;
  66. treeMap[datum.id] = root;
  67. } else {
  68. //This node has a parent, so let's look it up using the id
  69. parentNode = idToNodeMap[datum.parentid];
  70. //We don't need this property, so let's delete it.
  71. //delete datum.parentid;
  72. //Let's add the current node as a child of the parent node.
  73. parentNode.children.push(datum);
  74. }
  75. }
  76. return root;
  77. }
  78. function convertParentToChildList(data) {
  79. var treeMap = {};
  80. var list = [];
  81. convertListToTree(data, treeMap);
  82. angular.forEach(treeMap, function(item) {
  83. list.push(item);
  84. });
  85. list = window._.sortBy(list, function(o) {
  86. return o.orders;
  87. });
  88. return list;
  89. }
  90. //if(userMenus.length==0){
  91. var userMenus = [];
  92. var idMapMenu = {};
  93. if ($rootScope.user) {
  94. if ($rootScope.user.menu) {
  95. userMenus = convertParentToChildList($rootScope.user.menu);
  96. }
  97. }
  98. //}
  99. $rootScope.userMenus = userMenus;
  100. if ($rootScope.userMenus.length > 0) {
  101. // getpending();
  102. // setInterval(getpending, 30000);
  103. }
  104. return userMenus;
  105. }
  106. var url = location.hash; //获取url中"?"符后的字串 var index=obj.lastIndexOf("\-");
  107. var theRequest = {};
  108. var index = url.substring(index + 1, url.length).lastIndexOf("\?");
  109. if (url.indexOf("?") != -1 && url.indexOf("dashboard")) {
  110. var str = url.substr(index + 1);
  111. var strs = str.split("&");
  112. for (var i = 0; i < strs.length; i++) {
  113. theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);
  114. }
  115. $rootScope.statuscall = 1;
  116. $scope.loginForm = {
  117. username: theRequest.username,
  118. password: theRequest.password
  119. }
  120. $auth.submitLogin($scope.loginForm)
  121. .then(function(resp) {
  122. localStorage.setItem("jry_user", JSON.stringify(resp));
  123. $rootScope.user = JSON.parse(localStorage.getItem("jry_user"));
  124. $rootScope.userMenus = JSON.parse(localStorage.getItem("jry_user")).menu;
  125. getMenus();
  126. if (resp.error != 500) {
  127. $rootScope.app.isLoginFixed = false;
  128. var filterDataone = {
  129. "assignee": $rootScope.user.id,
  130. "searchType": "todo",
  131. "idx": 0,
  132. "sum": 5
  133. }
  134. var filterDatatwo = {
  135. "alarmIncident": { "state": "未处理" },
  136. "idx": 0,
  137. "sum": 5
  138. }
  139. $scope.filterData = {
  140. "assignee": $rootScope.user.id,
  141. "searchType": "todo",
  142. "idx": 0,
  143. "sum": 5
  144. }
  145. $scope.nian = [(new Date()).getFullYear(), (new Date()).getFullYear() - 1, (new Date()).getFullYear() - 2, (new Date()).getFullYear() - 3, (new Date()).getFullYear() - 4, (new Date()).getFullYear() - 5, (new Date()).getFullYear() - 6, (new Date()).getFullYear() - 7, (new Date()).getFullYear() - 8, (new Date()).getFullYear() - 9, (new Date()).getFullYear() - 10, (new Date()).getFullYear() - 11, (new Date()).getFullYear() - 12, (new Date()).getFullYear() - 13, (new Date()).getFullYear() - 14, (new Date()).getFullYear() - 15, (new Date()).getFullYear() - 16, (new Date()).getFullYear() - 17, (new Date()).getFullYear() - 18, (new Date()).getFullYear() - 19];
  146. $scope.yue = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
  147. changeDivHeight();         
  148. window.onresize = function() {  changeDivHeight(); }              
  149. function  changeDivHeight() {                               
  150. var  h  =  document.documentElement.clientHeight; //获取页面可见高度  
  151. $scope.bodyheight = { "height": h + "px" };  
  152. $scope.sumline = (h - 60) * 0.45 / 34;
  153. }
  154. //角色判断
  155. for (var i = 0; i < $rootScope.user.role.length; i++) {
  156. if ($rootScope.user.role[i].rolecode == "call center") {
  157. $scope.thisuserrole = "center";
  158. break;
  159. } else if ($rootScope.user.role[i].rolecode == "admin general") {
  160. $scope.thisuserrole = "admin";
  161. break;
  162. } else if ($rootScope.user.role[i].rolecode == "3164d1ab-b733-4cb0-98bc-7d1593df3ebc") {
  163. $scope.thisuserrole = "yunwei";
  164. break;
  165. }
  166. }
  167. // angular.forEach($rootScope.user.role, function(item) {
  168. // // if (item.role == "call center") {
  169. // // } else() {
  170. // // }
  171. // })
  172. $rootScope.user.role
  173. //
  174. $scope.gowechart = function() {
  175. $state.go('app.desk.chart');
  176. }
  177. $scope.gobaojin = function() {
  178. $state.go('app.desk.jry_emergency');
  179. }
  180. $scope.goliuyan = function() {
  181. $state.go('app.desk.record');
  182. }
  183. $scope.gotonghua = function() {
  184. $state.go('app.desk.calllog');
  185. }
  186. $scope.gonewincident = function() {
  187. $state.go('app.incident.editor');
  188. }
  189. $scope.goyuqi = function() {
  190. var fildata = { searchType: "overDate" }
  191. $state.go('app.incident.list', { model: JSON.stringify(fildata) });
  192. }
  193. $scope.goknowledge = function() {
  194. $state.go('app.knowledge.manager');
  195. }
  196. $scope.gohuifang = function() {
  197. $state.go('app.incident.list');
  198. }
  199. $scope.gopaiban = function() {
  200. $state.go('app.scheduling.myscheduling');
  201. }
  202. //新建问题
  203. $scope.gonewproblem = function() {
  204. $state.go('app.problem.editor');
  205. }
  206. //新建变更
  207. $scope.gonewchange = function() {
  208. $state.go('app.change.editor');
  209. }
  210. //cmdb
  211. $scope.gocmdb = function() {
  212. $state.go('app.means.listd');
  213. }
  214. $scope.jingjiinform = function(row) {
  215. if (row.alarm.alarmExtension) {
  216. row.alarm.alarmExtension = row.alarm.alarmExtension.replace('{', "");
  217. row.alarm.alarmExtension = row.alarm.alarmExtension.replace('}', "");
  218. row.alarm.alarmExtension = row.alarm.alarmExtension.replace(/,/g, '\n');
  219. }
  220. event.stopPropagation();
  221. var modelfile = { model: row };
  222. $state.go('app.desk.form_editor', { formKey: 'desk_emergency', service: 'api_user_data', model: JSON.stringify(modelfile) });
  223. };
  224. // $scope.goschedule = function(time) {
  225. // }
  226. //我的排班
  227. $scope.scheevents = [];
  228. $scope.getschedule = function(time) {
  229. api_bpm_schedule.fetchSchedule($rootScope.user.id, time.startTime, time.endTime).then(function(response) {
  230. if (response.status == 200) {
  231. $scope.scheevents = [];
  232. var myData = response.list;
  233. angular.forEach(myData, function(item) {
  234. var eventTemp = {};
  235. eventTemp.title = item.description;
  236. // eventTemp.title = item.name;
  237. eventTemp.type = item.scheduleClass.code;
  238. eventTemp.startsAt = moment(item['scheduleOrder'].startTime).toDate();
  239. eventTemp.endsAtTime = moment(item['scheduleOrder'].endTime).toDate();
  240. eventTemp.startTime = moment(item['scheduleOrder'].startTime).format('YYYY-MM-DD hh:mm')
  241. eventTemp.endTime = moment(item['scheduleOrder'].endTime).format('YYYY-MM-DD hh:mm')
  242. eventTemp.id = item.id;
  243. eventTemp.deletable = false;
  244. eventTemp.user = item.user;
  245. $scope.scheevents.push(eventTemp);
  246. })
  247. $scope.scheevents = $scope.scheevents.slice(0, 5)
  248. }
  249. });
  250. }
  251. $scope.getschedule({ 'time': { 'startTime': "2018-09-01 00:00:00", 'endTime': "2018-09-30 23:59:59" } });
  252. //去处理
  253. $scope.gotuclose = function(data) {
  254. if (data.type == 1) {
  255. $state.go('app.incident.editor', { taskId: data.taskId, processInstanceId: data.procInstId });
  256. } else if (data.type == 2) {
  257. $state.go('app.change.editor', { taskId: data.taskId, processInstanceId: data.procInstId });
  258. } else if (data.type == 3) {
  259. $state.go('app.problem.editor', { taskId: data.taskId, processInstanceId: data.procInstId });
  260. } else if (data.type == 4) {
  261. $state.go('app.means.applyediter', { taskId: data.taskId, processInstanceId: data.procInstId });
  262. }
  263. }
  264. //消息通知
  265. // api_user_data.fetchDataList('user', { "idx": 0, "sum": 10 }).then(function(response) {
  266. // if (response) {
  267. // if (response.status = 200) {
  268. // $scope.userlist = response.list;
  269. // }
  270. // }
  271. // })
  272. $scope.message_yes = function(type) { //已读0
  273. var fildata = { "idx": 0, "sum": 5, "messageStation": { "readStatus": 1, "userId": $rootScope.user.id } };
  274. api_msg.msgDataList(fildata).then(function(data) {
  275. if (data.status == 200) {
  276. api_user_data.fetchDataList('user', { "idx": 0, "sum": 1000 }).then(function(response) {
  277. if (response) {
  278. $scope.xiaoxilist = data.list;
  279. angular.forEach(data.list, function(item, index) {
  280. angular.forEach(response.list, function(itemone) {
  281. if (item.userId == itemone.id) {
  282. $scope.xiaoxilist[index].user = itemone;
  283. }
  284. })
  285. })
  286. }
  287. })
  288. } else {}
  289. })
  290. };
  291. $scope.message_yes();
  292. //代办事项
  293. function getincidentlist(fildata) {
  294. api_statistic.getTask($rootScope.user.id, $scope.filterData.idx, 5).then(function(data) {
  295. if (data) {
  296. // var myData = Restangular.stripRestangular(data);
  297. // var list = [];
  298. $scope.totalPage = Math.ceil(data.sum / 5);
  299. // $scope.myData = myData.data;
  300. // for (var i = 0; i < $scope.myData.length; i++) {
  301. // $scope.myData[i]['item'] = i + 1 + filterData.idx * filterData.sum
  302. // }
  303. if ($scope.totalPage <= 1) {
  304. $scope.gaoliangright = true;
  305. }
  306. $scope.incidentlist = data.task;
  307. angular.forEach($scope.incidentlist, function(item) {
  308. if (item.type == 1) {
  309. item.tolabelname = "事件工单"
  310. } else if (item.type == 2) {
  311. item.tolabelname = "变更工单"
  312. } else if (item.type == 3) {
  313. item.tolabelname = "问题工单"
  314. } else if (item.type == 4) {
  315. item.tolabelname = "资产审核"
  316. }
  317. })
  318. // $scope.tableParams = new ngTableParams({
  319. // page: 1, // show first page
  320. // count: 5 // count per page
  321. // }, {
  322. // total: $scope.incidentlist.length, // length of data
  323. // getData: function($defer, params) {
  324. // $defer.resolve($scope.incidentlist.slice((params.page() - 1) * params.count(), params.page() * params.count()));
  325. // }
  326. // });
  327. } else {
  328. SweetAlert.swal({
  329. title: "系统错误",
  330. text: "请稍后再试!",
  331. type: "error"
  332. });
  333. }
  334. }, function() {});
  335. }
  336. getincidentlist(filterDataone, )
  337. //翻页
  338. $scope.parselist = function() {
  339. if ($scope.gaoliangleft == false) {
  340. $scope.incidentlist = [];
  341. $scope.filterData.idx = $scope.filterData.idx - 1;
  342. if ($scope.filterData.idx == 0) {
  343. $scope.gaoliangleft = true;
  344. }
  345. $scope.gaoliangright = false;
  346. getincidentlist($scope.filterData)
  347. }
  348. }
  349. $scope.nextlist = function() {
  350. if ($scope.gaoliangright == false) {
  351. $scope.incidentlist = [];
  352. $scope.filterData.idx = $scope.filterData.idx + 1;
  353. if ($scope.filterData.idx == $scope.totalPage - 1) {
  354. $scope.gaoliangright = true;
  355. }
  356. $scope.gaoliangleft = false;
  357. getincidentlist($scope.filterData)
  358. }
  359. }
  360. //告警列表
  361. api_bpm_data.fetchDataList("alarmIncident", filterDatatwo, 'alarmIncident').then(function(data) {
  362. $scope.myDataalarmincident = data.list;
  363. }, function() {
  364. });
  365. //start事件月统计图
  366. var domfault = document.getElementById("fault");
  367. var myChartfault = echarts.init(domfault);
  368. var app = {};
  369. var optionfault = null;
  370. app.title = '当月事件工单处理TOP5';
  371. var XData = [];
  372. var yData = [];
  373. // XData.map(function() {
  374. // yData.push((Math.random() * 1000 + 100).toFixed(0))
  375. // })
  376. // var dataMin=parseInt(Math.min.apply(null, yData)/2);
  377. myChartfault.showLoading({  
  378. text: '数据加载中...',
  379. color: '#c23531',
  380. textColor: '#fff',
  381. maskColor: 'rgba(255,255,255,0)',
  382. zlevel: 0
  383. });
  384. myChartfault.hideLoading();
  385. optionfault = {
  386. title: {
  387. // text: '(件)故障数量',
  388. x: '10',
  389. y: '0',
  390. textStyle: {
  391. fontWeight: 'normal',
  392. fontSize: 12,
  393. color: "#56c9ff",
  394. }
  395. },
  396. xAxis: {
  397. axisTick: {
  398. show: false
  399. },
  400. splitLine: {
  401. show: false,
  402. },
  403. splitArea: {
  404. show: false
  405. },
  406. // data: XData,
  407. data: ['', '', '', '', ''],
  408. axisLine: {
  409. lineStyle: {
  410. color: '#ddd'
  411. }
  412. },
  413. axisLabel: {
  414. textStyle: {
  415. color: '#999999',
  416. fontSize: 12,
  417. }
  418. },
  419. },
  420. yAxis: {
  421. axisTick: {
  422. show: false
  423. },
  424. splitLine: {
  425. show: true,
  426. lineStyle: {
  427. type: 'dashed',
  428. color: '#eee'
  429. }
  430. },
  431. splitArea: {
  432. show: false
  433. },
  434. axisLabel: {
  435. show: true,
  436. textStyle: {
  437. color: '#999999',
  438. fontSize: 12,
  439. }
  440. },
  441. axisLine: {
  442. show: false,
  443. lineStyle: {
  444. color: '#4d4d4d'
  445. }
  446. }
  447. },
  448. grid: {
  449. left: 10,
  450. top: 25,
  451. bottom: 0,
  452. right: 10,
  453. containLabel: true
  454. },
  455. "tooltip": {
  456. "trigger": "item",
  457. "textStyle": {
  458. "fontSize": 12
  459. },
  460. "formatter": "{b0}:{c0}"
  461. },
  462. series: {
  463. type: "bar",
  464. itemStyle: {
  465. normal: {
  466. color: function(params) {
  467. // type = 'linear';
  468. var colorList = [
  469. '#204266', '#1b3651', '#00437a', '#005395', '#79a3c4'
  470. ];
  471. return colorList[params.dataIndex]
  472. },
  473. }
  474. },
  475. label: {
  476. normal: {
  477. show: true,
  478. position: 'top',
  479. textStyle: {
  480. // color: '#56c9ff'
  481. }
  482. }
  483. },
  484. barWidth: 18,
  485. // barWidth: '30%',
  486. // data: yData
  487. data: [0, 0, 0, 0, 0]
  488. }
  489. };
  490. // if (optionfault && typeof optionfault === "object") {
  491. // myChartfault.setOption(optionfault, true);
  492. // }
  493. function getinternettop5(data) {
  494. api_newreport.fetchDataList('handlePersonResolve', data).then(function(data) {
  495. if (data.status == 200) {
  496. var xaxisdata = [];
  497. if (data.data.length > 0) {
  498. for (var i = 0; i < 5 && i < data.data.length; i++) {
  499. xaxisdata.push(data.data[i].name);
  500. }
  501. for (var i = 0; i < data.data.length; i++) {
  502. if (data.data[i].name == $rootScope.user.name) {
  503. $scope.paiming = i + 1;
  504. break
  505. } else {
  506. $scope.paiming = "(暂无)";
  507. }
  508. }
  509. } else {
  510. $scope.paiming = "(暂无)";
  511. }
  512. // angular.forEach(data.data, function(item, index) {
  513. // if (item.name == $rootScope.user.name) {
  514. // $scope.paiming = I
  515. // }
  516. // })
  517. optionfault.xAxis.data = xaxisdata;
  518. optionfault.series.data[0] = parseInt(data.data[0] ? data.data[0].num : 0);
  519. optionfault.series.data[1] = parseInt(data.data[1] ? data.data[1].num : 0);
  520. optionfault.series.data[2] = parseInt(data.data[2] ? data.data[2].num : 0);
  521. optionfault.series.data[3] = parseInt(data.data[3] ? data.data[3].num : 0);
  522. optionfault.series.data[4] = parseInt(data.data[4] ? data.data[4].num : 0);
  523. myChartfault.setOption(optionfault);
  524. myChartfault.hideLoading();
  525. }
  526. })
  527. }
  528. $scope.maxtoptime = true;
  529. getinternettop5({ "paramDateFrom": moment(new Date()).startOf('month').format('YYYY-MM-DD 00:00:00'), "paramDateTo": moment(new Date()).endOf('month').format('YYYY-MM-DD 23:59:59') });
  530. var loginUser = $rootScope.user;
  531. var date = new Date();
  532. var d = date.getDate();
  533. var m = date.getMonth();
  534. var y = date.getFullYear();
  535. $scope.scheduleClass = {};
  536. $scope.odr = 2;
  537. $scope.searchstate = 2;
  538. $scope.events = [];
  539. $scope.calendarView = 'month';
  540. $scope.calendarDate = moment().startOf('month').toDate();
  541. $scope.calendarDatejiejue = moment().startOf('month').toDate();
  542. $scope.calendarTitle;
  543. $scope.timeLabel = "时间";
  544. $scope.eventLabel = "描述";
  545. $scope.moment = function(string) {
  546. return moment(string);
  547. }
  548. $scope.eventClicked = function(event) {
  549. // console.log("event="+JSON.stringify(event))
  550. showModal('Clicked', event);
  551. };
  552. $scope.eventEdited = function(event) {
  553. showModal('Edited', event);
  554. };
  555. var updateViews = function(newvalue, oldvalue) {
  556. // if (newvalue.getMonth() > (new Date()).getMonth()) {
  557. // $scope.maxtoptime = true;
  558. // $scope.calendarDate = oldvalue;
  559. // } else {
  560. if (oldvalue == newvalue) return;
  561. $scope.maxtoptime = false;
  562. var timeStart, timeEnd, timeStartSpan, timeEndSpan;
  563. timeStart = moment(newvalue).startOf('month');
  564. timeEnd = moment(newvalue).endOf('month');
  565. timeStartSpan = timeStart.format('YYYY-MM-DD 00:00:00');
  566. timeEndSpan = timeEnd.format('YYYY-MM-DD 23:59:59');
  567. $scope.thisdatatop5 = moment(newvalue).startOf('month').format('YYYY年MM月');
  568. $scope.thismonthtop5 = newvalue.getMonth() + 1;
  569. $scope.thisyertop5 = newvalue.getFullYear();
  570. // if (newvalue.getMonth() == (new Date()).getMonth()) {
  571. // $scope.maxtoptime = true;
  572. // } else {
  573. // $scope.maxtoptime = false;
  574. // }
  575. getinternettop5({ "paramDateFrom": timeStartSpan, "paramDateTo": timeEndSpan });
  576. // }
  577. }
  578. $scope.$watch('calendarDate', updateViews);
  579. $scope.changeyear = function(yeardata) {
  580. $scope.calendarDate = new Date((new Date($scope.calendarDate)).setYear(yeardata));
  581. }
  582. $scope.changemonth = function(monthdata) {
  583. $scope.calendarDate = new Date((new Date($scope.calendarDate)).setMonth(monthdata - 1));
  584. }
  585. $scope.next = function() {
  586. $scope.getmonth = 'nextmonth';
  587. $scope.calendarControl.next();
  588. }
  589. $scope.prev = function() {
  590. $scope.calendarControl.prev();
  591. }
  592. $scope.setCalendarToToday = function() {
  593. $scope.calendarDay = new Date();
  594. };
  595. $scope.toggle = function($event, field, event) {
  596. $event.preventDefault();
  597. $event.stopPropagation();
  598. event[field] = !event[field];
  599. };
  600. // $scope.nexttop5 = function() {
  601. // $state.go('app.desk.chart');
  602. // }
  603. // setInterval(function() {
  604. // getinternettop5({ "paramDateFrom": "2018-09-01 00:00:00", "paramDateTo": "2018-09-30 23:59:59" });
  605. // }, 10000);
  606. //end事件月统计图
  607. //当月工单解决率
  608. var domfinish = document.getElementById("finish");
  609. var myChartfinish = echarts.init(domfinish);
  610. var app = {};
  611. var optionfinish = null;
  612. app.title = '当月工单解决率';
  613. myChartfinish.showLoading({  
  614. text: '数据加载中...',
  615. color: '#c23531',
  616. textColor: '#fff',
  617. maskColor: 'rgba(255,255,255,0)',
  618. zlevel: 0
  619. });
  620. myChartfinish.hideLoading();
  621. optionfinish = {
  622. title: {
  623. "text": 0,
  624. subtext: '事件总数',
  625. itemGap: 3,
  626. "x": '48%',
  627. "y": '35%',
  628. textAlign: "center",
  629. "textStyle": {
  630. "fontWeight": 'normal',
  631. "fontSize": 18,
  632. "color": '#005395',
  633. },
  634. "subtextStyle": {
  635. "fontWeight": 'normal',
  636. "fontSize": 12,
  637. "color": '#333',
  638. "lineHeight": 14
  639. },
  640. },
  641. tooltip: {
  642. // show: false,
  643. trigger: 'item',
  644. formatter: function(a) {
  645. // console.log(a)
  646. return (
  647. a['data']['name'] + ":" + a['data']['value']
  648. )
  649. },
  650. position: ['50%', '30%']
  651. },
  652. grid: {
  653. left: 10,
  654. top: 0,
  655. bottom: 0,
  656. right: 10,
  657. containLabel: true
  658. },
  659. legend: {
  660. show: true,
  661. orient: 'vertical',
  662. x: 'center',
  663. // y: 'bottom',
  664. bottom: 40,
  665. itemWidth: 14,
  666. itemHeight: 14,
  667. // shadowOffsetX: 20,
  668. textStyle: {
  669. fontSize: '14',
  670. fontWeight: 'normal',
  671. color: '#666',
  672. },
  673. data: ['按时解决', '逾期解决'],
  674. formatter: function(name) {
  675. var oa = optionfinish.series[0].data;
  676. var num = oa[0].value + oa[1].value + oa[2].value;
  677. for (var i = 0; i < optionfinish.series[0].data.length; i++) {
  678. if (name == oa[i].name) {
  679. return ' ' + name + ' ' + oa[i].value + ' ' + oa[i].percent + '%';
  680. }
  681. }
  682. }
  683. },
  684. "color": ["#79a3c4", "#005395", "transparent", "transparent"],
  685. "startAngle": 180,
  686. series: [{
  687. name: '',
  688. type: 'pie',
  689. radius: ['60%', '80%'],
  690. avoidLabelOverlap: false,
  691. startAngle: 180,
  692. center: ["50%", "50%"],
  693. //stillShowZeroSum:0,
  694. label: {
  695. normal: {
  696. show: false,
  697. position: 'inner',
  698. textStyle: {
  699. color: '#fff',
  700. fontSize: 12
  701. }
  702. },
  703. emphasis: {
  704. show: false,
  705. textStyle: {
  706. fontSize: '12',
  707. fontWeight: 'bold'
  708. }
  709. }
  710. },
  711. labelLine: {
  712. normal: {
  713. show: false
  714. }
  715. },
  716. data: [{ value: 50, name: '按时解决' }, { value: 50, name: '逾期解决' }, { value: 50, name: '', tooltip: { formatter: function(a) { return "" } } }, { value: 50, name: '', tooltip: { formatter: function(a) { return "" } } }]
  717. }]
  718. };
  719. // if (optionfinish && typeof optionfinish === "object") {
  720. // myChartfinish.setOption(optionfinish, true);
  721. // }
  722. function getinternetAlarm(data) {
  723. api_newreport.fetchDataList('getIncidentSolveRatio', data).then(function(data) {
  724. if (data.code == 200) {
  725. optionfinish.series[0].data[0].value = data.noOverdue;
  726. optionfinish.series[0].data[0].percent = data.noOverdueRatio;
  727. optionfinish.series[0].data[1].value = data.overdue;
  728. optionfinish.series[0].data[1].percent = data.overdueRatio;
  729. optionfinish.series[0].data[2].value = data.sum / 2;
  730. optionfinish.series[0].data[3].value = data.sum / 2;
  731. optionfinish.title.text = data.sum;
  732. myChartfinish.setOption(optionfinish);
  733. myChartfinish.hideLoading();
  734. } else {
  735. // optionfinish.series[0].data[0].value = 0;
  736. // optionfinish.series[0].data[1].value = 0;
  737. // optionfinish.series[0].data[2].value = 0;
  738. // myChartfinish.setOption(optionfinish);
  739. // myChartfinish.hideLoading();
  740. }
  741. })
  742. }
  743. getinternetAlarm({ "date": $scope.thissomedata });
  744. var updateViewsalarm = function(newvalue, oldvalue) {
  745. if (oldvalue == newvalue) return;
  746. var timeStart, timeEnd, timeStartSpan, timeEndSpan;
  747. timeStart = moment(newvalue).startOf('month');
  748. timeEnd = moment(newvalue).endOf('month');
  749. timeStartSpan = timeStart.format('YYYY-MM-DD 00:00:00');
  750. timeEndSpan = timeEnd.format('YYYY-MM-DD 23:59:59');
  751. $scope.thisdatajiejue = moment(newvalue).startOf('month').format('YYYY年MM月');
  752. $scope.thismonthjiejue = newvalue.getMonth() + 1;
  753. $scope.thisyerjiejue = newvalue.getFullYear();
  754. getinternetAlarm({ "date": timeStart.format('YYYY-MM') });
  755. }
  756. $scope.$watch('calendarDatejiejue', updateViewsalarm)
  757. $scope.jiejueyear = function(yeardata) {
  758. $scope.calendarDatejiejue = new Date((new Date($scope.calendarDatejiejue)).setYear(yeardata));
  759. }
  760. $scope.jiejuemonth = function(monthdata) {
  761. $scope.calendarDatejiejue = new Date((new Date($scope.calendarDatejiejue)).setMonth(monthdata - 1));
  762. }
  763. //知识库撰写量
  764. var domknowlege = document.getElementById("knowlege");
  765. var myChartknowlege = echarts.init(domknowlege);
  766. var app = {};
  767. var optionknowlege = null;
  768. app.title = '知识库撰写量';
  769. myChartknowlege.showLoading({  
  770. text: '数据加载中...',
  771. color: '#c23531',
  772. textColor: '#fff',
  773. maskColor: 'rgba(255,255,255,0)',
  774. zlevel: 0
  775. });
  776. myChartknowlege.hideLoading();
  777. optionknowlege = {
  778. title: {
  779. "text": 0,
  780. subtext: '知识库总数',
  781. itemGap: 3,
  782. "x": '48%',
  783. "y": '35%',
  784. textAlign: "center",
  785. "textStyle": {
  786. "fontWeight": 'normal',
  787. "fontSize": 18,
  788. "color": '#005395',
  789. },
  790. "subtextStyle": {
  791. "fontWeight": 'normal',
  792. "fontSize": 12,
  793. "color": '#333',
  794. "lineHeight": 14
  795. },
  796. },
  797. tooltip: {
  798. // show: false,
  799. trigger: 'item',
  800. formatter: function(a) {
  801. // console.log(a)
  802. return (
  803. a['data']['name'] + ":" + a['data']['value']
  804. )
  805. },
  806. position: ['50%', '30%']
  807. },
  808. grid: {
  809. left: 10,
  810. top: 0,
  811. bottom: 0,
  812. right: 10,
  813. containLabel: true
  814. },
  815. legend: {
  816. show: true,
  817. orient: 'vertical',
  818. x: 'center',
  819. // y: 'bottom',
  820. bottom: 40,
  821. itemWidth: 14,
  822. itemHeight: 14,
  823. // shadowOffsetX: 20,
  824. textStyle: {
  825. fontSize: '14',
  826. fontWeight: 'normal',
  827. color: '#666',
  828. },
  829. data: ['我撰写', '其他人撰写'],
  830. formatter: function(name) {
  831. var oa = optionknowlege.series[0].data;
  832. var num = parseInt(oa[0].value) + parseInt(oa[1].value) + parseInt(oa[2].value);
  833. for (var i = 0; i < optionknowlege.series[0].data.length; i++) {
  834. if (name == oa[i].name) {
  835. return ' ' + name + ' ' + oa[i].value + ' ' + oa[i].percent + '%';
  836. }
  837. }
  838. }
  839. },
  840. "color": ["#005395", "#79a3c4", "transparent", "transparent"],
  841. "startAngle": 180,
  842. series: [{
  843. name: '',
  844. type: 'pie',
  845. radius: ['60%', '80%'],
  846. avoidLabelOverlap: false,
  847. startAngle: 180,
  848. center: ["50%", "50%"],
  849. label: {
  850. normal: {
  851. show: false,
  852. position: 'inner',
  853. textStyle: {
  854. color: '#fff',
  855. fontSize: 12
  856. },
  857. // formatter: function(params) {
  858. // if (params.value > 0) {
  859. // return params.percent + '%'
  860. // } else {
  861. // return ''
  862. // }
  863. // }
  864. },
  865. emphasis: {
  866. show: false,
  867. textStyle: {
  868. fontSize: '12',
  869. fontWeight: 'bold'
  870. }
  871. }
  872. },
  873. labelLine: {
  874. normal: {
  875. show: false
  876. }
  877. },
  878. data: [{ value: 50, name: '我撰写' }, { value: 50, name: '其他人撰写' }, { value: 50, name: '', tooltip: { formatter: function(a) { return "" } } }, { value: 50, name: '', tooltip: { formatter: function(a) { return "" } } }]
  879. }]
  880. };
  881. // if (optionknowlege && typeof optionknowlege === "object") {
  882. // myChartknowlege.setOption(optionknowlege, true);
  883. // }
  884. function getinternetknow(data) {
  885. api_newreport.fetchDataList('getSolutionCountByMyself', data).then(function(data) {
  886. if (data.status == "200") {
  887. optionknowlege.series[0].data[0].value = data.data[0] ? data.data[0].num : 0;
  888. optionknowlege.series[0].data[0].percent = data.data[0] ? data.data[0].percent : 0
  889. if (data.data == 0) {
  890. optionknowlege.series[0].data[1].percent = 0
  891. } else {
  892. optionknowlege.series[0].data[1].percent = data.otherPercent ? data.otherPercent : 0
  893. }
  894. optionknowlege.series[0].data[1].value = data.total - (data.data[0] ? data.data[0].num : 0);
  895. optionknowlege.series[0].data[2].value = data.total / 2;
  896. optionknowlege.series[0].data[3].value = data.total / 2;
  897. optionknowlege.title.text = data.total;
  898. myChartknowlege.setOption(optionknowlege);
  899. myChartknowlege.hideLoading();
  900. } else {
  901. }
  902. })
  903. }
  904. getinternetknow({ "user": $rootScope.user.id });
  905. } else {
  906. SweetAlert.swal("用户名或者密码验证失败,请重试!", "error");
  907. }
  908. })
  909. // $scope.login_signquick(theRequest)
  910. } else {
  911. var filterDataone = {
  912. "assignee": $rootScope.user.id,
  913. "searchType": "todo",
  914. "idx": 0,
  915. "sum": 5
  916. }
  917. var filterDatatwo = {
  918. "alarmIncident": { "state": "未处理" },
  919. "idx": 0,
  920. "sum": 5
  921. }
  922. $scope.filterData = {
  923. "assignee": $rootScope.user.id,
  924. "searchType": "todo",
  925. "idx": 0,
  926. "sum": 5
  927. }
  928. $scope.nian = [(new Date()).getFullYear(), (new Date()).getFullYear() - 1, (new Date()).getFullYear() - 2, (new Date()).getFullYear() - 3, (new Date()).getFullYear() - 4, (new Date()).getFullYear() - 5, (new Date()).getFullYear() - 6, (new Date()).getFullYear() - 7, (new Date()).getFullYear() - 8, (new Date()).getFullYear() - 9, (new Date()).getFullYear() - 10, (new Date()).getFullYear() - 11, (new Date()).getFullYear() - 12, (new Date()).getFullYear() - 13, (new Date()).getFullYear() - 14, (new Date()).getFullYear() - 15, (new Date()).getFullYear() - 16, (new Date()).getFullYear() - 17, (new Date()).getFullYear() - 18, (new Date()).getFullYear() - 19];
  929. $scope.yue = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
  930. changeDivHeight();         
  931. window.onresize = function() {  changeDivHeight(); }              
  932. function  changeDivHeight() {                               
  933. var  h  =  document.documentElement.clientHeight; //获取页面可见高度  
  934. $scope.bodyheight = { "height": h + "px" };  
  935. $scope.sumline = (h - 60) * 0.45 / 34;
  936. }
  937. //角色判断
  938. for (var i = 0; i < $rootScope.user.role.length; i++) {
  939. if ($rootScope.user.role[i].rolecode == "call center") {
  940. $scope.thisuserrole = "center";
  941. break;
  942. } else if ($rootScope.user.role[i].rolecode == "admin general") {
  943. $scope.thisuserrole = "admin";
  944. break;
  945. } else if ($rootScope.user.role[i].rolecode == "3164d1ab-b733-4cb0-98bc-7d1593df3ebc") {
  946. $scope.thisuserrole = "yunwei";
  947. break;
  948. }
  949. }
  950. // angular.forEach($rootScope.user.role, function(item) {
  951. // // if (item.role == "call center") {
  952. // // } else() {
  953. // // }
  954. // })
  955. $rootScope.user.role
  956. //
  957. $scope.gowechart = function() {
  958. $state.go('app.desk.chart');
  959. }
  960. $scope.gobaojin = function() {
  961. $state.go('app.desk.jry_emergency');
  962. }
  963. $scope.goliuyan = function() {
  964. $state.go('app.desk.record');
  965. }
  966. $scope.gotonghua = function() {
  967. $state.go('app.desk.calllog');
  968. }
  969. $scope.gonewincident = function() {
  970. $state.go('app.incident.editor');
  971. }
  972. $scope.goyuqi = function() {
  973. var fildata = { searchType: "all" }
  974. $state.go('app.incident.list', { model: JSON.stringify(fildata) });
  975. window.sessionStorage.setItem('isGoyuqi','yes');
  976. }
  977. $scope.goknowledge = function() {
  978. $state.go('app.knowledge.manager');
  979. }
  980. $scope.gohuifang = function() {
  981. $state.go('app.incident.list');
  982. }
  983. $scope.gopaiban = function() {
  984. $state.go('app.scheduling.myscheduling');
  985. }
  986. //新建问题
  987. $scope.gonewproblem = function() {
  988. $state.go('app.problem.editor');
  989. }
  990. //新建变更
  991. $scope.gonewchange = function() {
  992. $state.go('app.change.editor');
  993. }
  994. //cmdb
  995. $scope.gocmdb = function() {
  996. $state.go('app.means.listd');
  997. }
  998. $scope.jingjiinform = function(row) {
  999. if (row.alarm.alarmExtension) {
  1000. row.alarm.alarmExtension = row.alarm.alarmExtension.replace('{', "");
  1001. row.alarm.alarmExtension = row.alarm.alarmExtension.replace('}', "");
  1002. row.alarm.alarmExtension = row.alarm.alarmExtension.replace(/,/g, '\n');
  1003. }
  1004. event.stopPropagation();
  1005. var modelfile = { model: row };
  1006. $state.go('app.desk.form_editor', { formKey: 'desk_emergency', service: 'api_user_data', model: JSON.stringify(modelfile) });
  1007. };
  1008. // $scope.goschedule = function(time) {
  1009. // }
  1010. //我的排班
  1011. $scope.scheevents = [];
  1012. $scope.getschedule = function(time) {
  1013. api_bpm_schedule.fetchSchedule($rootScope.user.id, time.startTime, time.endTime).then(function(response) {
  1014. if (response.status == 200) {
  1015. $scope.scheevents = [];
  1016. var myData = response.list;
  1017. angular.forEach(myData, function(item) {
  1018. var eventTemp = {};
  1019. eventTemp.title = item.description;
  1020. // eventTemp.title = item.name;
  1021. eventTemp.type = item.scheduleClass.code;
  1022. eventTemp.startsAt = moment(item['scheduleOrder'].startTime).toDate();
  1023. eventTemp.endsAtTime = moment(item['scheduleOrder'].endTime).toDate();
  1024. eventTemp.startTime = moment(item['scheduleOrder'].startTime).format('YYYY-MM-DD hh:mm')
  1025. eventTemp.endTime = moment(item['scheduleOrder'].endTime).format('YYYY-MM-DD hh:mm')
  1026. eventTemp.id = item.id;
  1027. eventTemp.deletable = false;
  1028. eventTemp.user = item.user;
  1029. $scope.scheevents.push(eventTemp);
  1030. })
  1031. $scope.scheevents = $scope.scheevents.slice(0, 5)
  1032. }
  1033. });
  1034. }
  1035. $scope.getschedule({ 'time': { 'startTime': "2018-09-01 00:00:00", 'endTime': "2018-09-30 23:59:59" } });
  1036. //去处理
  1037. $scope.gotuclose = function(data) {
  1038. if (data.type == 1) {
  1039. $state.go('app.incident.editor', { taskId: data.taskId, processInstanceId: data.procInstId,dataId: data.id });
  1040. } else if (data.type == 2) {
  1041. $state.go('app.change.editor', { taskId: data.taskId, processInstanceId: data.procInstId });
  1042. } else if (data.type == 3) {
  1043. $state.go('app.problem.editor', { taskId: data.taskId, processInstanceId: data.procInstId });
  1044. } else if (data.type == 4) {
  1045. $state.go('app.means.applyediter', { taskId: data.taskId, processInstanceId: data.procInstId });
  1046. }
  1047. }
  1048. //消息通知
  1049. // api_user_data.fetchDataList('user', { "idx": 0, "sum": 10 }).then(function(response) {
  1050. // if (response) {
  1051. // if (response.status = 200) {
  1052. // $scope.userlist = response.list;
  1053. // }
  1054. // }
  1055. // })
  1056. $scope.message_yes = function(type) { //已读0
  1057. var fildata = { "idx": 0, "sum": 5, "messageStation": { "readStatus": 1, "userId": $rootScope.user.id } };
  1058. api_msg.msgDataList(fildata).then(function(data) {
  1059. if (data.status == 200) {
  1060. api_user_data.fetchDataList('user', { "idx": 0, "sum": 1000 }).then(function(response) {
  1061. if (response) {
  1062. $scope.xiaoxilist = data.list;
  1063. angular.forEach(data.list, function(item, index) {
  1064. angular.forEach(response.list, function(itemone) {
  1065. if (item.userId == itemone.id) {
  1066. $scope.xiaoxilist[index].user = itemone;
  1067. }
  1068. })
  1069. })
  1070. }
  1071. })
  1072. } else {}
  1073. })
  1074. };
  1075. $scope.message_yes();
  1076. //代办事项
  1077. function getincidentlist(fildata) {
  1078. api_statistic.getTask($rootScope.user.id, $scope.filterData.idx, 5).then(function(data) {
  1079. if (data) {
  1080. // var myData = Restangular.stripRestangular(data);
  1081. // var list = [];
  1082. $scope.totalPage = Math.ceil(data.sum / 5);
  1083. // $scope.myData = myData.data;
  1084. // for (var i = 0; i < $scope.myData.length; i++) {
  1085. // $scope.myData[i]['item'] = i + 1 + filterData.idx * filterData.sum
  1086. // }
  1087. if ($scope.totalPage <= 1) {
  1088. $scope.gaoliangright = true;
  1089. }
  1090. $scope.incidentlist = data.task;
  1091. angular.forEach($scope.incidentlist, function(item) {
  1092. if (item.type == 1) {
  1093. item.tolabelname = "事件工单"
  1094. } else if (item.type == 2) {
  1095. item.tolabelname = "变更工单"
  1096. } else if (item.type == 3) {
  1097. item.tolabelname = "问题工单"
  1098. } else if (item.type == 4) {
  1099. item.tolabelname = "资产审核"
  1100. }
  1101. })
  1102. // $scope.tableParams = new ngTableParams({
  1103. // page: 1, // show first page
  1104. // count: 5 // count per page
  1105. // }, {
  1106. // total: $scope.incidentlist.length, // length of data
  1107. // getData: function($defer, params) {
  1108. // $defer.resolve($scope.incidentlist.slice((params.page() - 1) * params.count(), params.page() * params.count()));
  1109. // }
  1110. // });
  1111. } else {
  1112. SweetAlert.swal({
  1113. title: "系统错误",
  1114. text: "请稍后再试!",
  1115. type: "error"
  1116. });
  1117. }
  1118. }, function() {});
  1119. }
  1120. getincidentlist(filterDataone, )
  1121. //翻页
  1122. $scope.parselist = function() {
  1123. if ($scope.gaoliangleft == false) {
  1124. $scope.incidentlist = [];
  1125. $scope.filterData.idx = $scope.filterData.idx - 1;
  1126. if ($scope.filterData.idx == 0) {
  1127. $scope.gaoliangleft = true;
  1128. }
  1129. $scope.gaoliangright = false;
  1130. getincidentlist($scope.filterData)
  1131. }
  1132. }
  1133. $scope.nextlist = function() {
  1134. if ($scope.gaoliangright == false) {
  1135. $scope.incidentlist = [];
  1136. $scope.filterData.idx = $scope.filterData.idx + 1;
  1137. if ($scope.filterData.idx == $scope.totalPage - 1) {
  1138. $scope.gaoliangright = true;
  1139. }
  1140. $scope.gaoliangleft = false;
  1141. getincidentlist($scope.filterData)
  1142. }
  1143. }
  1144. //告警列表
  1145. api_bpm_data.fetchDataList("alarmIncident", filterDatatwo, 'alarmIncident').then(function(data) {
  1146. $scope.myDataalarmincident = data.list;
  1147. }, function() {
  1148. });
  1149. //start事件月统计图
  1150. var domfault = document.getElementById("fault");
  1151. var myChartfault = echarts.init(domfault);
  1152. var app = {};
  1153. var optionfault = null;
  1154. app.title = '当月事件工单处理TOP5';
  1155. var XData = [];
  1156. var yData = [];
  1157. // XData.map(function() {
  1158. // yData.push((Math.random() * 1000 + 100).toFixed(0))
  1159. // })
  1160. // var dataMin=parseInt(Math.min.apply(null, yData)/2);
  1161. myChartfault.showLoading({  
  1162. text: '数据加载中...',
  1163. color: '#c23531',
  1164. textColor: '#fff',
  1165. maskColor: 'rgba(255,255,255,0)',
  1166. zlevel: 0
  1167. });
  1168. myChartfault.hideLoading();
  1169. optionfault = {
  1170. title: {
  1171. // text: '(件)故障数量',
  1172. x: '10',
  1173. y: '0',
  1174. textStyle: {
  1175. fontWeight: 'normal',
  1176. fontSize: 12,
  1177. color: "#56c9ff",
  1178. }
  1179. },
  1180. xAxis: {
  1181. axisTick: {
  1182. show: false
  1183. },
  1184. splitLine: {
  1185. show: false,
  1186. },
  1187. splitArea: {
  1188. show: false
  1189. },
  1190. // data: XData,
  1191. data: ['', '', '', '', ''],
  1192. axisLine: {
  1193. lineStyle: {
  1194. color: '#ddd'
  1195. }
  1196. },
  1197. axisLabel: {
  1198. textStyle: {
  1199. color: '#999999',
  1200. fontSize: 12,
  1201. }
  1202. },
  1203. },
  1204. yAxis: {
  1205. axisTick: {
  1206. show: false
  1207. },
  1208. splitLine: {
  1209. show: true,
  1210. lineStyle: {
  1211. type: 'dashed',
  1212. color: '#eee'
  1213. }
  1214. },
  1215. splitArea: {
  1216. show: false
  1217. },
  1218. axisLabel: {
  1219. show: true,
  1220. textStyle: {
  1221. color: '#999999',
  1222. fontSize: 12,
  1223. }
  1224. },
  1225. axisLine: {
  1226. show: false,
  1227. lineStyle: {
  1228. color: '#4d4d4d'
  1229. }
  1230. }
  1231. },
  1232. grid: {
  1233. left: 10,
  1234. top: 25,
  1235. bottom: 0,
  1236. right: 10,
  1237. containLabel: true
  1238. },
  1239. "tooltip": {
  1240. "trigger": "item",
  1241. "textStyle": {
  1242. "fontSize": 12
  1243. },
  1244. "formatter": "{b0}:{c0}"
  1245. },
  1246. series: {
  1247. type: "bar",
  1248. itemStyle: {
  1249. normal: {
  1250. color: function(params) {
  1251. // type = 'linear';
  1252. var colorList = [
  1253. '#204266', '#1b3651', '#00437a', '#005395', '#79a3c4'
  1254. ];
  1255. return colorList[params.dataIndex]
  1256. },
  1257. }
  1258. },
  1259. label: {
  1260. normal: {
  1261. show: true,
  1262. position: 'top',
  1263. textStyle: {
  1264. // color: '#56c9ff'
  1265. }
  1266. }
  1267. },
  1268. barWidth: 18,
  1269. // barWidth: '30%',
  1270. // data: yData
  1271. data: [0, 0, 0, 0, 0]
  1272. }
  1273. };
  1274. // if (optionfault && typeof optionfault === "object") {
  1275. // myChartfault.setOption(optionfault, true);
  1276. // }
  1277. function getinternettop5(data) {
  1278. api_newreport.fetchDataList('handlePersonResolve', data).then(function(data) {
  1279. if (data.status == 200) {
  1280. var xaxisdata = [];
  1281. if (data.data.length > 0) {
  1282. for (var i = 0; i < 5 && i < data.data.length; i++) {
  1283. xaxisdata.push(data.data[i].name);
  1284. }
  1285. for (var i = 0; i < data.data.length; i++) {
  1286. if (data.data[i].name == $rootScope.user.name) {
  1287. $scope.paiming = i + 1;
  1288. break
  1289. } else {
  1290. $scope.paiming = "(暂无)";
  1291. }
  1292. }
  1293. } else {
  1294. $scope.paiming = "(暂无)";
  1295. }
  1296. // angular.forEach(data.data, function(item, index) {
  1297. // if (item.name == $rootScope.user.name) {
  1298. // $scope.paiming = I
  1299. // }
  1300. // })
  1301. optionfault.xAxis.data = xaxisdata;
  1302. optionfault.series.data[0] = parseInt(data.data[0] ? data.data[0].num : 0);
  1303. optionfault.series.data[1] = parseInt(data.data[1] ? data.data[1].num : 0);
  1304. optionfault.series.data[2] = parseInt(data.data[2] ? data.data[2].num : 0);
  1305. optionfault.series.data[3] = parseInt(data.data[3] ? data.data[3].num : 0);
  1306. optionfault.series.data[4] = parseInt(data.data[4] ? data.data[4].num : 0);
  1307. myChartfault.setOption(optionfault);
  1308. myChartfault.hideLoading();
  1309. }
  1310. })
  1311. }
  1312. $scope.maxtoptime = true;
  1313. getinternettop5({ "paramDateFrom": moment(new Date()).startOf('month').format('YYYY-MM-DD 00:00:00'), "paramDateTo": moment(new Date()).endOf('month').format('YYYY-MM-DD 23:59:59') });
  1314. var loginUser = $rootScope.user;
  1315. var date = new Date();
  1316. var d = date.getDate();
  1317. var m = date.getMonth();
  1318. var y = date.getFullYear();
  1319. $scope.scheduleClass = {};
  1320. $scope.odr = 2;
  1321. $scope.searchstate = 2;
  1322. $scope.events = [];
  1323. $scope.calendarView = 'month';
  1324. $scope.calendarDate = moment().startOf('month').toDate();
  1325. $scope.calendarDatejiejue = moment().startOf('month').toDate();
  1326. $scope.calendarTitle;
  1327. $scope.timeLabel = "时间";
  1328. $scope.eventLabel = "描述";
  1329. $scope.moment = function(string) {
  1330. return moment(string);
  1331. }
  1332. $scope.eventClicked = function(event) {
  1333. // console.log("event="+JSON.stringify(event))
  1334. showModal('Clicked', event);
  1335. };
  1336. $scope.eventEdited = function(event) {
  1337. showModal('Edited', event);
  1338. };
  1339. var updateViews = function(newvalue, oldvalue) {
  1340. // if (newvalue.getMonth() > (new Date()).getMonth()) {
  1341. // $scope.maxtoptime = true;
  1342. // $scope.calendarDate = oldvalue;
  1343. // } else {
  1344. if (oldvalue == newvalue) return;
  1345. $scope.maxtoptime = false;
  1346. var timeStart, timeEnd, timeStartSpan, timeEndSpan;
  1347. timeStart = moment(newvalue).startOf('month');
  1348. timeEnd = moment(newvalue).endOf('month');
  1349. timeStartSpan = timeStart.format('YYYY-MM-DD 00:00:00');
  1350. timeEndSpan = timeEnd.format('YYYY-MM-DD 23:59:59');
  1351. $scope.thisdatatop5 = moment(newvalue).startOf('month').format('YYYY年MM月');
  1352. $scope.thismonthtop5 = newvalue.getMonth() + 1;
  1353. $scope.thisyertop5 = newvalue.getFullYear();
  1354. // if (newvalue.getMonth() == (new Date()).getMonth()) {
  1355. // $scope.maxtoptime = true;
  1356. // } else {
  1357. // $scope.maxtoptime = false;
  1358. // }
  1359. getinternettop5({ "paramDateFrom": timeStartSpan, "paramDateTo": timeEndSpan });
  1360. // }
  1361. }
  1362. $scope.$watch('calendarDate', updateViews);
  1363. $scope.changeyear = function(yeardata) {
  1364. $scope.calendarDate = new Date((new Date($scope.calendarDate)).setYear(yeardata));
  1365. }
  1366. $scope.changemonth = function(monthdata) {
  1367. $scope.calendarDate = new Date((new Date($scope.calendarDate)).setMonth(monthdata - 1));
  1368. }
  1369. $scope.next = function() {
  1370. $scope.getmonth = 'nextmonth';
  1371. $scope.calendarControl.next();
  1372. }
  1373. $scope.prev = function() {
  1374. $scope.calendarControl.prev();
  1375. }
  1376. $scope.setCalendarToToday = function() {
  1377. $scope.calendarDay = new Date();
  1378. };
  1379. $scope.toggle = function($event, field, event) {
  1380. $event.preventDefault();
  1381. $event.stopPropagation();
  1382. event[field] = !event[field];
  1383. };
  1384. // $scope.nexttop5 = function() {
  1385. // $state.go('app.desk.chart');
  1386. // }
  1387. // setInterval(function() {
  1388. // getinternettop5({ "paramDateFrom": "2018-09-01 00:00:00", "paramDateTo": "2018-09-30 23:59:59" });
  1389. // }, 10000);
  1390. //end事件月统计图
  1391. //当月工单解决率
  1392. var domfinish = document.getElementById("finish");
  1393. var myChartfinish = echarts.init(domfinish);
  1394. var app = {};
  1395. var optionfinish = null;
  1396. app.title = '当月工单解决率';
  1397. myChartfinish.showLoading({  
  1398. text: '数据加载中...',
  1399. color: '#c23531',
  1400. textColor: '#fff',
  1401. maskColor: 'rgba(255,255,255,0)',
  1402. zlevel: 0
  1403. });
  1404. myChartfinish.hideLoading();
  1405. optionfinish = {
  1406. title: {
  1407. "text": 0,
  1408. subtext: '事件总数',
  1409. itemGap: 3,
  1410. "x": '48%',
  1411. "y": '35%',
  1412. textAlign: "center",
  1413. "textStyle": {
  1414. "fontWeight": 'normal',
  1415. "fontSize": 18,
  1416. "color": '#005395',
  1417. },
  1418. "subtextStyle": {
  1419. "fontWeight": 'normal',
  1420. "fontSize": 12,
  1421. "color": '#333',
  1422. "lineHeight": 14
  1423. },
  1424. },
  1425. tooltip: {
  1426. // show: false,
  1427. trigger: 'item',
  1428. formatter: function(a) {
  1429. // console.log(a)
  1430. return (
  1431. a['data']['name'] + ":" + a['data']['value']
  1432. )
  1433. },
  1434. position: ['50%', '30%']
  1435. },
  1436. grid: {
  1437. left: 10,
  1438. top: 0,
  1439. bottom: 0,
  1440. right: 10,
  1441. containLabel: true
  1442. },
  1443. legend: {
  1444. show: true,
  1445. orient: 'vertical',
  1446. x: 'center',
  1447. // y: 'bottom',
  1448. bottom: 40,
  1449. itemWidth: 14,
  1450. itemHeight: 14,
  1451. // shadowOffsetX: 20,
  1452. textStyle: {
  1453. fontSize: '14',
  1454. fontWeight: 'normal',
  1455. color: '#666',
  1456. },
  1457. data: ['按时解决', '逾期解决'],
  1458. formatter: function(name) {
  1459. var oa = optionfinish.series[0].data;
  1460. var num = oa[0].value + oa[1].value + oa[2].value;
  1461. for (var i = 0; i < optionfinish.series[0].data.length; i++) {
  1462. if (name == oa[i].name) {
  1463. return ' ' + name + ' ' + oa[i].value + ' ' + oa[i].percent + '%';
  1464. }
  1465. }
  1466. }
  1467. },
  1468. "color": ["#79a3c4", "#005395", "transparent", "transparent"],
  1469. "startAngle": 180,
  1470. series: [{
  1471. name: '',
  1472. type: 'pie',
  1473. radius: ['60%', '80%'],
  1474. avoidLabelOverlap: false,
  1475. startAngle: 180,
  1476. center: ["50%", "50%"],
  1477. //stillShowZeroSum:0,
  1478. label: {
  1479. normal: {
  1480. show: false,
  1481. position: 'inner',
  1482. textStyle: {
  1483. color: '#fff',
  1484. fontSize: 12
  1485. }
  1486. },
  1487. emphasis: {
  1488. show: false,
  1489. textStyle: {
  1490. fontSize: '12',
  1491. fontWeight: 'bold'
  1492. }
  1493. }
  1494. },
  1495. labelLine: {
  1496. normal: {
  1497. show: false
  1498. }
  1499. },
  1500. data: [{ value: 50, name: '按时解决' }, { value: 50, name: '逾期解决' }, { value: 50, name: '', tooltip: { formatter: function(a) { return "" } } }, { value: 50, name: '', tooltip: { formatter: function(a) { return "" } } }]
  1501. }]
  1502. };
  1503. // if (optionfinish && typeof optionfinish === "object") {
  1504. // myChartfinish.setOption(optionfinish, true);
  1505. // }
  1506. function getinternetAlarm(data) {
  1507. api_newreport.fetchDataList('getIncidentSolveRatio', data).then(function(data) {
  1508. if (data.code == 200) {
  1509. optionfinish.series[0].data[0].value = data.noOverdue;
  1510. optionfinish.series[0].data[0].percent = data.noOverdueRatio;
  1511. optionfinish.series[0].data[1].value = data.overdue;
  1512. optionfinish.series[0].data[1].percent = data.overdueRatio;
  1513. optionfinish.series[0].data[2].value = data.sum / 2;
  1514. optionfinish.series[0].data[3].value = data.sum / 2;
  1515. optionfinish.title.text = data.sum;
  1516. myChartfinish.setOption(optionfinish);
  1517. myChartfinish.hideLoading();
  1518. } else {
  1519. // optionfinish.series[0].data[0].value = 0;
  1520. // optionfinish.series[0].data[1].value = 0;
  1521. // optionfinish.series[0].data[2].value = 0;
  1522. // myChartfinish.setOption(optionfinish);
  1523. // myChartfinish.hideLoading();
  1524. }
  1525. })
  1526. }
  1527. getinternetAlarm({ "date": $scope.thissomedata });
  1528. var updateViewsalarm = function(newvalue, oldvalue) {
  1529. if (oldvalue == newvalue) return;
  1530. var timeStart, timeEnd, timeStartSpan, timeEndSpan;
  1531. timeStart = moment(newvalue).startOf('month');
  1532. timeEnd = moment(newvalue).endOf('month');
  1533. timeStartSpan = timeStart.format('YYYY-MM-DD 00:00:00');
  1534. timeEndSpan = timeEnd.format('YYYY-MM-DD 23:59:59');
  1535. $scope.thisdatajiejue = moment(newvalue).startOf('month').format('YYYY年MM月');
  1536. $scope.thismonthjiejue = newvalue.getMonth() + 1;
  1537. $scope.thisyerjiejue = newvalue.getFullYear();
  1538. getinternetAlarm({ "date": timeStart.format('YYYY-MM') });
  1539. }
  1540. $scope.$watch('calendarDatejiejue', updateViewsalarm)
  1541. $scope.jiejueyear = function(yeardata) {
  1542. $scope.calendarDatejiejue = new Date((new Date($scope.calendarDatejiejue)).setYear(yeardata));
  1543. }
  1544. $scope.jiejuemonth = function(monthdata) {
  1545. $scope.calendarDatejiejue = new Date((new Date($scope.calendarDatejiejue)).setMonth(monthdata - 1));
  1546. }
  1547. //知识库撰写量
  1548. var domknowlege = document.getElementById("knowlege");
  1549. var myChartknowlege = echarts.init(domknowlege);
  1550. var app = {};
  1551. var optionknowlege = null;
  1552. app.title = '知识库撰写量';
  1553. myChartknowlege.showLoading({  
  1554. text: '数据加载中...',
  1555. color: '#c23531',
  1556. textColor: '#fff',
  1557. maskColor: 'rgba(255,255,255,0)',
  1558. zlevel: 0
  1559. });
  1560. myChartknowlege.hideLoading();
  1561. optionknowlege = {
  1562. title: {
  1563. "text": 0,
  1564. subtext: '知识库总数',
  1565. itemGap: 3,
  1566. "x": '48%',
  1567. "y": '35%',
  1568. textAlign: "center",
  1569. "textStyle": {
  1570. "fontWeight": 'normal',
  1571. "fontSize": 18,
  1572. "color": '#005395',
  1573. },
  1574. "subtextStyle": {
  1575. "fontWeight": 'normal',
  1576. "fontSize": 12,
  1577. "color": '#333',
  1578. "lineHeight": 14
  1579. },
  1580. },
  1581. tooltip: {
  1582. // show: false,
  1583. trigger: 'item',
  1584. formatter: function(a) {
  1585. // console.log(a)
  1586. return (
  1587. a['data']['name'] + ":" + a['data']['value']
  1588. )
  1589. },
  1590. position: ['50%', '30%']
  1591. },
  1592. grid: {
  1593. left: 10,
  1594. top: 0,
  1595. bottom: 0,
  1596. right: 10,
  1597. containLabel: true
  1598. },
  1599. legend: {
  1600. show: true,
  1601. orient: 'vertical',
  1602. x: 'center',
  1603. // y: 'bottom',
  1604. bottom: 40,
  1605. itemWidth: 14,
  1606. itemHeight: 14,
  1607. // shadowOffsetX: 20,
  1608. textStyle: {
  1609. fontSize: '14',
  1610. fontWeight: 'normal',
  1611. color: '#666',
  1612. },
  1613. data: ['我撰写', '其他人撰写'],
  1614. formatter: function(name) {
  1615. var oa = optionknowlege.series[0].data;
  1616. var num = parseInt(oa[0].value) + parseInt(oa[1].value) + parseInt(oa[2].value);
  1617. for (var i = 0; i < optionknowlege.series[0].data.length; i++) {
  1618. if (name == oa[i].name) {
  1619. return ' ' + name + ' ' + oa[i].value + ' ' + oa[i].percent + '%';
  1620. }
  1621. }
  1622. }
  1623. },
  1624. "color": ["#005395", "#79a3c4", "transparent", "transparent"],
  1625. "startAngle": 180,
  1626. series: [{
  1627. name: '',
  1628. type: 'pie',
  1629. radius: ['60%', '80%'],
  1630. avoidLabelOverlap: false,
  1631. startAngle: 180,
  1632. center: ["50%", "50%"],
  1633. label: {
  1634. normal: {
  1635. show: false,
  1636. position: 'inner',
  1637. textStyle: {
  1638. color: '#fff',
  1639. fontSize: 12
  1640. },
  1641. // formatter: function(params) {
  1642. // if (params.value > 0) {
  1643. // return params.percent + '%'
  1644. // } else {
  1645. // return ''
  1646. // }
  1647. // }
  1648. },
  1649. emphasis: {
  1650. show: false,
  1651. textStyle: {
  1652. fontSize: '12',
  1653. fontWeight: 'bold'
  1654. }
  1655. }
  1656. },
  1657. labelLine: {
  1658. normal: {
  1659. show: false
  1660. }
  1661. },
  1662. data: [{ value: 50, name: '我撰写' }, { value: 50, name: '其他人撰写' }, { value: 50, name: '', tooltip: { formatter: function(a) { return "" } } }, { value: 50, name: '', tooltip: { formatter: function(a) { return "" } } }]
  1663. }]
  1664. };
  1665. // if (optionknowlege && typeof optionknowlege === "object") {
  1666. // myChartknowlege.setOption(optionknowlege, true);
  1667. // }
  1668. function getinternetknow(data) {
  1669. api_newreport.fetchDataList('getSolutionCountByMyself', data).then(function(data) {
  1670. if (data.status == "200") {
  1671. optionknowlege.series[0].data[0].value = data.data[0] ? data.data[0].num : 0;
  1672. optionknowlege.series[0].data[0].percent = data.data[0] ? data.data[0].percent : 0
  1673. if (data.data == 0) {
  1674. optionknowlege.series[0].data[1].percent = 0
  1675. } else {
  1676. optionknowlege.series[0].data[1].percent = data.otherPercent ? data.otherPercent : 0
  1677. }
  1678. optionknowlege.series[0].data[1].value = data.total - (data.data[0] ? data.data[0].num : 0);
  1679. optionknowlege.series[0].data[2].value = data.total / 2;
  1680. optionknowlege.series[0].data[3].value = data.total / 2;
  1681. optionknowlege.title.text = data.total;
  1682. myChartknowlege.setOption(optionknowlege);
  1683. myChartknowlege.hideLoading();
  1684. } else {
  1685. }
  1686. })
  1687. }
  1688. getinternetknow({ "user": $rootScope.user.id });
  1689. }
  1690. // setInterval(function() {
  1691. // getinternetknow({ "user": 23 });
  1692. // }, 10000);
  1693. // 当前登录用户
  1694. console.log($rootScope.user);
  1695. // 判断首页统计页面是否显示
  1696. if($rootScope.user.role.length){
  1697. $scope.isShowTj = $rootScope.user.role.some(function(v){
  1698. return v.rolecode === "incident-category-manager" || v.rolecode === "incident manager";
  1699. })
  1700. }else{
  1701. $scope.isShowTj = false;
  1702. }
  1703. // 首页统计数据(新)
  1704. $scope.managerIndexInfo = {};
  1705. $scope.getDataIndex = function(){
  1706. // 获取今日上下班情况
  1707. api_bpm_data.getManagerIndexInfo({}).then(function(result) {
  1708. $scope.managerIndexInfo = result.data;
  1709. });
  1710. // 当日工单情况
  1711. // api_event_form.fetchZhtjList({
  1712. // "startTime": moment(new Date()).format('YYYY-MM-DD'),
  1713. // "endTime": moment(new Date()).format('YYYY-MM-DD'),
  1714. // "sortData": 'total',
  1715. // "sortType": 'desc'
  1716. // }).then(function(result) {
  1717. // $scope.fetchZhtjList = result.title;
  1718. // });
  1719. // 当日请求微信web
  1720. api_event_form.fetchWebList({
  1721. "startTime": moment(new Date()).format('YYYY-MM-DD'),
  1722. "endTime": moment(new Date()).format('YYYY-MM-DD'),
  1723. "sortData": 'total',
  1724. "sortType": 'desc'
  1725. }).then(function(result) {
  1726. $scope.fetchWebList = result.title;
  1727. });
  1728. // 当日请求电话
  1729. api_event_form.fetchDhtjList({
  1730. "startTime": moment(new Date()).format('YYYY-MM-DD'),
  1731. "endTime": moment(new Date()).format('YYYY-MM-DD'),
  1732. "sortData": 'total',
  1733. "sortType": 'desc'
  1734. }).then(function(result) {
  1735. $scope.fetchDhtjList = result.title;
  1736. });
  1737. }
  1738. $scope.getDataIndex();
  1739. // 跳转
  1740. $scope.goTo = function(url,data){
  1741. $state.go(url,data);
  1742. }
  1743. }
  1744. ]);