sync-run.html 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  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"><img src="img/logo.png" /></div>
  13. <span class="y"> 欢迎您,<span id="user-name"></span>
  14. <span id="school-switch" style="display:none">
  15. <span class="pipe">|</span><a href="##"></a>
  16. </span>
  17. <span class="pipe">|</span><a href="##">退出</a>
  18. </span>
  19. </div>
  20. <div class="cont">
  21. <div class="title title_grey cl">
  22. <h2>数据同步中 …</h2>
  23. </div>
  24. <div class="progress-box">
  25. <h3 id="message">正在下载考生...</h3>
  26. <div class="progress">
  27. <div class="progress-outer">
  28. <div id="progress" class="progress-inner" style="width: 0%;"><span class="progress-text"></span></div>
  29. </div>
  30. </div>
  31. <p>已数据同步考生:<b id="finish-count"></b> / 全部考生:<b id="total-count"></b></p>
  32. </div>
  33. </div>
  34. <div class="ft">Copyright © 2011-2020 www.qmth.com.cn, All Rights Reserved</div>
  35. </div>
  36. <div class="xcConfirm" id="popup" style="display: none">
  37. <div class="xc_layer"></div>
  38. <div class="popbox">
  39. <a href="##" id="popup-close"><span class="close"></span></a>
  40. <div class="txtbox">
  41. <div id="popup-error" class="icon error" style="display: none"></div>
  42. <div id="popup-success" class="icon success" style="display: none"></div>
  43. <div id="popup-text" class="text"></div>
  44. </div>
  45. </div>
  46. </div>
  47. <script>
  48. const $ = require('jquery')
  49. const env = require('../lib/env.js')
  50. const config = require('../lib/config.js')
  51. const sync = require('../lib/sync.js')()
  52. $(document).ready(() => {
  53. env.merge(JSON.parse(window.localStorage.getItem('env')))
  54. $('#user-name').html(env.user.userName)
  55. let schoolName = env.getSchoolName()
  56. if (schoolName != undefined) {
  57. $('#school-switch').find('a').html(schoolName)
  58. $('#school-switch').show()
  59. }
  60. var totalCount = 0;
  61. sync.on('total', (count) => {
  62. totalCount = count
  63. $('#total-count').html(count)
  64. })
  65. sync.on('student', (count) => {
  66. $('#finish-count').html(count)
  67. let rate = parseInt(count * 100 / totalCount)
  68. $('#progress').css('width', rate + '%')
  69. $('.progress-text').html(rate + '%')
  70. })
  71. sync.on('campus', (count) => {
  72. $('#message').html('正在下载学习中心,已完成' + count)
  73. })
  74. sync.on('package', (count) => {
  75. $('#message').html('正在下载签到表,已完成' + count)
  76. })
  77. sync.on('finish', () => {
  78. $('#popup-success').show()
  79. $('#popup-text').html('数据同步完成')
  80. config.updateSyncTime()
  81. $('#popup-close').click(() => {
  82. $('#popup').hide()
  83. window.location.href = 'sync.html'
  84. })
  85. $('#popup').show()
  86. })
  87. sync.on('error', (err) => {
  88. $('#popup-error').show()
  89. $('#popup-text').html('数据同步出错\n' + (err || ''))
  90. $('#popup-close').click(() => {
  91. $('#popup').hide()
  92. window.location.href = 'sync.html'
  93. })
  94. $('#popup').show()
  95. })
  96. sync.start()
  97. })
  98. </script>
  99. </body>
  100. </html>