xuxueyang
2024-07-26 480a7eb5fa89aa602167a7b5f42df5c6d79053b2
fix bug 接口对接和样式调整
已修改8个文件
324 ■■■■ 文件已修改
common/self.scss 116 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
components/top-tabs.vue 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/login/supplier-reg.vue 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
store/index.js 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sub_pages/customer/shop/shop.vue 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sub_pages/customer/shopping/confirm.vue 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sub_pages/customer/trade/detail.vue 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sub_pages/customer/trade/list.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
common/self.scss
@@ -13,6 +13,7 @@
    --topicgray: #999999;
    --topicdarkgray: #936E32;
}
$u-main-color: #20613D;
$main-color: #20613D;
$u-primary: #20613D;
@@ -20,30 +21,39 @@
    --tcolor: #3140A2;
    font-family: PingFangSC-Regular, PingFang SC;
}
.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;
}
@@ -60,9 +70,11 @@
.m-t-8 {
    margin-top: 16rpx;
}
.m-20{
    margin: 20rpx;
}
.m-b-24{
    margin-bottom: 24rpx;
}
@@ -104,6 +116,7 @@
.bg-white {
    background-color: #FFFFFF;
}
.br-4{
    border-radius: 8rpx;
}
@@ -150,6 +163,7 @@
.font-small {
    font-size: 6px;
}
.text-blue{
    color: #3140A2
}
@@ -173,6 +187,7 @@
.m-l-a {
    margin-left: auto !important;
}
.m-r-0{
    margin-right: 0px;
}
@@ -180,44 +195,56 @@
.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;
@@ -234,21 +261,27 @@
.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;
}
@@ -256,9 +289,11 @@
.m-t-4 {
    margin-top: 8rpx;
}
.m-t-15{
    margin-top:30rpx;
}
.m-t-icon {
    margin-top: 8rpx;
}
@@ -270,10 +305,12 @@
.p9-12{
    padding: 18rpx 24rpx;
}
.p15{
    padding: 30rpx;
    
}
.p10 {
    padding: 20rpx;
}
@@ -285,9 +322,11 @@
.p40 {
    padding: 80rpx;
}
.m-l-15{
    margin-left: 30rpx;
}
.p-t-5 {
    padding-top: 5px;
}
@@ -295,9 +334,11 @@
.p-l-10 {
    padding-left: 20rpx !important;
}
.p-b-0{
    padding-bottom: 0px;
}
.p-r-10 {
    padding-right: 20rpx !important;
}
@@ -321,6 +362,7 @@
.button-blue {
    color: #3140A2 !important;
}
.button-common{
    padding: 10rpx 20rpx;
    /* padding-left: 40rpx; */
@@ -329,6 +371,7 @@
    color: #3140A2 !important;
    cursor: pointer;
}
.button-submit{
    text-align: center;
    height: 80rpx;
@@ -338,9 +381,11 @@
    color: #FFFFFF;
    cursor: pointer;
}
.radius-44{
    border-radius: 44rpx;
}
.button-red {
    color: #CE3C39 !important;
}
@@ -386,12 +431,15 @@
    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;
