xuxueyang
2024-07-30 1fb44496929548b4f07b37796d506dedc494d44a
update 问题修复
已修改30个文件
878 ■■■■■ 文件已修改
components/footer/customer-footer.vue 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
components/tree-filter/tree-filter.vue 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
manifest.json 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages.json 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/home/components/home-banner-imgs.vue 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/home/components/home-top-flow.vue 314 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/home/home.vue 50 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/notice/list.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/order/order-delivery.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/order/order-detail.vue 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/order/order-sale/order-sale-detail.vue 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/order/order-sale/order-sale.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/order/order.vue 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/user/supplier-user.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
plugins/http.js 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
store/index.js 59 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sub_pages/customer/self/collect.vue 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sub_pages/customer/self/follow.vue 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sub_pages/customer/self/history.vue 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sub_pages/customer/shop/shop.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sub_pages/customer/shopping/shopping.vue 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sub_pages/customer/trade/detail.vue 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sub_pages/customer/trade/list.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
sub_pages/customer/trade/trade.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sub_pages/partner/delivery/delivery.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sub_pages/partner/markup-config/markup-config.vue 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sub_pages/partner/order-manage/order-manage.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sub_pages/supplier/flower-manage/flower-add.vue 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sub_pages/supplier/flower-manage/flower-manage.vue 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sub_pages/supplier/order-settlement/order-settlement.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
components/footer/customer-footer.vue
@@ -4,22 +4,30 @@
            <view class="item" :class="flg==index?'cur':''" @click="go(index,item)">
                <view v-if="index==0">
                    <image src="../../static/images/customer/footer/footer-home-1.png" class="footer-icon" v-if="flg==0"></image>
                    <image src="../../static/images/customer/footer/footer-home-0.png" class="footer-icon" v-if="flg!=0"></image>
                    <image src="../../static/images/customer/footer/footer-home-1.png" class="footer-icon"
                        v-if="flg==0"></image>
                    <image src="../../static/images/customer/footer/footer-home-0.png" class="footer-icon"
                        v-if="flg!=0"></image>
                </view>
                <view v-if="index==1">
                    <image src="../../static/images/customer/footer/footer-trade-1.png" class="footer-icon" v-if="flg==1"></image>
                    <image src="../../static/images/customer/footer/footer-trade-0.png" class="footer-icon" v-if="flg!=1"></image>
                    <image src="../../static/images/customer/footer/footer-trade-1.png" class="footer-icon"
                        v-if="flg==1"></image>
                    <image src="../../static/images/customer/footer/footer-trade-0.png" class="footer-icon"
                        v-if="flg!=1"></image>
                </view>
                <view v-if="index==2">
                    <image src="../../static/images/customer/footer/footer-shopping-1.png" class="footer-icon" v-if="flg==2">
                    <image src="../../static/images/customer/footer/footer-shopping-1.png" class="footer-icon"
                        v-if="flg==2">
                    </image>
                    <image src="../../static/images/customer/footer/footer-shopping-0.png" class="footer-icon" v-if="flg!=2">
                    <image src="../../static/images/customer/footer/footer-shopping-0.png" class="footer-icon"
                        v-if="flg!=2">
                    </image>
                </view>
                <view v-if="index==3">
                    <image src="../../static/images/customer/footer/footer-self-1.png" class="footer-icon" v-if="flg==3"></image>
                    <image src="../../static/images/customer/footer/footer-self-0.png" class="footer-icon" v-if="flg!=3"></image>
                    <image src="../../static/images/customer/footer/footer-self-1.png" class="footer-icon"
                        v-if="flg==3"></image>
                    <image src="../../static/images/customer/footer/footer-self-0.png" class="footer-icon"
                        v-if="flg!=3"></image>
                </view>
                <view>
@@ -39,21 +47,21 @@
                tabBar: [{
                        "text": "首页",
                        "pagePath":'/pages/home/home'
                        "pagePath": '/pages/home/home'
                    },
                    {
                        "text": "交易大厅",
                        "pagePath":'/sub_pages/customer/trade/trade'
                        "pagePath": '/sub_pages/customer/trade/trade'
                    },
                    {
                        "text": "购物车",
                        "pagePath":'/sub_pages/customer/shopping/shopping'
                        "pagePath": '/sub_pages/customer/shopping/shopping'
                    },
                    {
                        "text": "我的",
                        "pagePath":'/pages/user/supplier-user'
                        "pagePath": '/pages/user/supplier-user'
                    }
                ]
            }
@@ -73,13 +81,22 @@
        methods: {
            go(index, item) {
                if (this.flg == ('' + index)) {
                if (this.flg == index) {
                    return
                }
                uni.redirectTo({
                    url: item.pagePath
                });
                if (index===1||index===2) {
                    //交易大厅和购物车,这2个可以用跳转方式
                    uni.navigateTo({
                        url:item.pagePath
                    })
                }else{
                    uni.redirectTo({
                        url: item.pagePath
                    });
                }
            },
        }
    }
