lex-xin hace 5 meses
padre
commit
9b31330004

+ 10 - 0
miniprogram/api/login.ts

@@ -30,6 +30,16 @@ export const api_shopProduct = (params: any) => {
   } as any);
 };
 
+
+/** 店铺商品乐器信息 */
+export const api_shopInstruments = (params: any) => {
+  return request({
+    url: `/edu-app/open/shop/instruments`,
+    method: "get",
+    data: params,
+  } as any);
+};
+
 /** 用户下单 */
 export const api_executeOrder = (params: any) => {
   return request({

+ 119 - 0
miniprogram/api/new.ts

@@ -0,0 +1,119 @@
+import request from "../plugins/request";
+
+/** 获取省市区 */
+export const api_sysAreaQueryAllProvince = (params: any) => {
+  return request({
+    url: `/edu-app/open/sysArea/queryAllProvince`,
+    method: "get",
+    params: params,
+  } as any);
+};
+
+/** 收获地址列表 */
+export const api_userReceiveAddressPage = (params: any) => {
+  return request({
+    url: `/edu-app/userReceiveAddress/page`,
+    method: "post",
+    data: params,
+  } as any);
+};
+
+/** 新增收获地址 */
+export const api_userReceiveAddressSave = (params: any) => {
+  return request({
+    url: `/edu-app/userReceiveAddress/save`,
+    method: "post",
+    data: params,
+  } as any);
+};
+
+/** 新增收获地址 */
+export const api_userReceiveAddressUpdate = (params: any) => {
+  return request({
+    url: `/edu-app/userReceiveAddress/update`,
+    method: "post",
+    data: params,
+  } as any);
+};
+
+
+/** 删除收获地址 */
+export const api_userReceiveAddressRemove = (params: any) => {
+  return request({
+    url: `/edu-app/userReceiveAddress/remove?id=${params.id}`,
+    method: "post",
+  } as any);
+};
+
+/** 收获地址详情 */
+export const api_userReceiveAddressDetail = (params: any) => {
+  return request({
+    url: `/edu-app/userReceiveAddress/detail`,
+    method: "get",
+    params: params,
+  } as any);
+};
+
+
+/** 查询受益人详情 */
+export const api_userBeneficiaryDetail = (params: any) => {
+  return request({
+    url: `/edu-app/userBeneficiary/detail/${params.id}`,
+    method: "get"
+  } as any);
+};
+
+
+/** 查询受益人列表 */
+export const api_userBeneficiaryPage = (params: any) => {
+  return request({
+    url: `/edu-app/userBeneficiary/page`,
+    method: "post",
+    data: params,
+  } as any);
+};
+
+
+/** 新增受益人 */
+export const api_userBeneficiarySave = (params: any) => {
+  return request({
+    url: `/edu-app/userBeneficiary/save`,
+    method: "post",
+    data: params,
+  } as any);
+};
+
+/** 修改受益人 */
+export const api_userBeneficiaryUpdate = (params: any) => {
+  return request({
+    url: `/edu-app/userBeneficiary/update`,
+    method: "post",
+    data: params,
+  } as any);
+};
+
+/** 删除受益人 */
+export const api_userBeneficiaryRemove = (params: any) => {
+  return request({
+    url: `/edu-app/userBeneficiary/remove`,
+    method: "get",
+    data: params,
+  } as any);
+};
+
+/** 获取学校列表 */
+export const api_schoolAreaList = (params: any) => {
+  return request({
+    url: `/edu-app/open/schoolArea/list`,
+    method: "post",
+    data: params,
+  } as any);
+};
+
+/** 获取地区学校详情 */
+export const api_schoolAreaDetail = (params: any) => {
+  return request({
+    url: `/edu-app/open/schoolArea/detail/${params.id}`,
+    method: "get"
+  } as any);
+};

BIN
miniprogram/components/buyerInformation/images/icon-back.png


+ 11 - 0
miniprogram/components/buyerInformation/index.json

@@ -0,0 +1,11 @@
+{
+  "component": true,
+  "usingComponents": {
+    "van-popup": "@vant/weapp/popup/index",
+    "van-area": "@vant/weapp/area/index",
+    "van-picker": "@vant/weapp/picker/index",
+    "van-search": "@vant/weapp/search/index",
+    "van-field": "@vant/weapp/field/index",
+    "van-loading": "@vant/weapp/loading/index"
+  }
+}

+ 109 - 0
miniprogram/components/buyerInformation/index.less

@@ -0,0 +1,109 @@
+/* components/buyerInformation/index.wxss */
+.icon-close {
+  position: absolute;
+  z-index: 2;
+  top: 28rpx;
+  left: 20rpx;
+  padding: 20rpx;
+  width: 36rpx;
+  height: 36rpx;
+}
+
+.container {
+  background: linear-gradient(180deg, #FFDEE7 0%, #FFFFFF 12%, #FFFFFF 100%);
+  border-radius: 32rpx 32rpx 0rpx 0rpx;
+  height: 68vh;
+}
+
+
+.pop-address-title {
+  position: relative;
+  z-index: 1;
+  text-align: center;
+  padding-top: 40rpx;
+  padding-bottom: 36rpx;
+  font-weight: 600;
+  font-size: 36rpx;
+  color: #131415;
+  line-height: 50rpx;
+}
+
+
+.section {
+  margin: 24rpx 0;
+  // background: linear-gradient(180deg, #E3F9FF 0%, #FFFFFF 9%, #FFFFFF 100%);
+  border-radius: 18rpx;
+  border: 8rpx solid #FFFFFF;
+  background-color: #fff;
+
+  .section-content {
+    background: linear-gradient(180deg, #E3F9FF 0%, #FFFFFF 9%, #FFFFFF 100%);
+    border-radius: 12rpx;
+    overflow: hidden;
+  }
+
+  .section-title {
+    width: 236rpx;
+    height: 46rpx;
+    margin: 20rpx 0 18rpx 28rpx;
+  }
+
+  .van-cell {
+    padding: 28rpx;
+    font-size: 30rpx;
+    line-height: 42rpx;
+
+    .van-field__label {
+      font-weight: 600;
+      color: #666666;
+    }
+
+    .van-icon-arrow {
+      color: #CCCCCC;
+      font-weight: 600;
+    }
+  }
+
+  .gender-section {
+    display: flex;
+
+    .gender-item {
+      margin-left: 24rpx;
+      background: rgba(28, 172, 241, 0.11);
+      border-radius: 12rpx;
+      font-weight: 500;
+      font-size: 28rpx;
+      color: #1CACF1;
+      width: 104rpx;
+      line-height: 48rpx;
+      text-align: center;
+
+      &.active {
+        background: #1CACF1;
+        color: #FFFFFF;
+      }
+    }
+  }
+}
+
+
+.van-picker-column__item--selected {
+  font-weight: 600;
+  font-size: 32rpx;
+  color: #6D4718 !important;
+}
+.pop-btn-group {
+  padding: 100rpx 32rpx 58rpx;
+}
+
+.submit-btn {
+  width: 100% !important;
+  margin: 0 !important;
+  padding: 0 !important;
+  line-height: 88rpx;
+  background: linear-gradient(90deg, #544F4A 0%, #302F2B 100%);
+  border-radius: 88rpx;
+  font-weight: 500;
+  font-size: 32rpx;
+  color: #FBEAC9;
+}

+ 29 - 0
miniprogram/components/buyerInformation/index.ts

@@ -0,0 +1,29 @@
+// components/buyerInformation/index.ts
+Component({
+
+  /**
+   * 组件的属性列表
+   */
+  properties: {
+    popShow: {
+      type: Boolean,
+      default: false
+    }
+  },
+
+  /**
+   * 组件的初始数据
+   */
+  data: {
+
+  },
+
+  /**
+   * 组件的方法列表
+   */
+  methods: {
+    onCloseBuyer() {
+      this.triggerEvent("cancel", false)
+    }
+  }
+})

+ 31 - 0
miniprogram/components/buyerInformation/index.wxml

@@ -0,0 +1,31 @@
+<!--components/buyerInformation/index.wxml-->
+<van-popup show="{{ popShow }}" safe-area-inset-bottom="{{false}}" lock-scroll="{{true}}" bind:close="onCloseBuyer" position="bottom" round z-index="101">
+
+  <image src="./images/icon-back.png" class="icon-close" bind:tap="onCloseBuyer" />
+  <view class="container">
+    <view class="pop-address-title">
+      {{ id ? '享用者信息' : '享用者信息' }}
+    </view>
+
+    <view class="section">
+      <view class="section-content">
+        <van-field required label="联系方式" model:value="{{ phone }}" maxlength="11" type="number" placeholder="请输入手机号码" input-align="right" />
+        <van-field required label="学生姓名" model:value="{{ name }}" placeholder="请输入学生姓名" input-align="right" />
+        <van-field border="{{ false }}" required label="学生性别" input-align="right">
+          <view class="gender-section" slot="button">
+            <view class="gender-item {{ gender === '1' ? 'active' : '' }}" bind:tap="onCheckGender" data-gender="1">男</view>
+            <view class="gender-item {{ gender === '0' ? 'active' : '' }}" bind:tap="onCheckGender" data-gender="0">女</view>
+          </view>
+        </van-field>
+
+        <van-field required label="所在地区" value="{{ provinceName ? provinceName + ' ' + cityName + ' ' + regionName : '' }}" bind:tap="onShowAreaList" placeholder="请选择地区" input-align="right" is-link readonly />
+        <van-field required model:value="{{ schoolAreaName }}" label="就读学校" placeholder="请选择学校" input-align="right" is-link readonly bind:tap="onSelectSchool" />
+        <van-field border="{{ false }}" value="{{ currentGradeClassTxt }}" required label="年级班级" placeholder="请选择年级" input-align="right" is-link readonly bind:tap="onSelectGradeClass" />
+      </view>
+    </view>
+  </view>
+
+  <view class="pop-btn-group">
+    <button class="submit-btn" bind:tap="onOperationAddress">确认</button>
+  </view>
+</van-popup>

BIN
miniprogram/pages/index/images/icon-order.png


+ 1 - 0
miniprogram/pages/index/index.json

@@ -1,6 +1,7 @@
 {
   "usingComponents": {
     "navigation-bar": "/components/navigation-bar/navigation-bar",
+    "buyerInformation": "/components/buyerInformation/index",
     "service": "/components/service/service"
   }
 }

+ 109 - 29
miniprogram/pages/index/index.less

@@ -274,15 +274,6 @@ page {
 .goodsInfo {
   display: flex;
 
-  // align-items: center;
-  .desc {
-    font-size: 28rpx;
-    color: #131415;
-    line-height: 68rpx;
-    margin: 24rpx 0 0;
-    flex-shrink: 0;
-  }
-
   .goodsList {
     display: flex;
     align-items: center;
@@ -325,7 +316,7 @@ page {
 
 .goodsSection {
   // margin-bottom: 156rpx;
-  padding-bottom: 174rpx;
+  padding-bottom: 154rpx;
 }
 
 .goodsIntro {
@@ -392,8 +383,8 @@ page {
     }
 
     image {
-      width: 48rpx;
-      height: 48rpx;
+      width: 44rpx;
+      height: 44rpx;
     }
 
     text {
@@ -401,7 +392,7 @@ page {
       font-weight: 500;
       font-size: 28rpx;
       color: #AAAAAA;
-      line-height: 40rpx;
+      line-height: 44rpx;
       text-align: center;
     }
   }
@@ -457,25 +448,76 @@ page {
     width: 100%;
     background: #FFFFFF;
     border-radius: 32rpx 32rpx 0rpx 0rpx;
-    padding: 40rpx 0 0;
+    // padding: 40rpx 0 0;
     box-sizing: border-box;
 
+    .popup-scroll {
+      max-height: 66vh;
+      overflow-x: hidden;
+      overflow-y: scroll;
+      border-radius: 32rpx 32rpx 0rpx 0rpx;
+    }
+
+    .top-vip-img {
+      width: 100%;
+    }
+
     .goodsInfo {
       padding: 0 40rpx 48rpx;
+    }
+  }
+
+  .addBuyer {
+    margin: 40rpx 40rpx;
+
+    background: #F6F6F6;
+    border-radius: 20rpx;
+    display: flex;
+    align-items: center;
+    justify-content: space-between;
+    padding: 28rpx 24rpx;
 
-      .desc {
-        padding-bottom: 0;
-        margin-bottom: 0;
+    .icon-man {
+      width: 28rpx;
+      height: 36rpx;
+      margin-right: 16rpx;
+    }
+
+    .addBuyer-left {
+      display: flex;
+    }
+
+    .users {
+      font-weight: 600;
+      font-size: 28rpx;
+      color: #131415;
+      line-height: 40rpx;
+
+      text {
+        padding-right: 24rpx;
       }
     }
+
+    .address {
+      padding-top: 12rpx;
+      font-size: 24rpx;
+      color: rgba(19, 20, 21, 0.4);
+      line-height: 34rpx;
+    }
+
+    .arrow-right {
+      width: 32rpx;
+      height: 32rpx;
+    }
   }
 
   .iconClose {
     position: absolute;
-    right: 44rpx;
-    top: 44rpx;
-    width: 30rpx;
-    height: 30rpx;
+    right: 0;
+    top: 0;
+    padding: 24rpx;
+    width: 44rpx;
+    height: 44rpx;
   }
 
   .product-section {
@@ -539,7 +581,13 @@ page {
       font-size: 28rpx;
       color: #131415;
       line-height: 40rpx;
-      padding-bottom: 30rpx;
+
+      text {
+        padding-left: 8rpx;
+        font-size: 28rpx;
+        color: #AAAAAA;
+        line-height: 40rpx;
+      }
     }
   }
 
@@ -565,20 +613,52 @@ page {
 
 .current-item {
   font-size: 24rpx;
-  color: #502f00;
+  color: #999999;
   line-height: 40rpx;
-  padding: 12rpx 12rpx 28rpx;
+  padding: 12rpx 12rpx 20rpx;
 
-  .current-item-text {
-    font-weight: 600;
+  .current-select-text {
+    padding-top: 10rpx;
     font-size: 26rpx;
-    color: #502f00;
     line-height: 36rpx;
-    padding-bottom: 4rpx;
   }
 
   text {
     color: #ff0047;
+    // font-weight: bold;
+  }
+
+  font-family: DINAlternate,
+  DINAlternate;
+
+  .current-top {
+    display: flex;
+    align-items: flex-end;
+    line-height: 42rpx;
+  }
+
+  .line {
+    color: #D2D2D2;
+    padding: 0 12rpx;
+  }
+  .prices {
+    display: flex;
+    align-items: flex-end;
+    padding-left: 8rpx;
     font-weight: bold;
   }
-}
+
+  .stuff {
+    padding-right: 2rpx;
+    font-size: 36rpx;
+  }
+
+  .priceZ {
+    font-size: 60rpx;
+    line-height: 1;
+  }
+
+  .priceF {
+    font-size: 36rpx;
+  }
+}

+ 77 - 11
miniprogram/pages/index/index.ts

@@ -1,6 +1,6 @@
 // index.ts
 
-import { api_shopProduct } from "../../api/login";
+import { api_shopInstruments, api_shopProduct } from "../../api/login";
 import { debounce, formatPrice } from '../../utils/util'
 
 // 获取应用实例
@@ -34,23 +34,28 @@ Page({
       'https://oss.dayaedu.com/ktyq/1739182557976.png',
       'https://oss.dayaedu.com/ktyq/1739182545221.png'
     ],
-    formatSelectGood: {
-      typeName: '',
-      showSalePrice: '', // 显示的现价
-      originalPrice: 0, // 原价
-      salePrice: 0, // 现价
-      discountPrice: '' // 已省
-    } as any, // 格式化所有选中的数据
     current: 0,
     autoplay: false,
     interval: 5000,
     duration: 500,
     popupShow: false,
+    instrumentList: [] as any,
     list: [] as any,
     isOverSaled: false, // 是否所有商品都没有库存
+    smallGoods: {}, // 最小金额商品
     selected: {} as any,
+    selectInstrumentId: '', // 选中的乐器
+    selectedInstrument: {} as any,
+    formatSelectGood: {
+      typeName: '',
+      showSalePrice: '', // 显示的现价
+      originalPrice: 0, // 原价
+      salePrice: 0, // 现价
+      discountPrice: '' // 已省
+    } as any, // 格式化所有选中的数据
     showService: false,
-    isFromPreviewImage: false
+    isFromPreviewImage: false,
+    showBuyer: true, // 收益人
   },
 
   /**
@@ -64,13 +69,26 @@ Page({
    */
   async onInit() {
     try {
+      const result = await api_shopInstruments({ appId: app.globalData.appId })
+      const instrumentList = result.data.data || []
+      instrumentList.forEach((item: any) => {
+        item.showSalePrice = formatPrice(item.salePrice || 0, 'ALL')
+      })
       const { data } = await api_shopProduct({ appId: app.globalData.appId });
       const list = data.data || []
       let selected: any = {}
       let isOverSaled = true // 是否销售完
+
+      // 最少金额商品
+      let smallGoods: any = {}
       list.forEach((item: any) => {
-        item.originalPrice = formatPrice(item.originalPrice, 'ALL');
+        item.originalPrice = formatPrice(item.originalPrice, "ALL");
+        item.showSalePrice = formatPrice(item.salePrice, "ALL");
         item.typeName = this.formatPeriod(item.num, item.period);
+        item.discountPrice = formatPrice(
+          item.originalPrice - item.salePrice,
+          "ALL"
+        );
         const prices: any = formatPrice(item.salePrice)
         item.integerPart = prices.integerPart
         item.decimalPart = prices.decimalPart
@@ -80,16 +98,30 @@ Page({
             selected = item
           }
         }
+
+        // 获取最小金额
+        if(smallGoods?.salePrice) {
+          smallGoods = smallGoods.salePrice <= item.salePrice ? smallGoods : item
+        } else {
+          smallGoods = item
+        }
       });
       if (isOverSaled) {
         // 没有可购买商品则默认选中第一个商品
         selected = list[0]
       }
 
+      console.log(smallGoods, 'smallGoods')
       this.setData({
         list,
+        instrumentList, // 乐器列表
         isOverSaled,
-        selected
+        selected,
+        smallGoods,
+        selectInstrumentId: '',
+        selectedInstrument: {}
+      }, () => {
+        this.onFormatGoods()
       })
     } catch (e) {
       console.log(e, 'e')
@@ -117,8 +149,31 @@ Page({
     }
     this.setData({
       selected: item || {}
+    }, () => {
+      this.onFormatGoods()
     })
   },
+  /** 选中乐器 */
+  onSelectInstrument(e: any) {
+    const { dataset } = e.currentTarget;
+    if (dataset.id === this.data.selectInstrumentId) {
+      this.setData({
+        selectInstrumentId: '',
+        selectedInstrument: {}
+      }, () => {
+        this.onFormatGoods()
+      })
+    } else {
+      const item = this.data.instrumentList.find((item: any) => item.id === dataset.id);
+      this.setData({
+        selectInstrumentId: dataset.id,
+        selectedInstrument: item || {}
+      }, () => {
+        this.onFormatGoods()
+      })
+    }
+
+  },
   onFirstChange(e: any) {
     const detail = e.detail;
     if (detail.source === 'touch' || detail.source == 'autoplay') {
@@ -178,6 +233,7 @@ Page({
       params.decimalPart = prices.decimalPart
     }
 
+    console.log(params, "params")
     this.setData({
       formatSelectGood: params
     })
@@ -249,6 +305,16 @@ Page({
       })
     }, 500)()
   },
+  onSelectBuyer() {
+    this.setData({
+      showBuyer: true
+    })
+  },
+  onCloseBuyer(e: {detail: any}) {
+    this.setData({
+      showBuyer: e.detail
+    })
+  },
   onPreivewBannerImg(e: { currentTarget: { dataset: any } }) {
     wx.previewImage({
       current: e.currentTarget.dataset.src,

+ 47 - 38
miniprogram/pages/index/index.wxml

@@ -36,8 +36,8 @@
               <view class="left">
                 <view class="currentPrice">
                   <text class="stuff">¥</text>
-                  <text class="priceZ">{{ selected.integerPart || 0 }}</text>
-                  <text class="priceF">.{{ selected.decimalPart || '00' }}</text>
+                  <text class="priceZ">{{ smallGoods.integerPart || 0 }}</text>
+                  <text class="priceF">.{{ smallGoods.decimalPart || '00' }}</text>
                   <text class="after">起</text>
                 </view>
                 <!-- <view class="originPrice"></view> -->
@@ -75,8 +75,8 @@
           </view>
 
           <view class="bottom-section">
-            <view class="orders active" bind:tap="onOrder">
-              <image src="./images/icon-order.png" />
+            <view class="orders active">
+              <image src="./images/icon-home-active.png" />
               <text>首页</text>
             </view>
             <view class="orders" bind:tap="onOrder">
@@ -91,52 +91,59 @@
           <view class="popup-section" wx:if="{{popupShow}}">
             <view class="popup-mask" bind:tap="onClose"></view>
             <view class="popup-container">
-              <image bind:tap="onClose" src="./images/icon-close.png" class="iconClose"></image>
-
-              <!-- <view class="product-section">
-                <view class="product-img">
-                  <image bind:tap="onPreivewGoods" data-src="{{ selected.pic }}" src="{{ selected.pic }}"></image>
-                </view>
-                <view class="product-left">
-                  <view class="currentPrice">
-                    <text class="stuff">¥</text>
-                    <text class="priceZ">{{ selected.integerPart }}</text>
-                    <text class="priceF">.{{ selected.decimalPart }}</text>
+              <image bind:tap="onClose" src="./images/icon-close-1.png" class="iconClose"></image>
+              <view class="popup-scroll">
+                <image src="https://oss.dayaedu.com/ktyq/1739242193106.png" mode="widthFix" class="top-vip-img"></image>
+                <!-- 添加权益人 -->
+                <view class="addBuyer">
+                  <view class="addBuyer-left" bind:tap="onSelectBuyer">
+                    <image src="./images/icon-man.png" class="icon-man"></image>
+                    <view class="info">
+                      <view class="users">
+                        <text>请填写享用者的个人信息</text>
+                        <!-- <text>15527282726</text> -->
+                      </view>
+                      <!-- <view class="address">武汉市洪山区第二十一小学一年级3班</view> -->
+                    </view>
                   </view>
-                  <view class="originPrice">¥{{ selected.originalPrice }}</view>
+                  <image src="./images/icon-arrow-right.png" class="arrow-right"></image>
                 </view>
-              </view> -->
 
-              <view class="goodsInfo">
-                <view class="desc">会员有效期</view>
-                <view class="goodsList">
-                  <view wx:for="{{ list }}" wx:key="index" class="goodsItem {{ item.id == selected.id ? 'selected' : '' }} {{ item.stockNum <= 0 ? 'nosale' : '' }}" bind:tap="onSelectGoods" data-id="{{ item.id }}">{{ item.typeName }}
-                    <image wx:if="{{ item.stockNum <= 0 }}" src="./images/nosale.png"></image>
+                <view class="goodsInfo">
+                  <view class="desc">会员有效期</view>
+                  <view class="goodsList">
+                    <view wx:for="{{ list }}" wx:key="index" class="goodsItem {{ item.id == selected.id ? 'selected' : '' }} {{ item.stockNum <= 0 ? 'nosale' : '' }}" bind:tap="onSelectGoods" data-id="{{ item.id }}">{{ item.typeName }}
+                      <image wx:if="{{ item.stockNum <= 0 }}" src="./images/nosale.png"></image>
+                    </view>
                   </view>
                 </view>
-              </view>
 
-              <view class="goodsInfo">
-                <view class="desc">乐器搭配<text>(非必选)</text></view>
-                <view class="goodsList">
-                  <view wx:for="{{ list }}" wx:key="index" class="goodsItem {{ item.id == selected.id ? 'selected' : '' }} {{ item.stockNum <= 0 ? 'nosale' : '' }}" bind:tap="onSelectGoods" data-id="{{ item.id }}">{{ item.typeName }}
-                    <image wx:if="{{ item.stockNum <= 0 }}" src="./images/nosale.png"></image>
+                <view class="goodsInfo">
+                  <view class="desc">乐器搭配<text>(非必选)</text></view>
+                  <view class="goodsList">
+                    <view wx:for="{{ instrumentList }}" wx:key="index" class="goodsItem {{ item.id == selectInstrumentId ? 'selected' : '' }}" bind:tap="onSelectInstrument" data-id="{{ item.id }}">
+                      {{ item.name }} <text>¥{{ item.showSalePrice }}</text>
+                    </view>
                   </view>
                 </view>
               </view>
-
-
               <view class="popupBottom">
                 <!-- 有选择商品的时候 -->
                 <view class="current-item" wx:if="{{!isOverSaled && selected.id}}">
-                  <view class="current-item-text">您已选择:</view>
-                  <text>{{ formatSelectGood.typeName }}</text>
-                  ,合计:
-                  <text>¥ {{ formatSelectGood.showSalePrice }}</text>
-                  <block wx:if="{{ formatSelectGood.originalPrice > formatSelectGood.salePrice }}">
-                    ,已省
-                    <text>¥ {{ formatSelectGood.discountPrice }}</text>
-                  </block>
+                  <!-- <view class="current-item-text">您已选择:</view> -->
+                  <view class="current-top">
+                    共计 <view class="prices"><text class="stuff">¥</text>
+                      <text class="priceZ">{{ formatSelectGood.integerPart || 0 }}</text>
+                      <text class="priceF">.{{ formatSelectGood.decimalPart || '00' }}</text>
+                    </view>
+                    <text class="line">|</text>原价 ¥ {{ formatSelectGood.originalPrice }}
+                    <block wx:if="{{ formatSelectGood.originalPrice > formatSelectGood.salePrice }}">
+                      <text class="line">|</text>
+                      <text>优惠 ¥ {{ formatSelectGood.discountPrice }}</text>
+                    </block>
+                  </view>
+
+                  <view class="current-select-text">已选:{{ formatSelectGood.typeName }}</view>
                 </view>
                 <view class="btnGroup">
                   <button type="primary" catch:tap="onSubmit">立即享受专属权益</button>
@@ -147,6 +154,8 @@
         </view>
 
         <!-- <service popShow="{{ showService }}" bind:changePop="changePop"></service> -->
+
+        <buyerInformation popShow="{{ showBuyer }}" bind:cancel="onCloseBuyer" />
       </scroll-view>
     </view>
   </swiper-item>