| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387 | <template>  <view class="container">    <view class="tui-coupon-list" v-if="item!=null">      <view class="tui-coupon-item tui-top20"  >         <image src="/static/images/bg_coupon_3x.png" class="tui-coupon-bg" mode="widthFix"></image>		<view class="tui-coupon-item-left">          <view class="tui-coupon-price-box"  >            <view class="tui-coupon-price-sign">¥</view>            <view class="tui-coupon-price" :class="{ 'tui-price-small': false }">{{ item.price.toFixed(2) }}</view>          </view>          <view class="tui-coupon-intro">满{{ item.minPrice.toFixed(2) }}元可用</view>        </view>        <view class="tui-coupon-item-right">          <view class="tui-coupon-content">            <view class="tui-coupon-title-box">              <view class="tui-coupon-title">{{ item.title }}</view>            </view>            <view class="tui-coupon-rule">              <view class="tui-rule-box tui-padding-btm">                <view class="tui-coupon-circle"></view>                <view class="tui-coupon-text">不可叠加使用</view>              </view>              <view class="tui-rule-box">                <view class="tui-coupon-circle"></view>                <view class="tui-coupon-text">{{ item.limitTime }} 到期</view>                          </view>            </view>          </view>        </view>        <view class="tui-btn-box">			<view class="btn receive" v-if="item.remainNumber>0" @click="receive()" >立即领取</view>			<view class="btn cancel" v-else-if="item.remainNumber==0" >已领完</view>        </view>      </view>    </view>  </view></template><script>import { getCouponById,genCode, receive } from '@/api/coupon'export default {  name: 'getCoupon',   props: {},  data: function() {    return {		couponId:null,		item:null,		isShare:null,		code:null,    }  },  onLoad(options) {	this.couponId=options.couponId;	this.code=options.code;	if(!this.$isEmpty(options.isShare)){		this.isShare=options.isShare		this.genCode();	}	else{		uni.hideShareMenu()	}	console.log(options.couponId)	this.companyId=uni.getStorageSync('companyId');	this.companyUserId=uni.getStorageSync('companyUserId');		 	this.getCouponById();  },  //发送给朋友  onShareAppMessage(res) {  	//禁止二次转发--  	uni.showShareMenu({  		withShareTicket: true  	});  	wx.updateShareMenu({  		isPrivateMessage: true,  		withShareTicket: true,  		success(res) {  			console.log('updateShareMenu: ', res);  		},  		fail() {}  	});   	//禁止二次转发--end  	return {  		title: this.item.title,  		path: "/pages_company/couponDetails?couponId="+this.item.couponId+"&companyId="+this.companyId+"&companyUserId="+this.companyUserId+"&code="+this.code,  	}  },  mounted: function() {  },  onShow() {  },  methods: {	genCode: function() {		let that = this		var data={couponId:this.couponId};		genCode(data)		  .then(function(res) {			that.code=res.data;					  })		  .catch(function(err) {					})	},	getCouponById: function() {	  	let that = this	  	var data={			couponId:this.couponId		}	  	getCouponById(data)	  	  .then(function(res) {				that.item=res.data;					  	  })	  	  .catch(function(err) {	  	    uni.showToast({	  	      title: err.msg ,	  	      icon: 'none',	  	      duration: 2000,	  	    })	  	  })	    	},    receive: function() {		let that = this		var data={			couponId:this.item.couponId,			companyId:this.companyId,			companyUserId:this.companyUserId,			code:this.code,		}		receive(data)		  .then(function(res) {			  if(res.code==200){				  uni.showToast({				    title: '领取成功',				    icon: 'success',				    duration: 2000,				  })			  }			  else{				  uni.showToast({				    title: res.msg,				    duration: 2000,				  })			  }		    				   		  })		  .catch(function(err) {		    uni.showToast({		      title: err.msg ,		      icon: 'none',		      duration: 2000,		    })		  })          },  },}</script><style lang="less" scoped>page {  background-color: #f5f5f5;}.container {	height: 100%;	display: flex;	flex-direction: column;}.tui-coupon-list {  width: 100%;  padding: 0 25rpx;  box-sizing: border-box;}.tui-coupon-banner {  width: 100%;}.tui-coupon-item {  width: 100%;  height: 210rpx;  position: relative;  display: flex;  align-items: center;  padding-right: 30rpx;  box-sizing: border-box;  overflow: hidden; }.tui-coupon-bg {  width: 100%;  height: 210rpx;  position: absolute;  left: 0;  top: 0;  z-index: 1;}.tui-coupon-sign {  height: 110rpx;  width: 110rpx;  position: absolute;  z-index: 9;  top: -30rpx;  right: 40rpx;}.tui-coupon-item-left {  width: 218rpx;  height: 210rpx;  position: relative;  z-index: 2;  display: flex;  align-items: center;  justify-content: center;  flex-direction: column;  flex-shrink: 0;}.tui-coupon-price-box {  display: flex;  color: #e41f19;  align-items: flex-end;}.tui-coupon-price-sign {  font-size: 30rpx;}.tui-coupon-price {  font-size: 32rpx;  line-height: 68rpx;  font-weight: bold;}.tui-price-small {  font-size: 58rpx !important;  line-height: 56rpx !important;}.tui-coupon-intro {  background: #f7f7f7;  padding: 8rpx 10rpx;  font-size: 26rpx;  line-height: 26rpx;  font-weight: 400;  color: #666;  margin-top: 18rpx;}.tui-coupon-item-right {  flex: 1;  height: 210rpx;  position: relative;  z-index: 2;  display: flex;  align-items: center;  justify-content: space-between;  padding-left: 24rpx;  box-sizing: border-box;  overflow: hidden;}.tui-coupon-content {  width: 82%;  display: flex;  flex-direction: column;  justify-content: center;}.tui-coupon-title-box {  display: flex;  align-items: center;}.tui-coupon-btn {  padding: 6rpx;  background: #ffebeb;  color: #C39A58;  font-size: 25rpx;  line-height: 25rpx;  display: flex;  align-items: center;  justify-content: center;  transform: scale(0.9);  transform-origin: 0 center;  border-radius: 4rpx;  flex-shrink: 0;}.tui-color-grey {  color: #888 !important;}.tui-bg-grey {  background: #f0f0f0 !important;  color: #888 !important;}.tui-coupon-title {  width: 100%;  font-size: 26rpx;  color: #333;  white-space: nowrap;  overflow: hidden;  text-overflow: ellipsis;}.tui-coupon-rule {  padding-top: 52rpx;}.tui-rule-box {  display: flex;  align-items: center;  transform: scale(0.8);  transform-origin: 0 100%;}.tui-padding-btm {  padding-bottom: 6rpx;}.tui-coupon-circle {  width: 8rpx;  height: 8rpx;  background: rgb(160, 160, 160);  border-radius: 50%;}.tui-coupon-text {  font-size: 28rpx;  line-height: 28rpx;  font-weight: 400;  color: #666;  padding-left: 8rpx;  white-space: nowrap;}.tui-top20 {  margin-top: 20rpx;}.tui-coupon-title {  font-size: 28rpx;  line-height: 28rpx;}.tui-coupon-radio {  transform: scale(0.7);  transform-origin: 100% center;}.tui-btn-box {  position: absolute;  right: 20rpx;  bottom: 40rpx;  z-index: 10;  .btn{  	width: 155upx;  	height: 64upx;  	line-height: 64upx;  	font-size: 26upx;  	font-family: PingFang SC;  	font-weight: 500;  	text-align: center;  	border-radius: 32upx;  	margin-left: 15upx;  	&.cancel{  		border: 1px solid #C39A58;  		color: #C39A58;  	}  	&.receive{  		background: #C39A58;  		color: #FFFFFF;  	}  }} </style>
 |