فهرست منبع

feat:活动分享添加元活动id,订单详情选择亲情卡优惠券

zhanghui 5 ماه پیش
والد
کامیت
1c471ca5be

+ 9 - 0
common/js/api.js

@@ -1035,5 +1035,14 @@ export default {
     },
 
 
+    // 获取亲情卡优惠券
+    getCouponByLoveCard(data) {
+        return request({
+            url: '/business/wechat/order/getCouponByLoveCard',
+            method: 'get',
+            data: data
+        })
+    },
+
 
 }

+ 5 - 5
myPages/myActivityDetail/myActivityDetail.vue

@@ -205,15 +205,15 @@ export default {
       }
     }); //禁止二次转发--end
     console.log(this.activity)
-    let activityId = this.activity.activityId
+    let shareActivityId = ''
     if (this.activity.shareActivityId){
-      activityId = this.activity.shareActivityId
+       shareActivityId = this.activity.shareActivityId //分享的活动id
     }
-    console.log('activityId',this.activity.activityId)
-    console.log('shareActivityId', this.activity.shareActivityId)
+    let inviteActivityId = this.activity.activityId  //邀请活动id
+
     let shareobj = {
       title: this.activity.shareContext, //分享的标题
-      path: '/orderPages/activityDetail/activityDetail?activityId=' + activityId + '&inviteUserId=' + this.userInfo.id + '&inviteOrderId=' + this.activity.orderId, //好友点击分享之后跳转的页面
+      path: '/orderPages/activityDetail/activityDetail?activityId=' + shareActivityId + '&inviteActivityId=' + inviteActivityId + '&inviteUserId=' + this.userInfo.id + '&inviteOrderId=' + this.activity.orderId, //好友点击分享之后跳转的页面
       //imageUrl: "https://****.com/banner.jpg", //分享的图片  支持PNG及JPG。显示图片长宽比是 5:4。
       imageUrl: this.facePhotoUrl, //内容图片
     }

+ 6 - 6
orderPages/activityDetail/activityDetail.vue

@@ -234,6 +234,7 @@ export default {
       isShare: false,
       inviteUserId: null,
       inviteOrderId: null,
+      inviteActivityId:null,
       isShareMax: false,
     }
   },
@@ -258,6 +259,7 @@ export default {
       this.id = e.activityId
       this.inviteUserId = e.inviteUserId
       this.inviteOrderId = e.inviteOrderId
+      this.inviteActivityId = e.inviteActivityId
       this.isShare = true
     }
     // 扫技师端携带的参数,已存在缓存中
