159 lines
6.5 KiB
HTML
159 lines
6.5 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
|
<meta name="viewport"
|
|
content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0, user-scalable=0,viewport-fit=cover" />
|
|
<title>我的券</title>
|
|
<script src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/common/vue.min.js?v=1367936144322" type="text/javascript"
|
|
charset="utf-8"></script>
|
|
<script type="text/javascript" src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/common/axios.js?v=1367936144322">
|
|
</script>
|
|
<script src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/js/api1_4_0.js"></script>
|
|
<link rel="stylesheet" href="./myCoupon.css" />
|
|
<link rel="stylesheet" href="./tabbar.css">
|
|
<script src="./tabbar.js"></script>
|
|
</head>
|
|
|
|
<body>
|
|
<div id="app">
|
|
<img class="backPresTy" @click="backHandler"
|
|
src=" https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/img/backprepageBtn.png" alt="">
|
|
<ul class="tab">
|
|
<li v-for="item in tabList" :key="item.id" @click="tabHandle(item)">
|
|
<span :class="tabActive===item.id?'tab_text tab_active':'tab_text'">{{item.text}}</span>
|
|
</li>
|
|
</ul>
|
|
<div class="content">
|
|
<div v-for="(item,index) in couponList" :key="item.id"
|
|
:class="more===item.id?'content-item content-item-more':'content-item'">
|
|
<div class="content-box">
|
|
<div :class="item.status===2 ?'left-box left-boxs':'left-box'">
|
|
<p class="left-box-moneySign">
|
|
<span class="left-box-money">¥</span>
|
|
{{item.reduce}}
|
|
</p>
|
|
<p class="left-box-full">满{{item.full}}元可用</p>
|
|
<p class="left-box-button" @click="goUse(item)">
|
|
{{item.status===0?'去使用':item.status===1?'已使用':"已失效"}}
|
|
</p>
|
|
</div>
|
|
<div class="right-box">
|
|
<p class="right-box-title">满{{item.full}}元减{{item.reduce}}券</p>
|
|
<p class="right-box-time">{{item.begin_time}} - {{item.end_time}}</p>
|
|
<div class="right-box-bottom"
|
|
:style="{borderBottom:(more===item.id?'0.01rem solid #D7D7D7':'0')}">
|
|
<span class="right-box-id">券编号 <span>{{String((item.id)).padStart(8,0)+index}}</span></span>
|
|
<p class="right-box-more" @click="moreHandle(item.id)">
|
|
{{more===item.id?'收起':'查看更多'}}
|
|
<img :class="more===item.id?'imgArrow':''" src="./img/arr.png" alt="">
|
|
</p>
|
|
</div>
|
|
<img class="stand" v-show="item.status===2" src="./img/invalid.png" alt="">
|
|
<img class="stand" v-show="item.status===1" src="./img/use.png" alt="">
|
|
</div>
|
|
</div>
|
|
<p class="text">
|
|
商品使用范围:<br>
|
|
{{item.productArray.map(item=>item.name).join('、')}}
|
|
</p>
|
|
</div>
|
|
<!-- 空状态 -->
|
|
<div class="empty" v-if="!couponList.length">
|
|
<img src="./img/coupon-empty.png" alt="">
|
|
<p>暂无优惠券</p>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- tab组件 -->
|
|
<tab-component :current="3"></tab-component>
|
|
</div>
|
|
<script>
|
|
new Vue({
|
|
el: "#app",
|
|
data () {
|
|
return {
|
|
tabList: [
|
|
{ id: 0, text: "待使用" },
|
|
{ id: 1, text: "已使用" },
|
|
{ id: 2, text: "已失效" }
|
|
],
|
|
tabActive: 0, /* tab 选中下标 */
|
|
more: false, /* 是否展示更多 状态 */
|
|
couponList: []
|
|
}
|
|
},
|
|
|
|
components: {
|
|
tabComponent
|
|
},
|
|
|
|
created () {
|
|
this.getCouponList()
|
|
},
|
|
|
|
methods: {
|
|
/* 查看更多 */
|
|
moreHandle (id) {
|
|
if (id !== this.more) {
|
|
this.more = id
|
|
} else {
|
|
this.more = null
|
|
}
|
|
},
|
|
|
|
/* 返回 */
|
|
backHandler () {
|
|
window.location.replace('./couponCollection.html');
|
|
},
|
|
|
|
/* 去使用 */
|
|
goUse (item) {
|
|
if (item.status) return;
|
|
window.location.replace('./couponCollection.html');
|
|
},
|
|
|
|
/* tab点击 */
|
|
tabHandle ({ id }) {
|
|
this.tabActive = id
|
|
this.getCouponList()
|
|
},
|
|
|
|
/* 请求数据 */
|
|
getCouponList () {
|
|
const key = sessionStorage.getItem('key')
|
|
req.axiosGet('/key/coupon/list', { key, status: this.tabActive }).then(({ data, code }) => {
|
|
if (code === 200) {
|
|
const productArray = []
|
|
data.map(item => {
|
|
item.product.legal.map(items => {
|
|
productArray.push({
|
|
name: items.product_name,
|
|
type: 1,
|
|
id: items.product_id
|
|
})
|
|
})
|
|
|
|
item.product.reduce.map(items => {
|
|
productArray.push({
|
|
name: items.batch_goods_name,
|
|
type: 2,
|
|
id: items.channel_activity_id
|
|
})
|
|
})
|
|
item.status = this.tabActive
|
|
item.productArray = productArray
|
|
})
|
|
this.couponList = data
|
|
console.log(data);
|
|
}
|
|
})
|
|
}
|
|
}
|
|
})
|
|
</script>
|
|
</body>
|
|
|
|
</html> |