xuxy
2024-07-27 dcc7b2d14fcbac97fb6d2c8975a3cd93dfbcc458
update 功能调整
已修改15个文件
已添加1个文件
393 ■■■■■ 文件已修改
App.vue 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
components/top-tabs.vue 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/home/components/home-price.vue 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/home/components/home-top-flow.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/login/supplier-login.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/order/order.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/user/supplier-user.vue 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
static/images/customer/brand/info-brand-bg.png 补丁 | 查看 | 原始文档 | blame | 历史
sub_pages/customer/self/collect.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
sub_pages/customer/self/follow.vue 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sub_pages/customer/shop/shop.vue 78 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sub_pages/customer/shopping/confirm.vue 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sub_pages/customer/shopping/shopping.vue 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sub_pages/customer/trade/detail.vue 35 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sub_pages/customer/trade/list.vue 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sub_pages/customer/trade/trade.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
App.vue
@@ -81,6 +81,7 @@
    page {
        background-color: #f5f5f5;
    }
    @import '@/common/selfvar.scss';
    // @import '@/common/self.scss';
    
@@ -640,10 +641,11 @@
    .icon-arrow-down {
      width: 24rpx;
      height: 24rpx;
        vertical-align: middle;
        display: inline-block;
    }
    
    .app-tips {
    }
    .app-tips {}
    
    .app-tips .app-tip {
      background-color: #F3F3F3;
@@ -850,9 +852,7 @@
    }
    
    .common-select-items {
      .common-select-item {
      }
        .common-select-item {}
    }
    
    .uni-noticebar {
@@ -994,7 +994,6 @@
    .radio.select {
      background: #04BA97;
      border: 1rpx solid #04BA97
    }
    
    
@@ -1072,7 +1071,7 @@
    .info-brand {
      padding: 20rpx 30rpx;
      //padding: 10rpx;
      background: #fff;
        // background: #fff;
    
      .name {
        margin-bottom: 22rpx;
@@ -1080,24 +1079,35 @@
      }
    
      .store-logo {
        width: 96rpx;
        height: 96rpx;
            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: 28rpx;
        color: #000000;
            font-size: 36rpx;
            color: #FFFFFF;
        line-height: 40rpx;
            margin-top: 20rpx;
        }
        .store-name.t1 {
            color: #666;
      }
    
      .store-address {
        font-weight: 400;
        font-size: 24rpx;
        color: #666666;
            font-size: 28rpx;
            color: #FFFFFF;
        line-height: 34rpx;
            margin-top: 8rpx;
        }
        .store-address.t1 {
            color: #666;
      }
    
      .store-to {
@@ -1122,8 +1132,9 @@
        color: #FFFFFF;
        line-height: 64rpx;
        display: flex;
        .icon-view {
          margin-top: 4rpx;
                // margin-top: 8rpx;
          margin-left: 30rpx;
          margin-right: 10rpx;
        }
@@ -1133,6 +1144,7 @@
          height: 36rpx;
    
          display: inline-block;
                vertical-align: middle;
        }
      }
    }
