QRcode.blade.php 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1">
  6. <link rel="icon" href="{{asset('icon/faviconc.ico')}}" type="image/x-icon"/>
  7. <!-- CSRF Token -->
  8. <meta name="csrf-token" content="{{ csrf_token() }}">
  9. <title>显示二维码 BsWAS</title>
  10. <!-- Styles -->
  11. <link href="{{ asset('css/app200519b.css') }}" rel="stylesheet">
  12. </head>
  13. <body>
  14. <div class="container-fluid " id="page">
  15. <div class="card ">
  16. <div class="card-body">
  17. <div class="align-content-center m-3" >
  18. <h3 class="text-center text-dark">首次扫描后将与设备绑定,之后扫描需使用原设备与原软件!</h3><br>
  19. <h4 class="text-center text-danger">如更换设备请联系管理人员解除设备绑定!</h4>
  20. </div>
  21. <div v-if="userWorkgroups.length>3">
  22. <div class="row row-cols-3">
  23. <div class="col text-center" style="float:left;" v-for="userWorkgroup in userWorkgroups">
  24. <img id="img" class="img-thumbnail" :src="userWorkgroup.url" />
  25. <p class="m-2 h5 text-center" >@{{ userWorkgroup.name }}工作组</p>
  26. </div>
  27. </div>
  28. </div>
  29. <div v-else="userWorkgroups.length<=3">
  30. <div class="row">
  31. <div class="col text-center" style="float:left;" v-for="userWorkgroup in userWorkgroups">
  32. <img id="img" class="img-thumbnail" style="margin-top: 20px" :src="userWorkgroup.url" />
  33. <p class="m-2 h5 text-center" >@{{ userWorkgroup.name }}工作组</p>
  34. </div>
  35. </div>
  36. </div>
  37. </div>
  38. </div>
  39. </div>
  40. <script src="{{ asset('js/app.js?202002111414') }}"></script>
  41. <script>
  42. function computeDiffMicroTime_fromNow(dateComparing) {
  43. let now=new Date();
  44. let dateComparingObj=new Date(dateComparing)
  45. let mil = dateComparingObj.getTime()-now.getTime();
  46. if (mil>0){
  47. return mil;
  48. }else {
  49. return mil=1000;
  50. }
  51. }
  52. new Vue({
  53. el:"#page",
  54. data:{
  55. userWorkgroups:[
  56. @foreach($userWorkgroups as $userWorkgroup)
  57. {id:'{{$userWorkgroup->id}}',name:'{{$userWorkgroup->name}}',url:'{{$userWorkgroup->url}}',},
  58. @endforeach
  59. ],
  60. last_refresh_date:'{{$last_refresh_date}}',
  61. warehouseId:'{{$warehouseId}}',
  62. },
  63. mounted(){
  64. let _this=this;
  65. let refreshQRCode=function(){
  66. axios.post('{{url('refreshQRCode')}}',{beforeTime:_this.last_refresh_date,warehouseId:_this.warehouseId})
  67. .then(function (response) {
  68. _this.userWorkgroups=response.data.userWorkgroups;
  69. _this.last_refresh_date=response.data.last_refresh_date;
  70. setTimeout(refreshQRCode,computeDiffMicroTime_fromNow(_this.last_refresh_date));
  71. }).catch(function (err) {
  72. setTimeout(refreshQRCode,computeDiffMicroTime_fromNow(_this.last_refresh_date));
  73. tempTip.setDuration(4000);
  74. tempTip.show(err);
  75. });
  76. };
  77. refreshQRCode();
  78. }
  79. });
  80. </script>
  81. </body>
  82. </html>