sync-run.html 3.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>云阅卷本地代理工具</title>
  6. <meta name="viewport" content="width=device-width,initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no" />
  7. <link rel="stylesheet" href="css/style.css">
  8. </head>
  9. <body>
  10. <div class="wp">
  11. <div class="hd">
  12. <div class="logo"><a href="##"><img src="img/logo.png" /></a></div>
  13. <span class="y"> 欢迎您,<span id="user-name"></span><span class="pipe">|</span><a href="##">退出</a></span>
  14. </div>
  15. <div class="cont">
  16. <div class="title title_grey cl">
  17. <h2>数据同步中 …</h2>
  18. </div>
  19. <div class="progress-box">
  20. <h3 id="message">正在下载考生...</h3>
  21. <div class="progress">
  22. <div class="progress-outer">
  23. <div id="progress" class="progress-inner" style="width: 0%;"><span class="progress-text"></span></div>
  24. </div>
  25. </div>
  26. <p>已数据同步考生:<b id="finish-count"></b> / 全部考生:<b id="total-count"></b></p>
  27. </div>
  28. </div>
  29. <div class="ft">Copyright © 2011-2020 www.qmth.com.cn, All Rights Reserved</div>
  30. </div>
  31. <div class="xcConfirm" id="popup" style="display: none">
  32. <div class="xc_layer"></div>
  33. <div class="popbox">
  34. <a href="##" id="popup-close"><span class="close"></span></a>
  35. <div class="txtbox">
  36. <div id="popup-error" class="icon error" style="display: none"></div>
  37. <div id="popup-success" class="icon success" style="display: none"></div>
  38. <div id="popup-text" class="text"></div>
  39. </div>
  40. </div>
  41. </div>
  42. <script>
  43. const $ = require('jquery')
  44. const env = require('../lib/env.js')
  45. const config = require('../lib/config.js')
  46. const sync = require('../lib/sync.js')()
  47. $(document).ready(() => {
  48. env.merge(JSON.parse(window.localStorage.getItem('env')))
  49. $('#user-name').html(env.user.userName)
  50. var totalCount = 0;
  51. sync.on('total', (count) => {
  52. totalCount = count
  53. $('#total-count').html(count)
  54. })
  55. sync.on('student', (count) => {
  56. $('#finish-count').html(count)
  57. let rate = parseInt(count * 100 / totalCount)
  58. $('#progress').css('width', rate + '%')
  59. $('.progress-text').html(rate + '%')
  60. })
  61. sync.on('campus', (count) => {
  62. $('#message').html('正在下载学习中心,已完成' + count)
  63. })
  64. sync.on('package', (count) => {
  65. $('#message').html('正在下载签到表,已完成' + count)
  66. })
  67. sync.on('finish', () => {
  68. $('#popup-success').show()
  69. $('#popup-text').html('数据同步完成')
  70. config.updateSyncTime()
  71. $('#popup-close').click(() => {
  72. $('#popup').hide()
  73. window.location.href = 'sync.html'
  74. })
  75. $('#popup').show()
  76. })
  77. sync.on('error', (err) => {
  78. $('#popup-error').show()
  79. $('#popup-text').html('数据同步出错\n' + (err || ''))
  80. $('#popup-close').click(() => {
  81. $('#popup').hide()
  82. window.location.href = 'sync.html'
  83. })
  84. $('#popup').show()
  85. })
  86. sync.start()
  87. })
  88. </script>
  89. </body>
  90. </html>