index.vue 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234
  1. <template>
  2. <view class="container-wrap">
  3. <uni-nav-bar :title="config.baseUrl === 'http://120.79.80.64:8002' ? '首页' : '测试'" :status-bar="true" background-color="#3F92F9" color="#FFF">
  4. <view slot="left">
  5. <u-icon name="account-fill" color="#FFF" size="35"></u-icon>
  6. <span style="padding: 0 5rpx;color: #FFFFFF;">{{ userInfo.name }}</span>
  7. </view>
  8. <view slot="right" @tap="show = true">
  9. <span style="color: #FFFFFF;">退出</span>
  10. </view>
  11. </uni-nav-bar>
  12. <view class="container">
  13. <view v-for="(menu, menuIndex) in menus" :key="menuIndex">
  14. <view class="title">
  15. <span>{{ menu.name }}</span>
  16. </view>
  17. <view class="list">
  18. <view class="item flex-column-center" @tap="go(item.key)" v-for="(item, index) in menu.children" :key="index">
  19. <u-image width="60%" mode="widthFix" :src="item.icon"></u-image>
  20. <span class="title">{{ item.name }}</span>
  21. </view>
  22. </view>
  23. </view>
  24. <!-- <view v-for="(menu, menuIndex) in menus" :key="menuIndex">
  25. <view class="title">
  26. <span>{{ menu.name }}</span>
  27. </view>
  28. <view class="list">
  29. <view class="item flex-column-center" @tap="go(item.key)" v-for="(item, index) in menu.children" :key="index">
  30. <u-image width="60%" mode="widthFix" :src="item.icon"></u-image>
  31. <span class="title">{{ item.name }}</span>
  32. </view>
  33. </view>
  34. </view> -->
  35. </view>
  36. <u-modal v-model="show" content="是否退出账号" :show-cancel-button="true" @confirm="logOut"></u-modal>
  37. </view>
  38. </template>
  39. <script>
  40. import config from '@/libs/config/config.js'
  41. export default {
  42. data() {
  43. return {
  44. config,
  45. menus: this.$storage.getStorageSync('userInfo').menus,
  46. //menus:[1,2,3,4,5,6,7,8,9,10],
  47. show: false,
  48. timer: null,
  49. };
  50. },
  51. methods: {
  52. logOut() {
  53. this.$http.LoginQuit().then(res => {
  54. if(res.code === 0) {
  55. this.$storage.removeStorageSync('token')
  56. this.$utils.openNew('/pages/login/login')
  57. }
  58. })
  59. },
  60. /* 首页页面跳转 */
  61. go (type) {
  62. console.log(type)
  63. switch(type) {
  64. /* 扫描贴标 */
  65. case 'scanPaste':
  66. this.scanPaste()
  67. break
  68. /* 手动贴标 */
  69. case '1' :
  70. this.$utils.open('/pages/store-in-manage/artificial-paste/artificial-paste')
  71. break
  72. /* 到货质检 */
  73. case '2' :
  74. this.$utils.open('/pages/store-in-manage/quality/quality')
  75. break
  76. /* 每日盘点 */
  77. case '3' :
  78. this.$utils.open('/pages/store-manage/day-check/day-check')
  79. break
  80. /* 库存盘点 */
  81. case '4' :
  82. this.$utils.open('/pages/store-manage/store-check/store-check')
  83. break
  84. /* 归还入库 */
  85. case '5' :
  86. this.$utils.open('/pages/apply-manage/back-in-store/back-in-store')
  87. break
  88. /* 退货申请 */
  89. case '6' :
  90. this.$utils.open('/pages/store-out-manage/return-apply/return-apply')
  91. break
  92. /* 报损申请 */
  93. case '7' :
  94. this.$utils.open('/pages/store-out-manage/breakage-apply/breakage-apply')
  95. break
  96. /* 新建标签 */
  97. case '8' :
  98. this.$utils.open('/pages/tag/tag')
  99. break
  100. /* 更换标签 */
  101. case '9' :
  102. this.$utils.open('/pages/tag/tag-change')
  103. break
  104. /* 初始化标签 */
  105. case '10' :
  106. this.$utils.open('/pages/tag/tag-init')
  107. break
  108. /* 手动出库 */
  109. case '11' :
  110. this.$utils.open('/pages/store-out-manage/store-out/store-out')
  111. break
  112. /* 手动入库 */
  113. case '12' :
  114. this.$utils.open('/pages/store-in-manage/store-in/store-in')
  115. break
  116. /* 物料库存 */
  117. case '13' :
  118. this.$utils.open('/pages/store-manage/store-material/store-material')
  119. break
  120. /* 绑定标签 */
  121. case '14' :
  122. this.$utils.open('/pages/tag/tag-new/tag-new-list')
  123. break
  124. /* 批量绑定 */
  125. case '15' :
  126. this.$utils.open('/pages/tag/tag-dispatch/tag-dispatch')
  127. break
  128. /* 批量盘点 */
  129. case '16' :
  130. this.$utils.open('/pages/store-manage/dispatch-check/dispatch-check')
  131. break
  132. /* 手动盘点 */
  133. case '17' :
  134. this.$utils.open('/pages/store-manage/user-check/user-check')
  135. break
  136. /* 库位编辑 */
  137. case '21' :
  138. this.$utils.open('/pages/store-manage/user-check/location-edit')
  139. break
  140. /* 标签纠正 */
  141. case '18' :
  142. this.$utils.open('/pages/tag/tag-right/tag-right')
  143. break
  144. /* 退仓申请 */
  145. case '19' :
  146. this.$utils.open('/pages/store-out-manage/return-stock-apply/return-stock-apply')
  147. break
  148. /* 退料清单 */
  149. case '20' :
  150. this.$utils.open('/pages/store-out-manage/return-material/return-material')
  151. break
  152. /* 物料接收 */
  153. case '22' :
  154. this.$utils.open('/pages/warehouse/warehouse-list')
  155. break
  156. /* 面料退仓 */
  157. case '23' :
  158. this.$utils.open('/pages/warehouse/return-warehouse')
  159. break
  160. //退仓复核
  161. case '24' :
  162. this.$utils.open('/pages/warehouse/review')
  163. break
  164. /* 面料修正 */
  165. case '25' :
  166. this.$utils.open('/pages/warehouse/fabric-correction')
  167. break
  168. }
  169. },
  170. /* 扫码贴标 */
  171. scanPaste() {
  172. this.$utils.open('/pages/store-in-manage/scan-paste/index')
  173. // this.$utils.uniScanCode().then(res => {
  174. // this.$utils.open(`/pages/store-in-manage/scan-paste/index?data=${res.result}`)
  175. // })
  176. }
  177. },
  178. onLoad() {
  179. uni.$on('scan', res => {
  180. this.scanPaste()
  181. })
  182. if(!!this.$storage.getStorageSync('token')) {
  183. } else {
  184. this.$utils.openReLaunch('/pages/login/login')
  185. }
  186. },
  187. onUnload() {
  188. this.$msg.hideLoading()
  189. clearTimeout(this.timer)
  190. uni.$off('scan')
  191. }
  192. }
  193. </script>
  194. <style lang="scss" scoped>
  195. .container-wrap {
  196. background-color: #FFFFFF;
  197. overflow: hidden;
  198. .container {
  199. padding: 0 10rpx;
  200. height: calc(100vh - var(--status-bar-height) - 44px);
  201. overflow: auto;
  202. .title {
  203. padding: 10rpx 0;
  204. }
  205. .list {
  206. padding-bottom: 0;
  207. display: flex;
  208. justify-content: flex-start;
  209. flex-wrap: wrap;
  210. width: 100%;
  211. .item {
  212. width: 238rpx;
  213. height: 238rpx;
  214. background-color: #F2F2F2;
  215. margin-bottom: 10rpx;
  216. border-radius: 8rpx;
  217. margin-right: 10rpx;
  218. &:nth-child(3n + 0) {
  219. margin-right: 0;
  220. }
  221. .title {
  222. font-size: 28rpx;
  223. }
  224. }
  225. }
  226. }
  227. }
  228. </style>