You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
high-mini/pages/user/agentCoupons/agentCoupons.vue

223 lines
5.2 KiB

<template>
<view>
<view class="onorder width100" v-if="agentCouponList.length==0">
<image src="../../../static/img/noorder.png"></image>
<view class="text">
暂无数据
</view>
</view>
<view class="width90 height120 backcorfff mart15" v-for="(agent,index) in agentCouponList" :key="index">
<image class="flleft agent_img margle mart10" v-if="agent.merchantLogo == null" src='../../../static/img/logo.png'></image>
<image class="flleft agent_img margle mart10" v-else :src="image_url+agent.merchantLogo"></image>
<view class="agent_title paddtop13">
<view class="font18 fcor333 width100">{{agent.highCoupon.couponName}}</view>
<view class="width100 mart5 font14 fcor333 height22">
<view class="agent_left_num flleft text1">
{{agent.highCouponCode.salesCode}}
</view>
<view class="agent_right_num flright fotrt">
{{agent.highCoupon.salesPrice}}.00
</view>
</view>
</view>
<view class="width100 line1 mart5"></view>
<view class="width90">
<button class="flright backcorf06 fcorfff font15 agent_btn mart10" @click="generateCode(agent.id)"
v-if="typeId == 1">生成油码</button>
<button class="flright backcorf06 fcorfff font15 agent_btn mart10" @click="jumpCouponDes(agent.id)"
v-if="typeId == 2">查看详情</button>
<view class="agent_ts font15 fcor333 fotrt" v-if="typeId == 2">
出售时间:{{agent.highCouponCode.receiveTime | formatDate('-')}}</view>
</view>
</view>
</view>
</template>
<script>
import {
getCodeListByAgentCoupon,
generateCode
} from "../../../Utils/Api.js";
let app =getApp();
export default {
data() {
return {
pageNum: 1,
pageSize: 10,
agentCouponList: [],
isNoMoreData: false,
typeId: '',
reFreshs: '',
couponId: '',
image_url : app.globalData.imgUrl
}
},
filters: {
//过滤器 用于格式化时间
formatDate: function(value, spe = '/') {
let data = new Date(value);
let year = data.getFullYear();
let month = data.getMonth() + 1;
let day = data.getDate();
let h = data.getHours();
let mm = data.getMinutes();
let s = data.getSeconds();
month = month > 10 ? month : "0" + month;
day = day > 10 ? day : "0" + day;
h = h > 10 ? h : "0" + h;
mm = mm > 10 ? mm : "0" + mm;
s = s > 10 ? s : "0" + s;
return `${year}${spe}${month}${spe}${day}`;
}
},
onLoad(option) {
this.typeId = option.id;
this.couponId = option.couponsId;
},
onShow() {
this.getCodeListByAgentCoupon();
},
watch: {
//监听reFresh,如果有修改就执行监听器
reFreshs: function() {
this.pageNum = 1;
this.agentCouponList = []
this.isNoMoreData = false;
this.getCodeListByAgentCoupon();
}
},
methods: {
//查询列表
getCodeListByAgentCoupon() {
uni.showLoading({
title: '加载中...'
})
if (this.isNoMoreData) {
uni.hideLoading();
return false;
}
let pagenum = this.pageNum;
let params;
if (this.typeId == 1) {
params = {
pageNum: pagenum,
couponId: this.couponId,
status: 1,
pageSize: this.pageSize
}
} else if(this.typeId == 2){
params = {
pageNum: pagenum,
couponId: this.couponId,
status: '2,3',
pageSize: this.pageSize
}
}
getCodeListByAgentCoupon(params).then(res => {
uni.hideLoading();
if (res.return_code == '000000') {
this.isNoMoreData = res.return_data.list.length == this.pageSize ? false : true;
if (res.return_data.total == (this.pageNum * this.pageSize)) {
this.isNoMoreData = true;
}
this.agentCouponList = this.agentCouponList.concat(res.return_data.list);
this.pageNum = res.return_data.list.length == this.pageSize ? ++pagenum : pagenum;
} else {
this.agentCouponList = [];
}
})
},
//生成二维码
generateCode(item) {
uni.showLoading({
title: '油码生成中...'
})
let datas = {
couponAgentCodeId: item
}
generateCode(datas).then(res => {
uni.hideLoading()
if (res.return_code == '000000') {
uni.navigateTo({
url: '../../goods/coupons-info-details/coupons-info-details?id=' + item
})
} else {
uni.showToast({
title: res.return_msg,
icon: 'none',
duration: 2000
})
}
})
},
//查看详情
jumpCouponDes(ids) {
uni.navigateTo({
url: '../../goods/coupons-info-details/coupons-info-details?id=' + ids
})
}
}
}
</script>
<style lang="scss">
page {
background-color: #f5f5f5;
}
.onorder {
width: 100%;
height: 50vw;
display: flex;
justify-content: center;
align-content: center;
flex-wrap: wrap;
image {
width: 20vw;
height: 20vw;
border-radius: 100%;
}
.text {
width: 100%;
height: 60upx;
font-size: 28upx;
color: #444;
display: flex;
justify-content: center;
align-items: center;
}
}
.agent_img {
width: 50px;
height: 50px;
}
.agent_title {
margin-left: 60px;
}
.agent_left_num {
width: 55%;
}
.agent_right_num {
width: 40%;
margin-right: 5%;
}
.agent_btn {
width: 88px;
height: 35px;
line-height: 35px;
}
.agent_ts {
margin-right: 95px;
padding-top: 18px;
}
</style>