dashboard.html 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8" />
  5. <meta name="keywords" content="dongke,mes,ibossmes">
  6. <meta name="description" content="制造企业生产过程执行管理系统">
  7. <meta name="author" content="xuwei">
  8. <title>东科软件</title>
  9. <script src="/plugins/xeasyui/xeasyui.min.js"></script>
  10. <script src="/plugins/chartjs/chart.min.js"></script>
  11. <script src="/plugins/chartjs/utils.js"></script>
  12. <script src="/plugins/xcountto/xcountTo.min.js"></script>
  13. <style type="text/css">
  14. .panel-body
  15. {
  16. background-color:#444;
  17. }
  18. </style>
  19. </head>
  20. <body style="width:1200px;color:white;background-color:#666">
  21. <script type="text/javascript">
  22. $(document).ready(function () {
  23. //今日发布
  24. $("#count-number-day").attr('data-to', randomScalingFactor100());
  25. $("#count-number-day").countTo();
  26. //昨日发布
  27. $("#count-number-yesterday").attr('data-to', randomScalingFactor100());
  28. $("#count-number-yesterday").countTo();
  29. //本月发布
  30. $("#count-number-month").attr('data-to', randomScalingFactor100());
  31. $("#count-number-month").countTo();
  32. //本年发布
  33. $("#count-number-year").attr('data-to', randomScalingFactor100());
  34. $("#count-number-year").countTo();
  35. //今日发布
  36. $("#count-number-day-new").attr('data-to', randomScalingFactor100());
  37. $("#count-number-day-new").countTo();
  38. //今日审核
  39. $("#count-number-day-pass").attr('data-to', randomScalingFactor100());
  40. $("#count-number-day-pass").countTo();
  41. });
  42. </script>
  43. <!--第一行-->
  44. <div style="float:left;">
  45. <div style="float: left; padding:5px;">
  46. <div id="count_bar" class="easyui-panel" title="今日注浆" data-options="collapsible:true,width:180,iconCls:'icon-grid'">
  47. <div style="padding:10px;text-align:center">
  48. <div id="count-number-day" data-speed="2000" style="font-size:40px;"></div>
  49. </div>
  50. </div>
  51. </div>
  52. <div style="float: left; padding:5px;">
  53. <div id="count_bar" class="easyui-panel" title="今日交坯" data-options="collapsible:true,width:180,iconCls:'icon-grid'">
  54. <div style="padding:10px;text-align:center">
  55. <div id="count-number-yesterday" data-speed="2000" style="font-size:40px;"></div>
  56. </div>
  57. </div>
  58. </div>
  59. <div style="float: left; padding:5px;">
  60. <div id="count_bar" class="easyui-panel" title="今日施釉" data-options="collapsible:true,width:180,iconCls:'icon-grid'">
  61. <div style="padding:10px;text-align:center">
  62. <div id="count-number-month" data-speed="2000" style="font-size:40px;"></div>
  63. </div>
  64. </div>
  65. </div>
  66. <div style="float: left; padding:5px;">
  67. <div id="count_bar" class="easyui-panel" title="今日烧成" data-options="collapsible:true,width:180,iconCls:'icon-grid'">
  68. <div style="padding:10px;text-align:center">
  69. <div id="count-number-year" data-speed="2000" style="font-size:40px;"></div>
  70. </div>
  71. </div>
  72. </div>
  73. <div style="float: left; padding:5px;">
  74. <div id="count_bar" class="easyui-panel" title="成品率" data-options="collapsible:true,width:387,iconCls:'icon-grid'">
  75. <div style="padding:10px;text-align:center;">
  76. <span id="count-number-day-pass" data-speed="1500" style="font-size:40px;"></span>
  77. <span style="font-size:40px;"> /</span>
  78. <span id="count-number-day-new" data-speed="1500" style="font-size:40px;"></span>
  79. </div>
  80. </div>
  81. </div>
  82. </div>
  83. <!--第二行-->
  84. <div style="float:left;">
  85. <div style="float: left; padding:5px;">
  86. <div id="count_bar" class="easyui-panel" title="数据统计" data-options="collapsible:true,width:750,iconCls:'icon-grid'">
  87. <div style="padding:10px;">
  88. <canvas id="barcanvas" style="-moz-user-select: none;-webkit-user-select: none;-ms-user-select: none;"></canvas>
  89. </div>
  90. </div>
  91. </div>
  92. <div style="float: left; padding:5px;">
  93. <div id="count_bar" class="easyui-panel" title="数据统计" data-options="collapsible:true,width:387,height:423,iconCls:'icon-grid'">
  94. <div style="padding:10px;">
  95. <canvas id="piecanvas" style="-moz-user-select: none;-webkit-user-select: none;-ms-user-select: none; height:100px; width:100px;"></canvas>
  96. </div>
  97. </div>
  98. </div>
  99. </div>
  100. <!--第三行-->
  101. <div style="float:left;">
  102. <div style="float: left; padding:5px;">
  103. <div id="count_bar" class="easyui-panel" title="数据统计" data-options="collapsible:true,width:750,iconCls:'icon-grid'">
  104. <div style="padding:10px;">
  105. <canvas id="linecanvas" style="-moz-user-select: none;-webkit-user-select: none;-ms-user-select: none;"></canvas>
  106. </div>
  107. </div>
  108. </div>
  109. <div style="float: left; padding:5px;">
  110. <div id="count_bar" class="easyui-panel" title="数据统计" data-options="collapsible:true,width:387,height:423,iconCls:'icon-grid'">
  111. <div style="padding:10px;">
  112. <canvas id="doughnutcanvas" style="-moz-user-select: none;-webkit-user-select: none;-ms-user-select: none;height:100px; width:100px;"></canvas>
  113. </div>
  114. </div>
  115. </div>
  116. </div>
  117. <!--第四行-->
  118. <div style="float:left;">
  119. <div style="float: left; padding:5px;">
  120. </div>
  121. <div style="float: left; padding:5px;">
  122. </div>
  123. </div>
  124. <script>
  125. //window.chartColors = {
  126. // red: 'rgb(255, 99, 132)',
  127. // orange: 'rgb(255, 159, 64)',
  128. // yellow: 'rgb(255, 205, 86)',
  129. // green: 'rgb(75, 192, 192)',
  130. // blue: 'rgb(54, 162, 235)',
  131. // purple: 'rgb(153, 102, 255)',
  132. // grey: 'rgb(231,233,237)'
  133. //};
  134. var color = Chart.helpers.color;
  135. window.chartColors = {
  136. red: color('rgb(255, 99, 132)').alpha(1).rgbString(),
  137. orange: color('rgb(255, 159, 64)').alpha(1).rgbString(),
  138. yellow: color('rgb(255, 205, 86)').alpha(1).rgbString(),
  139. green: color('rgb(75, 192, 192)').alpha(1).rgbString(),
  140. blue: color('rgb(54, 162, 235)').alpha(1).rgbString(),
  141. purple: color('rgb(153, 102, 255)').alpha(1).rgbString(),
  142. grey: color('rgb(231,233,237)').alpha(1).rgbString()
  143. };
  144. window.randomScalingFactor = function () {
  145. return (Math.random() > 0.5 ? 1.0 : 1.0) * Math.round(Math.random() * 100);
  146. }
  147. window.randomScalingFactor100 = function () {
  148. return Math.round(Math.random() * 100);
  149. }
  150. window.onload = function () {
  151. Chart.defaults.global.defaultFontColor = 'white';
  152. //柱图
  153. var barConfig = {
  154. labels: ['Red', 'Blue', 'Purple', 'Yellow'],
  155. data: {
  156. labels: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
  157. datasets: [{
  158. label: '注浆数量',
  159. backgroundColor: color(window.chartColors.red).alpha(0.6).rgbString(),
  160. borderColor: window.chartColors.red,
  161. borderWidth: 1,
  162. data: [
  163. randomScalingFactor(),
  164. randomScalingFactor(),
  165. randomScalingFactor(),
  166. randomScalingFactor(),
  167. randomScalingFactor(),
  168. randomScalingFactor(),
  169. randomScalingFactor(),
  170. randomScalingFactor(),
  171. randomScalingFactor(),
  172. randomScalingFactor(),
  173. randomScalingFactor(),
  174. randomScalingFactor()
  175. ]
  176. }, {
  177. label: '施釉数量',
  178. backgroundColor: color(window.chartColors.orange).alpha(0.6).rgbString(),
  179. borderColor: window.chartColors.orange,
  180. borderWidth: 1,
  181. data: [
  182. randomScalingFactor(),
  183. randomScalingFactor(),
  184. randomScalingFactor(),
  185. randomScalingFactor(),
  186. randomScalingFactor(),
  187. randomScalingFactor(),
  188. randomScalingFactor(),
  189. randomScalingFactor(),
  190. randomScalingFactor(),
  191. randomScalingFactor(),
  192. randomScalingFactor(),
  193. randomScalingFactor()
  194. ]
  195. }, {
  196. label: '交坯数量',
  197. backgroundColor: color(window.chartColors.yellow).alpha(0.6).rgbString(),
  198. borderColor: window.chartColors.yellow,
  199. borderWidth: 1,
  200. data: [
  201. randomScalingFactor(),
  202. randomScalingFactor(),
  203. randomScalingFactor(),
  204. randomScalingFactor(),
  205. randomScalingFactor(),
  206. randomScalingFactor(),
  207. randomScalingFactor(),
  208. randomScalingFactor(),
  209. randomScalingFactor(),
  210. randomScalingFactor(),
  211. randomScalingFactor(),
  212. randomScalingFactor()
  213. ]
  214. }, {
  215. label: '烧成数量',
  216. backgroundColor: color(window.chartColors.green).alpha(0.6).rgbString(),
  217. borderColor: window.chartColors.green,
  218. borderWidth: 1,
  219. data: [
  220. randomScalingFactor(),
  221. randomScalingFactor(),
  222. randomScalingFactor(),
  223. randomScalingFactor(),
  224. randomScalingFactor(),
  225. randomScalingFactor(),
  226. randomScalingFactor(),
  227. randomScalingFactor(),
  228. randomScalingFactor(),
  229. randomScalingFactor(),
  230. randomScalingFactor(),
  231. randomScalingFactor()
  232. ]
  233. }, {
  234. label: '成品数量',
  235. backgroundColor: color(window.chartColors.blue).alpha(0.6).rgbString(),
  236. borderColor: window.chartColors.blue,
  237. borderWidth: 1,
  238. data: [
  239. randomScalingFactor(),
  240. randomScalingFactor(),
  241. randomScalingFactor(),
  242. randomScalingFactor(),
  243. randomScalingFactor(),
  244. randomScalingFactor(),
  245. randomScalingFactor(),
  246. randomScalingFactor(),
  247. randomScalingFactor(),
  248. randomScalingFactor(),
  249. randomScalingFactor(),
  250. randomScalingFactor()
  251. ]
  252. }]
  253. },
  254. type: 'bar',
  255. options: {
  256. legend: {
  257. labels: {
  258. // This more specific font property overrides the global property
  259. fontColor: 'white'
  260. }
  261. },
  262. title: {
  263. display: false,
  264. text: "Chart.js Bar Chart - Stacked"
  265. },
  266. tooltips: {
  267. mode: 'index',
  268. intersect: false
  269. },
  270. responsive: true,
  271. scales: {
  272. xAxes: [{
  273. stacked: true,
  274. }],
  275. yAxes: [{
  276. stacked: true
  277. }]
  278. }
  279. }
  280. };
  281. var ctxBar = document.getElementById("barcanvas").getContext("2d");
  282. window.Bar = new Chart(ctxBar, barConfig);
  283. //饼图
  284. var pieConfig = {
  285. data: {
  286. datasets: [{
  287. data: [
  288. randomScalingFactor100(),
  289. randomScalingFactor100(),
  290. randomScalingFactor100(),
  291. randomScalingFactor100(),
  292. randomScalingFactor100(),
  293. randomScalingFactor100()
  294. ],
  295. backgroundColor: [
  296. color(window.chartColors.red).alpha(0.6).rgbString(),
  297. color(window.chartColors.orange).alpha(0.6).rgbString(),
  298. color(window.chartColors.yellow).alpha(0.6).rgbString(),
  299. color(window.chartColors.green).alpha(0.6).rgbString(),
  300. color(window.chartColors.blue).alpha(0.6).rgbString(),
  301. color(window.chartColors.purple).alpha(0.6).rgbString()
  302. ],
  303. borderColor: [
  304. window.chartColors.red,
  305. window.chartColors.orange,
  306. window.chartColors.yellow,
  307. window.chartColors.green,
  308. window.chartColors.blue,
  309. window.chartColors.purple
  310. ],
  311. borderWidth:1,
  312. label: '数据1'
  313. }],
  314. labels: [
  315. "注浆数量",
  316. "施釉数量",
  317. "交坯数量",
  318. "烧成数量",
  319. "成品数量"
  320. ]
  321. },
  322. type: 'pie',
  323. options: {
  324. responsive: true,
  325. legend: {
  326. position: 'top'
  327. }
  328. }
  329. };
  330. var ctxPie = document.getElementById("piecanvas").getContext("2d");
  331. window.Pie = new Chart(ctxPie, pieConfig);
  332. //线图
  333. var lineConfig = {
  334. data: {
  335. labels: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
  336. datasets: [{
  337. label: "注浆数量",
  338. backgroundColor: color(window.chartColors.red).alpha(0.6).rgbString(),
  339. borderColor: window.chartColors.red,
  340. borderWidth: 1,
  341. data: [
  342. randomScalingFactor(),
  343. randomScalingFactor(),
  344. randomScalingFactor(),
  345. randomScalingFactor(),
  346. randomScalingFactor(),
  347. randomScalingFactor(),
  348. randomScalingFactor(),
  349. randomScalingFactor(),
  350. randomScalingFactor(),
  351. randomScalingFactor(),
  352. randomScalingFactor(),
  353. randomScalingFactor()
  354. ],
  355. fill: false,
  356. }, {
  357. label: "施釉数量",
  358. fill: false,
  359. backgroundColor: color(window.chartColors.orange).alpha(0.6).rgbString(),
  360. borderColor: window.chartColors.orange,
  361. borderWidth: 1,
  362. data: [
  363. randomScalingFactor(),
  364. randomScalingFactor(),
  365. randomScalingFactor(),
  366. randomScalingFactor(),
  367. randomScalingFactor(),
  368. randomScalingFactor(),
  369. randomScalingFactor(),
  370. randomScalingFactor(),
  371. randomScalingFactor(),
  372. randomScalingFactor(),
  373. randomScalingFactor(),
  374. randomScalingFactor()
  375. ],
  376. }, {
  377. label: "交坯数量",
  378. fill: false,
  379. backgroundColor: color(window.chartColors.yellow).alpha(0.6).rgbString(),
  380. borderColor: window.chartColors.yellow,
  381. borderWidth: 1,
  382. data: [
  383. randomScalingFactor(),
  384. randomScalingFactor(),
  385. randomScalingFactor(),
  386. randomScalingFactor(),
  387. randomScalingFactor(),
  388. randomScalingFactor(),
  389. randomScalingFactor(),
  390. randomScalingFactor(),
  391. randomScalingFactor(),
  392. randomScalingFactor(),
  393. randomScalingFactor(),
  394. randomScalingFactor()
  395. ],
  396. }, {
  397. label: "烧成数量",
  398. fill: false,
  399. backgroundColor: color(window.chartColors.green).alpha(0.6).rgbString(),
  400. borderColor: window.chartColors.green,
  401. borderWidth: 1,
  402. data: [
  403. randomScalingFactor(),
  404. randomScalingFactor(),
  405. randomScalingFactor(),
  406. randomScalingFactor(),
  407. randomScalingFactor(),
  408. randomScalingFactor(),
  409. randomScalingFactor(),
  410. randomScalingFactor(),
  411. randomScalingFactor(),
  412. randomScalingFactor(),
  413. randomScalingFactor(),
  414. randomScalingFactor()
  415. ],
  416. }, {
  417. label: "成品数量",
  418. fill: false,
  419. backgroundColor: color(window.chartColors.blue).alpha(0.6).rgbString(),
  420. borderColor: window.chartColors.blue,
  421. borderWidth: 1,
  422. data: [
  423. randomScalingFactor(),
  424. randomScalingFactor(),
  425. randomScalingFactor(),
  426. randomScalingFactor(),
  427. randomScalingFactor(),
  428. randomScalingFactor(),
  429. randomScalingFactor(),
  430. randomScalingFactor(),
  431. randomScalingFactor(),
  432. randomScalingFactor(),
  433. randomScalingFactor(),
  434. randomScalingFactor()
  435. ],
  436. }]
  437. },
  438. type: 'line',
  439. options: {
  440. responsive: true,
  441. title: {
  442. display: false,
  443. text: '线状图'
  444. },
  445. tooltips: {
  446. mode: 'index',
  447. intersect: false,
  448. },
  449. hover: {
  450. mode: 'nearest',
  451. intersect: true
  452. },
  453. scales: {
  454. xAxes: [{
  455. display: true,
  456. scaleLabel: {
  457. display: false,
  458. labelString: ''
  459. }
  460. }],
  461. yAxes: [{
  462. display: true,
  463. scaleLabel: {
  464. display: false,
  465. labelString: 'Value'
  466. }
  467. }]
  468. }
  469. }
  470. };
  471. var ctxLine = document.getElementById("linecanvas").getContext("2d");
  472. window.Line = new Chart(ctxLine, lineConfig);
  473. //环图
  474. var doughnutConfig = {
  475. data: {
  476. datasets: [{
  477. data: [
  478. randomScalingFactor100(),
  479. randomScalingFactor100(),
  480. randomScalingFactor100(),
  481. randomScalingFactor100(),
  482. randomScalingFactor100(),
  483. randomScalingFactor100()
  484. ],
  485. backgroundColor: [
  486. color(window.chartColors.red).alpha(0.6).rgbString(),
  487. color(window.chartColors.orange).alpha(0.6).rgbString(),
  488. color(window.chartColors.yellow).alpha(0.6).rgbString(),
  489. color(window.chartColors.green).alpha(0.6).rgbString(),
  490. color(window.chartColors.blue).alpha(0.6).rgbString(),
  491. color(window.chartColors.purple).alpha(0.6).rgbString()
  492. ],
  493. borderColor: [
  494. window.chartColors.red,
  495. window.chartColors.orange,
  496. window.chartColors.yellow,
  497. window.chartColors.green,
  498. window.chartColors.blue,
  499. window.chartColors.purple
  500. ],
  501. borderWidth:1,
  502. label: '数据1'
  503. }],
  504. labels: [
  505. "注浆数量",
  506. "施釉数量",
  507. "交坯数量",
  508. "烧成数量",
  509. "成品数量"
  510. ]
  511. },
  512. type: 'doughnut',
  513. options: {
  514. responsive: true,
  515. legend: {
  516. position: 'top'
  517. }
  518. }
  519. };
  520. var ctxDoughnut = document.getElementById("doughnutcanvas").getContext("2d");
  521. window.Doughnut = new Chart(ctxDoughnut, doughnutConfig);
  522. };
  523. </script>
  524. </body>
  525. </html>