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

320 lines
7.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 fotlt text1" v-if="typeId == 2 && agent.remark !=null ">
备注:{{agent.remark}}</view>
</view>
</view>
<!-- /弹窗 -->
<view :hidden="userFeedbackHidden" class="popup_content">
<view class="popup_title">填写备注</view>
<view class="popup_textarea_item">
<textarea class="popup_textarea" placeholder='请填写您的备注信息...' v-model="feedbackContent">
</textarea>
<view @click="submitFeedback()">
<button class="popup_button">提交备注</button>
</view>
</view>
</view>
<view class="popup_overlay" :hidden="userFeedbackHidden" @click="hideDiv()"></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,
userFeedbackHidden: true, // 默认隐藏
feedbackContent: '', // 用户备注信息
couId: ''
}
},
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}`;
}
},
onReachBottom() {
this.getCodeListByAgentCoupon();
},
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) {
this.userFeedbackHidden = false;
this.couId = item;
},
hideDiv() { // 隐藏输入弹出框
this.userFeedbackHidden = true;
},
// 提交备注
submitFeedback() {
if (this.feedbackContent == '') {
uni.showToast({
title: '请填写备注信息',
icon: 'none',
duration: 2000
})
} else {
uni.showLoading({
title: '油码生成中...'
})
let datas = {
couponAgentCodeId: this.couId,
remark: this.feedbackContent
}
generateCode(datas).then(res => {
uni.hideLoading()
if (res.return_code == '000000') {
this.userFeedbackHidden = true;
uni.navigateTo({
url: '../../goods/coupons-info-details/coupons-info-details?id=' + this.couId
})
} 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;
}
// 弹窗
.popup_overlay {
position: fixed;
top: 0%;
left: 0%;
width: 100%;
height: 100%;
background-color: black;
z-index: 1001;
-moz-opacity: 0.8;
opacity: .80;
filter: alpha(opacity=88);
}
.popup_content {
position: fixed;
top: 50%;
left: 50%;
width: 520upx;
height: 550upx;
margin-left: -270upx;
margin-top: -270upx;
border: 10px solid white;
background-color: white;
z-index: 1002;
overflow: auto;
border-radius: 20upx;
}
.popup_title {
padding-top: 20upx;
width: 480upx;
text-align: center;
font-size: 40rpx;
}
.popup_textarea_item {
padding-top: 20rpx;
height: 240rpx;
width: 90%;
background-color: #F1F1F1;
margin-top: 30rpx;
margin-left: 5%;
}
.popup_textarea {
width: 410upx;
font-size: 26upx;
margin-left: 20upx;
}
.popup_button {
color: white;
background-color: #4399FC;
border-radius: 10upx;
}
</style>