四零语境前端代码仓库
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

79 lines
1.5 KiB

  1. <template>
  2. <view class="yingbing-reader-footer">
  3. <view class="yingbing-reader-footer-left">
  4. <battery ref="battery"></battery>
  5. <text class="yingbing-reader-footer-text" :style="{color: color}">{{time}}</text>
  6. </view>
  7. <text class="yingbing-reader-footer-text" :style="{color: color}"> {{progress ? progress + '%' : current + ' / ' + total }}</text>
  8. </view>
  9. </template>
  10. <script>
  11. import Battery from '../battery/battery.vue'
  12. export default {
  13. inject: ['getColor'],
  14. components: {
  15. Battery
  16. },
  17. props: {
  18. total: {
  19. type: [Number, String],
  20. default: 0
  21. },
  22. current: {
  23. type: [Number, String],
  24. default: 0
  25. },
  26. progress: {
  27. type: [Number, String],
  28. default: 0
  29. }
  30. },
  31. computed: {
  32. color () {
  33. return this.getColor()
  34. }
  35. },
  36. data () {
  37. return {
  38. time: ''
  39. }
  40. },
  41. created() {
  42. this.getTime()
  43. },
  44. methods: {
  45. zeroize (value) {
  46. return value >= 10 ? value : '0' + value
  47. },
  48. getTime () {
  49. const d = new Date()
  50. this.time = this.zeroize(d.getHours()) + ':' + this.zeroize(d.getMinutes())
  51. },
  52. refresh () {
  53. this.$refs.battery.getBattery()
  54. this.getTime()
  55. }
  56. }
  57. }
  58. </script>
  59. <style scoped>
  60. .yingbing-reader-footer {
  61. display: flex;
  62. flex-direction: row;
  63. align-items: center;
  64. justify-content: space-between;
  65. height: 20px;
  66. margin-top: 10px;
  67. }
  68. .yingbing-reader-footer-left {
  69. display: flex;
  70. flex-direction: row;
  71. align-items: center;
  72. }
  73. .yingbing-reader-footer-text {
  74. font-size: 10px;
  75. opacity: 0.5;
  76. margin-left: 10px;
  77. }
  78. </style>