陶杰
2024-09-11 8840efb29d8818afcfd2176914bcf4811d9c60fe
App.vue
@@ -5,7 +5,38 @@
   import storage from '@/plugins/storage.js'
   export default {
      onLaunch: function(options) {
      onLaunch: async function(options) {
         var query = options.q && decodeURIComponent(options.q) || ''
         var querydto = {}
         if (query) {
            try {
               var keyvalues = query.split("?")[1].split("&")
               for (var item of keyvalues) {
                  var tarr = item.split("=")
                  querydto[tarr[0]] = tarr[1]
               }
            } catch (e) {
               console.error('error', e)
            }
         }
         try {
            if (!querydto.partnerUserId) {
               if (options.query && options.query.scene || options.scene) {
                  //说明是特殊小程序二维码扫码跳转的
                  var keyvalues = decodeURIComponent(options.query&&options.query.scene || options.scene).split("&")
                  for (var item of keyvalues) {
                     var tarr = item.split("=")
                     querydto[tarr[0]] = tarr[1]
                  }
               }
            }
         } catch (e) {
            console.error('error2', e)
         }
         console.log('app query222', options, query, '\n@@\n ', querydto)
         console.warn('当前组件仅支持 uni_modules 目录结构 ,请升级 HBuilderX 到 3.1.0 版本以上!')
         console.log('App Launch')
@@ -21,14 +52,21 @@
            }
         });
         // #ifdef MP
         if (true && storage.getItem('token')) {
         if (true && storage.getItem('token')) {
            const res = await this.$store.dispatch('getCurrentInfo');
            setTimeout(async () => {
               const res = await this.$store.dispatch('getCurrentInfo');
               // #ifndef PUB_CUSTOMER
               if (this.currentInfo && this.currentInfo.id && !this.currentInfo.openId) {
                  uni.reLaunch({
                     url: '/pages/home/supplier-home'
                  })
                  if (this.currentInfo.type === 'admin') {
                     uni.reLaunch({
                        url: '/sub_pages/partner/delivery/delivery-home'
                     })
                  } else {
                     uni.reLaunch({
                        url: '/pages/home/supplier-home'
                     })
                  }
               } else {
                  uni.reLaunch({
                     url: '/pages/login/supplier-login'
@@ -45,11 +83,21 @@
         }
         // #endif
         // #ifdef PUB_CUSTOMER
         uni.reLaunch({
            url: '/pages/home/home'
         })
         // 需要处理一下,判断是跳转登录还是原封不动
         if (!!querydto.partnerUserId) {
            //需要去注册页面
            console.log('options', options)
            //说明走的是特殊微信小程序,那么就要专门处理了
         } else {
            // uni.reLaunch({
            //    url: '/pages/home/home'
            // })
         }
         // #endif
      },
      onReady() {
@@ -82,7 +130,9 @@
      background-color: #f5f5f5;
   }
   @import '@/common/self.scss';
   @import '@/common/selfvar.scss';
   // @import '@/common/self.scss';
   @import '@/common/icons.scss';
   @import '@/common/global.scss';
@@ -111,4 +161,1142 @@
   .rich2 /deep/ image {
      max-width: 400rpx !important;
   }
</style>
<style lang="scss">
   // @import '@/common/self.scss';
   .topic-font {
      color: var(--topicolor) !important;
   }
   .flex-wrap-normal {
      flex-wrap: nowrap !important;
   }
   .topic-gray {
      color: var(--topicgray);
   }
   .relative {
      position: relative;
   }
   .t-red {
      color: #CE3C39 !important;
   }
   .t-green {
      color: #04BA97 !important;
   }
   .uni-section .uni-section-header__decoration {
      background-color: #04BA97 !important;
   }
   .f-32 {
      font-size: 32rpx;
   }
   .f-14 {
      font-size: 28rpx;
   }
   .f-12 {
      font-size: 24rpx;
   }
   .scroll-container {
      max-height: 80vh;
      overflow: scroll;
   }
   .m-t-8 {
      margin-top: 16rpx;
   }
   .m-20 {
      margin: 20rpx;
   }
   .m-b-24 {
      margin-bottom: 24rpx;
   }
   .border-button-blue {
      border: 2rpx solid #3140A2;
      /* padding: 14rpx; */
      border-radius: 16rpx;
      padding-left: 40rpx;
      padding-right: 40rpx;
      padding-top: 8rpx;
      padding-bottom: 8rpx;
      text-align: center;
   }
   .bg-button-blue {
      background-color: #3140A2;
      border-radius: 8rpx;
      padding-left: 40rpx;
      padding-right: 40rpx;
   }
   .border-button-org {
      border: 2rpx solid #3140A2;
      /* padding: 14rpx; */
      border-radius: 8rpx;
      padding-left: 40rpx;
      padding-right: 40rpx;
   }
   .white {
      background-color: #FFFFFF;
   }
   .bg-white {
      background-color: #FFFFFF;
   }
   .br-4 {
      border-radius: 8rpx;
   }
   .bg-app-white {
      background-color: #FFFFFF;
      min-height: 800rpx;
   }
   .bg-grey {
      background-color: #f3f2f2;
   }
   .flex {
      display: flex;
      flex-wrap: wrap;
   }
   .title-before-blue {
      padding-top: 40rpx;
      padding-bottom: 40rpx;
      font-size: var(--title_font_size2);
      color: #20613D;
      font-weight: 600;
   }
   .title-before-blue:before {
      content: "||";
      margin-right: 20rpx;
      color: #20613D;
      margin-right: 20rpx;
      min-width: 20rpx;
      background-color: #20613D;
      border-radius: 6rpx;
   }
   .blue {
      color: #3140A2
   }
   .org {
      color: #3140A2
   }
   .tab {
      cursor: pointer;
   }
   /* 谷歌浏览器,最小字体是12px,需要自己配置 */
   .font-small {
      font-size: 6px;
   }
   .text-blue {
      color: #3140A2
   }
   .image-s {
      background-size: 100% 100%;
   }
   .w-fit {
      width: fit-content;
   }
   .h-fit {
      height: fit-content;
   }
   .m-auto {
      margin: 0 auto;
   }
   .m-l-a {
      margin-left: auto !important;
   }
   .m-r-0 {
      margin-right: 0px;
   }
   .m-l-40 {
      margin-left: 80rpx;
   }
   .m-l-5 {
      margin-left: 10rpx;
   }
   .m-l-12 {
      margin-left: 24rpx;
   }
   .m-r-a {
      margin-right: auto;
   }
   .m-r-15 {
      margin-right: 30rpx;
   }
   .m-l-0 {
      margin-left: 0px;
   }
   .m-t-2 {
      margin-top: 4rpx;
   }
   .m-r-2 {
      margin-right: 4rpx;
   }
   .m-r-5 {
      margin-right: 10rpx;
   }
   .m-r-10 {
      margin-right: 20rpx;
   }
   .m-l-10 {
      margin-left: 20rpx;
   }
   .flex1 {
      flex: 1;
   }
   .m-r-20 {
      margin-right: 40rpx;
   }
   .m-t-20 {
      margin-top: 40rpx;
   }
   .m-t-12 {
      margin-top: 24rpx;
   }
   .m-r-40 {
      margin-right: 80rpx;
   }
   .m-r-6 {
      margin-right: 12rpx;
   }
   .m-r-80 {
      margin-right: 160rpx;
   }
   .m-b-12 {
      margin-bottom: 24rpx;
   }
   .m-b-20 {
      margin-bottom: 40rpx;
   }
   .m-b-40 {
      margin-bottom: 40rpx;
   }
   .m-b-5 {
      margin-bottom: 10rpx;
   }
   .m-t-4 {
      margin-top: 8rpx;
   }
   .m-t-15 {
      margin-top: 30rpx;
   }
   .p-t-12 {
      padding-top: 30rpx;
   }
   .m-t-icon {
      margin-top: 8rpx;
   }
   .m-t-icon-h2 {
      margin-top: 16rpx;
   }
   .p9-12 {
      padding: 18rpx 24rpx;
   }
   .p15 {
      padding: 30rpx;
   }
   .p10 {
      padding: 20rpx;
   }
   .p20 {
      padding: 40rpx;
   }
   .p40 {
      padding: 80rpx;
   }
   .m-l-15 {
      margin-left: 30rpx;
   }
   .p-t-5 {
      padding-top: 5px;
   }
   .p-l-10 {
      padding-left: 20rpx !important;
   }
   .p-b-0 {
      padding-bottom: 0px;
   }
   .p-r-10 {
      padding-right: 20rpx !important;
   }
   .l-h-2 {
      line-height: 1.2;
   }
   .desc-gray {
      color: #9a9da2;
   }
   .border {
      border: 1px solid var(--self_light_gray);
   }
   .t-white {
      color: #FFFFFF;
   }
   .button-blue {
      color: #3140A2 !important;
   }
   .button-common {
      padding: 10rpx 20rpx;
      /* padding-left: 40rpx; */
      /* padding-right: 40rpx; */
      text-align: center;
      color: #3140A2 !important;
      cursor: pointer;
   }
   .button-submit {
      text-align: center;
      height: 80rpx;
      background: #3140A2;
      border-radius: 88rpx;
      line-height: 80rpx;
      color: #FFFFFF;
      cursor: pointer;
   }
   .radius-44 {
      border-radius: 44rpx;
   }
   .button-red {
      color: #CE3C39 !important;
   }
   .title-blue {
      color: #0052a4;
      font-size: 60rpx;
   }
   .text-center {
      text-align: center;
   }
   .text-right {
      text-align: right;
   }
   .f1 {
      flex: 1;
   }
   .f2 {
      flex: 1;
   }
   .h1 {
      font-size: var(--title_font_size)
   }
   .h2 {
      font-size: var(--title_font_size2);
   }
   .title-more {
      color: var(--selfgray);
   }
   .title-bold {
      font-weight: 600;
   }
   .image-size-30 {
      width: 60rpx;
      height: 60rpx;
   }
   .b-r-20 {
      border-radius: 40rpx;
   }
   .b-r-10 {
      border-radius: 20rpx;
   }
   .line-gray {
      background-color: var(--self_light_gray);
      height: 2rpx;
      width: 100%;
      margin-top: 18rpx;
      margin-bottom: 20rpx;
   }
   .line-gray-big {
      background-color: #f3f3f3;
      height: 40rpx;
      width: 100%;
   }
   .line-v {
      width: 2rpx;
      /* height: 80%; */
      height: auto;
      /* margin-top: 10%; */
      background-color: var(--self_light_gray);
      margin-left: 20rpx;
      margin-right: 20rpx;
   }
   /* .title-more:after{
      content: url(../static/60x60.png);
   } */
   .image-icon {
      width: 120rpx;
      height: 120rpx;
      border-radius: 50%;
   }
   .icon-small {
      width: 32rpx;
      height: 36rpx;
   }
   .price-orange {
      /* color: #d26600; */
      color: #ebb360;
      text-align: right;
   }
   .nav-current {
      background-color: #3140A2;
      position: relative;
      color: #FFFFFF;
   }
   .pointer {
      cursor: pointer;
   }
   .nav-current:before {
      position: absolute;
      top: 0;
      right: 0;
      left: 0;
      height: 2px;
      content: '';
      -webkit-transform: scaleY(.5);
      transform: scaleY(.5);
      background-color: #3140A2;
   }
   .calendar {
      border-radius: 10rpx;
      padding-left: 20rpx;
      padding-top: 4rpx;
      padding-bottom: 4rpx;
      padding-right: 20rpx;
      min-width: 400rpx;
      cursor: pointer;
   }
   /* special */
   .tips {
      margin-top: 20rpx;
   }
   .tips .button-blue {
      border: 1px solid #3140A2;
      padding: 10rpx;
      width: 200rpx;
      line-height: 28rpx;
      text-align: center;
      padding-left: 20rpx;
      padding-right: 20rpx;
      border-radius: 40rpx;
      margin-right: 20rpx;
   }
   .el-dropdown-link {
      cursor: pointer;
      color: #409EFF;
   }
   .el-icon-arrow-down {
      font-size: 12px;
   }
   .icon-arrow-down {
      width: 24rpx;
      height: 24rpx;
      vertical-align: middle;
      display: inline-block;
   }
   .app-tips {}
   .app-tips .app-tip {
      background-color: #F3F3F3;
      text-align: center;
      border-radius: 10rpx;
      width: 102rpx;
      color: #999999
   }
   .p-b-5 {
      padding-bottom: 10rpx;
   }
   .word-e {
      display: block;
      overflow: hidden;
      white-space: nowrap;
      -o-text-overflow: ellipsis;
      text-overflow: ellipsis;
   }
   .m5 {
      margin: 10rpx;
   }
   .high-line {
      background-color: #6dfaff77;
   }
   .icon-arrow-right {
      width: 32rpx;
      height: 32rpx;
   }
   .w-m-300 .uni-section {
      min-width: 600rpx;
   }
   .w-180 {
      width: 360rpx;
   }
   .img-d {
      background-size: 100% 100%;
   }
   .m-t-36 {
      margin-top: 36rpx;
   }
   .button-green-1 {
      height: 80rpx;
      background: var(--topicolor);
      border-radius: 44rpx;
      line-height: 80rpx;
      text-align: center;
      color: #FFFFFF;
      font-size: 32rpx;
   }
   .button-green-border {
      height: 80rpx;
      border: 1px solid var(--topicolor);
      border-radius: 44rpx;
      line-height: 80rpx;
      text-align: center;
      color: #04BA97;
      font-size: 32rpx;
   }
   .button-circle {
      width: 100rpx;
      position: fixed;
      right: 60rpx;
      height: 100rpx;
      color: #ffffff;
      font-size: 36rpx;
      cursor: pointer;
      text-align: center;
      font-weight: 400;
      line-height: 100rpx;
      margin: 0 auto;
      bottom: 160rpx;
      // background:radial-gradient(#FFFFFF, #4ce531);
      border-radius: 50%;
      background-color: #04BA97;
   }
   // #ifdef APP || H5
   .button-circle.app {
      background-color: unset;
      background-size: 100% 100%;
      width: 136rpx;
      height: 136rpx;
   }
   // #endif
   .flex-w100 {
      min-width: 100%;
   }
   .p-b-20 {
      padding-bottom: 40rpx;
   }
   .app-container {
      min-height: calc(100vh - 100rpx);
      height: 100%;
      background-color: rgba(247, 247, 247, 1);
   }
   .msg-tip {
      font-size: 24rpx;
      font-weight: 400;
      color: #999999;
      line-height: 34rpx;
   }
   .top-search-button {
      color: #fff;
      text-align: center;
      line-height: 80rpx;
      height: 80rpx;
   }
   .form-item .required::before {
      content: "*";
      color: red;
   }
   .self-form-item .required::before {
      content: "*";
      color: red;
   }
   .file-text {
      color: #3140A2;
      word-break: break-all;
   }
   .v-center {
      align-items: center;
   }
   .t-grey {
      color: #999999;
   }
   .button-text {
      text-align: center;
      color: #3140A2;
      width: 100rpx;
      font-size: 36rpx;
      cursor: pointer;
      text-align: center;
      font-weight: 400;
      line-height: 100rpx;
      border: 2rpx solid #3140A2;
   }
   .button-bind {
      text-align: center;
      color: #3140A2;
      width: 160rpx;
      font-size: 28rpx;
      cursor: pointer;
      text-align: center;
      font-weight: 400;
      line-height: 60rpx;
      border: 2rpx solid #3140A2;
      border-radius: 40rpx;
      background-color: rgb(244, 247, 254);
   }
   .button-bind-1 {
      background-color: #3140A2;
      color: #fff;
   }
   .button-fixed-bottom {
      position: fixed;
      bottom: 60rpx;
      left: 40rpx;
      right: 40rpx;
      z-index: 1;
   }
   .close-parent {
      position: relative;
      font-weight: 600;
      font-size: 32rpx;
      color: #000000;
      text-align: center;
      .close {
         position: absolute;
         right: 40rpx;
         top: calc(50% - 24rpx);
      }
   }
   .common-select-items {
      .common-select-item {}
   }
   .uni-noticebar {
      border-radius: 10rpx;
      height: 82rpx;
      .self-uni-notice-bar-icon-left {
         width: 38rpx;
         height: 38rpx;
         margin-right: 16rpx;
      }
      .self-uni-notice-bar-icon {
         width: 16rpx;
         height: 24rpx;
      }
   }
   .button-green {
      width: 302rpx;
      height: 80rpx;
      background: var(--topicolor);
      border-radius: 62rpx;
      font-size: 32rpx;
      font-weight: 600;
      color: #FFFFFF;
      line-height: 80rpx;
      text-align: center;
      // margin: 0 auto;
      margin-left: auto;
      margin-right: auto;
      display: block;
   }
   .button-grey {
      width: 440rpx;
      height: 92rpx;
      border-radius: 62rpx;
      border: 2rpx solid #666666;
      font-size: 32rpx;
      font-weight: 400;
      color: #666666;
      line-height: 92rpx;
      display: block;
      margin: 0 auto;
   }
   .close-parent {
      position: relative;
      font-size: 28rpx;
      font-weight: 600;
      color: #000000;
      line-height: 40rpx;
      // margin-bottom: 34rpx;
      text-align: center;
      .close {
         position: absolute;
         right: 0rpx;
      }
   }
   .form {
      .form-item {
         display: flex;
         border-bottom: 2rpx solid #EEEEEE;
         height: 36rpx;
         line-height: 36rpx;
         padding-top: 30rpx;
         padding-bottom: 30rpx;
         position: relative;
         .require::before {
            content: '*';
            color: red;
         }
         .form-item-label {
            position: absolue;
            width: 160rpx;
            font-size: 28rpx;
            color: #000000;
            line-height: 40rpx;
            font-weight: 600;
            text-align: left;
            font-style: normal;
         }
         .form-item-value {
            font-size: 28rpx;
         }
      }
   }
   .footer-shop {
      width: 690rpx;
      height: 92rpx;
      line-height: 92rpx;
      background: #04BA97;
      border-radius: 62rpx;
      .total {
         margin-left: 40rpx;
         width: 104rpx;
         font-size: 28rpx;
         color: #FFFFFF;
      }
      .price {
         margin-left: 8rpx;
         font-weight: 600;
         font-size: 50rpx;
         color: #FFFFFF;
         line-height: 84rpx;
      }
      .txt {
         font-weight: 600;
         font-size: 32rpx;
         color: #FFFFFF;
         margin-right: 72rpx;
         margin-left: auto;
      }
   }
   .radio {
      width: 22rpx;
      height: 22rpx;
      border-radius: 50%;
      border: 1rpx solid #999999
   }
   .radio.select {
      background: #04BA97;
      border: 1rpx solid #04BA97
   }
   // 表单的
   .popup-form {
      background-color: #FFFFFF;
      padding: 30rpx;
      .form-vars {
         margin-top: 36rpx;
         margin-bottom: 56rpx;
         .title {
            font-weight: 600;
            font-size: 40rpx;
            color: #000000;
            line-height: 56rpx;
         }
         .var-title {
            font-weight: 600;
            font-size: 32rpx;
            color: #000000;
            line-height: 44rpx;
            margin-top: 38rpx;
         }
         .var-items {
            display: flex;
            flex-wrap: wrap;
            .var-item {
               min-width: 82rpx;
               padding-left: 10rpx;
               padding-right: 10rpx;
               height: 56rpx;
               line-height: 56rpx;
               border-radius: 8rpx;
               border: 2rpx solid #CECECE;
               font-size: 24rpx;
               color: #000000;
               text-align: center;
               margin-right: 16rpx;
               margin-top: 8rpx;
            }
            .var-item.cur {
               border: 2rpx solid #fff;
               background-color: #04BA97;
               color: #fff;
               font-weight: 600;
            }
         }
      }
      .cover-img {
         width: 690rpx;
         height: 394rpx;
      }
   }
   .v-line {
      height: 4rpx;
      // border: 2rpx solid #EEEEEE;
      background: #EEEEEE;
      margin-top: 22rpx;
      margin-bottom: 22rpx;
   }
   .icon-down {
      transform: rotate(90deg);
   }
   .info-brand {
      padding: 20rpx 30rpx;
      //padding: 10rpx;
      // background: #fff;
      .name {
         margin-bottom: 22rpx;
         font-weight: 600;
      }
      .store-logo {
         width: 114rpx;
         height: 114rpx;
         border-radius: 50%;
         margin-right: 20rpx;
         border: 2rpx solid #FFFFFF;
         background-size: 100% 100%;
         background-color: #fff;
      }
      .store-name {
         font-weight: 600;
         font-size: 36rpx;
         color: #FFFFFF;
         line-height: 40rpx;
         margin-top: 20rpx;
      }
      .store-name.t1 {
         color: #666;
      }
      .store-address {
         font-weight: 400;
         font-size: 28rpx;
         color: #FFFFFF;
         line-height: 34rpx;
         margin-top: 8rpx;
      }
      .store-address.t1 {
         color: #666;
      }
      .store-to {
         width: 172rpx;
         height: 52rpx;
         background: #E1F0E7;
         border-radius: 4rpx;
         font-weight: 400;
         font-size: 24rpx;
         color: #5B8C71;
         line-height: 52rpx;
         text-align: center;
         margin-top: 30rpx;
      }
      .store-sc {
         width: 176rpx;
         height: 64rpx;
         background: #39AF6E;
         border-radius: 32rpx;
         font-weight: 400;
         font-size: 32rpx;
         color: #FFFFFF;
         line-height: 64rpx;
         display: flex;
         margin-top: 20rpx;
         .icon-view {
            // margin-top: 8rpx;
            margin-left: 30rpx;
            margin-right: 10rpx;
         }
         .icon {
            width: 36rpx;
            height: 36rpx;
            display: inline-block;
            vertical-align: middle;
         }
      }
   }
   .text-left {
      text-align: left;
   }
   .img100 {
      background-size: 100% 100%;
   }
   .infocontainar {
      width: 100vw;
      height: calc(100vh - 300rpx);
      background: #fff;
      box-sizing: border-box;
      padding: 0 30rpx;
      .avatarUrl {
         padding: 80rpx 0 40rpx;
         background: #fff;
         button {
            background: #fff;
            line-height: 80rpx;
            height: auto;
            border: none !important;
            width: auto;
            // padding: 20rpx 30rpx;
            margin: 0;
            display: flex;
            border: none;
            justify-content: center;
            align-items: center;
            &::after {
               border: none;
            }
            .refreshIcon {
               width: 160rpx;
               height: 160rpx;
               border-radius: 50%;
               background-color: #ccc;
               border: 1px solid #e0dfdf;
            }
            .jt {
               width: 14rpx;
               height: 28rpx;
            }
         }
      }
      .userName {
         background: #fff;
         padding: 20rpx 30rpx 80rpx;
         display: flex;
         align-items: center;
         justify-content: center;
         .weui-input {
            padding-left: 60rpx;
            padding-bottom: 20rpx;
            border-bottom: 1px solid darkgray;
         }
      }
      .btn {
         margin-top: 30rpx;
      }
   }
   .img100 {
      background-size: 100% 100%;
   }
   uni-image>img {
      opacity: 1 !important;
   }
   .component-radio {
      width: 26rpx;
      height: 26rpx;
      min-width: 26rpx;
      min-height: 26rpx;
      border-radius: 50%;
      border: 2rpx solid #20613D;
      &.cur {
         background-color: #20613D;
      }
   }
</style>