share-info.vue 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. <template>
  2. <view class="container share" v-if="isRequest">
  3. <view class="share-empty">
  4. <view class="icon"><image :src="imagePath" mode="widthFix"></image></view>
  5. <view class="text">暂无权限查看</view>
  6. </view>
  7. </view>
  8. </template>
  9. <script>
  10. import { mapState,mapMutations } from 'vuex'
  11. import authorize from '@/common/config/authorize.js'
  12. export default{
  13. data() {
  14. return{
  15. isRequest:false,
  16. invitationCode:'',
  17. imagePath:'https://static.caimei365.com/app/img/icon/icon-noremb.png',
  18. serviceProviderId:'',
  19. shopOrderId:null,
  20. source:1,
  21. shareCode:'',
  22. authority:'',//用户权限
  23. params:{
  24. code:'',
  25. encryptedData:'',
  26. iv:'',
  27. shopOrderId:0,
  28. source:1,
  29. shareCode:''
  30. }
  31. }
  32. },
  33. computed: {
  34. ...mapState(['isWxAuthorize'])
  35. },
  36. onLoad(option) {
  37. // scene 需要使用 decodeURIComponent 才能获取到生成二维码时传入的 scene
  38. console.log(option);
  39. if(option.scene){
  40. this.params.shopOrderId = Number(decodeURIComponent(option.scene))
  41. }else{
  42. this.params.shopOrderId = option.shopOrderId
  43. this.authority = option.authority
  44. if(this.authority == '2'){
  45. this.params.source = 2
  46. }else if(this.authority == '3'){
  47. this.params.source = 3
  48. }
  49. }
  50. this.infoMiniShipments();
  51. },
  52. methods:{
  53. async infoMiniShipments(){
  54. const WeiXin = await authorize.getUserInfo('weixin')
  55. this.params.iv = WeiXin.iv
  56. this.params.encryptedData = WeiXin.encryptedData
  57. this.params.code = await authorize.getCode('weixin')
  58. this.ShopService.MiniShipments(this.params).then(res =>{
  59. switch(res.data.resultCode){
  60. case 1:
  61. this.params.shopOrderId = res.data.shopOrderId;
  62. this.$api.navigateTo(`/pages/supplier/order/order-service-details?shopOrderId=${this.params.shopOrderId}`)
  63. break;
  64. case 2:
  65. console.log('供应商联系人');
  66. this.$api.navigateTo(`/pages/supplier/order/order-details?shopOrderId=${this.params.shopOrderId}`)
  67. break;
  68. case 3:
  69. console.log('供应商发货人员');
  70. this.$api.navigateTo(`/pages/supplier/order/order-details?shopOrderId=${this.params.shopOrderId}`)
  71. break;
  72. }
  73. }).catch(err =>{
  74. if(this.params.source == 2){
  75. this.$api.setStorage('bind_supplierInfo', err.data)
  76. this.$api.navigateTo(`/pages/supplier/login/bind-operator?shopOrderId=${this.params.shopOrderId}`)
  77. }else if(this.params.source == 3){
  78. this.$api.navigateTo(`/pages/supplier/login/share-login?shopOrderId=${this.params.shopOrderId}`)
  79. }else{
  80. this.isRequest = true;
  81. }
  82. })
  83. }
  84. },
  85. onShow() {
  86. this.isRequest = false;
  87. }
  88. }
  89. </script>
  90. <style lang="scss">
  91. .share{
  92. width: 100%;
  93. height:100%;
  94. background: #FFFFFF;
  95. display: flex;
  96. align-items: center;
  97. justify-content:center;
  98. .share-empty{
  99. width: 352rpx;
  100. height: 412rpx;
  101. .icon{
  102. width: 352rpx;
  103. height: 352rpx;
  104. image{
  105. width: 100%;
  106. height: 100%;
  107. display: block;
  108. }
  109. }
  110. .text{
  111. font-size: $font-size-28;
  112. line-height: 60rpx;
  113. color: $text-color;
  114. text-align: center;
  115. }
  116. }
  117. }
  118. </style>