xuxueyang
2024-07-25 96aeb2a232d85306ced2061f024a2ff491a92ff7
sub_pages/customer/shopping/shopping.vue
@@ -1,14 +1,14 @@
<template>
  <view class="shopping-container">
    <view class="top-title"> 苏州市一价全含,市区内包邮派送到店
    <view class="top-title"><span class="t-red">*</span> 苏州市一价全含,市区内包邮派送到店
    </view>
    <view class="top-desc">
      全程鲜花冷链专线,时效快,损耗小
    </view>
    <view class="flex">
      <image class="icon-clock m-r-6" src="../../../static/common/icon-call.png"></image>
    <view class="flex top-kf">
      <image class="icon-clock m-r-6" src="../../../static/common/icon-kf.png"></image>
      <view class="name">
        客服电话 : &nbsp;&nbsp; <span class="topic-gray">{{ tel }}</span>
        15974805814
      </view>
    </view>
    <view class="">
@@ -54,14 +54,14 @@
    <view style="min-height:200rpx">
    </view>
    <view class="bottom-price flex">
      <view>
        <radio :checked="checkall" @change="selectAll"></radio>
      <view class="m-t-12">
        <radio :checked="checkall" @click="selectAll"></radio>
        全选
      </view>
      <view>
        合计:¥ {{ totalprice }} 元
      <view class="m-t-12 m-l-a m-r-20 text-center">
        合计:<span class="t-red">¥ {{ totalprice || 0 }}</span> 元
      </view>
      <view class="button-green-1">
      <view class="button-green-1 m-l-a m-r-0" style="min-width: 240rpx">
        提交订单
      </view>
    </view>
@@ -97,8 +97,8 @@
    totalprice() {
      let totalprice = 0
      this.list.forEach(dto => {
        dto.flowerList.forEach(item => {
      this.list && this.list.forEach(dto => {
        dto.flowerList && dto.flowerList.forEach(item => {
          if (this.ids.indexOf(item.id) >= 0) {
            totalprice += item.price * item.num
          }
@@ -106,84 +106,87 @@
      })
      return totalprice.toFixed(2)
    },
    methods: {
      async submitPay() {
        // order/confirm/info
        var arr = []
        for (var j = 0; j < this.list.flowerList; j++) {
  },
  methods: {
    async submitPay() {
      // order/confirm/info
      var arr = []
      for (var j = 0; j < this.list.flowerList; j++) {
          if (this.ids.indexOf(this.list.flowerList[j].id) >= 0) {
            arr.push({
              id: this.list.flowerList[j].id,
              num: this.list.flowerList[j].num
            })
          }
        }
        if (this.arr.length < 1) {
          return
        }
        this.$message.showLoading()
        const {code, data} = await http.request('post', '/api/api/customer/order/confirm/info', {
              data: {
                flowers: arr,
              }
            }
        )
        this.$message.hideLoading()
        if (code === 0) {
          uni.navigateTo({
            url: '/sub_pages/customer/shopping/confirm?dto=' + +encodeURIComponent(JSON.stringify(data))
        if (this.ids.indexOf(this.list.flowerList[j].id) >= 0) {
          arr.push({
            id: this.list.flowerList[j].id,
            num: this.list.flowerList[j].num
          })
        }
      },
      async clickSwipeButton(item) {
        //删除商品,重新加载数据?
        this.$message.showLoading()
        const {code} = await http.request('post', '/api/api/customer/flower/cart/change-num', {
              data: {
                id: dto.id,
                num: addnum
              }
      }
      if (this.arr.length < 1) {
        return
      }
      this.$message.showLoading()
      const {code, data} = await http.request('post', '/api/api/customer/order/confirm/info', {
            data: {
              flowers: arr,
            }
        )
        this.$message.hideLoading()
        if (code === 0) {
          if (this.ids.indexOf(item.id) >= 0) {
            this.ids.splice(this.ids.indexOf(item.id), 1)
          }
          for (var i = 0; i < this.list.length; i++) {
            if (this.list[i].id === dto.supplierId) {
              this.list[i].splice(i, 1)
              if (this.list.flowerList.length === 1) {
                if (this.ids.indexOf(this.list[i].id) >= 0) {
                  this.ids.splice(this.ids.indexOf(this.list[i].id), 1)
                }
                this.list[i].flowerList.splice(0, 1)
                this.list.splice(i, 1)
              } else {
                //只需要清楚这个元素
                var k = -1
                for (var j = 0; j < this.list[i].flowerList.length; j++) {
                  if (this.list[i][j].id === item.id) {
                    k = j;
                    break
                  }
                }
                this.list[i].flowerList.splice(k, 1)
              }
              break
      )
      this.$message.hideLoading()
      if (code === 0) {
        uni.navigateTo({
          url: '/sub_pages/customer/shopping/confirm?dto=' + +encodeURIComponent(JSON.stringify(data))
        })
      }
    },
    async clickSwipeButton(item) {
      //删除商品,重新加载数据?
      this.$message.showLoading()
      const {code} = await http.request('post', '/api/customer/flower/cart/change-num', {
            data: {
              id: dto.id,
              num: addnum
            }
          }
      )
      this.$message.hideLoading()
      if (code === 0) {
        if (this.ids.indexOf(item.id) >= 0) {
          this.ids.splice(this.ids.indexOf(item.id), 1)
        }
        for (var i = 0; i < this.list.length; i++) {
          if (this.list[i].id === dto.supplierId) {
            this.list[i].splice(i, 1)
            if (this.list.flowerList.length === 1) {
              if (this.ids.indexOf(this.list[i].id) >= 0) {
                this.ids.splice(this.ids.indexOf(this.list[i].id), 1)
              }
              this.list[i].flowerList.splice(0, 1)
              this.list.splice(i, 1)
            } else {
              //只需要清楚这个元素
              var k = -1
              for (var j = 0; j < this.list[i].flowerList.length; j++) {
                if (this.list[i][j].id === item.id) {
                  k = j;
                  break
                }
              }
              this.list[i].flowerList.splice(k, 1)
            }
            break
          }
        }
      }
    },
    selectAll() {
      console.log('selectAll', this.checkall)
      if (this.checkall) {
        this.ids = []
        this.checkall = false
        // this.$forceUpdate()
      } else {
        list.for(dto => {
        this.list.forEach(dto => {
          if (this.ids.indexOf(dto.id) < 0) {
            this.ids.push(dto.id)
          }
@@ -193,6 +196,7 @@
            }
          })
        })
        this.checkall = true
      }
    },
    changeItem(dto, type) {
@@ -234,7 +238,7 @@
        return
      }
      this.$message.showLoading()
      const {code} = await http.request('post', '/api/api/customer/flower/cart/change-num', {
      const {code} = await http.request('post', '/api/customer/flower/cart/change-num', {
            data: {
              id: dto.id,
              num: addnum
@@ -268,6 +272,7 @@
  .bottom-price {
    position: fixed;
    background-color: #ffffff;
    left: 0rpx;
    padding: 20rpx;
    right: 0rpx;
@@ -323,15 +328,15 @@
  }
  .top-title {
    font-size: 28rpx;
    font-size: 32rpx;
    color: #000000;
    line-height: 40rpx;
  }
  .top-desc {
    font-size: 24rpx;
    font-size: 28rpx;
    color: #666666;
    line-height: 34rpx;
    line-height: 40rpx;
  }
  .top-kf {
@@ -339,6 +344,7 @@
    border-radius: 8rpx;
    font-weight: 400;
    font-size: 24rpx;
    margin-top: 10rpx;
    color: #20613D;
    line-height: 52rpx;
    height: 52rpx;