index.vue 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <!--
  2. * @Author: WangQiBiao
  3. * @Date: 2019-09-25 10:20:36
  4. * @LastEditors: MoZhuangRu
  5. * @LastEditTime: 2019-11-21 10:22:52
  6. * @Description: 智能门禁
  7. -->
  8. <template>
  9. <div class="entrance-guard">
  10. <TitleCom>智能门禁</TitleCom>
  11. <div class="tips">
  12. <img class="tips-logo" src="./images/zhnmj@3x.png" alt="">
  13. <div class="tips-desc">
  14. <span class="tips-desc-txt">{{faceData.total | numberFormat}}</span>
  15. <span class="tips-desc-unit"> 人次</span>
  16. </div>
  17. </div>
  18. <div class="list">
  19. <vueSeamless :data="faceData.list" :class-option="optionScroll" class="list">
  20. <div class="list-item" v-for="(item, idx) in faceData.list" :key="idx">
  21. <div class="list-item-lf">
  22. <TagCom type="time">{{item.createAt}}</TagCom>
  23. <span class="list-item-txt">{{item.content}}</span>
  24. </div>
  25. <div class="list-item-lr">
  26. <TagCom type="house">{{item.label}}</TagCom>
  27. </div>
  28. </div>
  29. </vueSeamless>
  30. </div>
  31. </div>
  32. </template>
  33. <script>
  34. import TitleCom from '@/components/title'
  35. import TagCom from '@/components/tag'
  36. import { api } from '@/api'
  37. import vueSeamless from 'vue-seamless-scroll'
  38. import config from '@/config'
  39. export default {
  40. computed: {
  41. optionScroll () {
  42. return {
  43. step: 0.5
  44. }
  45. }
  46. },
  47. data () {
  48. return {
  49. faceData: {}
  50. }
  51. },
  52. components: {
  53. TitleCom,
  54. TagCom,
  55. vueSeamless
  56. },
  57. mounted () {
  58. this.init()
  59. setInterval(() => {
  60. this.init()
  61. }, 30000)
  62. },
  63. methods: {
  64. init () {
  65. api.getFacePassRecord({
  66. pageSize: 30,
  67. pageNum: 1,
  68. version: config.version
  69. }).then(res => {
  70. this.faceData = res.data.data
  71. })
  72. }
  73. }
  74. }
  75. </script>
  76. <style lang="scss" scoped>
  77. @import './index.scss';
  78. </style>