index-admin.js 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405
  1. 'use strict';
  2. var app = angular.module('app', [
  3. 'angularUtils.directives.dirPagination',
  4. ]);
  5. app.controller("indexCtrl", ["$scope", "$http", function ($scope, $http) {
  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.getXTnum = function () {
  17. var data = {
  18. userid: self.userId,
  19. ndays: 10
  20. };
  21. $http.post(apiurljs.login + "g2work/desktop/queryDataTopAccess", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  22. .success(function (obj) {
  23. var res = strToJson(s4.decryptData_CBC(obj.data));
  24. var DATE = [], data = [];
  25. res.data.forEach(function (item) {
  26. DATE.push(item.LOGDATE.slice(5, item.LOGDATE.length));
  27. data.push(item.SUMS);
  28. })
  29. var chart = new Highcharts.Chart({
  30. chart: {
  31. renderTo: "xtfw",
  32. type: 'line'
  33. },
  34. title: {
  35. text: '' //图表的标题
  36. },
  37. tooltip: {
  38. headerFormat: '<span style="font-size:10px">{point.key}</span><table>',
  39. pointFormat: '<tr><td style="color:{series.color};padding:0">{series.name}: </td>' +
  40. '<td style="padding:0"><b>{point.y}</b>{series.className}</td></tr>',
  41. footerFormat: '</table>',
  42. shared: true,
  43. useHTML: true
  44. },
  45. xAxis: {
  46. categories: DATE
  47. },
  48. yAxis: {
  49. title: {
  50. text: ''
  51. }
  52. },
  53. legend: {
  54. floating: true,
  55. align: 'right',
  56. verticalAlign: 'top',
  57. layout: 'horizontal',
  58. backgroundColor: '#FFF'
  59. },
  60. plotOptions: {
  61. series: {
  62. turboThreshold: 0,
  63. dataLabels: {
  64. enabled: false,
  65. }
  66. }
  67. },
  68. series: [{
  69. name: "访问次数",
  70. data: data
  71. }],
  72. credits: {
  73. enabled: false//隐藏右下角网址
  74. },
  75. exporting: {
  76. enabled: false//隐藏右上角打印
  77. }
  78. })
  79. })
  80. }
  81. self.getXTnum()
  82. /*日历开始*/
  83. self.all_year = [];
  84. self.all_month = [];
  85. self.select_year = ''
  86. self.select_month = ''
  87. self.active_day = ''
  88. self.week = ''
  89. self.DateWork = [];
  90. self.getDateWork = function (year,month,day) {
  91. var data = {
  92. STRATDATE: year + "-" + formate(month) + "-" + formate(day),
  93. USERID:""//self.userId
  94. }
  95. $http.post(apiurljs.login + "g2app/deskcalendar/deskQueryDayData", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  96. .success(function (obj) {
  97. var res = strToJson(s4.decryptData_CBC(obj.data));
  98. if (res.data.Items.length > 0) {
  99. self.DateWork = res.data.Items[0].task;
  100. $.each(self.DateWork, function (index, item) {
  101. item.STARTIME = "开始时间:" + formateTime(item.STARTIME);
  102. item.ENDTIME = "结束时间:" + formateTime(item.ENDTIME);
  103. //item.time = formateTime(item.STARTIME) + " — " + formateTime(item.ENDTIME)
  104. })
  105. } else {
  106. self.DateWork = [];
  107. }
  108. })
  109. }
  110. self.DatePageNo = 0;//向左平移n个工作事件
  111. self.DateWidth = 0;//向左平移距离
  112. self.DateLeft = function () {
  113. if (self.DatePageNo > 0) {
  114. self.DateWidth = self.DateWidth + $(".Date-page").eq(self.DatePageNo - 1).outerWidth(true);
  115. $(".Date-page").parent().css("margin-left", (self.DateWidth > 0 ? 0 : self.DateWidth));
  116. self.DatePageNo = self.DatePageNo - 1;
  117. } else {
  118. return;
  119. }
  120. }
  121. self.DateRight = function () {
  122. if (self.DatePageNo < $(".Date-page").length - 1) {
  123. self.DateWidth = self.DateWidth - $(".Date-page").eq(self.DatePageNo).outerWidth(true);
  124. $(".Date-page").parent().css("margin-left", self.DateWidth);
  125. self.DatePageNo = self.DatePageNo + 1;
  126. }
  127. }
  128. //初始化显示 当前年和月
  129. self.show_now = function () {
  130. var now = new Date();
  131. self.select_year = now.getFullYear();
  132. self.select_month = now.getMonth() + 1;
  133. self.active_day = now.getDate();
  134. self.cyear = now.getFullYear();
  135. self.cmonth = now.getMonth() + 1;
  136. self.cday = now.getDate();
  137. self.showTime()
  138. self.getDateWork(self.select_year, self.select_month, self.active_day)
  139. }
  140. self.showTime = function () {
  141. //在select中填入年份
  142. for (var year = self.select_year - 5; year < self.select_year + 5; year++) {
  143. var obj_1 = { 'value': year, 'id': year }
  144. self.all_year.push(obj_1);
  145. }
  146. //在select中填入月份
  147. for (var month = 1; month < 13; month++) {
  148. var obj_2 = { 'value': month, 'id': month }
  149. self.all_month.push(obj_2);
  150. }
  151. //初始化显示 当前年和月
  152. self.showDays(self.select_year, self.select_month)
  153. }
  154. //当select的选中的option发送变化的触发的事件
  155. self.change_year = function () {
  156. self.showDays(self.select_year, self.select_month)
  157. }
  158. self.change_month = function () {
  159. self.showDays(self.select_year, self.select_month)
  160. }
  161. //返回指定的月份的天数 月份1-12
  162. self.calDays = function (year, month) {
  163. return new Date(year, month, 0).getDate();
  164. }
  165. //展示指定的年和月的所有日期
  166. self.showDays = function (year, month) {
  167. self.days = [];
  168. var days = [];
  169. self.dateWork = [];
  170. self.date_day = formate(self.active_day);
  171. self.getWeek(self.select_year, self.select_month, self.active_day)
  172. //得到表示指定年和月的1日的那个时间对象
  173. var date = new Date(year, month - 1, 1);
  174. //1.先添加响应的空白的li:这个月1号是星期几,就添加几个空白的li
  175. var dayOfWeek = date.getDay(); //得到1日是星期几
  176. for (var i = 0; i < dayOfWeek; i++) {
  177. days.push({ day: "" });
  178. }
  179. //计算一个月有多少天
  180. var daysOfMonth = self.calDays(year, month);
  181. //2. 从1号开始添加li
  182. for (var i = 1; i <= daysOfMonth; i++) {
  183. days.push({ day: i });
  184. }
  185. var length = days.length;
  186. for (var i = Math.ceil(length / 7) * 7; i > length; i--) {
  187. days.push({ day: "" });
  188. }
  189. $.each(days, function (index1, item1) {
  190. $.each(self.DateWork, function (index2, item2) {
  191. if (self.select_year + "-" + formate(self.select_month) + "-" + formate(item1.day) == item2.date) {
  192. item1.data = item2.data;
  193. if (item1.day == self.active_day) {
  194. self.dateWork = item1.data;
  195. }
  196. }
  197. })
  198. })
  199. for (var i = 0; i < Math.ceil(length / 7) ; i++) {
  200. self.days[i] = [];
  201. $.each(days, function (index, item) {
  202. if (Math.ceil((index + 1) / 7) == i + 1) {
  203. self.days[i].push(item)
  204. }
  205. })
  206. }
  207. }
  208. self.returnToday = function () {
  209. self.select_year = self.cyear;
  210. self.select_month = self.cmonth;
  211. self.active_day = self.cday;
  212. self.showDays(self.select_year,self.select_month)
  213. }
  214. self.change_day = function (day) {
  215. if (day.day == "") { return; }
  216. self.active_day = "";
  217. self.active_day = day.day;
  218. self.date_day = formate(self.active_day);
  219. self.getWeek(self.select_year, self.select_month, self.active_day);
  220. self.getDateWork(self.select_year, self.select_month, self.active_day)
  221. }
  222. self.getWeek = function (year, month, day) {
  223. switch (new Date(year, month - 1, day).getDay()) {
  224. case 0: self.week = "星期日"; break;
  225. case 1: self.week = "星期一"; break;
  226. case 2: self.week = "星期二"; break;
  227. case 3: self.week = "星期三"; break;
  228. case 4: self.week = "星期四"; break;
  229. case 5: self.week = "星期五"; break;
  230. case 6: self.week = "星期六"; break;
  231. }
  232. }
  233. /*日历结束*/
  234. self.getGNnum = function () {
  235. var data = {
  236. userid: self.userId,
  237. ndays: 10,
  238. ntops: 0
  239. };
  240. $http.post(apiurljs.login + "g2work/desktop/queryDataTopLogfunc", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  241. .success(function (obj) {
  242. var res = strToJson(s4.decryptData_CBC(obj.data));
  243. var module = [], data = [];
  244. res.data.forEach(function (item) {
  245. module.push(item.LOGFUNC);
  246. data.push(item.SUMS);
  247. })
  248. var chart = new Highcharts.Chart({
  249. chart: {
  250. renderTo: "gnfw",
  251. type: 'column'
  252. },
  253. title: {
  254. text: '' //图表的标题
  255. },
  256. tooltip: {
  257. headerFormat: '<span style="font-size:10px">{point.key}</span><table>',
  258. pointFormat: '<tr><td style="color:{series.color};padding:0">{series.name}: </td>' +
  259. '<td style="padding:0"><b>{point.y}</b>{series.className}</td></tr>',
  260. footerFormat: '</table>',
  261. shared: true,
  262. useHTML: true
  263. },
  264. xAxis: {
  265. categories: module
  266. },
  267. yAxis: {
  268. title: {
  269. text: ''
  270. }
  271. },
  272. legend: {
  273. floating: true,
  274. align: 'right',
  275. verticalAlign: 'top',
  276. layout: 'horizontal',
  277. backgroundColor: '#FFF'
  278. },
  279. plotOptions: {
  280. series: {
  281. turboThreshold: 0,
  282. dataLabels: {
  283. enabled: false,
  284. }
  285. }
  286. },
  287. series: [{
  288. name: "访问次数",
  289. data: data
  290. }],
  291. credits: {
  292. enabled: false//隐藏右下角网址
  293. },
  294. exporting: {
  295. enabled: false//隐藏右上角打印
  296. }
  297. })
  298. })
  299. }
  300. self.getGNnum()
  301. self.getTGlist = function () {
  302. var data = {
  303. userid: self.userId,
  304. ntops: 5
  305. };
  306. $http.post(apiurljs.login + "g2work/desktop/queryModule", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  307. .success(function (obj) {
  308. var res = strToJson(s4.decryptData_CBC(obj.data));
  309. self.ywmk = res.data;
  310. $.each(self.ywmk, function (index, item) {
  311. item.style = {
  312. "background": "url(img/yw" + (index+1) + ".png)",
  313. "background-size": "100% 100%"
  314. }
  315. })
  316. })
  317. }
  318. self.getTGlist()
  319. self.getNoteList = function () {
  320. var data = {
  321. ntops: 4
  322. }
  323. $http.post(apiurljs.login + "g2app/note/queryTop", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  324. .success(function (obj) {
  325. var res = strToJson(s4.decryptData_CBC(obj.data));
  326. self.noteList = res.data;
  327. $.each(self.noteList, function (index, item) {
  328. item.FBTIME = sp.format(item.FBTIME);
  329. item.TITLE1 = item.TITLE.length > 25 ? item.TITLE.slice(0, 25) + "..." : item.TITLE;
  330. })
  331. })
  332. }
  333. self.getNoteList()
  334. self.tztgHref = function (item) {
  335. //window.parent.sp.addTabNav('FZC01', '通知通告', 'tpl/notice/detail.html?id=' + item.ID + '&pageFrom=desktop')
  336. }
  337. }])
  338. app.directive("repeatFinish", function () {
  339. return {
  340. link: function (scope) {
  341. if (scope.$last == true) {
  342. $(".Date-page").css("width", $(".Date-page").parent().parent().width());
  343. }
  344. }
  345. };
  346. });
  347. function formate(num) {
  348. return num > 9 ? num : "0" + num;
  349. }
  350. function formateTime(str) {
  351. if (str == "1900-01-01T00:00:00") {
  352. str = "";
  353. return str;
  354. } else if (str == "0001-01-01T00:00:00") {
  355. ///这种情况是在做滨旅建管系统时用sqlserver数据库时遇到的
  356. str = "";
  357. return str;
  358. }
  359. else if (str != undefined && str != "" && str != null) {
  360. /////如果找到"-",不等于负1
  361. if (str.toString().indexOf('-') != -1) {
  362. str = str.replace(/-/g, "/"); //将-替换为/,因为ios与ie浏览器中不支持-和T
  363. }
  364. /////如果找到T,不等于负1
  365. if (str.toString().indexOf('T') != -1) {
  366. str = str.replace(/T/g, ' '); ///去掉日期中的T,因为ios与ie浏览器中不支持-和T
  367. }
  368. /////如果找到".",不等于负1
  369. if (str.toString().indexOf('.') != -1) {
  370. str = str.slice(0, str.indexOf(".")); ///如果含有毫秒,就将毫秒去掉
  371. }
  372. var formatDate = new Date(Date.parse(str));
  373. var MM = formatDate.getMonth() + 1;
  374. if (MM < 10) { MM = '0' + MM; } //去掉前面加0,是为了便于后续的格式化得到年月
  375. var dd = formatDate.getDate();
  376. if (dd < 10) { dd = '0' + dd; } //去掉前面加0,是为了便于后续的格式化得到年月
  377. var hh = formatDate.getHours();
  378. if (hh < 10) { hh = '0' + hh; }
  379. var mm = formatDate.getMinutes();
  380. if (mm < 10) { mm = '0' + mm; }
  381. var setDate = MM + "-" + dd + " " + hh + ":" + mm;
  382. return setDate;
  383. } else {
  384. str = "";
  385. return str;
  386. }
  387. }