index.vue 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. <template>
  2. <view>
  3. <!-- 备件管理 -->
  4. <view class="datav-item">
  5. <view class="datav-item-header">
  6. <view class="datav-item-title">
  7. <view class="datav-item-title-name">备件管理</view>
  8. </view>
  9. </view>
  10. <view class="grid">
  11. <!-- 备件管理 九宫格菜单 -->
  12. <u-grid class="menu-list" :col="3">
  13. <u-grid-item v-for="(child, i) in menuList" :index="i" :key="i" @click="menuClick(child)">
  14. <uni-icons custom-prefix="elicon" :type="child.icon" size="30"></uni-icons>
  15. <view class="grid-text">{{child.name}}</view>
  16. </u-grid-item>
  17. </u-grid>
  18. </view>
  19. </view>
  20. </view>
  21. </template>
  22. <script>
  23. export default {
  24. data(){
  25. return {
  26. menuList:[
  27. {
  28. icon:'el-icon-sold-out',
  29. name:"入库登记",
  30. to:'/subpages/spare/warehousing'
  31. },
  32. {
  33. icon:'el-icon-sell',
  34. name:"出库登记",
  35. to:'/subpages/spare/outdepot'
  36. },
  37. {
  38. icon:'el-icon-search',
  39. name:"库存查询",
  40. to:'/subpages/spare/stockquery'
  41. },
  42. {
  43. icon:'el-icon-receiving',
  44. name:"库存盘点",
  45. to:'/subpages/spare/stockcheck'
  46. },
  47. ]
  48. }
  49. },
  50. methods:{
  51. menuClick(child){
  52. uni.navigateTo({ url: child.to })
  53. },
  54. }
  55. }
  56. </script>
  57. <style lang="scss" scoped>
  58. // 九宫格菜单
  59. /deep/ .grid{
  60. width: 100%;
  61. padding: 24rpx;
  62. .u-grid-item{
  63. padding: 24rpx;
  64. }
  65. .grid-text{
  66. font-size: 24rpx;
  67. margin-top: 12rpx;
  68. }
  69. }
  70. .datav-item {
  71. margin-bottom: 25rpx;
  72. display: flex;
  73. flex-direction: column;
  74. align-items: center;
  75. align-content: center;
  76. justify-content: flex-start;
  77. width: 100%;
  78. // border-top: 1px solid #e4e7ed;
  79. padding: 10rpx;
  80. .datav-item-header {
  81. width: 100%;
  82. position: relative;
  83. padding-left: 20rpx;
  84. margin-top: 10rpx;
  85. margin-bottom: 20rpx;
  86. .datav-item-title {
  87. width: 100%;
  88. font-size: 30rpx;
  89. height: 50rpx;
  90. line-height: 50rpx;
  91. font-weight: 600;
  92. display: flex;
  93. flex-direction: row;
  94. align-items: center;
  95. align-content: center;
  96. justify-content: flex-start;
  97. .datav-item-title-name {
  98. flex: 1;
  99. }
  100. }
  101. }
  102. .datav-item-header:after {
  103. position: absolute;
  104. width: 8rpx;
  105. height: 55rpx;
  106. content: "";
  107. left: 0;
  108. top: 0;
  109. border-radius: 10rpx;
  110. background-color: #409EFF;
  111. }
  112. .device-list {
  113. width: 100%;
  114. }
  115. }
  116. </style>