@@ -494,11 +542,14 @@
.el-icon-arrow-down {
    font-size: 12px;
}
.icon-arrow-down {
    width: 24rpx;
    height: 24rpx;
}
.app-tips {}
.app-tips {
}
.app-tips .app-tip {
    background-color: #F3F3F3;
@@ -519,6 +570,7 @@
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
}
.m5{
    margin: 10rpx;
}
@@ -526,10 +578,12 @@
.high-line{
    background-color: #6dfaff77;
}
.icon-arrow-right{
    width: 32rpx;
    height: 32rpx;
}
.w-m-300 .uni-section{
    min-width: 600rpx;
}
@@ -537,9 +591,11 @@
.w-180{
    width: 360rpx;
}
.img-d{
    background-size: 100% 100%;
}
.m-t-36{
    margin-top: 36rpx;
}
@@ -554,6 +610,7 @@
    color: #FFFFFF;
    font-size: 32rpx;
}
.button-green-border{
    height: 80rpx;
    border: 1px solid  var(--topicolor);
@@ -563,6 +620,7 @@
    color:  #04BA97;
    font-size: 32rpx;
}
.button-circle {
    width: 100rpx;
    position: fixed;
@@ -580,6 +638,7 @@
    border-radius: 50%;
    background-color: #04BA97;
}
// #ifdef APP || H5
.button-circle.app{
    background-color: unset;
@@ -587,18 +646,22 @@
    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-family: PingFangSC, PingFang SC;
@@ -606,31 +669,38 @@
    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;
@@ -643,6 +713,7 @@
    line-height: 100rpx;
    border:2rpx solid #3140A2;
}
.button-bind{
    text-align: center;
    color: #3140A2;
@@ -656,10 +727,12 @@
    border-radius: 40rpx;
    background-color: rgb(244, 247, 254);
}
.button-bind-1{
    background-color: #3140A2;
    color: #fff;
}
.button-fixed-bottom{
    position: fixed;
    bottom: 60rpx;
@@ -674,12 +747,14 @@
    font-size: 32rpx;
    color: #000000;
    text-align: center;
    .close{
        position: absolute;
        right: 40rpx;
        top: calc(50% - 24rpx);
    }
}
.common-select-items{
    .common-select-item{
        
@@ -689,11 +764,13 @@
.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;
@@ -717,6 +794,7 @@
    margin-right:auto;
    display: block;
}
.button-grey{
    width: 440rpx;
    height: 92rpx;
@@ -730,6 +808,7 @@
    display: block;
    margin: 0 auto;
}
.close-parent{
    position: relative;
    font-size: 28rpx;
@@ -739,6 +818,7 @@
    line-height: 40rpx;
    // margin-bottom: 34rpx;
    text-align: center;
    .close{
        position: absolute;
        right: 0rpx;
@@ -755,10 +835,12 @@
        padding-top:30rpx;
        padding-bottom:30rpx;
        position: relative;
        .require::before{
            content:'*';
            color:red;
        }
        .form-item-label{
            position:absolue;
            width: 160rpx;
@@ -769,17 +851,20 @@
            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;
@@ -787,6 +872,7 @@
                color: #FFFFFF;
                
            }
            .price{
                margin-left: 8rpx;
                font-weight: 600;
@@ -810,6 +896,7 @@
    border-radius: 50%;
    border:1rpx solid #999999
}
.radio.select{
    background: #04BA97;
    border:1rpx solid #04BA97
@@ -821,15 +908,18 @@
    .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;
@@ -837,9 +927,11 @@
                line-height: 44rpx;
                margin-top: 38rpx;
            }
            .var-items{
                display: flex;
                flex-wrap: wrap;
                .var-item{
                    min-width: 82rpx;
                    padding-left: 10rpx;
@@ -854,6 +946,7 @@
                    margin-right: 16rpx;
                    margin-top: 8rpx;
                }
                .var-item.cur{
                    border: 2rpx solid #fff;
                    background-color: #04BA97;
@@ -863,6 +956,7 @@
            }
            
        }
        .cover-img{
            width: 690rpx;
            height: 394rpx;
@@ -883,6 +977,7 @@
.info-brand {
    padding: 20rpx 30rpx;
  //padding: 10rpx;
    background: #fff;
    .name {
@@ -903,12 +998,14 @@
        color: #000000;
        line-height: 40rpx;
    }
    .store-address{
        font-weight: 400;
        font-size: 24rpx;
        color: #666666;
        line-height: 34rpx;
    }
    .store-to{
        width: 172rpx;
        height: 52rpx;
@@ -920,6 +1017,7 @@
        line-height: 52rpx;
        text-align: center;
    }
    .store-sc{
        width: 176rpx;
        height: 64rpx;
@@ -929,18 +1027,30 @@
        font-size: 32rpx;
        color: #FFFFFF;
        line-height: 64rpx;
    display: flex;
    .icon-view {
      margin-top: 4rpx;
      margin-left: 30rpx;
      margin-right: 10rpx;
    }
        .icon{
            width: 36rpx;
            height: 36rpx;
      display: inline-block;
        }
    }
}
.text-left{
    text-align: left;
}
.img100{
    background-size: 100% 100%;
}
    .infocontainar {
        width: 100vw;
        height: calc(100vh - 300rpx);
@@ -1004,13 +1114,14 @@
    }
.img100{
    background-size: 100% 100%;
}
uni-image>img{
    opacity: 1 !important;
}
.component-radio{
    width: 26rpx;
    height: 26rpx;
@@ -1018,6 +1129,7 @@
    min-height: 26rpx;
    border-radius: 50%;
    border: 2rpx solid #20613D;
    &.cur{
        background-color:#20613D;
    }
components/top-tabs.vue
@@ -11,9 +11,7 @@
    export default {
        name: "top-tabs",
        data() {
            return {
            };
    return {};
        },
        props: {
            tabs: {
@@ -39,12 +37,13 @@
<style lang="scss">
    .top-tabs {
        .top-tab {
            color: #000000;
            // flex: 1;
    color: #ffffff;
    flex: 1;
    text-align: center;
        }
        .top-tab.active {
            color: #000;
    color: #ffffff;
            font-weight: 600;
            // border-bottom: 8rpx solid #000;
            // 底部的线条
@@ -52,7 +51,7 @@
            font-family: PingFangSC, PingFang SC;
            font-weight: 600;
            font-size: 36rpx;
            color: #000000;
    color: #ffffff;
            line-height: 32rpx;
            text-align: left;
            font-style: normal;
pages/login/supplier-reg.vue
@@ -66,10 +66,19 @@
              <u-input :password="true" :border="false" placeholder="请输入密码" v-model="password"></u-input>
            </view>
            <button @tap="login()" class="bottom-button">注 册</button>
            <!-- #ifndef PUB_CUSTOMER -->
            <button @tap="reg('')" class="bottom-button">注 册</button>
            <!-- #endif -->
            <!-- #ifdef PUB_CUSTOMER -->
            <!--            open-type="getUserInfo"-->
            <button @tap="wxreg('')" class="bottom-button">注 册</button>
            <!-- #endif -->
            <view class="flex">
              <view class="topic-font m-l-0 m-r-a" @click="backInfoPage" v-if="source==='step'">返回上一步</view>
              <view class="topic-font m-l-0 m-r-a" @click="backInfoPage" v-if="source==='step'">返回上一步
              </view>
              <view class="topic-font m-l-a m-r-0" @click="toLogin">前往登录</view>
            </view>
@@ -213,7 +222,44 @@
    changeAll(e) {
      this.pcfvalue = e.detail.value[0]
    },
    async login() {
    // async wxreg(e) {
    //   wx.login({
    //     success: async res => {
    //       if (res.code) {
    //
    //       }
    //     },
    //     fail() {
    //       this.$message.showToast('获取微信信息失败')
    //     }
    //   })
    // },
    wxreg(e) {
      let tmp = this
      wx.login({
        success: async res => {
          console.log(res)
          if (res.code) {
            tmp.reg(res.code)
          } else {
            tmp.$message.showToast('微信登录失败');
          }
        },
        error: res => {
          console.log('wx.login error', res)
          tmp.$message.showToast('获取微信信息失败:' + res);
        }
      });
    },
    async reg(wxcode) {
      // console.log('e', e)
      // this.$message.showLoading()
      // const res = await wx.getUserProfile({
      //   desc: '用于完善会员资料',
      // });
      // console.log(res);
      // this.$message.hideLoading()
      uni.showLoading({
        title: '登陆中'
      });
@@ -266,6 +312,7 @@
        var dto = JSON.parse(tjson)
        post.dto = dto
      }
      post.wxcode = wxcode
      // const {
      // code
store/index.js
@@ -220,7 +220,8 @@
                        password: data.password,
                        tel: data.phoneNumber || data.tel,
                        smsCode: data.smsCode || '',
                        dto: data.dto || undefined
                        dto: data.dto || undefined,
                        wxcode: data.wxcode || undefined
                    },
                    params: {
                        clientType: data.clientType || 'app'
sub_pages/customer/shop/shop.vue
@@ -18,12 +18,14 @@
            <view class="store-name">花仙子</view>
            <view class="store-address">云南省-昆明市-官渡区</view>
          </view>
          <view class="store-sc m-l-a m-r-0">
          <view class="store-sc m-l-a m-r-0" @click="updateGz(!dto.followed)">
            <view class="icon-view">
            <image src="../../../static/icon-gz-1.png" class="icon" v-if="dto.followed"
                   @click="updateGz(false)"></image>
                     ></image>
            <image src="../../../static/icon-gz-0.png" class="icon" v-if="!dto.followed"
                   @click="updateGz(true)"></image>
            关注
                     ></image>
            </view>
            <view>关注</view>
          </view>
        </view>
      </view>
@@ -69,7 +71,7 @@
          报价已包含打包费、材料费、交易佣金
        </view>
        <view class="component-shop-item flex" v-for="(item,index) of list" :key="index"
              @click="toDetail(item)">
              @click.stop="toDetail(item)">
          <view class="img">
            <image class="img img100"
                   src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/ff/fff3027bd0a146478fd1f0aae816a028%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20240710224139.png">
@@ -104,10 +106,10 @@
              <view class="icons flex">
                <uni-icons v-if="item.shopnum&&item.shopnum>=1" type="minus" size="32"
                           @click.stop="mulnum(item)"></uni-icons>
                           @click.stop="addnum(item,-1)"></uni-icons>
                <view class="curnums" v-if="item.shopnum&&item.shopnum>=1">{{ item.shopnum }}</view>
                <uni-icons v-if="!item.shopnum||item.shopnum<=99" type="plus-filled" size="32"
                           @click.stop="addnum(item)"></uni-icons>
                           @click.stop="addnum(item,1)"></uni-icons>
              </view>
            </view>
          </view>
@@ -139,6 +141,7 @@
<script>
import trade from '@/sub_pages/customer/trade/trade.vue'
import http from "../../../plugins/http";
export default {
  components: {
@@ -217,23 +220,38 @@
    buttonSearchFlow() {
    },
    mulnum(item) {
      if (item.shopnum > 0) {
        item.shopnum -= 1
      }
      this.shoptotal -= 1
      this.$forceUpdate()
    },
    addnum(item) {
      if (item.shopnum) {
        item.shopnum += 1
      } else {
        item.shopnum = 1
    async addnum(item, addnum) {
      if (!this.currentInfo.id) {
        await this.$message.confirm('请前往登录')
        uni.navigateTo({
          url: '/pages/user/supplier-user'
        })
        return
      }
      this.shoptotal += 1
      if (!item.shopnum) {
        item.shopnum = 0
      }
      if (item.shopnum + addnum >= 0) {
      } else {
        return
      }
      this.$message.showLoading()
      const {code} = await http.request('post', '/api/customer/flower/cart/change-num', {
            data: {
              id: item.id,
              num: addnum
            }
          }
      )
      this.$message.hideLoading()
      if (code === 0) {
        item.shopnum += addnum
      }
      this.$forceUpdate()
    },
  }
}
</script>
@@ -247,12 +265,13 @@
    .brand-info-0 {
      .top-title {
        height: 54rpx;
        height: 80rpx;
        background: #E4ECE8;
        border-radius: 4rpx;
        font-weight: 400;
        font-size: 24rpx;
        color: #779787;
        margin-top: 10rpx;
        line-height: 80rpx;
      }
    }
sub_pages/customer/shopping/confirm.vue
@@ -89,48 +89,60 @@
        return
      }
      this.dto.addressId = this.address.id
      this.$message.showLoading()
      const {code, data} = await this.$http.request('post', '/api/customer/flower/order/commit', {
      let tmp = this
      wx.login({
        success: async res => {
          console.log(res)
          if (res.code) {
            tmp.$message.showLoading()
            const {code, data} = await tmp.$http.request('post', '/api/customer/flower/order/commit', {
        data: {
          ...this.dto
                ...tmp.dto,
                wxcode: res.code
        }
      })
      this.$message.hideLoading()
            tmp.$message.hideLoading()
      if (code === 0) {
        //提交信息
        console.log('pay,', data)
        if (data && data['_testOrderId']) {
          //回调
          this.$message.showLoading()
          const {code, data} = await this.$http.request('get', '/api/customer/flower/order/callback/tmp', {
                tmp.$message.showLoading()
                const res2 = await tmp.$http.request('get', '/api/customer/flower/order/callback/tmp', {
            params: {
              id: data['_testOrderId']
                    id: res2.data['_testOrderId']
            }
          })
          this.$message.hideLoading()
                tmp.$message.hideLoading()
        } else if (data) {
          //微信接口
          let that = this
          wx.requestPayment({
            ...data,
            async success(res) {
              console.log('pay success', res)
              this.$message.showToast('支付成功')
                    tmp.$message.showToast('支付成功')
              //返回上一页
              await this.$store.dispatch('sign_add', 'shopping')
                    await tmp.$store.dispatch('sign_add', 'shopping')
              uni.navigateBack()
              // uni.navigateTo({
              //   url: '/pages/canteen/canteen-success/canteen-success'
              // })
            },
            fail(err) {
              console.error('pay fail', err)
              that.$message.showToast('支付失败')
                    tmp.$message.showToast('支付失败')
            }
          })
        }
      }
          } else {
            tmp.$message.showToast('获取微信信息失败');
          }
        },
        error: res => {
          tmp.$message.showToast('获取微信信息失败:' + res);
        }
      });
    }
  }
@@ -143,7 +155,7 @@
      <common-address-select ref="addressselect"></common-address-select>
    </view>
    <view>
      <view class="flower-container br-4 p10">
      <view class="flower-container m-t-12 br-4 p10">
        <view class="shopping-item m-b-20" v-for="(item,index) of dto.flowers" :key="index">
          <u-divider v-if="index>0"></u-divider>
          <view class="sup-title flex">
@@ -170,7 +182,7 @@
        </view>
      </view>
      <!--    查看商品列表,和选择运费 -->
      <view class="br-4 transform-container p10">
      <view class="br-4 transform-container p10" style="padding-top: 0rpx">
        <view class="title">
          <view>运输方式:</view>
          <view class="flex transform-list">
@@ -257,6 +269,7 @@
<style scoped lang="scss">
.page-confirm {
  padding: 20rpx 30rpx;
  .bottom-price {
    position: fixed;
    background-color: #ffffff;
sub_pages/customer/trade/detail.vue
@@ -1,18 +1,18 @@
<template>
  <view class="trade-detail">
    <view class="top-img-container">
      <image :src="dto.cover" class="top-img"></image>
      <image :src="dto.cover" class="top-img" mode="aspectFill"></image>
      <view class="icon-container">
        <image src="../../../static/common/icon-sc.png" class="icon-sc"></image>
        <view class="num">12</view>
<!--        <view class="num">12</view>-->
      </view>
      <view class="icon-container">
        <image src="../../../static/common/icon-shop.png" class="icon-shop"></image>
        <image src="../../../static/common/icon-shop.png" @click="submitShopping(dto)" class="icon-shop"></image>
      </view>
    </view>
    <view class="trade-info-container">
      <view class="title">
      <view class="title flex">
        <view class="level m-r-15">{{ dto.levelStr || '-' }}级</view>
        <view class="">
          {{ dto.name || '-' }}
@@ -21,7 +21,7 @@
      <view class="desc m-t-12">
        <view class="m-r-15">已售:{{ dto.sales || 0 }}</view>
        <view class="m-r-15">剩余:{{ dto.stock || 0 }}</view>
        <view class=" ">{{ dto.unit || '-' }}支/扎</view>
        <view class=" ">{{ dto.unit || '-' }}</view>
      </view>
      <view class="flex m-t-12">
        <view class="price m-r-a">
@@ -61,7 +61,7 @@
    <view class="info-brand m-t-12" @click.stop="openbrand">
      <view class="title-before-blue" style="padding-top: 0rpx;padding-bottom: 0rpx;">店铺</view>
      <view class="flex">
      <view class="flex m-t-12">
        <image class="store-logo"></image>
        <view>
          <view class="store-name">{{dto.supplierName||'-'}}</view>
@@ -328,13 +328,14 @@
      top: 20rpx;
      width: 80rpx;
      height: 80rpx;
      background: rgba(0, 0, 0, 0.42);
      background: rgba(0, 0, 0, 0);
      .icon-sc {
        width: 54rpx;
        height: 54rpx;
        margin: 0 auto;
        margin-top: 12rpx;
        display: inline-block;
      }
      .icon-shop {
@@ -342,6 +343,8 @@
        height: 54rpx;
        margin: 0 auto;
        margin-top: 12rpx;
        display: inline-block;
      }
      .num {
@@ -356,11 +359,11 @@
    }
    .icon-container:last-child {
      left: 120rpx;
      left: 140rpx;
    }
    .icon-container:first-child {
      left: 20rpx;
      left: 40rpx;
    }
  }
sub_pages/customer/trade/list.vue
@@ -292,7 +292,7 @@
      if (!this.currentInfo.id) {
        await this.$message.confirm('请前往登录')
        uni.navigateTo({
          url: '//pages/user/supplier-user'
          url: '/pages/user/supplier-user'
        })
        return
      }
@@ -316,12 +316,6 @@
      if (code === 0) {
        item.shopnum += addnum
      }
      // if (item.shopnum) {
      //   item.shopnum += 1
      // } else {
      //   item.shopnum = 1
      // }
      // this.shoptotal += 1
      this.$forceUpdate()
    },
  }