@@ -468,6 +470,7 @@ export default {
         storeId: this.storeId,
         inviteUserId: this.inviteUserId,
         inviteOrderId: this.inviteOrderId,
+        inviteActivityId: this.inviteActivityId,
         techNo: this.techNo
       }).then(res => {
         console.log('++++++++++++++++++订单提交+++++++++++', res)
@@ -505,12 +508,9 @@ export default {
       console.log(this.id, '活动ID')
       const data = {
         id: this.id,
-      }
-      if (this.inviteUserId) {
-        data.userId = this.inviteUserId
-      }
-      if (this.inviteOrderId) {
-        data.inviteOrderId = this.inviteOrderId
+        inviteActivityId:this.inviteActivityId,
+        inviteUserId:this.inviteUserId,
+        inviteOrderId:this.inviteOrderId,
       }
       this.$api.activityDetail(data).then(res => {
         console.log(res)

+ 41 - 0
orderPages/orderDetail/index.rpx.scss

@@ -430,6 +430,13 @@
   margin-top: 30rpx;
 }
 
+.coupon4{
+  border: 2rpx solid #57d75b;
+  border-left: 10rpx solid #57d75b;
+  border-radius: 16rpx;
+  margin-top: 30rpx;
+}
+
 
 .icon2{
   background-color: #ffe05c;
@@ -451,6 +458,15 @@
   font-weight: bold;
 }
 
+.icon4{
+  background-color: #57d75b;
+  width: 150rpx;
+  height: 100%;
+
+  text-align: center;
+  font-size: 30rpx;
+  font-weight: bold;
+}
 .reachPrice{
   font-size: 24rpx;
   font-weight: 400;
@@ -466,3 +482,28 @@
   font-size: 24rpx;
   margin-left: 20rpx;
 }
+
+.couponTabs{
+  background-color: #ffe50c;
+  padding: 20rpx 0;
+  color: #333333;
+  margin-left: 30rpx;
+  width: 200rpx;
+  font-size: 24rpx;
+  font-weight: bold;
+  border-radius: 10rpx;
+  text-align: center;
+  margin: 20rpx 20rpx;
+
+}
+
+.couponTabs1{
+  background-color: #F5F5F5;
+  font-weight: 400;
+  border: 1px solid #F5F5F5;
+}
+
+.couponTabs:first-child{
+  margin-left: 0;
+}
+

+ 94 - 16
orderPages/orderDetail/index.vue

@@ -83,7 +83,14 @@
 				<view class="flex-col right">
 					<view class="flex-row justify-between">
 						<text class="serviceType">{{item.serviceName}}</text>
-						<text class="projectState">{{item.statusDesc}}</text>
+            <view class="flex-row justify-start">
+              <text class="projectState">{{item.statusDesc}}</text>
+              <view class="flex-row justify-center" style="margin-left: 20rpx" v-if="item.status === 8  || item.status === 1" @click="appeal(item.orderServiceId)">
+                <u-icon name="/static/order/ud17.png" color="#93D21A" size="14"></u-icon>
+                <text  class="ss_key">申诉</text>
+              </view>
+            </view>
+
 					</view>
 
 					<view class="flex-row justify-between">
@@ -123,19 +130,15 @@
 <!--								</view>-->
 							</view>
 
-							<view class="flex-row justify-center" v-if="item.status === 8  || item.status === 1" @click="appeal(item.orderServiceId)">
-								<u-icon name="/static/order/ud17.png" color="#93D21A" size="14"></u-icon>
-								<text  class="ss_key">申诉</text>
-							</view>
 						</view>
 					</view>
 
-          <view class="flex-row justify-between key">
+          <view class="flex-row justify-start key">
             <view class="flex-row">
               <u-icon size="16" name="coupon"></u-icon>
               <text>优惠选择:</text>
             </view>
-            <view class="flex-row  value  flex1 " style="height: 100%" @click="openCoupon(item,index)">
+            <view class="flex-row justify-start value" style="height: 100%" @click="openCoupon(item,index)">
               <text v-if="item.suggestType == 0">选择优惠券或权益卡</text>
               <text v-if="item.suggestType == 1">{{ item.suggestCoupon.name }} </text>
               <text v-if="item.suggestType == 2">{{ item.suggestEquityCard.equityCardName }} </text>
@@ -295,20 +298,28 @@
           <text>优惠选择</text>
         </view>
 
-        <scroll-view scroll-y style="height: 700rpx">
+        <view class="flex-row justify-center">
+          <view class="couponTabs flex-col justify-center" :class="[couponTabs == 0 ? '' : 'couponTabs1']" @click="changeCouponTabs(0)" >
+            <text>我的</text>
+          </view>
+
+          <view class="couponTabs  flex-col justify-center" :class="[couponTabs == 1 ? '' : 'couponTabs1']" @click="changeCouponTabs(1)">
+            <text>亲情卡优惠券</text>
+          </view>
+        </view>
+
+
+        <scroll-view v-if="couponTabs == 0" scroll-y style="height: 700rpx">
           <view class="flex-row justify-between coupon1">
             <view class="flex-row justify-start">
               <view class="flex-col justify-center icon1">
                 <text>0</text>
               </view>
-
               <view class="flex-col justify-center couponMsg">
                 <view class="flex-col justify-center couponName">
                   <text>不选择优惠</text>
                 </view>
               </view>
-
-
             </view>
             <view class="flex-col justify-center " style="margin-right: 30rpx">
               <text class="couponBtn"  @click="use(item,0)">选择</text>
@@ -407,6 +418,58 @@
 
         </scroll-view>
 
+        <scroll-view v-if="couponTabs == 1"  scroll-y style="height: 700rpx">
+
+          <view class="flex-row justify-between coupon1">
+            <view class="flex-row justify-start">
+              <view class="flex-col justify-center icon1">
+                <text>0</text>
+              </view>
+              <view class="flex-col justify-center couponMsg">
+                <view class="flex-col justify-center couponName">
+                  <text>不选择优惠</text>
+                </view>
+              </view>
+            </view>
+            <view class="flex-col justify-center " style="margin-right: 30rpx">
+              <text class="couponBtn"  @click="use(item,0)">选择</text>
+            </view>
+          </view>
+
+          <view class="flex-row justify-start" :class="[item.canUse? 'coupon4' : 'coupon3']"  v-for="(item,index) in couponByLoveCardList" :key="index">
+            <view class="flex-row justify-start">
+              <view class="flex-col justify-center " :class="[item.canUse? 'icon4' : 'icon3']">
+                <text  v-if="item.discountsType == 1">减{{item.discountsPrice}}</text>
+                <text  v-if="item.discountsType == 2">{{item.discount}}折</text>
+                <text class="reachPrice">满{{item.reachPrice}}可用</text>
+              </view>
+              <view class="flex-col justify-center couponMsg">
+                <view class="flex-col justify-center couponName">
+                  <text>{{item.name}}</text>
+                </view>
+                <view class="flex-col justify-center couponValue">
+                  <text>使用项目:{{item.useServiceDesc}}</text>
+                </view>
+                <view class="flex-col justify-center couponValue">
+                  <text>可用门店:{{item.useStoreDesc}}</text>
+                </view>
+                <view class="flex-col justify-center couponValue" v-if="!item.canUse">
+                  <text>不可用原因:{{item.unavailabilityReason}}</text>
+                </view>
+              </view>
+            </view>
+            <view class="flex-col justify-center" v-if="item.canUse">
+              <text class="couponBtn" @click="use(item,1)">立即使用</text>
+            </view>
+
+            <view class="flex-col justify-center" v-else>
+              <text class="couponBtn1">不可用</text>
+            </view>
+
+          </view>
+
+        </scroll-view>
+
       </view>
     </uni-popup>
 
@@ -439,8 +502,10 @@
 				loveCardList:[],
         availableCouponList:[],
         availableEquityCardList:[],
+        couponByLoveCardList:[],
         availableChild:null,
-        availableIndex:null
+        availableIndex:null,
+        couponTabs:0
 			}
 		},
 		onLoad(e) {
@@ -453,6 +518,10 @@
 		},
 		methods: {
 
+      changeCouponTabs(couponTabs){
+        this.couponTabs = couponTabs
+      },
+
       use(item,suggestType){
 
         if (suggestType == 1){
@@ -463,18 +532,18 @@
           if (item.discountsType == 1){
             //满减优惠券
             this.availableChild.discountAmount = item.discountsPrice
-            this.availableChild.payAmount =  this.availableChild.servicePrice - item.discountsPrice
+            this.availableChild.payAmount =  (this.availableChild.servicePrice - item.discountsPrice).toFixed(2)
           }else {
             //折扣券
             this.availableChild.discountAmount = (this.availableChild.servicePrice * (item.discounts / 10).toFixed(2)).toFixed(2)
-            this.availableChild.payAmount =  this.availableChild.servicePrice - this.availableChild.discountAmount
+            this.availableChild.payAmount =  (this.availableChild.servicePrice - this.availableChild.discountAmount).toFixed(2)
           }
         }else if (suggestType == 2){
           //使用权益卡
           this.availableChild.suggestCoupon = null
           this.availableChild.suggestType = 2
           this.availableChild.suggestEquityCard = item
-          this.availableChild.discountAmount = this.availableChild.servicePrice - item.faceValue
+          this.availableChild.discountAmount = (this.availableChild.servicePrice - item.faceValue).toFixed(2)
           this.availableChild.payAmount =  item.faceValue
         }else {
           //不使用优惠
@@ -488,7 +557,7 @@
         let payAmount = 0      //计算订单总支付金额
         let discountAmount = 0 //计算订单总优惠金额
         for (const child of this.order.child) {
-          if (child.status == 1){
+          if (child.status == 1 || child.status == 8){
             payAmount += child.payAmount - 0
             discountAmount += child.discountAmount - 0
           }
@@ -512,9 +581,18 @@
         this.availableChild = item
         this.availableCoupons(item)
         this.availableEquityCards(item)
+        this.getCouponByLoveCard(item)
         this.$refs.couponPopup.open()
       },
 
+      getCouponByLoveCard(item){
+        this.$api.getCouponByLoveCard({
+          orderServiceId:item.orderServiceId
+        }).then(res=>{
+          this.couponByLoveCardList = res.data.data
+        })
+      },
+
       availableEquityCards(item){
         this.$api.availableEquityCards({
           orderServiceId:item.orderServiceId