components/top-tabs.vue
@@ -68,7 +68,9 @@
    bottom: 8rpx;
    // width: 110rpx;
    height: 8rpx;
    background: #04BA97;
    // background: #04BA97;
    background: #ffffff;
    border-radius: 4rpx;
  }
}
pages/home/components/home-price.vue
@@ -9,33 +9,33 @@
                <view class="item flex1">
                    <view class="title">{{list1[0]&&list1[0].name||''}}</view>
                    <view class="price">
                        {{list1[0]&&list1[0].avePrice||'-'}}
                        {{list1[0]&&list1[0].avePrice||''}}
                    </view>
                    <view class="flex desc" v-if="list1[0]">
                        <view class="m-l-a m-r-a">{{list1[0]&&list1[0].avePriceDifference<0?'-':'+'}}{{list1[0]&&list1[0].avePriceDifference||''}}</view>
                        <view class="m-l-a m-r-a text-right">{{list1[0]&&list1[0].avePriceDifferenceRate<0?'-':'+'}}{{list1[0]&&list1[0].avePriceDifferenceRate*100||''}}%</view>
                        <view class="m-l-a m-r-a">{{list1[0]&&list1[0].avePriceDifference<0?'':'+'}}{{list1[0]&&list1[0].avePriceDifference||'0'}}</view>
                        <view class="m-l-a m-r-a text-right">{{list1[0]&&list1[0].avePriceDifferenceRate<0?'':'+'}}{{list1[0]&&list1[0].avePriceDifferenceRate*100||''}}%</view>
                    </view>
                </view>
                <view class="line"></view>
                <view class="item flex1">
                    <view class="title">{{list1[1]&&list1[1].name||''}}</view>
                    <view class="price">
                        {{list1[1]&&list1[1].avePrice||'-'}}
                        {{list1[1]&&list1[1].avePrice||''}}
                    </view>
                    <view class="flex desc" v-if="list1[1]">
                        <view class="m-l-a m-r-a">{{list1[1]&&list1[1].avePriceDifference<0?'-':'+'}}{{list1[1]&&list1[1].avePriceDifference||''}}</view>
                        <view class="m-l-a m-r-a text-right">{{list1[1]&&list1[1].avePriceDifferenceRate<0?'-':'+'}}{{list1[1]&&list1[1].avePriceDifferenceRate*100||''}}%</view>
                        <view class="m-l-a m-r-a">{{list1[1]&&list1[1].avePriceDifference<0?'':'+'}}{{list1[1]&&list1[1].avePriceDifference||''}}</view>
                        <view class="m-l-a m-r-a text-right">{{list1[1]&&list1[1].avePriceDifferenceRate<0?'':'+'}}{{list1[1]&&list1[1].avePriceDifferenceRate*100||''}}%</view>
                    </view>
                </view>
                <view class="line"></view>
                <view class="item flex1">
                    <view class="title">{{list1[2]&&list1[2].name||''}}</view>
                    <view class="price">
                        {{list1[2]&&list1[2].avePrice||'-'}}
                        {{list1[2]&&list1[2].avePrice||''}}
                    </view>
                    <view class="flex desc" v-if="list1[2]">
                        <view class="m-l-a m-r-a">{{list1[2]&&list1[2].avePriceDifference<0?'-':'+'}}{{list1[2]&&list1[2].avePriceDifference||''}}</view>
                        <view class="m-l-a m-r-a text-right">{{list1[2]&&list1[2].avePriceDifferenceRate<0?'-':'+'}}{{list1[2]&&list1[2].avePriceDifferenceRate*100||''}}%</view>
                        <view class="m-l-a m-r-a">{{list1[2]&&list1[2].avePriceDifference<0?'':'+'}}{{list1[2]&&list1[2].avePriceDifference||''}}</view>
                        <view class="m-l-a m-r-a text-right">{{list1[2]&&list1[2].avePriceDifferenceRate<0?'':'+'}}{{list1[2]&&list1[2].avePriceDifferenceRate*100||''}}%</view>
                    </view>
                </view>
            </view>
@@ -44,33 +44,33 @@
                <view class="item flex1">
                    <view class="title">{{list2[0]&&list2[0].name||''}}</view>
                    <view class="price">
                        {{list2[0]&&list2[0].avePrice||'-'}}
                        {{list2[0]&&list2[0].avePrice||''}}
                    </view>
                    <view class="flex desc" v-if="list2[0]">
                        <view class="m-l-a m-r-a">{{list2[0]&&list2[0].avePriceDifference<0?'-':'+'}}{{list2[0]&&list2[0].avePriceDifference||''}}</view>
                        <view class="m-l-a m-r-a text-right">{{list2[0]&&list2[0].avePriceDifferenceRate<0?'-':'+'}}{{list2[0]&&list2[0].avePriceDifferenceRate*100||''}}%</view>
                        <view class="m-l-a m-r-a">{{list2[0]&&list2[0].avePriceDifference<0?'':'+'}}{{list2[0]&&list2[0].avePriceDifference||''}}</view>
                        <view class="m-l-a m-r-a text-right">{{list2[0]&&list2[0].avePriceDifferenceRate<0?'':'+'}}{{list2[0]&&list2[0].avePriceDifferenceRate*100||''}}%</view>
                    </view>
                </view>
                <view class="line"></view>
                <view class="item flex1">
                    <view class="title">{{list2[1]&&list2[1].name||''}}</view>
                    <view class="price">
                        {{list2[1]&&list2[1].avePrice||'-'}}
                        {{list2[1]&&list2[1].avePrice||''}}
                    </view>
                    <view class="flex desc" v-if="list2[1]">
                        <view class="m-l-a m-r-a">{{list2[1]&&list2[1].avePriceDifference<0?'-':'+'}}{{list2[1]&&list2[1].avePriceDifference||''}}</view>
                        <view class="m-l-a m-r-a text-right">{{list2[1]&&list2[1].avePriceDifferenceRate<0?'-':'+'}}{{list2[1]&&list2[1].avePriceDifferenceRate*100||''}}%</view>
                        <view class="m-l-a m-r-a">{{list2[1]&&list2[1].avePriceDifference<0?'':'+'}}{{list2[1]&&list2[1].avePriceDifference||''}}</view>
                        <view class="m-l-a m-r-a text-right">{{list2[1]&&list2[1].avePriceDifferenceRate<0?'':'+'}}{{list2[1]&&list2[1].avePriceDifferenceRate*100||''}}%</view>
                    </view>
                </view>
                <view class="line"></view>
                <view class="item flex1">
                    <view class="title">{{list2[2]&&list2[2].name||''}}</view>
                    <view class="price">
                        {{list2[2]&&list2[2].avePrice||'-'}}
                        {{list2[2]&&list2[2].avePrice||''}}
                    </view>
                    <view class="flex desc" v-if="list2[2]">
                        <view class="m-l-a m-r-a">{{list2[2]&&list2[2].avePriceDifference<0?'-':'+'}}{{list2[2]&&list2[2].avePriceDifference||''}}</view>
                        <view class="m-l-a m-r-a text-right">{{list2[2]&&list2[2].avePriceDifferenceRate<0?'-':'+'}}{{list2[2]&&list2[2].avePriceDifferenceRate*100||''}}%</view>
                        <view class="m-l-a m-r-a">{{list2[2]&&list2[2].avePriceDifference<0?'':'+'}}{{list2[2]&&list2[2].avePriceDifference||''}}</view>
                        <view class="m-l-a m-r-a text-right">{{list2[2]&&list2[2].avePriceDifferenceRate<0?'':'+'}}{{list2[2]&&list2[2].avePriceDifferenceRate*100||''}}%</view>
                    </view>
                </view>
            </view>