components/tree-filter/tree-filter.vue
@@ -152,7 +152,7 @@
            show() {
                this.isOpened = true
                setTimeout(() => {
                    this.$refs.pickerView.updateData({
                    this.$refs.pickerView&&this.$refs.pickerView.updateData({
                        treeData: this._treeData,
                        selected: this.selected,
                        selectedIndex: this.selectedIndex
@@ -230,6 +230,8 @@
        .tree-filter-nodes {
            padding-left: 40rpx;
            padding-right: 40rpx;
            overflow-y: scroll;
            max-height: 80vh;
            .tree-filter-node {
                display: flex;
manifest.json
@@ -49,7 +49,7 @@
    "quickapp" : {},
    /* 快应用特有相关 */
    "mp-weixin" : {
        "appid" : "wx1441324401626290",
        "appid" : "wx3203fd935a6ffe09",
        "setting" : {
            "urlCheck" : false,
            "es6" : true,
pages.json
@@ -108,13 +108,13 @@
        {
            "path": "pages/order/order-delivery-detail",
            "style": {
                "navigationBarTitleText": "订单详情"
                "navigationBarTitleText": "配送单详情"
            }
        },
        {
            "path": "pages/order/order-delivery",
            "style": {
                "navigationBarTitleText": "订单列表"
                "navigationBarTitleText": "配送单列表"
            }
        },
        {
pages/home/components/home-banner-imgs.vue
@@ -2,29 +2,29 @@
    <view class=" home-banner-imgs">
        <view class="flex" v-if="list&&list.length>=3">
            <view class="flex1 m-r-5">
                <image class="p1 img100" :src="list[0].url" mode="scaleToFill">
                <image class="p1 img100" :src="list[0].url" mode="scaleToFill" @click="previewImg(list[0].url)">
                </image>
            </view>
            <view class="flex1 m-l-5">
                <image class="p2 img100" :src="list[1].url" mode="scaleToFill">
                <image class="p2 img100" :src="list[1].url" mode="scaleToFill" @click="previewImg(list[1].url)">
                </image>
                <image class="p3 img100" :src="list[2].url" mode="scaleToFill">
                <image class="p3 img100" :src="list[2].url" mode="scaleToFill" @click="previewImg(list[2].url)">
                </image>
            </view>
        </view>
        <view class="flex l-2" v-else-if="list&&list.length>=2" mode="scaleToFill">
            <view class="flex1 m-r-5">
                <image class="p1 img100" :src="list[0].url" mode="scaleToFill">
                <image class="p1 img100" :src="list[0].url" mode="scaleToFill" @click="previewImg(list[0].url)">
                </image>
            </view>
            <view class="flex1 m-l-5">
                <image class="p1 img100" :src="list[1].url" mode="scaleToFill">
                <image class="p1 img100" :src="list[1].url" mode="scaleToFill" @click="previewImg(list[1].url)">
                </image>
            </view>
        </view>
        <view class="flex l-1" v-else-if="list&&list.length>=1" mode="scaleToFill">
            <view class="flex1 m-r-5">
                <image class="p1 img100" :src="list[0].url" mode="scaleToFill">
                <image class="p1 img100" :src="list[0].url" mode="scaleToFill" @click="previewImg(list[0].url)">
                </image>
            </view>
        </view>
@@ -42,12 +42,13 @@
            const {
                data,
                code
            } = await this.$http.request('get', '/api/pub/banner/list', {
            } = await this.$http.request('get', '/api/pub/advertisement/list', {
            })
            if (code === 0) {
                this.list = data || []
                for(var item of this.list){
                    item.url = item.cover
                    try{
                        if(item.url){
                            var t = JSON.parse(item.url)
@@ -61,6 +62,7 @@
                    }catch(e){
                        // console.log('error',e)
                    }
                    // item.url = item.cover
                }
                console.log(this.list)
            }
pages/home/components/home-top-flow.vue
@@ -1,173 +1,193 @@
<template>
  <view class="home-top-flow">
    <view class="item flex" v-for="(item,index) of list" :key="index">
      <view class="img">
        <image class="img img100"
               :src="item.cover">
        </image>
        <view class="level">
          {{ item.levelStr}}
        </view>
      </view>
    <view class="home-top-flow">
        <view class="item flex" v-for="(item,index) of list" :key="index" @click="toDetail(item)">
            <view class="img">
                <image class="img img100" :src="item.cover">
                </image>
                <view class="level">
                    {{ item.levelStr}}
                </view>
            </view>
      <view class="m-l-12 info-container flex1">
        <view class="title">
          {{ item.name || '-' }}
          <view class="price">
            ¥{{ item.price || 0 }}/扎
          </view>
        </view>
        <view class="tags" v-if="item.tag">
          <view class="tag red" v-for="(tag,k) of item.tagArr" :class="[k===0?'red':'green']" :key="tag">{{
            <view class="m-l-12 info-container flex1">
                <view class="title">
                    {{ item.name || '-' }}
                    <view class="price">
                        ¥{{ item.price || 0 }}/扎
                    </view>
                </view>
                <view class="tags" v-if="item.tag">
                    <view class="tag red" v-for="(tag,k) of item.tagArr" :class="[k===0?'red':'green']" :key="tag">{{
              tag
            }}
          </view>
          <!--                    <view class="tag red">限时抢购</view>-->
          <!--                    <view class="tag green">品质严选</view>-->
        </view>
        <view class="shop-name">
          {{ item.supplierName || '佚名' }}
        </view>
        <view class="other-info flex">
          <view class="m-r-15">
            已售:{{ item.sales || 0 }}
          </view>
          <view class="m-r-15">
            剩余:{{ item.stock || 0 }}
          </view>
          <view class="m-r-15">
            {{ item.unit || 0 }}
          </view>
        </view>
      </view>
    </view>
  </view>
                    </view>
                    <!--                    <view class="tag red">限时抢购</view>-->
                    <!--                    <view class="tag green">品质严选</view>-->
                </view>
                <view class="shop-name">
                    {{ item.supplierName || '佚名' }}
                </view>
                <view class="other-info flex">
                    <view class="m-r-15">
                        已售:{{ item.sales || 0 }}
                    </view>
                    <view class="m-r-15">
                        剩余:{{ item.stock || 0 }}
                    </view>
                    <view class="m-r-15">
                        {{ item.unit || 0 }}
                    </view>
                </view>
                <view class="button-buy  m-l-a m-r-0" v-if="item.status=='UP'">
                    立即抢购
                </view>
            </view>
        </view>
    </view>
</template>
<script>
export default {
  data() {
    return {
      // list: [{}, {}, {}, {}]
    };
  },
  mounted() {
    this.listApi = '/api/customer/flower/list'
    this.page.size = 4
    this.page.current = 1
    this.getList('post')
  },
  methods: {
    getList_after() {
      if (this.list) {
        for (var item of this.list) {
          item.tagArr = []
          if (item.tags) {
            item.tagArr = item.tags.split(",") || []
          }
        }
      }
    }
  },
    export default {
        data() {
            return {
                // list: [{}, {}, {}, {}]
                query: {
                    status: 'UP'
                }
            };
        },
        mounted() {
            this.listApi = '/api/customer/flower/list'
            this.page.size = 4
            this.page.current = 1
            this.getList('post')
        },
        methods: {
            getList_after() {
                if (this.list) {
                    for (var item of this.list) {
                        item.tagArr = []
                        if (item.tags) {
                            item.tagArr = item.tags.split(",") || []
                        }
                    }
                }
            },
            toDetail(item) {
                uni.navigateTo({
                    url: '/sub_pages/customer/trade/detail?id=' + item.id
                })
            }
        },
}
    }
</script>
<style lang="scss">
.home-top-flow {
  .item {
    margin-top: 20rpx;
    background: #FFFFFF;
    border-radius: 8rpx;
    padding: 10rpx;
    .home-top-flow {
        .item {
            margin-top: 20rpx;
            background: #FFFFFF;
            border-radius: 8rpx;
            padding: 10rpx;
    .info-container {
            .info-container {
                .button-buy {
                    width: 128rpx;
                    height: 48rpx;
                    border-radius: 30rpx;
                    border: 2rpx solid #CF0000;
                    font-size: 24rpx;
                    color: #CF0000;
                    line-height: 48rpx;
                    text-align: center;
                }
      .other-info {
        margin-top: 6rpx;
        font-size: 24rpx;
        color: #666666;
        line-height: 34rpx;
        text-align: left;
      }
                .other-info {
                    margin-top: 6rpx;
                    font-size: 24rpx;
                    color: #666666;
                    line-height: 34rpx;
                    text-align: left;
                }
      .shop-name {
        margin-top: 14rpx;
        font-size: 24rpx;
        color: #666666;
        line-height: 34rpx;
      }
                .shop-name {
                    margin-top: 14rpx;
                    font-size: 24rpx;
                    color: #666666;
                    line-height: 34rpx;
                }
      .tags {
        margin-top: 12rpx;
        display: flex;
                .tags {
                    margin-top: 12rpx;
                    display: flex;
        .tag {
          min-width: 80rpx;
          padding-left: 20rpx;
          padding-right: 20rpx;
          line-height: 36rpx;
          background: #FEE6E6;
          border-radius: 21rpx;
          font-size: 24rpx;
          color: #CD1212;
          margin-right: 12rpx;
          text-align: center;
        }
                    .tag {
                        min-width: 80rpx;
                        padding-left: 20rpx;
                        padding-right: 20rpx;
                        line-height: 36rpx;
                        background: #FEE6E6;
                        border-radius: 21rpx;
                        font-size: 24rpx;
                        color: #CD1212;
                        margin-right: 12rpx;
                        text-align: center;
                    }
        .tag.green {
          color: rgba(110, 159, 102, 1);
          background: rgba(202, 229, 214, 1);
          border-radius: 21rpx;
          // opacity: 0.57;
        }
      }
                    .tag.green {
                        color: rgba(110, 159, 102, 1);
                        background: rgba(202, 229, 214, 1);
                        border-radius: 21rpx;
                        // opacity: 0.57;
                    }
                }
      .title {
        font-weight: 600;
        font-size: 32rpx;
        color: #000000;
        line-height: 44rpx;
        margin-top: 8rpx;
        position: relative;
                .title {
                    font-weight: 600;
                    font-size: 32rpx;
                    color: #000000;
                    line-height: 44rpx;
                    margin-top: 8rpx;
                    position: relative;
        .price {
          position: absolute;
          font-weight: 400;
          font-size: 28rpx;
          color: #CF0000;
          line-height: 40rpx;
          top: 0;
          right: 0;
        }
      }
                    .price {
                        position: absolute;
                        font-weight: 400;
                        font-size: 28rpx;
                        color: #CF0000;
                        line-height: 40rpx;
                        top: 0;
                        right: 0;
                    }
                }
    }
            }
    .img {
      width: 206rpx;
      height: 206rpx;
      border-radius: 8rpx;
      position: relative;
            .img {
                width: 206rpx;
                height: 206rpx;
                border-radius: 8rpx;
                position: relative;
      .level {
        position: absolute;
        width: 66rpx;
        height: 44rpx;
        background: #20613D;
        left: 0;
        top: 0;
        border-top-left-radius: 8rpx;
        border-bottom-right-radius: 8rpx;
        color: #FFFFFF;
        line-height: 44rpx;
        font-size: 24rpx;
        text-align: center;
      }
                .level {
                    position: absolute;
                    width: 66rpx;
                    height: 44rpx;
                    background: #20613D;
                    left: 0;
                    top: 0;
                    border-top-left-radius: 8rpx;
                    border-bottom-right-radius: 8rpx;
                    color: #FFFFFF;
                    line-height: 44rpx;
                    font-size: 24rpx;
                    text-align: center;
                }
    }
            }
  }
}
        }
    }
</style>
pages/home/home.vue
@@ -36,8 +36,8 @@
                v-if="banners&&banners.length>0" :autoplay="true">
                <swiper-item v-for="(item, index) in banners" :key="index">
                    <view class="swiper-item" :class="'swiper-item' + index">
                        <image @click="previewImg(item.imageSmall||item.image)" class="home-banner-image"
                            mode="aspectFit" :src="item.imageSmall||item.image">
                        <image @click="previewImg(item.url||item.image)" class="home-banner-image" mode="scaleToFill"
                            :src="item.url||item.image">
                        </image>
                    </view>
                </swiper-item>
@@ -202,7 +202,29 @@
            //获取banner图
            this.$http.request('get', '/api/pub/banner/list', {}).then(res => {
                if (res.code == 0) {
                    this.banners = res.data.records || []
                    this.banners = res.data || []
                    if (this.banners.length == 0) {
                        this.banners.push({
                            url: 'https://hmy-flower.oss-cn-shanghai.aliyuncs.com/62/62ddac6297104e369aba646be704064dbanner@2x.png'
                        })
                    } else {
                        for (var item of this.banners) {
                            // http://106.14.123.210/files/group1/e8/e1c17f7229514e5da211d8d47b09906b.jpeg
                            try {
                                if (item.url) {
                                    var t = JSON.parse(item.url)
                                    if (Array.isArray(t)) {
                                        item.url = t[0] || ''
                                    } else {
                                        item.url = t.url || ''
                                    }
                                }
                            } catch (e) {
                                // console.log('error',e)
                            }
                        }
                    }
                }
            })
@@ -214,17 +236,19 @@
            }
            //如果已经登录,加载一下默认地址
            let that = this
            setTimeout(()=>{
                if(that.currentInfo.id&&!that.address.id){
                    that.$http.request('get', '/api/address/default/detail').then(res=>{
                        if(res.data){
                            that.$store.commit('setDefaultAddress', {...res.data})
            setTimeout(() => {
                if (that.currentInfo.id && !that.address.id) {
                    that.$http.request('get', '/api/address/default/detail').then(res => {
                        if (res.data) {
                            that.$store.commit('setDefaultAddress', {
                                ...res.data
                            })
                        }
                    })
                }
            },2000)
            }, 2000)
            //公告
            this.$http.request('get', '/api/pub/announcement/list', {
                params: {
@@ -232,9 +256,9 @@
                    // status: 'A'
                }
            }).then(res => {
                if (res.code === 0) {
                if (res.code === 0) {
                    // (res.data && res.data.records || [])
                    this.noticeList =  res.data || []
                    this.noticeList = res.data || []
                    console.log('this.noticeList', this.noticeList)
                    if (this.noticeList.length > 0) {
                        this.currentNotice = this.noticeList[0]
pages/notice/list.vue
@@ -32,7 +32,6 @@
        },
        onReachBottom() {
            this.page.current += 1
            this.getMore()
        },
        async onPullDownRefresh() {
pages/order/order-delivery.vue
@@ -58,11 +58,11 @@
                    <view class="delivery-form">
                        <view class="form-item">
                            <view class="label">仓库名称</view>
                            <view class="value red">{{item.warehouseName}}</view>
                            <view class="value red">{{item.warehouseName || '待分配'}}</view>
                        </view>
                        <view class="form-item">
                            <view class="label">库位名称</view>
                            <view class="value red">{{item.warehouseLocationCode}}</view>
                            <view class="value red">{{item.warehouseLocationCode || '待分配'}}</view>
                        </view>
                    </view>
@@ -105,7 +105,6 @@
        },
        onReachBottom() {
            this.page.current += 1
            this.getMore()
        },
        async onShow() {
pages/order/order-detail.vue
@@ -23,8 +23,16 @@
                await this.getDetail()
                await this.getItemList()
                this.submitForm = {
                    orderId: this.id,
                    imageList: [],
                    videoList: [],
                    reason: [],
                    orderItems: []
                }
                this.showSales = options.showsales && true || false
            }
            this.showSales = options.showsales && true || false
        },
        methods: {
pages/order/order-sale/order-sale-detail.vue
@@ -188,6 +188,34 @@
        </view>
        <view class="info-container bg-white m-t-12 br-4">
            <view v-if="dto.imageList&&dto.imageList.length>0">
                <view class="form-item">
                    <view class="label">图片:
                    </view>
                </view>
                <view class="flex p20">
                    <view class="m-t-12 m-r-10 " v-for="(timg,index) of dto.imageList" :key="index">
                        <image class="check-img" :src="timg" @click.stop="previewImg(timg)">
                        </image>
                    </view>
                </view>
            </view>
            <view v-if="dto.imageList&&dto.imageList.length>0">
                <view class="form-item">
                    <view class="label">视频:
                    </view>
                </view>
                <view class="flex p20">
                    <view class="m-t-12 m-r-10 " v-for="(timg,index) of dto.videoList" :key="index">
                        <video :src="timg" style="display: block;margin: 0 auto;"></video>
                    </view>
                </view>
            </view>
        </view>
    </view>
</template>
@@ -245,6 +273,13 @@
        .info-container {
            padding: 28rpx;
            .check-img {
                width: 96rpx;
                height: 96rpx;
                border-radius: 4rpx;
                border: 2rpx dashed #CECECE;
            }
            .form-item {
                font-weight: 400;
                font-size: 28rpx;
pages/order/order-sale/order-sale.vue
@@ -89,7 +89,6 @@
        },
        onReachBottom() {
            this.page.current += 1
            this.getMore()
        },
        async onPullDownRefresh() {
pages/order/order.vue
@@ -43,7 +43,6 @@
            this.getList()
        },
        onReachBottom() {
            this.page.current += 1
            this.getMore()
        },
        async onPullDownRefresh() {
@@ -244,7 +243,7 @@
                    </view>
                    <view class="value">{{ item.customerAddress }}</view>
                </view>
                <view class="desc flex" v-if="item.status!=='PENDING'">
                <view class="desc flex" v-if="item.statusBackend!=='PENDING'">
                    <view class="label">
                        支付时间:
                    </view>
@@ -252,23 +251,23 @@
                </view>
                <view class="line-gray"></view>
                <view class="flex buttons">
                    <view class="button button-0 m-l-a m-r-0" v-if="item.status==='PENDING'"
                    <view class="button button-0 m-l-a m-r-15" v-if="item.statusBackend==='PENDING'"
                        @click="buttonClick(item,'cancelOrder')">取消订单</view>
                    <view class="button button-1 m-l-15 m-r-0" v-if="item.status==='PENDING'"
                    <view class="button button-1 m-l-15 m-r-15" v-if="item.statusBackend==='PENDING'"
                        @click="buttonClick(item,'payAgain')">重新支付</view>
                    <view class="button button-0 m-l-a m-r-0" @click="buttonClick('refund')" v-if="item.couldRefund">
                    <view class="button button-0 m-l-a m-r-15" @click="buttonClick('refund')" v-if="item.couldRefund">
                        申请退款
                    </view>
                    <view class="button button-0 m-l-a m-r-0" @click="buttonClick('confirm')"
                        v-if="item.status ==='RECEIVE'"> 确认收货
                    <view class="button button-0 m-l-a m-r-15" @click="buttonClick('confirm')"
                        v-if="item.statusBackend ==='RECEIVE'"> 确认收货
                    </view>
                    <view class="button button-1 m-l-a m-r-0" @click="toDetailSale(item)"
                        v-if=" item.status === 'EVALUATE'||item.status=='COMPLETED'"> 申请售后
                    <view class="button button-1 m-l-a m-r-15" @click="toDetailSale(item)"
                        v-if=" item.statusBackend === 'EVALUATE'||item.statusBackend=='COMPLETED'"> 申请售后
                    </view>
                    <view class="button button-0 m-l-a m-r-0" @click="buttonClick(item,'evaluate')"
                        v-if=" item.status === 'EVALUATE'"> 评价
                    <view class="button button-0 m-l-a m-r-15" @click="buttonClick(item,'evaluate')"
                        v-if=" item.statusBackend === 'EVALUATE'"> 评价
                    </view>
pages/user/supplier-user.vue
@@ -83,7 +83,7 @@
                    <view class="order-icons" style="position: relative;" @click="goto('/pages/order/order?status=PENDING',true)">
                        <image src="../../static/images/customer/order/order-type-1.png" class="order-icon dfk"
                            style="position: relative;">
                            <view class="image-shop-number">{{order_pendding_num||''}}</view>
                            <view class="image-shop-number" v-if="order_pendding_num">{{order_pendding_num||''}}</view>
                        </image>
                        <view>待付款</view>
                    </view>
plugins/http.js
@@ -93,6 +93,7 @@
                                message.showToast('系统异常')
                            } else if (res.data.code === '401' || res.data && res.data.code &&
                                res.data.code.startsWith('401')) {
                                console.log('resp', res)
                                message.showToast('登录信息失效')
                                storage.removeItem('token')
                                reject({
@@ -109,6 +110,7 @@
                                uni.reLaunch({
                                    url: '/pages/login/supplier-login'
                                })
                                // #endif
                            } else {
                                if (res.data.data && typeof res.data.data === 'string') {
@@ -132,20 +134,22 @@
                        // store.dispatch('/clearUserInfo')
                        // commit('updat')
                        // store.commit('updateLogin', false)
                        console.log('401',res)
                        message.showToast('登录信息失效')
                        storage.removeItem('token')
                        reject({
                            data: null,
                            code: 401,
                            msg: 'Unauthorized'
                        })
                        // #ifdef H5
                        // #ifdef PUB_CUSTOMER
                        uni.reLaunch({
                            url: '/views/pc/login.vue'
                            url: '/pages/user/supplier-user'
                        })
                        // #endif
                        // #ifndef H5
                        // #ifndef PUB_CUSTOMER
                        uni.reLaunch({
                            url: '/'
                            url: '/pages/login/supplier-login'
                        })
                        // #endif
store/index.js
@@ -30,7 +30,7 @@
            'shopping': 0,
            'follow': 0,
            'delivery': 0,
            'order':0
            'order': 0
        },
        defaultaddress: {}
    },
@@ -369,7 +369,8 @@
            state
        }, data) {
            {
                const resp = await http.request('post', '/api/login/customer' + ((data.phoneNumber || data.tel) ? '/phone' : ''), {
                const resp = await http.request('post', '/api/login/customer' + ((data.phoneNumber || data
                    .tel) ? '/phone' : ''), {
                    data: {
                        username: (data.phoneNumber || data.tel) ? (data.phoneNumber ||
                            data.tel) : data.username,
@@ -399,28 +400,54 @@
        },
        submitShopping: async function({
            commit,
            dispatch
            dispatch,
            state
        }, data) {
            const resp = await http.request('post', '/api/customer/flower/cart/change-num', {
                data: {
                    id: data.id,
                    num: 1
                }
            })
            if (resp && resp.code === 0) {
                message.showToast('添加购物车成功')
                dispatch('sign_add', 'shopping')
            } else {
            if(!state.currentInfo.id){
                message.showToast('请先登录')
                return
            }
            return resp
            //输入要添加多少个
            const res = await message.confirm('', {
                editable: true,
                title: '请输入购买数目'
            })
            if (res.content && res.confirm) {
                var t = res.content
                if (!isNaN(parseInt(t)) && t > 0) {
                    message.showLoading()
                    const resp = await http.request('post', '/api/customer/flower/cart/change-num', {
                        data: {
                            id: data.id,
                            num: parseInt(t)
                        }
                    })
                    message.hideLoading()
                    if (resp && resp.code === 0) {
                        message.showToast('添加购物车成功')
                        dispatch('sign_add', 'shopping')
                        return resp
                    } else {
                    }
                    return resp
                } else {
                    message.showToast('输入数目需要大于0')
                }
            }
            return {
                code: 1,
                data: {}
            }
        },
        countShopping: async function({
            commit,
            dispatch,
            state
        }, data) {
            if(state.currentInfo.id){
            if (state.currentInfo.id) {
                const resp = await http.request('get', '/api/customer/flower/cart/flower/count', {})
                if (resp && resp.code === 0) {
                    return resp.data || 0
sub_pages/customer/self/collect.vue
@@ -56,9 +56,9 @@
        },
        methods: {
            toDetail(item) {
                if(item.status=='UP'){
                }else{
                if (item.status == 'UP') {
                } else {
                    this.$message.showToast('已失效,无法查看详情')
                    return
                }
@@ -68,9 +68,9 @@
            },
            async submitShopping(dto) {
                //提交到购物车中
                this.$message.showLoading()
                // this.$message.showLoading()
                await this.$store.dispatch('submitShopping', dto);
                this.$message.hideLoading()
                // this.$message.hideLoading()
            },
            select_level(e) {
                this.level_show = false
@@ -183,14 +183,21 @@
            }
        }
        .trade-info-container {
            background-color: #fff;
            border-top-right-radius: 40rpx;
            border-top-left-radius: 40rpx;
            padding: 30rpx;
            overflow: hidden;
        .trade-list-container {
            min-height: calc(100vh - 300rpx);
            overflow-y: scroll;
            border-top-right-radius: 40rpx;
            border-top-left-radius: 40rpx;
            padding: 20rpx;
        }
        .trade-info-container {
            background-color: #fff;
            border-radius: 40rpx;
            margin-bottom: 20rpx;
            padding: 20rpx;
            .img {
                width: 124rpx;
sub_pages/customer/self/follow.vue
@@ -39,7 +39,7 @@
        methods: {
            toDetail(item) {
                uni.navigateTo({
                    url: '/sub_pages/customer/shop/shop?id=' + (item.id || '')
                    url: '/sub_pages/customer/shop/shop?id=' + (item.supplierId || '')
                })
            },
            async clearFollow(item) {
@@ -48,22 +48,23 @@
                    code
                } = await this.$http.request('get', `/api/follow/delete`, {
                    params: {
                        supplierId: item.id
                        supplierId: item.supplierId
                    }
                })
                this.$message.hideLoading()
                if (code === 0) {
                    //删除list里的本元素
                    for (var i = 0; i < this.list.length; i++) {
                        if (this.list[i].id === item.id) {
                            this.list.splice(i, 1)
                        }
                    }
                    // for (var i = 0; i < this.list.length; i++) {
                    //     if (this.list[i].id === item.id) {
                    //         this.list.splice(i, 1)
                    //     }
                    // }
                    this.refreshList()
                }
            },
            getList_after() {
                // uni.
            }
            // getList_after() {
            //     // uni.
            // }
        }
    }
</script>
sub_pages/customer/self/history.vue
@@ -68,9 +68,9 @@
            },
            async submitShopping(dto) {
                //提交到购物车中
                this.$message.showLoading()
                // this.$message.showLoading()
                await this.$store.dispatch('submitShopping', dto);
                this.$message.hideLoading()
                // this.$message.hideLoading()
            },
            select_level(e) {
                this.level_show = false
@@ -161,7 +161,7 @@
<style lang="scss" scoped>
    .page-collect {
        min-height: 99vh;
        .search-container {
            display: flex;
            margin: 12rpx 0rpx 20rpx 0rpx;
@@ -182,14 +182,21 @@
                line-height: 70rpx !important;
            }
        }
        .trade-info-container {
            background-color: #fff;
        .trade-list-container {
            min-height: calc(100vh - 300rpx);
            overflow-y: scroll;
            border-top-right-radius: 40rpx;
            border-top-left-radius: 40rpx;
            padding: 30rpx;
            padding: 20rpx;
        }
        .trade-info-container {
            background-color: #fff;
            border-radius: 20rpx;
            margin-bottom: 20rpx;
            padding: 20rpx;
            overflow: hidden;
            min-height: calc(100vh - 300rpx);
            overflow-y: scroll;
            .img {
sub_pages/customer/shop/shop.vue
@@ -249,7 +249,11 @@
            },
            //update 关注
            async updateGz(type) {
            async updateGz(type) {
                if(!this.currentInfo.id){
                    this.$message.showToast('请先登录')
                    return
                }
                this.$message.showLoading()
                const {
                    code
sub_pages/customer/shopping/shopping.vue
@@ -17,7 +17,8 @@
                <view class="sup-title">
                    <radio :checked="ids.indexOf(item.id)>=0" @click="changeItem(item,'supplier')"></radio>
                    <radio :checked="ids.indexOf('supplier@'+item.supplierId)>=0" @click="changeItem(item,'supplier')">
                    </radio>
                    {{ item.supplierName || '-' }}
                </view>
                <u-divider></u-divider>
@@ -218,6 +219,9 @@
                                this.ids.push(item.id)
                            }
                        })
                        if (this.ids.indexOf('supplier@' + dto.supplierId) < 0) {
                            this.ids.push('supplier@' + dto.supplierId)
                        }
                    })
                    this.checkall = true
                }
@@ -236,8 +240,9 @@
                    } else {
                        this.checkall = false
                        this.ids.splice(this.ids.indexOf('supplier@' + dto.supplierId), 1)
                        console.log('this.ids splice', this.ids)
                        dto.flowerList.forEach(item => {
                            this.ids.splice(this.ids.indexOf('supplier@' + item.supplierId), 1)
                            this.ids.splice(this.ids.indexOf(item.id), 1)
                        })
                    }
@@ -260,10 +265,13 @@
                            }
                        }
                        if (has) {
                            this.ids.push(dto.supplierId)
                            this.$forceUpdate()
                        }else{
                            console.log('has',this.ids,dto)
                            if (this.ids.indexOf('supplier@' + dto.supplierId) < 0) {
                                this.ids.push('supplier@' + dto.supplierId)
                                this.$forceUpdate()
                            }
                        } else {
                            console.log('has', this.ids, dto)
                        }
                    } else {
@@ -272,6 +280,11 @@
                        if (this.ids.indexOf(dto.id) >= 0) {
                            this.ids.splice(this.ids.indexOf(dto.id), 1)
                        }
                        //还要删除供应商的id
                        if (this.ids.indexOf('supplier@' + dto.supplierId) >= 0) {
                            this.ids.splice(this.ids.indexOf('supplier@' + dto.supplierId), 1)
                        }
                    }
                }
sub_pages/customer/trade/detail.vue
@@ -13,7 +13,7 @@
            </view>
            <view class="icon-container">
                <image src="../../../static/common/icon-shop.png" @click="toShopping(dto)" class="icon-shop">
                    <view class="image-shop-number">{{shopnum||''}}</view>
                    <view class="image-shop-number" v-if="shopnum">{{shopnum||''}}</view>
                </image>
            </view>
@@ -53,7 +53,12 @@
                <view class="label">{{ param.name}}:</view>
                <view class="value">{{ param.value || '-'}}</view>
            </view>
            <!--      <view class="flex m-t-8">-->
            <view v-if="!dto.params">
                <view class="flex m-t-8">
                    <view class="label">暂无</view>
                </view>
            </view>
            <!--      <view class="flex m-t-8">
            <!--        <view class="label">枝粗:</view>-->
            <!--        <view class="value">中等粗细</view>-->
            <!--      </view>-->
@@ -142,9 +147,13 @@
        },
        methods: {
            async refreshShopNum() {
                this.shopnum = await this.$store.dispatch('submitShopping', dto);
                this.shopnum = await this.$store.dispatch('countShopping');
            },
            async collectItem(dto) {
                if (!this.currentInfo.id) {
                    this.$message.showToast('请先登录')
                    return
                }
                await this.$message.confirm(`是否${dto.collection?'移除':'添加到'}收藏`)
                this.$message.showLoading()
                const {
@@ -156,7 +165,7 @@
                            flowerId: dto.id
                        },
                        params: {
                            id: dto.id
                            flowerId: dto.id
                        }
                    })
                if (code === 0) {
@@ -169,10 +178,15 @@
            },
            async submitShopping(dto) {
                //提交到购物车中
                this.$message.showLoading()
                await this.$store.dispatch('submitShopping', dto);
                this.$message.hideLoading()
                this.refreshShopNum()
                // this.$message.showLoading()
                const {
                    code
                } = await this.$store.dispatch('submitShopping', dto);
                // this.$message.hideLoading()
                if (code == 0) {
                    this.refreshShopNum()
                }
            },
            async getDetail() {
                this.$message.showLoading()
@@ -209,20 +223,22 @@
<style lang="scss" scoped>
    .trade-detail {
        background-color: #FFFFFF;
        .image-shop-number {
            width: 30rpx;
            height: 30rpx;
            background: #F20000;
            line-height: 30rpx;
            text-align: center;
            position: absolute;
            right: 0rpx;
            top: -6rpx;
            color: #FFFFFF;
            border-radius: 50%;
            font-size: 24rpx;
        background-color: #FFFFFF;
        .image-shop-number {
            width: 30rpx;
            height: 30rpx;
            background: #F20000;
            line-height: 30rpx;
            text-align: center;
            position: absolute;
            right: 0rpx;
            top: -6rpx;
            color: #FFFFFF;
            border-radius: 50%;
            font-size: 24rpx;
        }
        .trade-info-container {
            padding: 46rpx 30rpx;
@@ -408,10 +424,10 @@
                    height: 54rpx;
                    margin: 0 auto;
                    margin-top: 12rpx;
                    display: inline-block;
                    display: inline-block;
                    margin-left: 12rpx;
                    position: relative;
                }
                .num {
sub_pages/customer/trade/list.vue
@@ -240,7 +240,7 @@
        },
        methods: {
            async refreshShopNum() {
                this.shoptotal = await this.$store.dispatch('submitShopping', dto);
                this.shoptotal = await this.$store.dispatch('countShopping');
            },
            async getDetail() {
                this.$message.showLoading()
sub_pages/customer/trade/trade.vue
@@ -354,7 +354,9 @@
                    font-weight: 500;
                    font-size: 28rpx;
                    color: #000000;
                    line-height: 40rpx;
                    line-height: 40rpx;
                    min-height: 80rpx;
                    text-align:center;
                }
                .desc {
@@ -375,7 +377,7 @@
                    font-size: 24rpx;
                    color: #CF0000;
                    line-height: 34rpx;
                    text-align: left;
                    text-align: center;
                }
sub_pages/partner/delivery/delivery.vue
@@ -40,7 +40,6 @@
        },
        onReachBottom() {
            this.page.current += 1
            this.getMore()
        },
        async onPullDownRefresh() {
sub_pages/partner/markup-config/markup-config.vue
@@ -24,46 +24,55 @@
                    </view>
                    <u-divider></u-divider>
                    <view class="form">
                        <view class="form-item">
                            <view class="form-item-label">分类</view>
                            <view class="form-item-value">{{ item.categoryStr || '-' }}</view>
                        <view class="flex">
                            <view class="form-item">
                                <view class="form-item-label">分类</view>
                                <view class="form-item-value">{{ item.categoryStr || '-' }}</view>
                            </view>
                            <view class="form-item">
                                <view class="form-item-label">规格</view>
                                <view class="form-item-value">{{ item.unit || '-' }}</view>
                            </view>
                        </view>
                        <view class="form-item">
                            <view class="form-item-label">规格</view>
                            <view class="form-item-value">{{ item.unit || '-' }}</view>
                        <view class="flex">
                            <view class="form-item">
                                <view class="form-item-label">规格</view>
                                <view class="form-item-value">{{ item.unit || '-' }}</view>
                            </view>
                            <view class="form-item">
                                <view class="form-item-label">重量</view>
                                <view class="form-item-value">{{ item.weight || '-' }}</view>
                            </view>
                        </view>
                        <view class="form-item">
                            <view class="form-item-label">规格</view>
                            <view class="form-item-value">{{ item.unit || '-' }}</view>
                        <view class="flex">
                            <view class="form-item">
                                <view class="form-item-label">颜色</view>
                                <view class="form-item-value">{{ item.color || '-' }}</view>
                            </view>
                            <view class="form-item">
                                <view class="form-item-label">级别</view>
                                <view class="form-item-value">{{ item.levelStr || '-' }}</view>
                            </view>
                        </view>
                        <view class="form-item">
                            <view class="form-item-label">重量</view>
                            <view class="form-item-value">{{ item.weight || '-' }}</view>
                        </view>
                        <view class="form-item">
                            <view class="form-item-label">颜色</view>
                            <view class="form-item-value">{{ item.color || '-' }}</view>
                        </view>
                        <view class="form-item">
                            <view class="form-item-label">级别</view>
                            <view class="form-item-value">{{ item.levelStr || '-' }}</view>
                        </view>
                        <view class="form-item">
                            <view class="form-item-label">供应商价格</view>
                            <view class="form-item-value">¥{{ item.price || '-' }}</view>
                        </view>
                        <view class="form-item">
                            <view class="form-item-label">加价金额</view>
                            <view class="form-item-value">{{ item.fee || '-' }}</view>
                        <view class="flex">
                            <view class="form-item">
                                <view class="form-item-label">供应商价格</view>
                                <view class="form-item-value">¥{{ item.price || '-' }}</view>
                            </view>
                            <view class="form-item">
                                <view class="form-item-label">加价金额</view>
                                <view class="form-item-value">{{ item.fee || '-' }}</view>
                            </view>
                        </view>
                        <view class="form-item">
                            <view class="form-item-label">供应商名称</view>
                            <view class="form-item-value">{{ item.supplierName || '-' }}</view>
                        </view>
                        <view class="form-item">
                            <view class="form-item-label">审核时间</view>
                            <view class="form-item-value">{{ item.auditTime || '-' }}</view>
                        </view>
                        <view class="form-item">
                            <view class="form-item-label">供应商名称</view>
                            <view class="form-item-value">{{ item.supplierName || '-' }}</view>
                        </view>
                    </view>
                </view>
            </view>
@@ -97,7 +106,6 @@
        },
        onReachBottom() {
            this.page.current += 1
            this.getMore()
        },
        async onPullDownRefresh() {
@@ -213,8 +221,9 @@
                        // padding-top: 4rpx;
                        padding-bottom: 0rpx;
                        border-bottom: none;
                        min-width: 35%;
                        max-width: 50%;
                        // min-width: 35%;
                        // max-width: 50%;
                        display: flex;
                        flex: 1;
                        .form-item-label {}
sub_pages/partner/order-manage/order-manage.vue
@@ -77,7 +77,6 @@
  },
  onReachBottom() {
    this.page.current += 1
    this.getMore()
  },
  async onPullDownRefresh() {
sub_pages/supplier/flower-manage/flower-add.vue
@@ -385,7 +385,7 @@
                    }
                }
            },
            mapCategoryTree(node, arr) {
            mapCategoryTree(node, arr,parentCheckTrue=false) {
                var has = true
                if (arr) {
                    var hasTrue = false
@@ -396,6 +396,9 @@
                        has = true
                        if (this.columns_categorys_search) {
                            has = false
                        }
                        if(parentCheckTrue){
                            has = true
                        }
                        var tmp = {
                            ...item,
@@ -419,12 +422,14 @@
                        // }
                        this.columns_categorys_dict['@' + item.id] = item
                        if (item.children && item.children.length > 0) {
                            tmp.children = []
                            var childrenhas = this.mapCategoryTree(tmp.children, item.children)
                            if (childrenhas) {
                                has = true
                                hasTrue = true
                            //如果上级已经有了,下级都包含
                            tmp.children = []
                            var childrenhas = this.mapCategoryTree(tmp.children, item.children,has)
                            if (childrenhas) {
                                has = true
                                hasTrue = true
                            }
                        } else {
                            tmp.children = undefined
                        }
@@ -535,7 +540,7 @@
                var tmp = parseFloat(this.dto.price)
                if (isNaN(tmp) || parseFloat('' + tmp).toFixed(3) !== parseFloat('' + this.dto.price).toFixed(3)) {
                    this.$message.showToast('商品价格格式错误,精确到分')
                    console.log('a1', ('' + tmp) )
                    console.log('a1', ('' + tmp))
                    console.log('a1', ('' + this.dto.price))
                    return
                }
@@ -733,8 +738,9 @@
        // height: 100px;
        .label {
            width: 300rpx;
            line-height: 60px;
            width: 240rpx;
            line-height: 60px;
            min-width: 240rpx;
        }
sub_pages/supplier/flower-manage/flower-manage.vue
@@ -9,8 +9,7 @@
            </view>
        </view>
        <view class="p15" style="min-height: calc(100vh - 160rpx);">
        <view class="p15" style="min-height: calc(100vh - 500rpx);">
            <no-data v-if="!list||list.length==0" style="width: 100%;"></no-data>
            <view v-for="(item,index) in list" :key="index" class="m-b-24 flow-manage-list">
                <view class="flow-manage-list-item">
@@ -137,6 +136,7 @@
        async onLoad(options) {
            this.type = options.type || 'all'
            var title = ''
            this.page.size = 5
            //todo 根据type切换查询条件
            if (this.type === 'delete') {
                this.listApi = '/api/supplier/flower/list/rc'
@@ -170,8 +170,8 @@
            await this.$store.dispatch('sign_clear', 'flower');
            this.getList()
        },
        onReachBottom() {
            this.page.current += 1
        onReachBottom() {
            console.log('onReachBottom')
            this.getMore()
        },
        async onPullDownRefresh() {
@@ -301,6 +301,9 @@
<style lang="scss" scoped>
    .flow-manage {
        overflow-y: scroll;
        // min-height: ;
        .flow-manage-list {
            // padding: 20rpx 30rpx;
            padding: 22rpx 22rpx 20rpx 22rpx;
sub_pages/supplier/order-settlement/order-settlement.vue
@@ -106,7 +106,6 @@
        },
        onReachBottom() {
            this.page.current += 1
            this.getMore()
        },
        async onPullDownRefresh() {