home.vue 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. <template>
  2. <view class="home">
  3. <view class="search-area">
  4. <u-search
  5. placeholder="搜索设备"
  6. v-model="keyword"
  7. shape="square"
  8. :clearabled="true"
  9. :show-action="true"
  10. action-text="搜索"
  11. :animation="true"
  12. search-icon-color="#000"
  13. color="#000"
  14. placeholder-color="#5c5b5b"
  15. @search="search"
  16. @custom="search"></u-search>
  17. </view>
  18. <view class="rule-area">
  19. 公告
  20. </view>
  21. <view class="borrow-area">
  22. 借用设备
  23. </view>
  24. <view class="scan-area">
  25. <view class="scan-code">
  26. <i class="iconfont icon-saoyisao"></i>
  27. <text>扫码设备</text>
  28. </view>
  29. <view class="scan-mine" @click="toMine">
  30. <i class="iconfont icon-wode"></i>
  31. </view>
  32. </view>
  33. </view>
  34. </template>
  35. <script>
  36. export default {
  37. data() {
  38. return {
  39. keyword:""
  40. }
  41. },
  42. methods: {
  43. search(){
  44. uni.navigateTo({
  45. url:'/pages/search/search?keyword='+this.keyword,
  46. })
  47. },
  48. toMine(){
  49. uni.navigateTo({
  50. url:'/pages/menus/menu/menu',
  51. })
  52. }
  53. },
  54. onShow:function(){
  55. this.keyword = ""
  56. }
  57. }
  58. </script>
  59. <style lang="scss" scoped>
  60. .home{
  61. padding: 20rpx;
  62. display: flex;
  63. flex-direction: column;
  64. height: 100vh;
  65. box-sizing: border-box;
  66. }
  67. .search-area{
  68. margin-bottom: 20rpx ;
  69. flex-shrink: 0;
  70. position: relative;
  71. input{
  72. height: 76rpx;
  73. border: 2rpx solid #000;
  74. line-height: 76rpx;
  75. padding-left:80rpx ;
  76. }
  77. .iconfont{
  78. position: absolute;
  79. font-size: 40rpx;
  80. top: 20rpx;
  81. left: 16rpx;
  82. }
  83. }
  84. .rule-area{
  85. margin-bottom: 20rpx ;
  86. flex-shrink: 0;
  87. height: 270rpx;
  88. border: 2rpx solid #000;
  89. }
  90. .borrow-area{
  91. flex-shrink: 0;
  92. margin-bottom: 20rpx ;
  93. height: 120rpx;
  94. border: 2rpx solid #000;
  95. }
  96. .scan-area{
  97. flex-shrink: 1;
  98. height: 100%;
  99. position: relative;
  100. .scan-code{
  101. width: 280rpx;
  102. height: 280rpx;
  103. background-color: #000;
  104. color: $uni-text-color-inverse;
  105. border-radius: 50%;
  106. position: absolute;
  107. top: 50%;
  108. left: 50%;
  109. transform: translate(-50%,-50%);
  110. display: flex;
  111. align-items: center;
  112. justify-content: center;
  113. text-align: center;
  114. flex-direction: column;
  115. font-size: 36rpx;
  116. .iconfont{
  117. font-size: 80rpx;
  118. margin: 20rpx 0;
  119. }
  120. }
  121. .scan-mine{
  122. width: 80rpx;
  123. height: 80rpx;
  124. color: rgba(80, 80, 80, 1);
  125. border-radius: 21px;
  126. // font-size: 14px;
  127. line-height: 150%;
  128. box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.5);
  129. display: flex;
  130. align-items: center;
  131. justify-content: center;
  132. text-align: center;
  133. flex-direction: column;
  134. font-size: 36rpx;
  135. position: absolute;
  136. bottom: 20rpx;
  137. left: 20rpx;
  138. }
  139. }
  140. </style>