pages/home/components/home-top-flow.vue
@@ -6,7 +6,7 @@
               :src="item.cover">
        </image>
        <view class="level">
          {{ ite.levelStr}}
          {{ item.levelStr}}
        </view>
      </view>
pages/login/supplier-login.vue
@@ -188,7 +188,7 @@
    },
    toHome(){
      uni.redirectTo({
        url: '/pages//pages/home/home'
        url: '/pages/home/home'
      })
    },
    toReg() {
pages/order/order.vue
@@ -113,6 +113,8 @@
  .order-item {
    margin-bottom: 20rpx;
    padding: 28rpx;
    background-color: #fff;
    border-radius: 8rpx;
    .title {
      font-weight: 600;
pages/user/supplier-user.vue
@@ -16,18 +16,22 @@
      <!-- v-if="currentInfo&&(currentInfo.id)" -->
      <view class="flex user-info">
        <!-- 头像 -->
        <image class="user-icon" v-if="!currentInfo.picture"
                <image class="user-icon" v-if="currentInfo.picture
                    ||currentInfo.customerDTO&&currentInfo.customerDTO.cover
                    ||currentInfo.supplierDTO&&currentInfo.supplierDTO.cover
                    " :src="currentInfo.picture
                    ||currentInfo.customerDTO&&currentInfo.customerDTO.cover
                    ||currentInfo.supplierDTO&&currentInfo.supplierDTO.cover" mode="aspectFit"></image>
                <image class="user-icon" v-else
               src='https://youzhen123.oss-cn-huhehaote.aliyuncs.com/WechatOwnerProperty/images/mrtx.png'
               mode="aspectFit"></image>
        <image class="user-icon" v-if="currentInfo.picture" :src="currentInfo.picture" mode="aspectFit"></image>
        <view class="name" v-if="currentInfo.id">
          <view class="t1">
            {{
              (!!currentInfo.supplierDTO ? (currentInfo.supplierDTO.name) : "") || currentInfo.nickName || currentInfo.loginName || '-'
            }}<span
              v-if="currentInfo.supplierDTO&&currentInfo.supplierDTO.status!=='P'">
              (!!currentInfo.supplierDTO ? (currentInfo.supplierDTO.name) : "") || (!!currentInfo.customerDTO ? (currentInfo.customerDTO.name) : "") || currentInfo.nickName || currentInfo.loginName || '-'
            }}<span v-if="currentInfo.supplierDTO&&currentInfo.supplierDTO.status!=='P'">
                            ({{ currentInfo.supplierDTO ? currentInfo.supplierDTO.statusStr : '' }})</span>
          </view>
          <view class="t2">{{ currentInfo.tel || '暂无电话' }}</view>
@@ -66,8 +70,7 @@
        <view class="title flex">
          <view class="flex1">我的订单</view>
          <view class="m-r-a m-r-0 more" @click="goto('/pages/order/order',true)">全部订单
            <uni-icons class="" type="right"
                       size="12"></uni-icons>
                        <uni-icons class="" type="right" size="12"></uni-icons>
          </view>
        </view>
        <view class="flex order-icons-container">
@@ -165,8 +168,7 @@
          <uni-icons type="right"></uni-icons>
        </view>
      </view>
      <view class="user-util m-t-12 "
            v-if="selftype==='supplier'||selftype==='customer' || !selftype">
            <view class="user-util m-t-12 " v-if="selftype==='supplier'||selftype==='customer' || !selftype">
        <view class="title">我的客服</view>
        <view class="flex">
          <image class="icon-clock m-r-6 m-t-2" src="../../static/common/icon-call.png"></image>
@@ -210,8 +212,8 @@
          </view>
          <view class="userName">
            <text style="padding-bottom: 20rpx;">修改昵称:</text>
            <input :clearable="false" type="nickname" class="weui-input" :value="regUserName" @blur="onBindblur"
                   placeholder="请输入昵称" @input="onBindinput"/>
                        <input :clearable="false" type="nickname" class="weui-input" :value="regUserName"
                            @blur="onBindblur" placeholder="请输入昵称" @input="onBindinput" />
          </view>
          <view style="width: 100%;height: 1px; background: #EEE;">
static/images/customer/brand/info-brand-bg.png
sub_pages/customer/self/collect.vue
@@ -96,7 +96,7 @@
            }).then(res => {
                var data = res.data
                this.level_columns = [data || []]
                this.columns_levels[0].unshift({
                this.level_columns[0].unshift({
                    label: '全部',
                    value: ''
                })
sub_pages/customer/self/follow.vue
@@ -2,8 +2,8 @@
  <view class="follow-page">
    <no-data v-if="!list||list.length===0" style="width: 100%;"></no-data>
    <view class="follow-item m-b-40" v-for="(item,index) of list" :key="index">
      <image class="avatar img100" :src="item.avatar" mode="aspectFill"></image>
        <view class="follow-item m-b-40 flex" v-for="(item,index) of list" :key="index">
            <image class="avatar img100" :src="item.cover" mode="aspectFill"></image>
      <view class="info">
        <view class="name">{{ item.supplierName }}</view>
        <view class="time">{{ item.createTime }}</view>
@@ -44,7 +44,9 @@
    },
    async clearFollow(item) {
      this.$message.showLoading()
      const {code} = await this.$http.request('get', `/api/follow/delete`, {
                const {
                    code
                } = await this.$http.request('get', `/api/follow/delete`, {
        params: {
          supplierId: item.id
        }
@@ -69,25 +71,30 @@
<style lang="scss" scoped>
.follow-page {
  .follow-item {
            padding: 30rpx;
            background-color: #FFFFFF;
            margin-bottom: 20rpx;
    .avatar {
      width: 114rpx;
      height: 114rpx;
                width: 80rpx;
                height: 80rpx;
      border: 2rpx solid #FFFFFF;
      border-radius: 50%;
      margin-right: 10rpx;
                margin-right: 20rpx;
    }
    .info {
      .name {
        font-weight: 600;
        font-size: 36rpx;
                    font-size: 32rpx;
        color: #000000;
        line-height: 50rpx;
                    line-height: 40rpx;
                    margin-top: 6rpx;
      }
      .time {
        font-weight: 400;
        font-size: 28rpx;
                    font-size: 24rpx;
        color: #666666;
        line-height: 40rpx;
      }
@@ -99,19 +106,24 @@
      margin-left: 10rpx;
      font-weight: 400;
      font-size: 24rpx;
      line-height: 60rpx;
                line-height: 30rpx;
                border-radius: 34rpx;
                margin-top: 10rpx;
                // min-width: 128rpx;
                height: 30rpx;
    }
    .button-1 {
      color: #999999;
      border-radius: 34rpx;
      border: 2rpx solid #999999;
    }
    .button-2 {
      border-radius: 34rpx;
      border: 2rpx solid #20613D;
      color: #20613D;
    }
sub_pages/customer/shop/shop.vue
@@ -1,8 +1,8 @@
<template>
  <view class="brand-detail">
    <view class="brand-detail" style="background: #20613D;">
    <view class="brand-top-info">
      <view class="search-container m-t-12 flex">
            <view class="search-container  flex" style="padding-left: 20rpx;padding-right: 20rpx;padding-top: 20rpx">
        <view class="flex1 input">
          <u-input placeholder="请输入花名" v-model="search_flow">
            <template slot="suffix">
@@ -13,20 +13,27 @@
      </view>
      <view class="info-brand m-t-12" v-if="id">
        <view class="flex">
          <image class="store-logo"></image>
                    <image class="store-logo" :src="dto.cover"></image>
          <view>
            <view class="store-name">花仙子</view>
            <view class="store-address">云南省-昆明市-官渡区</view>
                        <view class="store-name">{{dto.name}}</view>
                        <view class="store-address">
                            {{ ((dto.province||'')+  (dto.city&&'-'||'') + (dto.city||'')+  (dto.region&&'-'||'')+(dto.region||'')) ||dto.address || '暂无详细地址'}}
                        </view>
          </view>
          <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"></image>
                            <image src="../../../static/icon-gz-0.png" class="icon" v-if="!dto.followed"></image>
                        </view>
                        <view>{{dto.followed?'取消':'关注'}}</view>
                    </view>
                    <!--           <view class="store-sc m-l-a m-r-0" @click="updateGz(!dto.followed)">
              <image src="../../../static/icon-gz-1.png" class="icon" v-if="dto.followed"
                     ></image>
              <image src="../../../static/icon-gz-0.png" class="icon" v-if="!dto.followed"
                     ></image>
            </view>
            <view>关注</view>
          </view>
            关注
          </view> -->
        </view>
      </view>
      <view class="tj-info m-t-12">
@@ -47,9 +54,11 @@
          <view class="label">关注</view>
        </view>
      </view>
      <top-tabs class="m-t-12" :tabs="tabs" :flg="flg" @change="changeTab">
            <view class="p10" style="padding-left: 20rpx;padding-right: 20rpx;">
                <top-tabs :tabs="tabs" :flg="flg" @change="changeTab">
      </top-tabs>
            </view>
    </view>
    <view class="brand-info">
      <view v-if="flg==='0'" class="brand-info-0">
@@ -124,11 +133,19 @@
        <view class="title">
          基础信息
        </view>
        <view class="form-input">
                <view class="form-input flex">
          <view class="label">经营模式</view>
          <view class="value">供应商</view>
        </view>
        <view class="form-input">
                <view class="form-input flex">
                    <view class="label ">商家详细</view>
                    <view class="value">{{dto.address || '暂无'}}</view>
                </view>
                <view class="form-input flex">
                    <view class="label ">商家介绍</view>
                    <view class="value">{{dto.description || '-'}}</view>
                </view>
                <view class="form-input flex">
          <view class="label">身份认证</view>
          <view class="value">个人身份认证</view>
        </view>
@@ -196,7 +213,9 @@
    //update 关注
    async updateGz(type) {
      this.$message.showLoading()
      const {code} = await this.$http.request(type ? 'post' : 'get', `/api/follow/${type ? 'add' : 'delete'}`, {
                const {
                    code
                } = await this.$http.request(type ? 'post' : 'get', `/api/follow/${type ? 'add' : 'delete'}`, {
        data: {
          supplierId: this.dto.supplierId || this.dto.id
        },
@@ -204,16 +223,18 @@
          supplierId: this.dto.supplierId || this.dto.id
        }
      })
      this.$message.hideLoading()
      if (code === 0) {
        this.dto.followed = !this.dto.followed
        await this.$store.dispatch('sign_add', 'follow')
                    this.$forceUpdate()
      }
                this.$message.hideLoading()
    },
    changeTab(flg) {
      this.flg = flg
                console.log('changeTab', flg)
                this.flg = ''+flg
      //如果没有加载数据,需要加载一下
    },
@@ -238,13 +259,14 @@
        return
      }
      this.$message.showLoading()
      const {code} = await http.request('post', '/api/customer/flower/cart/change-num', {
                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
@@ -260,23 +282,31 @@
.brand-detail {
  .brand-info {
    background: #FFFFFF;
    border-radius: 40rpx 40rpx 0rpx 0rpx;
            // border-radius: 40rpx 40rpx 0rpx 0rpx;
            border-top-left-radius: 40rpx;
            border-top-right-radius: 40rpx;
            overflow: hidden;
            overflow-y: scroll;
    padding: 40rpx 32rpx;
            height: calc(100vh - 650rpx);
            padding-top: 0rpx;
    .brand-info-0 {
      .top-title {
        height: 80rpx;
                    height: 60rpx;
        background: #E4ECE8;
        border-radius: 4rpx;
        font-weight: 400;
        font-size: 24rpx;
        color: #779787;
        margin-top: 10rpx;
        line-height: 80rpx;
                    line-height: 60rpx;
                    padding-left: 20rpx;
      }
    }
    .brand-info-3 {
                padding: 40rpx 30rpx;
      .title {
        font-weight: 600;
        font-size: 32rpx;
@@ -285,12 +315,12 @@
        margin-bottom: 20rpx;
      }
      .form-item {
                .form-input {
        display: flex;
        border-bottom: 2rpx solid #EEEEEE;
        .label {
          font-weight: 400;
                        font-weight: 600;
          font-size: 28rpx;
          color: #000000;
          line-height: 40rpx;
@@ -302,6 +332,8 @@
          color: #666666;
          line-height: 40rpx;
          margin-left: auto;
                        margin-right: 0;
          text-align: right;
          .check {
@@ -315,6 +347,7 @@
  .brand-top-info {
    background-image: url('https://hmy-flower.oss-cn-shanghai.aliyuncs.com/37/37dc02b58bd44af79e45031af2bb6c0b%E4%BD%8D%E5%9B%BE@2x.png');
            background-size: 100% 100%;
    .tj-info {
      display: flex;
@@ -335,6 +368,7 @@
          font-size: 48rpx;
          color: #FFFFFF;
          line-height: 66rpx;
        }
      }
    }
sub_pages/customer/shopping/confirm.vue
@@ -59,12 +59,14 @@
  },
  methods: {
    async loadTransportList() {
      let that = this
      {
                let that = this;
        console.log('address', that.address, that.cacheAddressId)
        if (that.address && that.address.id && that.cacheAddressId !== that.address.id) {
          that.$message.showLoading()
          const {code, data} = await that.$http.request('post', '/api/customer/flower/order/confirm/transports', {
                    const {
                        code,
                        data
                    } = await that.$http.request('post', '/api/customer/flower/order/confirm/transports', {
            data: {
              addressId: that.address.id,
              weight: that.dto.totalWeight || 0
@@ -76,7 +78,7 @@
            that.transportList = data || []
          }
        }
      }
    },
    async submitOrder() {
      console.log('submitOrder', this.dto)
@@ -96,7 +98,10 @@
          console.log(res)
          if (res.code) {
            tmp.$message.showLoading()
            const {code, data} = await tmp.$http.request('post', '/api/customer/flower/order/commit', {
                            const {
                                code,
                                data
                            } = await tmp.$http.request('post', '/api/customer/flower/order/commit', {
              data: {
                ...tmp.dto,
                wxcode: res.code
@@ -109,7 +114,8 @@
              if (data && data['_testOrderId']) {
                //回调
                tmp.$message.showLoading()
                const res2 = await tmp.$http.request('get', '/api/customer/flower/order/callback/tmp', {
                                    const res2 = await tmp.$http.request('get',
                                        '/api/customer/flower/order/callback/tmp', {
                  params: {
                    id: res2.data['_testOrderId']
                  }
@@ -165,7 +171,11 @@
          <view class="item-each m-t-12 flex">
            <image class="img img100 m-r-6" :src="item.url||item.cover"></image>
            <view>
              <view class="title"><span class="m-r-5" style="display: inline-block;">{{item.categoryStr||''}}</span><span v-if="item.levelStr" class="m-r-5" style="display: inline-block;">{{ item.levelStr || '' }}</span>{{ item.name || '-' }}</view>
                            <view class="title"><span class="m-r-5"
                                    style="display: inline-block;">{{item.categoryStr||''}}</span><span
                                    v-if="item.levelStr" class="m-r-5"
                                    style="display: inline-block;">{{ item.levelStr || '' }}</span>{{ item.name || '-' }}
                            </view>
              <view class="price">
                {{ item.price || 0 }}*{{ item.num }}扎
              </view>
@@ -185,9 +195,10 @@
      <view class="br-4 transform-container m-t-12 p10">
        <view class="title">
          <view>运输方式:</view>
          <view class="flex transform-list">
            <view v-for="(transform,index) of transportList" :class="[transform.id===dto.transportId?'cur':'']"
                  :key="index" class="transform-item" @click="()=>{
                    <view class="flex transform-list flex-wrap-normal">
                        <view v-for="(transform,index) of transportList"
                            :class="[transform.id===dto.transportId?'cur':'']" :key="index" class="transform-item"
                            @click="()=>{
                    dto.transportId = transform.id;
                    current_transport = transform
                  }">
@@ -236,7 +247,7 @@
      <view class="desc flex">
        <view>商品金额:</view>
        <view class="m-l-a m-r-0 text-right">
          {{ (dto.totalAmount || 0) - (dto.packing) || 0 }}
                    {{ (dto.totalAmount || 0)  || 0 }}
        </view>
      </view>
      <view class="desc flex">
@@ -253,11 +264,13 @@
      </view>
    </view>
    <view style="min-height:200rpx">
    </view>
    <view class="bottom-price flex">
      <view class="m-t-12 m-l-0 m-r-a">
        合计 <span class="t-red">¥ {{ (dto.totalAmount || 0) + (current_transport.fee || 0) || 0 }} </span>元
                合计 <span class="t-red">¥
                    {{ (dto.totalAmount || 0) + (dto.packing || 0) + (current_transport.fee || 0) || 0 }} </span>元
      </view>
      <view class="button-green-1 m-l-a m-r-0" style="min-width: 240rpx" @click="submitOrder">
        提交订单
@@ -364,25 +377,26 @@
        border-radius: 8rpx;
        //min-height: 112rpx;
        border: 2rpx solid rgba(225, 240, 231, 0.38);
        padding: 14rpx;
                    padding: 10rpx;
        text-align: center;
        //margin: 0 auto;
        margin-left: 20rpx;
                    margin-left: 10rpx;
        margin-top: 10rpx;
        margin-right: auto;
        max-width: 32%;
        min-width: 120rpx;
                    width: 130rpx;
        .title {
          font-weight: 400;
          font-size: 28rpx;
                        font-size: 24rpx;
          color: #000000;
          line-height: 40rpx;
                        word-break: break-word;
        }
        .price {
          font-weight: 600;
          font-size: 32rpx;
                        font-size: 30rpx;
          color: #20613D;
          //line-height: 44rpx;
        }
sub_pages/customer/shopping/shopping.vue
@@ -24,15 +24,16 @@
        <view v-for="(dto,j) of item.flowerList" :key="j">
          <u-divider v-if="j>0"></u-divider>
          <u-swipe-action>
            <u-swipe-action-item
                :options="options1"
                @click="(e)=>{clickSwipeButton(dto)}"
            >
                        <u-swipe-action-item :options="options1" @click="(e)=>{clickSwipeButton(dto)}">
              <view class="item-each flex">
                <radio :checked="ids.indexOf(dto.id)>=0" @click="changeItem(dto,'flower')"></radio>
                <image class="img img100 m-r-6" :src="dto.url||dto.cover"></image>
                <view class="flex1">
                  <view class="title"><span class="m-r-5" style="display: inline-block;">{{item.categoryStr||''}}</span><span v-if="item.levelStr" class="m-r-5" style="display: inline-block;">{{ item.levelStr || '' }}</span>{{ dto.name || '-' }}</view>
                                    <view class="title"><span class="m-r-5"
                                            style="display: inline-block;">{{item.categoryStr||''}}</span><span
                                            v-if="item.levelStr" class="m-r-5"
                                            style="display: inline-block;">{{ item.levelStr || '' }}</span>{{ dto.name || '-' }}
                                    </view>
                  <view class="price">
                    {{ dto.price || '-' }}元/扎
                  </view>
@@ -140,12 +141,14 @@
        return
      }
      this.$message.showLoading()
      const {code, data} = await http.request('post', '/api/customer/flower/order/confirm/info', {
                const {
                    code,
                    data
                } = await http.request('post', '/api/customer/flower/order/confirm/info', {
            data: {
              flowers: arr,
            }
          }
      )
                })
      this.$message.hideLoading()
      if (code === 0) {
        this.$storage.setItem('_cache_shopping_dto',JSON.stringify(data))
@@ -158,12 +161,13 @@
      //删除商品,重新加载数据?
      this.$message.showLoading()
      const {code} = await http.request('get', '/api/customer/flower/cart/delete', {
                const {
                    code
                } = await http.request('get', '/api/customer/flower/cart/delete', {
            params: {
              id: item.id,
            }
          }
      )
                })
      this.$message.hideLoading()
      if (code === 0) {
        if (this.ids.indexOf(item.id) >= 0) {
@@ -255,26 +259,34 @@
        return
      }
      this.$message.showLoading()
      const {code} = await http.request('post', '/api/customer/flower/cart/change-num', {
                const {
                    code
                } = await http.request('post', '/api/customer/flower/cart/change-num', {
            data: {
              id: dto.id,
              num: addnum
            }
          }
      )
                })
      this.$message.hideLoading()
      if (code === 0) {
        dto.num += addnum
      }
    },
    async init() {
                if (!this.currentInfo.id) {
                    this.$message.showToast('请先登录')
                    return
                }
      if (!this.currentInfo.customerDTO) {
        this.$message.showToast('请先前往个人中心补充个人信息')
        return
      }
      this.$message.showLoading()
      await this.$store.dispatch('sign_clear', 'shopping');
      const {code, data} = await this.$http.request('get', '/api/customer/flower/cart/list', {})
                const {
                    code,
                    data
                } = await this.$http.request('get', '/api/customer/flower/cart/list', {})
      this.$message.hideLoading()
      this.list = []
      if (code === 0) {
@@ -381,7 +393,7 @@
    padding-left: 26rpx;
    .icon-clock {
      margin-top: 9rpx;
                margin-top: 12rpx;
    }
  }
}
sub_pages/customer/trade/detail.vue
@@ -3,7 +3,7 @@
        <view class="top-img-container">
            <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>
                <image src="../../../static/common/icon-sc.png" @click="collectItem(dto)" class="icon-sc"></image>
                <!--        <view class="num">12</view>-->
            </view>
            <view class="icon-container">
@@ -63,10 +63,10 @@
        <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 m-t-12">
                <image class="store-logo"></image>
                <image class="store-logo" :src="dto.supplierCover"></image>
                <view>
                    <view class="store-name">{{dto.supplierName||'-'}}</view>
                    <view class="store-address">{{dto.supplierStation||'-'}}</view>
                    <view class="store-name t1">{{dto.supplierName||'-'}}</view>
                    <view class="store-address t1">{{dto.supplierStation||'-'}}</view>
                </view>
                <view class="store-to m-l-a m-r-0">进入店铺</view>
            </view>
@@ -133,6 +133,23 @@
            }
        },
        methods: {
            async collectItem(dto){
                await this.$message.confirm('是否添加到收藏')
                this.$message.showLoading()
                const {
                    code,
                    data
                } = await this.$http.request('post', '/api/collect/add', {
                    data: {
                        flowerId: dto.id
                    }
                })
                if (code === 0) {
                    this.$message.showToast('收藏成功')
                }
                this.$message.hideLoading()
            },
            async submitShopping(dto) {
                //提交到购物车中
                this.$message.showLoading()
@@ -198,6 +215,7 @@
                font-size: 28rpx;
                color: #CF0000;
                line-height: 40rpx;
                margin-top: -10rpx;
                .num {
                    font-size: 48rpx;
@@ -335,6 +353,7 @@
                position: absolute;
                top: 20rpx;
                width: 80rpx;
                left: 40rpx;
                height: 80rpx;
                background: rgba(0, 0, 0, 0);
@@ -367,12 +386,12 @@
            }
            .icon-container:last-child {
                left: 140rpx;
                left: 100rpx;
            }
            .icon-container:first-child {
                left: 40rpx;
            }
            // .icon-container:first-child {
            //     left: 40rpx;
            // }
        }
    }
sub_pages/customer/trade/list.vue
@@ -4,17 +4,14 @@
        <view class="category-detail flex" v-if="query.category">
            <view class="flex1 info">
                <view class="title flex">
                    <view>{{categoryInfo.name||'-'}}</view>
                    <view>
                    {{categoryInfo.name||'-'}}
                        <image src="../../../static/common/icon-kf.png" class="icon-kf m-l-15 img100"></image>
                    </view>
                </view>
                <view class="desc">
                    规格:{{categoryInfo.unit}}
                    规格:{{categoryInfo.unit || '暂无'}}
                </view>
                <view class="desc">
                    颜色:{{categoryInfo.color}}
                    颜色:{{categoryInfo.color || '暂无'}}
                </view>
            <!--     <view class="desc">
                    包袋:棉袋
@@ -22,24 +19,23 @@
            </view>
            <view class="info-price">
                <view class="title">当日均价</view>
                <view class="price">19.66</view>
                <view class="price">{{categoryInfo.avePrice||'暂无'}}</view>
                <view class="flex desc">
                    <view class="m-l-a m-r-5">+0.76</view>
                    <view class="m-r-a m-l-5">+4.02%</view>
                    <view class="m-l-a m-r-5">{{categoryInfo.avePriceDifference&&categoryInfo.avePriceDifference>=0?'+':''}}{{categoryInfo.avePriceDifference||0}}</view>
                    <view class="m-r-a m-l-5">{{categoryInfo.avePriceDifferenceRate&&categoryInfo.avePriceDifferenceRate>=0?'+':''}}{{categoryInfo.avePriceDifferenceRate||0}}%</view>
                </view>
            </view>
        </view>
        <view class="" style="min-height: calc(100vh - 260rpx);">
            <no-data v-if="!list||list.length===0" style="width: 100%;"></no-data>
            <view v-else>
            <view>
                <!-- 查询条件 -->
                <view class="component-filter-container">
                    <view class="flex1" @click.stop="order_show=true">
                        {{ this.query.columnStr || '排序' }}
                        {{ query.columnStr || '排序' }}
                        <image src="../../../static/common/icon-arrow-down.png" class="icon-arrow-down"></image>
                    </view>
                    <view class="flex1" @click.stop="level_show=true">
                        {{ this.query.levelStr || '级别' }}
                        {{ query.levelStr || '级别' }}
                        <image src="../../../static/common/icon-arrow-down.png" class="icon-arrow-down"></image>
                    </view>
@@ -55,14 +51,15 @@
                    </view>
                </view>
            </view>
            <no-data v-if="!list||list.length===0" style="width: 100%;"></no-data>
            <view class="component-shop-item flex" v-for="(item,index) of list" :key="index">
                <view class="img" @click.stop="toDetail(item)">
                    <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">
                        :src="item.cover">
                    </image>
                    <view class="level">
                        {{levelStr||''}}
                        {{item.levelStr||''}}
                    </view>
                </view>
@@ -79,10 +76,10 @@
                        </view>
                        <view class="other-info flex">
                            <view class="m-r-15">
                                已售:{{item.sales}}
                                已售:{{item.sales||0}}
                            </view>
                            <view class="m-r-15">
                                剩余:{{item.stock}}
                                剩余:{{item.stock||0}}
                            </view>
                            <view class="m-r-15">
                                {{item.unit}}
@@ -196,7 +193,7 @@
            }).then(res => {
                var data = res.data
                this.level_columns = [data || []]
                this.columns_levels[0].unshift({
                this.level_columns[0].unshift({
                    label: '全部',
                    value: ''
                })
@@ -286,6 +283,7 @@
            },
            select_level(e) {
                this.level_show = false
                console.log('select_level',e)
                this.query.levelStr = e.value[0].label
                this.query.level = e.value[0].value
                this.refreshList('post')
@@ -361,7 +359,7 @@
                    font-weight: 600;
                    font-size: 36rpx;
                    color: #000000;
                    line-height: 50rpx;
                    line-height: 44rpx;
                }
                .icon-kf {
sub_pages/customer/trade/trade.vue
@@ -38,7 +38,7 @@
                        <view v-for="(item,index) of listFilter" :key="item.id" class="canteen-item list"
                            @click.stop="toDetailList(item)">
                            <view class="m-r-10">
                                <image :src="item.imageUrl" mode="scaleToFill" class="cover"
                                <image :src="item.imageUrl" mode="scaleToFill" class="cover" :lazy-load="true"
                                    @click.stop="previewImg(item.imageUrl)">
                                </image>
                            </view>