index-leader1.js 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529
  1. 'use strict';
  2. var app = angular.module('app', [
  3. 'angularUtils.directives.dirPagination',
  4. ]);
  5. app.controller("indexCtrl", ["$scope", "$http", "$interval", function ($scope, $http, $interval) {
  6. var self = this;
  7. self.userId = $.cookie("GlWorkPlatform-userid");
  8. self.userName = $.cookie("GlWorkPlatform-chineseName");
  9. self.get_AccessToken = localStorage.getItem("GlWorkPlatform-AccessToken");
  10. var postCfg = {
  11. headers: {
  12. 'Content-Type': 'application/json',
  13. 'Authorization': "Bearer " + self.get_AccessToken
  14. }
  15. };
  16. self.getQXbtn = function () {
  17. var data = {
  18. userid: self.userId,
  19. ntops: 10
  20. };
  21. $http.post(apiurljs.login + "g2work/desktop/queryWorkflowCando", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  22. .success(function (obj) {
  23. var res = strToJson(s4.decryptData_CBC(obj.data));
  24. self.qxBtn = res.data;
  25. $.each(self.qxBtn, function (index, item) {
  26. item.FILEN = item.FILEN + "&dotype=1"
  27. })
  28. })
  29. }
  30. self.getQXbtn()
  31. self.openSwen = function (item) {
  32. window.parent.sp.addTabNav(item.FLOWID, item.FLOWNAME, item.FILEN)
  33. }
  34. self.dbList = [];
  35. self.Activedb = "全部";
  36. self.dbTitleList = [];
  37. self.getdbList = function (n) {
  38. var data = {
  39. userid: self.userId,
  40. ntops: 0
  41. };
  42. $http.post(apiurljs.login + "g2work/desktop/queryDataTodo", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  43. .success(function (obj) {
  44. var res = strToJson(s4.decryptData_CBC(obj.data));
  45. if (n == 0) {
  46. self.dbTitleList = [];
  47. self.dbList = [];
  48. self.dbDataList = res.data;
  49. self.dbItemList = { "width": (res.data.length + 4) * ($(".dbItem1").width() / 6 - 10), "height": "120px" }
  50. self.dbTitleList.push(self.Activedb);
  51. $.each(self.dbDataList, function (index, item) {
  52. if (self.dbTitleList.indexOf(item.FLOWNAME) == -1) {
  53. self.dbTitleList.push(item.FLOWNAME)
  54. }
  55. if (item.REMARKS.length == 3) {
  56. item.REMARKS = null;
  57. }
  58. item.day = self.getDay(item.RECEIVEDATE);
  59. item.MD = sp.datefmt("MM-dd", item.RECEIVEDATE);
  60. item.HM = sp.datefmt("HH:mm", item.RECEIVEDATE);
  61. item.USERNAMEFROM1 = "转自:" + item.USERNAMEFROM;
  62. item.width = { "width": $(".dbItem1").width() / 6 - 10 };
  63. item.FILEN = item.FILEN + "&dotype=1";
  64. self.dbList.push(item);
  65. })
  66. //$interval(function () {
  67. // self.getdbList(1)
  68. //}, 5000)
  69. } else {
  70. if (self.dbDataList.length == res.data.length) {
  71. return;
  72. } else {
  73. self.dbItemList = { "width": (res.data.length + 4) * ($(".dbItem1").width() / 6 - 10), "height": "120px" }
  74. var newDate = res.data.concat();
  75. for (var i = res.data.length - 1; i >= 0; i--) {
  76. $.each(self.dbDataList, function (index, item) {
  77. if (res.data[i].ROUTEINFOID == item.ROUTEINFOID) {
  78. newDate.splice(i, 1)
  79. }
  80. })
  81. }
  82. $.each(newDate, function (index, item) {
  83. if (self.dbTitleList.indexOf(item.FLOWNAME) == -1) {
  84. self.dbTitleList.push(item.FLOWNAME)
  85. }
  86. self.dbDataList.unshift(item);
  87. if (item.FLOWNAME == self.Activedb || self.Activedb == "全部") {
  88. if (item.REMARKS.length == 3) {
  89. item.REMARKS = null;
  90. }
  91. item.day = self.getDay(item.RECEIVEDATE);
  92. item.MD = sp.datefmt("MM-dd", item.RECEIVEDATE);
  93. item.HM = sp.datefmt("HH:mm", item.RECEIVEDATE);
  94. item.USERNAMEFROM1 = "转自:" + item.USERNAMEFROM;
  95. item.width = { "width": $(".dbItem1").width() / 6 - 10 };
  96. item.FILEN = item.FILEN + "&dotype=1"
  97. self.dbList.unshift(item);
  98. }
  99. })
  100. }
  101. }
  102. })
  103. }
  104. self.getDay = function (str) {
  105. var a = getDate(new Date());
  106. var b = getDate(new Date(str));
  107. var c = parseInt((a - b) / 86400000);
  108. return c < 0 || c > 2 ? 3 : c;
  109. }
  110. self.getdbList(0)
  111. self.dbItemNo = 0;//待办事项向左平移n个按钮
  112. self.dbpageWidth = 0;//待办事项向左平移距离
  113. self.dbpageLeft = function () {
  114. if (self.dbItemNo > 0 && self.dbList.length > 6) {
  115. self.dbpageWidth = self.dbpageWidth + $(".dbItem").eq(self.dbItemNo - 1).outerWidth(true) * 6;
  116. $(".dbItem1").children().first().css("margin-left", (self.dbpageWidth > 0 ? 0 : self.dbpageWidth));
  117. self.dbItemNo = self.dbItemNo - 6;
  118. } else {
  119. return;
  120. }
  121. }
  122. self.dbpageRight = function () {
  123. if (self.dbItemNo < $(".dbItem").length - 6 && self.dbList.length > 6) {
  124. self.dbpageWidth = self.dbpageWidth - $(".dbItem").eq(self.dbItemNo).outerWidth(true) * 6;
  125. $(".dbItem1").children().first().css("margin-left", self.dbpageWidth);
  126. self.dbItemNo = self.dbItemNo + 6;
  127. } else {
  128. return;
  129. }
  130. }
  131. self.resetdb = function (str) {
  132. self.dbList = [];
  133. self.Activedb = str;
  134. self.dbItemNo = 0;
  135. self.dbpageWidth = 0;
  136. $(".dbItem1").children().first().css("margin-left", 0);
  137. $.each(self.dbDataList, function (index, item) {
  138. if (item.FLOWNAME == self.Activedb || self.Activedb == "全部") {
  139. self.dbList.push(item);
  140. }
  141. })
  142. }
  143. self.ldrcNo = 0;//领导日程向左平移n个按钮
  144. self.ldrcWidth = 0;//领导日程向左平移距离
  145. self.ldrcLeft = function () {
  146. if (self.ldrcNo > 0) {
  147. self.dbpageWidth = self.dbpageWidth + $(".ldrcItem").eq(self.ldrcNo - 1).outerWidth(true);
  148. $(".ldrcItem").parent().css("margin-left", (self.dbpageWidth > 0 ? 0 : self.dbpageWidth));
  149. self.ldrcNo = self.ldrcNo - 1;
  150. } else {
  151. return;
  152. }
  153. }
  154. self.ldrcRight = function () {
  155. if (self.ldrcNo < $(".ldrcItem").length - 1) {
  156. self.dbpageWidth = self.dbpageWidth - $(".ldrcItem").eq(self.ldrcNo).outerWidth(true);
  157. $(".ldrcItem").parent().css("margin-left", self.dbpageWidth);
  158. self.ldrcNo = self.ldrcNo + 1;
  159. }
  160. }
  161. self.grrcNo = 0;//个人日程向左平移n个按钮
  162. self.grrcWidth = 0;//个人日程向左平移距离
  163. self.grrcLeft = function () {
  164. if (self.grrcNo > 0) {
  165. self.dbpageWidth = self.dbpageWidth + $(".grrcItem").eq(self.grrcNo - 1).outerWidth(true);
  166. $(".grrcItem").parent().css("margin-left", (self.dbpageWidth > 0 ? 0 : self.dbpageWidth));
  167. self.grrcNo = self.grrcNo - 1;
  168. } else {
  169. return;
  170. }
  171. }
  172. self.grrcRight = function () {
  173. if (self.grrcNo < $(".grrcItem").length - 1) {
  174. self.dbpageWidth = self.dbpageWidth - $(".grrcItem").eq(self.grrcNo).outerWidth(true);
  175. $(".grrcItem").parent().css("margin-left", self.dbpageWidth);
  176. self.grrcNo = self.grrcNo + 1;
  177. }
  178. }
  179. //承办件、会议件、接待件
  180. self.active_item = 1;
  181. self.getActiveItem = function (n) {
  182. var url = "";
  183. self.active_item = n;
  184. if (n == 1) {
  185. url = "g2app/shouwen/queryDeskChengbanData"
  186. } else if (n == 2) {
  187. url = "g2app/shouwen/queryDeskMeetingData"
  188. } else {
  189. url = "g2app/shouwen/queryDeskJiedaiData"
  190. }
  191. var data = {
  192. "userid": self.userId,
  193. "ntops": 6
  194. }
  195. $http.post(apiurljs.login + url, { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  196. .success(function (obj) {
  197. var res = strToJson(s4.decryptData_CBC(obj.data));
  198. self.events = res.data;
  199. $.each(self.events, function (index, item) {
  200. if (item.TITLE.length > 36) {
  201. item.TITLE1 = item.TITLE.slice(0, 36) + "...";
  202. } else {
  203. item.TITLE1 = item.TITLE
  204. }
  205. item.FILEN = item.FILEN + "&dotype=1&lastReturnPage=tpl/index/list.html";
  206. })
  207. })
  208. }
  209. self.getActiveItem(self.active_item)
  210. self.openEvents = function (item) {
  211. window.parent.sp.addTabNav('FZYBSX', '已办事项', item.FILEN)
  212. }
  213. //共享文件
  214. self.getGXWJ = function () {
  215. $http.post(apiurljs.login + "g2app/share/queryDeskNum", { data: s4.encryptData_CBC("") }, postCfg)
  216. .success(function (obj) {
  217. var res = strToJson(s4.decryptData_CBC(obj.data));
  218. self.gxwjList = res.data;
  219. })
  220. }
  221. self.getGXWJ();
  222. //跳转共享文件
  223. self.hrefGXWJ = function (item) {
  224. window.parent.sp.addTabNav('FZC03', '共享文件', "tpl/fileshare/fileList.html?CODE=" + item.CODE)
  225. }
  226. //日程
  227. self.select_year = ''
  228. self.select_month = ''
  229. self.active_day = ''
  230. self.week = ''
  231. //初始化显示 当前年和月
  232. self.show_now = function () {
  233. var now = new Date();
  234. self.select_year = now.getFullYear();
  235. self.select_month = now.getMonth() + 1;
  236. self.active_day = now.getDate();
  237. self.getWeek(self.select_year, self.select_month, self.active_day)
  238. }
  239. self.getWeek = function (year, month, day) {
  240. var data = {
  241. STRATDATE: year + "-" + formate(month) + "-" + formate(day),
  242. USERID: $.cookie("GlWorkPlatform-username"),
  243. ORDER: "STARTIME"
  244. }
  245. $http.post(apiurljs.login + "g2app/deskcalendar/deskQueryDayData", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  246. .success(function (obj) {
  247. var res = strToJson(s4.decryptData_CBC(obj.data));
  248. self.leaderList = res.data.LeaderItems;
  249. self.personalList = res.data.Items[0] ? res.data.Items[0].task : [];
  250. self.leaderList.forEach(function (item) {
  251. item.duration = sp.datefmt("HH:mm", item.STARTIME) + "—" + sp.datefmt("HH:mm", item.ENDTIME);
  252. //item.duration = item.STARTIME + "—" + item.ENDTIME;
  253. })
  254. self.personalList.forEach(function (item) {
  255. item.duration = sp.datefmt("HH:mm", item.STARTIME) + "—" + sp.datefmt("HH:mm", item.ENDTIME);
  256. //item.duration = item.STARTIME + "—" + item.ENDTIME;
  257. })
  258. })
  259. self.getZHIBAN();
  260. switch (new Date(year, month - 1, day).getDay()) {
  261. case 0: self.week = "星期日"; break;
  262. case 1: self.week = "星期一"; break;
  263. case 2: self.week = "星期二"; break;
  264. case 3: self.week = "星期三"; break;
  265. case 4: self.week = "星期四"; break;
  266. case 5: self.week = "星期五"; break;
  267. case 6: self.week = "星期六"; break;
  268. }
  269. }
  270. self.DateLeft = function () {
  271. var now = new Date(new Date(self.select_year, self.select_month - 1, self.active_day).getTime() - 86400000);
  272. self.select_year = now.getFullYear();
  273. self.select_month = now.getMonth() + 1;
  274. self.active_day = now.getDate();
  275. self.getWeek(self.select_year, self.select_month, self.active_day)
  276. }
  277. self.DateRight = function () {
  278. var now = new Date(new Date(self.select_year, self.select_month - 1, self.active_day).getTime() + 86400000);
  279. self.select_year = now.getFullYear();
  280. self.select_month = now.getMonth() + 1;
  281. self.active_day = now.getDate();
  282. self.getWeek(self.select_year, self.select_month, self.active_day)
  283. }
  284. //值班
  285. self.getZHIBAN = function () {
  286. var data = {
  287. date: self.select_year + "-" + formate(self.select_month) + "-" + formate(self.active_day)
  288. }
  289. $http.post(apiurljs.login + "g2app/zhiban/queryDeskData", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  290. .success(function (obj) {
  291. var res = strToJson(s4.decryptData_CBC(obj.data));
  292. self.zbMessage = res.data;
  293. self.zbMessage.forEach(function (item) {
  294. item.ry = [item.ry1, item.ry2, item.ry3, item.ry4, item.ry5, item.ry6, item.ry7, item.ry8].filter(function (item) {
  295. return item != ""
  296. }).join(",")
  297. })
  298. self.zbNo = 0;
  299. self.zbWidth = 0;
  300. $(".zbItem").parent().css("margin-left", 0);
  301. })
  302. }
  303. self.zbNo = 0;//值班向左平移n个按钮
  304. self.zbWidth = 0;//值班向左平移距离
  305. self.zbLeft = function () {
  306. if (self.zbNo > 0) {
  307. self.zbWidth = self.zbWidth + $(".zbItem").eq(self.zbNo - 1).outerWidth(true);
  308. $(".zbItem").parent().css("margin-left", (self.zbWidth > 0 ? 0 : self.zbWidth));
  309. self.zbNo = self.zbNo - 1;
  310. } else {
  311. return;
  312. }
  313. }
  314. self.zbRight = function () {
  315. if (self.zbNo < $(".zbItem").length - 1) {
  316. self.zbWidth = self.zbWidth - $(".zbItem").eq(self.zbNo).outerWidth(true);
  317. $(".zbItem").parent().css("margin-left", self.zbWidth);
  318. self.zbNo = self.zbNo + 1;
  319. }
  320. }
  321. self.openSwen = function (item) {
  322. window.parent.sp.addTabNav(item.FLOWID, item.FLOWNAME, item.FILEN)
  323. }
  324. self.openHref = function (item) {
  325. window.parent.sp.addTabNav(item.PKID, item.CNAME, item.FILEN)
  326. }
  327. self.getZDXM = function () {
  328. var data = {
  329. jztop: 6
  330. }
  331. $http.post(apiurljs.login + "g2app/duchaduban/queryDeskNum", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  332. .success(function (obj) {
  333. var res = strToJson(s4.decryptData_CBC(obj.data));
  334. self.ZDXM = res.data.ZDXM.ZDXMNUM + "个";
  335. self.NDTZ = parseFloat(res.data.ZDXM.NDTZ) / 10000 < 1 ? parseFloat(res.data.ZDXM.NDTZ) + "万" : parseFloat(res.data.ZDXM.NDTZ) / 10000 + "亿";
  336. self.XMJZTOP = res.data.XMJZTOP;
  337. $.each(self.XMJZTOP, function (index, item) {
  338. item.width = {
  339. "width": item.TASKPRO + "%"
  340. }
  341. })
  342. var data = res.data.CHART.map(function (item) {
  343. return parseFloat(item.TOTAL)
  344. })
  345. var chart = new Highcharts.Chart({
  346. chart: {
  347. renderTo: "zdxm",
  348. type: 'bar'
  349. },
  350. title: {
  351. text: '' //图表的标题
  352. },
  353. tooltip: {
  354. formatter: function () {
  355. return '<span style="font-size:10px">' + this.x + ':' + this.y + '</span>';
  356. },
  357. shared: true,
  358. useHTML: true
  359. },
  360. xAxis: {
  361. categories: ["12月", "11月", "10月", "9月", "8月", "7月", "6月", "5月", "4月", "3月", "2月", "1月", ]
  362. },
  363. yAxis: {
  364. title: {
  365. text: ''
  366. }
  367. },
  368. legend: {
  369. enabled: false
  370. },
  371. plotOptions: {
  372. series: {
  373. pointWidth: 10,
  374. turboThreshold: 0,
  375. dataLabels: {
  376. enabled: false,
  377. }
  378. }
  379. },
  380. series: [{
  381. name: "",
  382. data: data.reverse()
  383. }],
  384. credits: {
  385. enabled: false//隐藏右下角网址
  386. },
  387. exporting: {
  388. enabled: false//隐藏右上角打印
  389. }
  390. })
  391. $('#xmjz1').circleProgress({
  392. startAngle: -Math.PI / 2,
  393. value: 1,
  394. size: $('#xmjz1').width(),
  395. fill: { color: "#FF8A44" }
  396. }).on('circle-animation-end', function (event) {
  397. $(this).find('strong').html(res.data.XMJZ.HUNDRD + '个<br>100%');
  398. });
  399. $('#xmjz2').circleProgress({
  400. startAngle: -Math.PI / 2,
  401. value: 0.8,
  402. size: $('#xmjz2').width(),
  403. fill: { color: "#48C9FF" }
  404. }).on('circle-animation-end', function (event) {
  405. $(this).find('strong').html(res.data.XMJZ.EIGHTY + '个<br>80%');
  406. });
  407. $('#xmjz3').circleProgress({
  408. startAngle: -Math.PI / 2,
  409. value: 0.5,
  410. size: $('#xmjz3').width(),
  411. fill: { color: "#FFD012" }
  412. }).on('circle-animation-end', function (event) {
  413. $(this).find('strong').html(res.data.XMJZ.FIFTY + '个<br>50%');
  414. });
  415. })
  416. }
  417. self.getZDXM()
  418. self.ZDGZNUM = 0;
  419. self.ZDGZ = [];
  420. self.getZDGZ = function () {
  421. $http.post(apiurljs.login + "g2app/duchaduban/keywork/getDeskList", { data: s4.encryptData_CBC("") }, postCfg)
  422. .success(function (obj) {
  423. var res = strToJson(s4.decryptData_CBC(obj.data));
  424. self.ZDGZNUM = res.data.SUM;
  425. self.ZDGZ = res.data.DATA;
  426. })
  427. }
  428. self.getZDGZ()
  429. window.onresize = function () {
  430. $(".ldrcItem").css("width", $(".ldrcItem1").width());
  431. $(".grrcItem").css("width", $(".grrcItem1").width());
  432. $(".zbItem").css("width", $(".zbItem1").width());
  433. self.getZDXM();
  434. }
  435. self.activeTztg = "";
  436. self.getTZTGtitle = function () {
  437. var data = {
  438. ckey: "CODE_NTTYPE",
  439. routeinfoid: 0
  440. }
  441. $http.post(apiurljs.login + "g2app/abase/queryDataCode", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  442. .success(function (obj) {
  443. var res = strToJson(s4.decryptData_CBC(obj.data));
  444. self.TztgTitle = res.data.CODE_NTTYPE;
  445. self.getTZTGdata(self.TztgTitle[0].CODE);
  446. })
  447. }
  448. self.getTZTGdata = function (code) {
  449. if (self.activeTztg == code) {
  450. return;
  451. }
  452. self.activeTztg = code;
  453. var data = { "ntops": 5, "typecode": code }
  454. $http.post(apiurljs.login + "g2app/note/queryTop", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  455. .success(function (obj) {
  456. var res = strToJson(s4.decryptData_CBC(obj.data));
  457. self.TztgData = res.data;
  458. self.TztgImg = res.data;
  459. $.each(self.TztgImg, function (index, item) {
  460. item.src = apiurljs.login + "g2work" + item.FILELIST;
  461. item.FBTIME1 = sp.datefmt("MM-dd", sp.format(item.FBTIME));
  462. })
  463. setTimeout(function () {
  464. var swiper = new Swiper('.swiper-container', {
  465. loop: true,
  466. autoplay: {
  467. delay: 3000,
  468. disableOnInteraction: false,
  469. },
  470. slidesPerView: 1,
  471. centeredSlides: true,
  472. spaceBetween: 30,
  473. //pagination: {
  474. // el: '.swiper-pagination',
  475. // clickable: true,
  476. //}
  477. })
  478. }, 1)
  479. })
  480. }
  481. self.getTZTGtitle()
  482. self.tztgHref = function (item) {
  483. window.parent.sp.addTabNav('FZC01', '通知通告', 'tpl/notice/detail.html?id=' + item.ID + '&pageFrom=desktop')
  484. }
  485. }])
  486. app.directive("repeatFinish", function () {
  487. return {
  488. link: function (scope) {
  489. if (scope.$last == true) {
  490. $(".ldrcItem").css("width", $(".ldrcItem1").width());
  491. $(".grrcItem").css("width", $(".grrcItem1").width());
  492. $(".zbItem").css("width", $(".zbItem1").width());
  493. }
  494. }
  495. };
  496. });
  497. function formate(num) {
  498. return num > 9 ? num : "0" + num;
  499. }
  500. function getDate(str) {
  501. var year = str.getFullYear();
  502. var month = str.getMonth();
  503. var day = str.getDate();
  504. return new Date(year, month, day).getTime()
  505. }