合并前

This commit is contained in:
wwz
2024-12-23 18:33:22 +08:00
parent 7b44d1f9fb
commit d747791c9a
119 changed files with 6788 additions and 199 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 164 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 206 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 410 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 203 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 160 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 350 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 213 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 197 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 537 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 350 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 172 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 248 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 179 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 416 KiB

109
me/giftczgw/duihuan.vue Normal file
View File

@@ -0,0 +1,109 @@
<template>
<view class="min-pageczg bg-gray u-font-28">
<view class="block bg-fff border-r-18 default-box-padding">
<view>
<view>中奖用户手机号</view>
<view class="borderczg u-m-t-24 u-p-l-24" style="margin-bottom: 20rpx;">
<u-input v-model="query.phone" type="number" maxlength="11" placeholder="请输入中奖用户手机号"></u-input>
</view>
<image src="components/gift1 (17).JPG" mode=""></image>
<view>收货地址</view>
<view class="borderczg u-m-t-24 u-p-l-24" style="margin-bottom: 20rpx;">
<u-input v-model="query.address" type="text" placeholder="请输入收货地址"></u-input>
</view>
<view>备注</view>
<view class="borderczg u-m-t-24 u-p-l-24">
<u-input v-model="query.remark" type="text" placeholder="请输入备注"></u-input>
</view>
</view>
<view class="u-m-t-48">
<view>兑换事项</view>
<view class="u-m-t-16 color-999">
请认真核实兑换账号一但兑换成功后不予退换
</view>
</view>
</view>
<image src="components/gift1 (3).JPG" mode=""></image>
<view class="u-flex u-row-center">
<view class="btn-circle duihuan" @click="czgwexchange">确认兑换</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
query: {
discSpinningRecordId: null,
source: 1,
phone: "",
address: "",
remark: "",
},
}
},
onLoad(options) {
console.log(options)
if (options.id) {
this.query.discSpinningRecordId = options.id
}
if (options.source) {
this.query.source = options.source
}
},
methods: {
czgwexchange() {
let url = ""
if (!this.query.phone) {
uni.showToast({
title: '请输入中奖用户手机号',
icon: 'none'
});
return;
}
if (!this.query.address) {
uni.showToast({
title: '请输入中奖用户地址',
icon: 'none'
});
return;
}
this.$Request.postJson("app/userPrizeExchange/exchange", this.query).then(res => {
if (res.code == 0) {
uni.navigateBack()
} else {
uni.showToast({
title: res.msg,
icon: 'none'
});
}
})
},
}
}
</script>
<style lang="scss" scoped>
.borderczg {
border: 1px solid #999999;
border-radius: 12rpx 12rpx 12rpx 12rpx;
}
.duihuan {
background: #ED838A;
width: 556rpx;
padding: 18rpx 0;
text-align: center;
font-size: 32rpx;
font-weight: bold;
color: #fff;
margin-top: 84rpx;
}
.min-pageczg {
padding: 32rpx 20rpx;
}
</style>

179
me/giftczgw/giftczgw.vue Normal file
View File

@@ -0,0 +1,179 @@
<template>
<view class="min-pageczg bg-gray u-font-28">
<u-navbar :background="background" back-icon-color="#fff" immersive :border-bottom="false"></u-navbar>
<view class="gift-bg">
</view>
<image src="components/czgdetail1 (3).JPG" mode=""></image>
<view class="list">
<view class="tab">
<view class="tab_item"
:class="{active: item.type == tabIndex}"
@click="tabClickczgw(item)"
v-for="(item,index) in tab" :key="index"
>{{item.label}}</view>
</view>
<view class="item" v-for="(item,index) in list" :key="index">
<image src="components/czgdetail1 (4).JPG" mode=""></image>
<view class="color-666 u-font-24">中奖时间 2024-09-11 10:20:11</view>
<view class="u-m-t-24 u-flex u-row-between">
<view class="u-flex-1 u-flex u-col-top">
<u-image width="128rpx" height="128rpx" src="/static/red-pack.png"></u-image>
<view class="u-m-l-16">
<view>大额红包</view>
<view class="color-999 u-font-24 u-m-t-16">×1</view>
</view>
</view>
<view class="">
<view class="btn-circle duihuan" @click="toDuiHuan(item)">立即兑换</view>
<!-- <view class="btn-circle duihuan finish">已完成</view> -->
</view>
</view>
</view>
<image src="components/czgdetail1 (8).JPG" mode=""></image>
<view class="u-p-t-30 u-p-b-30 empty" v-if="hasAjax&&!list.length">
<u-empty text="暂无记录" src="/static/icon-empty.svg"></u-empty>
</view>
</view>
<!-- <view class="u-p-30">
<u-loadmore font-size="24" color="#999" :status="status" />
</view> -->
</view>
</template>
<script>
export default {
data() {
return {
background: {
backgroundColor: 'transparent'
},
tab: [{label: '抽奖记录', type: 1},{label: '兑换记录', type: 2}],
tabIndex: 1,
query: {
page: 10,
limit: 1,
source: 1,
},
total: 0,
status: 'nomore',
hasAjax:true,
list:[]
}
},
onLoad(options) {
if ( options.source ) {
this.query.source = options.source
}
},
onShow() {
this.getListczg()
},
methods: {
toDuiHuan(item){
uni.navigateTo({
url:`/me/gift/duihuan?source=${this.query.source}&id=${item.id}`
})
},
tabClickczgw(item){
this.list = [];
this.tabIndex = item.type;
this.getListczg()
},
getListczg(){
let url = ""
if ( this.tabIndex == 1) {
url = "app/discSpinningRecord/selectDiscSpinningRecord"
} else {
url = "/app/userPrizeExchange/page"
}
this.$Request.getT(url, this.query).then(res => {
if (res.code == 0 ) {
if ( this.tabIndex == 1) {
this.list = res.data.records
this.total = res.data.total
} else {
this.list = res.page.list
this.total = res.page.totalCount
}
}
})
},
onReachBottom: function () {
if (this.page * this.limit < this.total) {
this.page = this.page + 1;
this.getListczg();
}
},
}
}
</script>
<style lang="scss" scoped>
.duihuan {
background: linear-gradient(87deg, #ED8087 0%, #ECA2AA 100%);
font-size: 24rpx;
color: #fff;
padding: 8rpx 16rpx;
text-align: center;
&.finish {
background: #E5E5E5;
color: #999;
}
}
.gift-bg {
position: relative;
width: 100%;
height: 524rpx;
background: url('~static/images/gift-bg.png') no-repeat center center/cover;
background-repeat: no-repeat;
background-position: center center;
background-size: cover;
background-image: url("~static/images/gift-bg.png");
@media (-webkit-min-device-pixel-ratio: 2),
(min-device-pixel-ratio: 2) {
background-image: url("~static/images/gift-bg@2x.png");
}
}
.empty{
// min-height: 50vh;
}
.min-pageczg {
min-height: 100vh;
}
.list {
margin: 0 20rpx;
position: relative;
z-index: 2;
margin-top: -148rpx;
border-radius: 18rpx 18rpx 18rpx 18rpx;
overflow: hidden;
background-color: #fff;
.tab{
display: flex;
.tab_item{
height: 80rpx;
line-height: 80rpx;
width: 50%;
text-align: center;
font-size: 32rpx;
color: #333;
}
.tab_item.active{
background-color: #ECA2AA;
color: #fff;
}
}
.item {
padding: 32rpx 24rpx;
border-bottom: 1rpx solid #E5E5E5;
}
}
</style>