index.vue 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. <template>
  2. <view class="bg-white width-100 box-border">
  3. <!-- {{HOST_PRO}} -->
  4. <uni-grid :column="3" :highlight="true" @change="onSelectNav">
  5. <uni-grid-item v-for="(item, index) in gridList" :index="index" :key="index" >
  6. <view class="height-100 flex align-center justify-center">
  7. <view class="text-center d-inline-block">
  8. <image :src="'/static/images/'+item.authkey+'.png'" mode="scaleToFill" class="grid-item-image"></image>
  9. <view class="text">{{item.title}}</view>
  10. </view>
  11. </view>
  12. </uni-grid-item>
  13. </uni-grid>
  14. </view>
  15. </template>
  16. <script>
  17. import uniGrid from "@/components/uni-ui/uni-grid/uni-grid.vue"
  18. import uniGridItem from "@/components/uni-ui/uni-grid-item/uni-grid-item.vue"
  19. import {mapGetters} from "vuex"
  20. import {BARCODE_PROCESS,BARCODE_PROCESS_KEY,BARCODE_PRODUCE,BARCODE_PRODUCE_KEY,
  21. BARCODE_OUTSOURCE,BARCODE_OUTSOURCE_KEY} from "@/common/utils/barCode.js"
  22. // import $C from "@/api/config.js"
  23. let _gridList=[
  24. {title:"报工单",authkey:"work-order",url:"processcode-scan",nextUrl:"work-order-edit",barcodekey:BARCODE_PROCESS_KEY,barcodeType:BARCODE_PROCESS},
  25. {title:"生产入库",authkey:"warehousing",url:"processcode-scan",nextUrl:"warehousing-edit",barcodekey:BARCODE_PROCESS_KEY,barcodeType:BARCODE_PROCESS},
  26. {title:"清点单",authkey:"inventory",url:"inventory",},
  27. {title:"线边调拨",authkey:"transfer-lineEdge",url:"transfer-lineEdge",},
  28. {title:"调拨事务",authkey:"transfer-affair",url:"transfer-affair",},
  29. {title:"成本中心发料",authkey:"codeCenter-issue",url:"codeCenter-issue",},
  30. {title:"按单发料",authkey:"bill-order",url:"processcode-scan",nextUrl:"bill-order-edit",barcodekey:BARCODE_PRODUCE_KEY,barcodeType:BARCODE_PRODUCE},
  31. {title:"委外接收",authkey:"outsource-receive",url:"processcode-scan",nextUrl:"outsource-reveive-list",barcodekey:BARCODE_OUTSOURCE_KEY,barcodeType:BARCODE_OUTSOURCE},
  32. {title:"委外发料",authkey:"outsource-issue",url:"processcode-scan",nextUrl:"outsource-issue-list",barcodekey:BARCODE_OUTSOURCE_KEY,barcodeType:BARCODE_OUTSOURCE},
  33. {title:"移库事务",authkey:"move-warehouse",url:"move-warehouse"},
  34. {title:"开始生产",authkey:"begin-produce",url:"processcode-scan",nextUrl:"begin-produce-detail",barcodekey:BARCODE_PRODUCE_KEY,barcodeType:BARCODE_PRODUCE},
  35. ]
  36. // const BigNumber = require('bignumber.js');
  37. export default {
  38. components:{
  39. uniGrid,
  40. uniGridItem
  41. },
  42. data() {
  43. return {
  44. title:'工作台',
  45. // HOST_PRO:$C.HOST_PRO
  46. }
  47. },
  48. computed:{
  49. ...mapGetters(['authList']),
  50. gridList () {
  51. let arr=[]
  52. this.authList.forEach((item,index)=>{
  53. _gridList.forEach((item2,index2)=>{
  54. if (item===item2.authkey) {
  55. arr.push(item2)
  56. }
  57. })
  58. })
  59. return arr
  60. }
  61. },
  62. onLoad() {
  63. },
  64. methods: {
  65. // nav 点击,params_barcodekey:条形码关键字
  66. onSelectNav (e) {
  67. const index=e.detail.index
  68. const item=this.gridList[index]
  69. const params_nextUrl=`nextUrl=${item.nextUrl ? item.nextUrl :null}`;
  70. const params_barcodekey=`barcodekey=${item.barcodekey ? item.barcodekey :null}`;
  71. const params_barcodeType=`barcodeType=${item.barcodeType ? item.barcodeType :null}`;
  72. const url=`/pages/${item.url}/${item.url}?title=${item.title}&${params_nextUrl}&${params_barcodekey}&${params_barcodeType}`
  73. uni.navigateTo({
  74. url:url
  75. })
  76. }
  77. },
  78. onNavigationBarButtonTap (e) {
  79. if(e.index===0){
  80. uni.navigateTo({
  81. url:"/pages/user-center/user-center"
  82. })
  83. }
  84. if(e.index===1){
  85. uni.navigateTo({
  86. url:"/pages/label-print-type/label-print-type"
  87. })
  88. }
  89. },
  90. }
  91. </script>
  92. <style lang="scss" scoped>
  93. .content {
  94. display: flex;
  95. flex-direction: column;
  96. align-items: center;
  97. justify-content: center;
  98. }
  99. .logo {
  100. height: 200rpx;
  101. width: 200rpx;
  102. margin-top: 200rpx;
  103. margin-left: auto;
  104. margin-right: auto;
  105. margin-bottom: 50rpx;
  106. }
  107. .grid-item-box{
  108. }
  109. .grid-item-image{
  110. width:100rpx;
  111. height: 100rpx;
  112. }
  113. .example-body {
  114. /* #ifndef APP-NVUE */
  115. display: flex;
  116. /* #endif */
  117. flex-direction: row;
  118. flex-wrap: wrap;
  119. justify-content: center;
  120. }
  121. </style>