index2.html 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414
  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  6. <link rel="shortcut icon" href="/img/logo.png" />
  7. <link rel="bookmark" href="/img/logo.png" />
  8. <link rel="stylesheet" href="/plugins/bootstrap-4.3.1/css/bootstrap.min.css">
  9. <link rel="stylesheet" href="/plugins/font-awesome-4.7.0/css/font-awesome.min.css">
  10. <link href="/Plugins/bootstrap-table/bootstrap-table.min.css" rel="stylesheet" />
  11. <link rel="stylesheet" href="DashBoard.css?v3" />
  12. <script src="/Plugins/jquery-3.4.1/jquery-3.4.1.min.js"></script>
  13. <script src="/Plugins/xrequest/xrequest.min.js"></script>
  14. <title>东科软件</title>
  15. </head>
  16. <body>
  17. <!--宣传视频-->
  18. <!--<script src="/main/Common/video.js"></script>-->
  19. <!--导航菜单-->
  20. <script src="/main/common/navbar.js"></script>
  21. <!--统计-->
  22. <div class="container-fluid">
  23. <!--页头-->
  24. <div class="row">
  25. <div class="col-4 d-inline-flex align-items-center justify-content-start">
  26. <img class="pl-3" src="/Img/hegii_logo_white.png" style="height: 26px;" />
  27. <span class="pl-3" id="报表加载"></span>
  28. </div>
  29. <div class="col-4 d-inline-flex align-items-center justify-content-center">
  30. <h3 class="text-center"><span style="font-weight:600;font-size:36px;">成型看板</span></h3>
  31. </div>
  32. <div class="col-4 d-inline-flex align-items-center justify-content-end">
  33. <span id="当前时间"></span>
  34. <a class="pl-2" href="javascript:void(0)" onclick="fullScreen(); $('#navbar').toggle();">
  35. <img class="pr-3" src="/Img/dongke_logo_white.png" style="height: 40px;" />
  36. </a>
  37. </div>
  38. </div>
  39. <!--数据-->
  40. <div class="row pt-0">
  41. <div class="col-2 pt-0">
  42. <div class="p-3 rounded border border-secondary d-flex flex-column" style="height:530px">
  43. <div class="d-flex justify-content-center">
  44. <h2><span class="badge badge-warning">1#线</span></h2>
  45. </div>
  46. <div class="d-flex justify-content-center">
  47. <i id="line1_img" class="fa fa-cog fa-5x text-secondary" aria-hidden="true"></i>
  48. </div>
  49. <div class="d-flex justify-content-center text-info">
  50. UPPH
  51. </div>
  52. <div class="d-flex justify-content-center">
  53. <canvas height="120" id="barline1" style="-moz-user-select: none;-webkit-user-select: none;-ms-user-select: none;"></canvas>
  54. </div>
  55. </div>
  56. </div>
  57. <div class="col-2 pt-0">
  58. <div class="p-3 rounded border border-secondary d-flex flex-column" style="height:530px">
  59. <div class="d-flex justify-content-center">
  60. <h2><span class="badge badge-warning">2#线</span></h2>
  61. </div>
  62. <div class="d-flex justify-content-center">
  63. <i id="line2_img" class="fa fa-cog fa-5x text-secondary" aria-hidden="true"></i>
  64. </div>
  65. <div class="d-flex justify-content-center text-info">
  66. UPPH
  67. </div>
  68. <div class="d-flex justify-content-center">
  69. <canvas height="120" id="barline2" style="-moz-user-select: none;-webkit-user-select: none;-ms-user-select: none;"></canvas>
  70. </div>
  71. </div>
  72. </div>
  73. <div class="col-2 pt-0">
  74. <div class="p-3 rounded border border-secondary d-flex flex-column" style="height:530px">
  75. <div class="d-flex justify-content-center">
  76. <h2><span class="badge badge-warning">3#线</span></h2>
  77. </div>
  78. <div class="d-flex justify-content-center">
  79. <i id="line3_img" class="fa fa-cog fa-5x text-secondary" aria-hidden="true"></i>
  80. </div>
  81. <div class="d-flex justify-content-center text-info">
  82. UPPH
  83. </div>
  84. <div class="d-flex justify-content-center">
  85. <canvas height="120" id="barline3" style="-moz-user-select: none;-webkit-user-select: none;-ms-user-select: none;"></canvas>
  86. </div>
  87. </div>
  88. </div>
  89. <div class="col-2 pt-0">
  90. <div class="p-3 rounded border border-secondary d-flex flex-column" style="height:530px">
  91. <div class="d-flex justify-content-center">
  92. <h2><span class="badge badge-warning">4#线</span></h2>
  93. </div>
  94. <div class="d-flex justify-content-center">
  95. <i id="line4_img" class="fa fa-cog fa-5x text-secondary" aria-hidden="true"></i>
  96. </div>
  97. <div class="d-flex justify-content-center text-info">
  98. UPPH
  99. </div>
  100. <div class="d-flex justify-content-center">
  101. <canvas height="120" id="barline4" style="-moz-user-select: none;-webkit-user-select: none;-ms-user-select: none;"></canvas>
  102. </div>
  103. </div>
  104. </div>
  105. <div class="col-2 pt-0">
  106. <div class="p-3 rounded border border-secondary d-flex flex-column" style="height:530px">
  107. <div class="d-flex justify-content-center">
  108. <h2><span class="badge badge-warning">5#线</span></h2>
  109. </div>
  110. <div class="d-flex justify-content-center">
  111. <i id="line5_img" class="fa fa-cog fa-5x text-secondary" aria-hidden="true"></i>
  112. </div>
  113. <div class="d-flex justify-content-center text-info">
  114. UPPH
  115. </div>
  116. <div class="d-flex justify-content-center">
  117. <canvas height="120" id="barline5" style="-moz-user-select: none;-webkit-user-select: none;-ms-user-select: none;"></canvas>
  118. </div>
  119. </div>
  120. </div>
  121. <div class="col-2 pt-0">
  122. <div class="p-3 rounded border border-secondary d-flex flex-column" style="height:530px">
  123. <div class="d-flex justify-content-center">
  124. <h2><span class="badge badge-warning">6#线</span></h2>
  125. </div>
  126. <div class="d-flex justify-content-center">
  127. <i id="line6_img" class="fa fa-cog fa-5x text-secondary" aria-hidden="true"></i>
  128. </div>
  129. <div class="d-flex justify-content-center text-info">
  130. UPPH
  131. </div>
  132. <div class="d-flex justify-content-center">
  133. <canvas height="120" id="barline6" style="-moz-user-select: none;-webkit-user-select: none;-ms-user-select: none;"></canvas>
  134. </div>
  135. </div>
  136. </div>
  137. </div>
  138. <div style="height:26px;"></div>
  139. </div>
  140. <!--版权信息-->
  141. <!--<script src="../common/footer.js"></script>-->
  142. <script src="/Plugins/bootstrap-4.3.1/js/bootstrap.bundle.min.js"></script>
  143. <script src="/Plugins/bootstrap-table/bootstrap-table.min.js"></script>
  144. <script src="/Plugins/bootstrap-table/bootstrap-table-locale-all.min.js"></script>
  145. <script src="/Plugins/sweetalert/sweetalert.min.js"></script>
  146. <script src="/Plugins/chartjs-2.8.0/chart-2.8.min.js"></script>
  147. <script src="/Plugins/chartjs-2.8.0/chartjs-plugin-datalabels.js"></script>
  148. <script src="/Plugins/chartjs-2.8.0/utils.js"></script>
  149. <script src="/Plugins/circleChart/circleChart.min.js"></script>
  150. <script>
  151. //缺陷统计刷新时间
  152. var refreshTime1 = 30000;
  153. var currentTime1 = 0;
  154. var doGetData;
  155. var doGetTime;
  156. var frameHeight;
  157. var tableHeight;
  158. var offsetHeight = 20;
  159. var tkJson;
  160. var hg1Json;
  161. var hg2Json;
  162. $(document).ready(function () {
  163. //设置缩放
  164. //xuwell.setScale(1);
  165. //初始化
  166. init();
  167. //首次加载
  168. //loadData();
  169. //定时刷新数据
  170. doGetData = setInterval(function () { timeUpdate(); }, 1000);
  171. //刷新时间
  172. loadServerTime();
  173. doGetTime = setInterval(function () { loadServerTime(); }, 15000);
  174. });
  175. //取服务器时间
  176. function loadServerTime() {
  177. $.get('../api/GetDateTime.ashx', function (data) {
  178. var json = JSON.parse(data);
  179. if (json["success"] == true) {
  180. $('#当前时间').html(json["rows"]["时间"]);
  181. }
  182. });
  183. }
  184. function timeUpdate() {
  185. if (currentTime1 <= 0) {
  186. loadData();
  187. currentTime1 = refreshTime1;
  188. }
  189. else {
  190. if (currentTime1 > 0) {
  191. $('#报表加载').html('刷新:' + currentTime1 / 1000);
  192. currentTime1 = currentTime1 - 1000;
  193. }
  194. }
  195. }
  196. function loadData(callback) {
  197. $.get('rpt.ashx?m=upph', function (data) {
  198. var xLabels1 = [];
  199. var xLabels2 = [];
  200. var xLabels3 = [];
  201. var xLabels4 = [];
  202. var xLabels5 = [];
  203. var xLabels6 = [];
  204. var xDatas1 = [];
  205. var xDatas2 = [];
  206. var xDatas3 = [];
  207. var xDatas4 = [];
  208. var xDatas5 = [];
  209. var xDatas6 = [];
  210. var result = JSON.parse(data);
  211. if (result["success"] == true) {
  212. var json = result["rows"];
  213. for (var p = 0; p < json.length; p++) {
  214. if (json[p]["KB_WS_NAME"] == "1#线") {
  215. $("#line1_img").removeClass("text-secondary");
  216. $("#line1_img").addClass("fa-spin");
  217. $("#line1_img").addClass("text-info");
  218. xLabels1.push(json[p]["USERCODE"]);
  219. xDatas1.push(json[p]["UPPH"]);
  220. }
  221. if (json[p]["KB_WS_NAME"] == "2#线") {
  222. $("#line2_img").removeClass("text-secondary");
  223. $("#line2_img").addClass("fa-spin");
  224. $("#line2_img").addClass("text-info");
  225. xLabels2.push(json[p]["USERCODE"]);
  226. xDatas2.push(json[p]["UPPH"]);
  227. }
  228. if (json[p]["KB_WS_NAME"] == "3#线") {
  229. $("#line3_img").removeClass("text-secondary");
  230. $("#line3_img").addClass("fa-spin");
  231. $("#line3_img").addClass("text-info");
  232. xLabels3.push(json[p]["USERCODE"]);
  233. xDatas3.push(json[p]["UPPH"]);
  234. }
  235. if (json[p]["KB_WS_NAME"] == "4#线") {
  236. $("#line4_img").removeClass("text-secondary");
  237. $("#line4_img").addClass("fa-spin");
  238. $("#line4_img").addClass("text-info");
  239. xLabels4.push(json[p]["USERCODE"]);
  240. xDatas4.push(json[p]["UPPH"]);
  241. }
  242. //if (json[p]["KB_WS_NAME"] == "5#线") {
  243. // $("#line5_img").removeClass("text-secondary");
  244. // $("#line5_img").addClass("fa-spin");
  245. // $("#line5_img").addClass("text-info");
  246. // xLabels5.push(json[p]["USERCODE"]);
  247. // xDatas5.push(json[p]["UPPH"]);
  248. //}
  249. //if (json[p]["KB_WS_NAME"] == "6#线") {
  250. // $("#line6_img").removeClass("text-secondary");
  251. // $("#line6_img").addClass("fa-spin");
  252. // $("#line6_img").addClass("text-info");
  253. // xLabels6.push(json[p]["USERCODE"]);
  254. // xDatas6.push(json[p]["UPPH"]);
  255. //}
  256. }
  257. }
  258. //更新图表 UPPH
  259. if (xDatas1.length > 0) {
  260. window.barConfig1.data.labels = xLabels1;
  261. window.barConfig1.data.datasets[0].data = xDatas1;
  262. window.bar1.update();
  263. }
  264. if (xDatas2.length > 0) {
  265. window.barConfig2.data.labels = xLabels2;
  266. window.barConfig2.data.datasets[0].data = xDatas2;
  267. window.bar2.update();
  268. }
  269. if (xDatas3.length > 0) {
  270. window.barConfig3.data.labels = xLabels3;
  271. window.barConfig3.data.datasets[0].data = xDatas3;
  272. window.bar3.update();
  273. }
  274. if (xDatas4.length > 0) {
  275. window.barConfig4.data.labels = xLabels4;
  276. window.barConfig4.data.datasets[0].data = xDatas4;
  277. window.bar4.update();
  278. }
  279. //if (xDatas5.length > 0) {
  280. // window.barConfig5.data.labels = xLabels5;
  281. // window.barConfig5.data.datasets[0].data = xDatas6;
  282. // window.bar5.update();
  283. //}
  284. //if (xDatas6.length > 0) {
  285. // window.barConfig6.data.labels = xLabels6;
  286. // window.barConfig6.data.datasets[0].data = xDatas6;
  287. // window.bar6.update();
  288. //}
  289. if (typeof callback != 'undefined') callback();
  290. });
  291. }
  292. function init() {
  293. //柱图
  294. var xLabels = [];
  295. var xDatas = [];
  296. Chart.defaults.global.defaultFontColor = 'white';
  297. Chart.defaults.global.defaultFontSize = 16;
  298. window.barConfig1 = {
  299. data: {
  300. labels: xLabels,
  301. datasets: [{
  302. backgroundColor: [
  303. color(window.chartColors.blue).alpha(0.6).rgbString(),
  304. color(window.chartColors.red).alpha(0.6).rgbString(),
  305. color(window.chartColors.green).alpha(0.6).rgbString()
  306. ],
  307. borderColor: [
  308. window.chartColors.blue,
  309. window.chartColors.red,
  310. window.chartColors.green
  311. ],
  312. borderWidth: 1,
  313. barPercentage: 1,
  314. barThickness: 6,
  315. maxBarThickness: 8,
  316. minBarLength: 2,
  317. data: xDatas
  318. }]
  319. },
  320. type: 'bar',
  321. options: {
  322. legend: {
  323. display: false
  324. },
  325. title: {
  326. display: false,
  327. text: ""
  328. },
  329. tooltips: {
  330. mode: 'point',
  331. intersect: false
  332. },
  333. responsive: true,
  334. scales: {
  335. xAxes: [{
  336. stacked: true
  337. }],
  338. yAxes: [{
  339. display: true,
  340. stacked: true,
  341. ticks: {
  342. //min: 0,
  343. //stepSize: 3,
  344. //max: 15
  345. }
  346. }]
  347. }
  348. }
  349. };
  350. window.barConfig2 = window.barConfig1;
  351. window.barConfig3 = window.barConfig1;
  352. window.barConfig4 = window.barConfig1;
  353. //window.barConfig5 = window.barConfig1;
  354. //window.barConfig6 = window.barConfig1;
  355. var ctxBar1 = document.getElementById("barline1").getContext("2d");
  356. window.bar1 = new Chart(ctxBar1, barConfig1);
  357. var ctxBar2 = document.getElementById("barline2").getContext("2d");
  358. window.bar2 = new Chart(ctxBar2, barConfig2);
  359. var ctxBar3 = document.getElementById("barline3").getContext("2d");
  360. window.bar3 = new Chart(ctxBar3, barConfig3);
  361. var ctxBar4 = document.getElementById("barline4").getContext("2d");
  362. window.bar4 = new Chart(ctxBar4, barConfig4);
  363. //var ctxBar5 = document.getElementById("barline5").getContext("2d");
  364. //window.bar5 = new Chart(ctxBar5, barConfig5);
  365. //var ctxBar6 = document.getElementById("barline6").getContext("2d");
  366. //window.bar6 = new Chart(ctxBar6, barConfig6);
  367. };
  368. window.chartColors = {
  369. red: 'rgb(255, 99, 132)',
  370. orange: 'rgb(255, 159, 64)',
  371. yellow: 'rgb(255, 205, 86)',
  372. green: 'rgb(75, 192, 192)',
  373. blue: 'rgb(54, 162, 235)',
  374. purple: 'rgb(153, 102, 255)',
  375. grey: 'rgb(231,233,237)'
  376. };
  377. var color = Chart.helpers.color;
  378. </script>
  379. </body>
  380. </html>