This commit is contained in:
2023-10-16 11:21:27 +08:00
parent 2e86312ba6
commit 619abedc69
11 changed files with 202 additions and 128 deletions

View File

@ -1,8 +1,8 @@
import request from "../../request.js" import request from "../../request.js"
export function prizeExchangelist(data, region) { export function scorelist(data) {
return request({ return request({
url: `/applet/score/prizeExchange/list`, url: `/applet/score/list`,
method: 'get', method: 'get',
data: data, data: data,
header: { header: {
@ -10,3 +10,13 @@ export function prizeExchangelist(data, region) {
} }
}) })
} }
//总积分
export function scoretotal(cardNo) {
return request({
url: `/applet/score/total/${cardNo}`,
method: 'get',
header: {
region: uni.getStorageSync('region'),
}
})
}

View File

@ -1,6 +1,6 @@
import request from "../../request.js" import request from "../../request.js"
export function prizelist(data, region) { export function prizelist(data) {
return request({ return request({
url: `/applet/score/prize/list`, url: `/applet/score/prize/list`,
method: 'get', method: 'get',
@ -10,3 +10,14 @@ export function prizelist(data, region) {
} }
}) })
} }
//兑换奖品
export function prizeExchangesave(data) {
return request({
url: `/applet/score/prizeExchange/save`,
method: 'post',
data: data,
header: {
region: uni.getStorageSync('region'),
}
})
}

View File

@ -1,7 +1,7 @@
import request from "@/api/request.js" import request from "@/api/request.js"
// 获取区划列表 // 获取区划列表
export function arealist(pid, region) { export function arealist(pid) {
return request({ return request({
url: `/applet/signinfo/area/list/${pid}`, url: `/applet/signinfo/area/list/${pid}`,
method: 'get', method: 'get',
@ -12,7 +12,7 @@ export function arealist(pid, region) {
} }
//提交签约 //提交签约
export function applysave(data, region) { export function applysave(data) {
return request({ return request({
url: `/applet/sign/apply/save`, url: `/applet/sign/apply/save`,
method: 'post', method: 'post',
@ -24,7 +24,7 @@ export function applysave(data, region) {
} }
//人群 //人群
export function getCrowd(identity, region) { export function getCrowd(identity) {
return request({ return request({
url: `/applet/signinfo/getCrowd/${identity}`, url: `/applet/signinfo/getCrowd/${identity}`,
method: 'get', method: 'get',
@ -35,7 +35,7 @@ export function getCrowd(identity, region) {
} }
//服务包 //服务包
export function getPackageByCrowdNo(data, region) { export function getPackageByCrowdNo(data) {
return request({ return request({
url: `/applet/signinfo/getPackageByCrowdNo`, url: `/applet/signinfo/getPackageByCrowdNo`,
method: 'post', method: 'post',

View File

@ -316,7 +316,8 @@
"path": "exchangerecords/exchangerecords", "path": "exchangerecords/exchangerecords",
"style": { "style": {
"navigationBarTitleText": "兑换记录", "navigationBarTitleText": "兑换记录",
"enablePullDownRefresh": false "onReachBottomDistance": 40, // px
"enablePullDownRefresh": true //true
} }
}, { }, {
"path": "familymemberdetail/familymemberdetail", "path": "familymemberdetail/familymemberdetail",

View File

@ -9,6 +9,7 @@
margin: 0 auto; margin: 0 auto;
.content { .content {
position: relative; position: relative;
image { image {
width: 100%; width: 100%;
height: 319rpx; height: 319rpx;
@ -43,7 +44,6 @@
width: 90%; width: 90%;
height: 100rpx; height: 100rpx;
font-size: 30rpx; font-size: 30rpx;
font-family: Source Han Sans CN;
font-weight: 400; font-weight: 400;
color: #FFFFFF; color: #FFFFFF;
position: absolute; position: absolute;
@ -54,7 +54,6 @@
} }
.number { .number {
font-size: 56rpx; font-size: 56rpx;
font-family: Source Han Sans CN;
font-weight: 400; font-weight: 400;
color: #FFFFFF; color: #FFFFFF;
position: absolute; position: absolute;
@ -66,26 +65,21 @@
} }
} }
.bottomitem{ .bottomitem{
position: relative;
background-color: #FFF; background-color: #FFF;
margin: 0 auto; margin: 0 auto;
padding-bottom: 100rpx;
.item{
position: relative;
}
.Establishingarchives{ .Establishingarchives{
font-size: 30rpx; font-size: 30rpx;
font-family: Source Han Sans CN;
font-weight: 400; font-weight: 400;
color: #333333; color: #333333;
line-height: 38rpx; line-height: 38rpx;
padding: 8px 10px 5px 18px; padding: 8px 10px 5px 18px;
} }
.integraltwo{ .integraltwo{
position: absolute; color: red !important;
top: 75%;
right: 3%;
color: red;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
} }
.integral{ .integral{
position: absolute; position: absolute;
@ -98,7 +92,6 @@
} }
.timeone{ .timeone{
font-size: 20rpx; font-size: 20rpx;
font-family: Source Han Sans CN;
font-weight: 400; font-weight: 400;
color: #333333; color: #333333;
line-height: 38rpx; line-height: 38rpx;
@ -107,7 +100,6 @@
} }
.PointsRecord { .PointsRecord {
font-size: 30rpx; font-size: 30rpx;
font-family: Source Han Sans CN;
font-weight: 400; font-weight: 400;
color: #000000; color: #000000;
line-height: 33rpx; line-height: 33rpx;

View File

@ -5,7 +5,7 @@
<image src="/static/pagesB/Behave.png" mode=""></image> <image src="/static/pagesB/Behave.png" mode=""></image>
<view class="name">我的积分 <view class="name">我的积分
</view> </view>
<view class="number">1000 <view class="number">{{score?score:0}}
</view> </view>
<view class="PointsMall" @tap='gointegral'> <view class="PointsMall" @tap='gointegral'>
积分商城 积分商城
@ -18,32 +18,31 @@
<view class="PointsRecord"> <view class="PointsRecord">
积分记录 积分记录
</view> </view>
<view class="" v-if="list&&list.length>0">
<view class="item" v-for="item in list">
<view class="Establishingarchives"> <view class="Establishingarchives">
建立档案 {{item.actName}}
</view> </view>
<view class="integral"> <view class="integral" v-if="item.score>0">
+20000 {{'+'+item.score}}
</view>
<view class="integral integraltwo" v-else>
{{item.score}}
</view> </view>
<view class="timeone"> <view class="timeone">
2023-03-09 13:23:12 {{item.scoreDate}}
</view>
<view class="Establishingarchives">
兑换商品
</view>
<view class="integraltwo">
-2000000000
</view>
<view class="timeone">
2023-03-09 13:23:12
</view> </view>
</view> </view>
</view> </view>
<u-empty v-else mode="list" icon-size='220' text='暂无积分记录'></u-empty>
</view>
</view>
</view> </view>
</template> </template>
<script> <script>
import { import {
prizeExchangelist scorelist,
scoretotal
} from '@/api/pagesB/Behaviorpoints/index.js' } from '@/api/pagesB/Behaviorpoints/index.js'
// import { // import {
// mapActions // mapActions
@ -52,20 +51,27 @@
data() { data() {
return { return {
query: { query: {
identity: '372325195905293621', identity: uni.getStorageSync('userinfo').cardNo,
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
}, },
list: [], list: null,
total: 0, total: 0,
score: 0,
}; };
}, },
onLoad() { onLoad() {
this.info(); this.info();
this.scoretotalinfo();
}, },
methods: { methods: {
scoretotalinfo() {
scoretotal(this.query.identity).then(res => {
this.score = res.data
})
},
info() { info() {
prizeExchangelist(this.query, '2').then(res => { scorelist(this.query).then(res => {
this.list = res.rows this.list = res.rows
this.total = res.total this.total = res.total
}) })
@ -98,7 +104,7 @@
onReachBottom() { // onReachBottom() { //
if (this.list.length >= this.total) {} else { if (this.list.length >= this.total) {} else {
this.query.pageNum++ this.query.pageNum++
prizeExchangelist(this.query, '1').then(res => { scorelist(this.query).then(res => {
if (res.rows) { if (res.rows) {
res.rows.forEach(e => { res.rows.forEach(e => {
this.list.push(e) this.list.push(e)

View File

@ -1,45 +1,66 @@
<template> <template>
<view class="app"> <view class="app">
<view class="contents" v-if="list&&list.length>0">
<view class="content" v-for="item in list"> <view class="content" v-for="item in list">
<image :src="item.attachment" mode=""></image> <image :src="item.attachment" mode=""></image>
<view class="servename"> <view class="servename">
{{item.prizeName}} {{item.prizeName?item.prizeName:''}}
</view> </view>
<view class="PointsRecord"> <view class="PointsRecord">
{{item.score}} {{item.score?item.score:''}}积分
</view> </view>
<view class="button" @tap="goexchange"> <view class="button" @tap="goexchange(item)">
兑换 兑换
</view> </view>
</view> </view>
<view style="width: 48%;" v-if="list.length%2!=0">
</view>
</view>
<u-empty v-else mode="list" icon-size='220' text='暂无可兑换商品'></u-empty>
<u-toast ref="uToast" />
</view> </view>
</template> </template>
<script> <script>
import { import {
prizelist prizelist,
prizeExchangesave
} from '@/api/pagesB/PointsMall/index.js' } from '@/api/pagesB/PointsMall/index.js'
export default { export default {
data() { data() {
return { return {
query: { query: {
identity: '372325195905293621', identity: uni.getStorageSync('userinfo').cardNo,
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
}, },
list: [], list: null,
total: 0, total: 0,
}; };
}, },
methods: { methods: {
goexchange() { goexchange(item) {
uni.navigateTo({ var obj = {
url: '/pagesB/exchangerecords/exchangerecords' identity: this.query.identity,
}); prizeId: item.prizeId
}
prizeExchangesave(obj).then(res => {
if (res.code == 200) {
this.$refs.uToast.show({
title: '兑换成功',
type: 'success',
})
} else {
this.$refs.uToast.show({
title: res.msg,
type: 'error',
})
}
})
}, },
info() { info() {
prizelist(this.query, '2').then(res => { prizelist(this.query).then(res => {
this.list = res.rows this.list = res.rows
this.total = res.total this.total = res.total
}) })
@ -51,7 +72,7 @@
onReachBottom() { // onReachBottom() { //
if (this.list.length >= this.total) {} else { if (this.list.length >= this.total) {} else {
this.query.pageNum++ this.query.pageNum++
prizelist(this.query, '1').then(res => { prizelist(this.query).then(res => {
if (res.rows) { if (res.rows) {
res.rows.forEach(e => { res.rows.forEach(e => {
this.list.push(e) this.list.push(e)
@ -72,13 +93,16 @@
<style lang="scss"> <style lang="scss">
.app { .app {
background-color: #F7F5F5; ::v-deep .u-empty{
margin-top: 25vh !important;
}
.contents {
padding-top: 10rpx; padding-top: 10rpx;
height: 100vh;
display: flex; display: flex;
width: 100%; width: 100%;
flex-wrap: wrap; flex-wrap: wrap;
justify-content: space-evenly; justify-content: space-evenly;
}
.content { .content {
height: 514rpx; height: 514rpx;

View File

@ -1,43 +1,83 @@
<template> <template>
<view class="app"> <view class="app">
<view class="content"> <view class="" v-if="list&&list.length>0">
<view class="content" v-for="item in list">
<view class="time"> <view class="time">
2023-08-13 23:43:49 {{item.exchangeDate?item.exchangeDate:''}}
<span> <span>
2000积分 {{item.score?item.score:0}} 积分
</span> </span>
</view> </view>
<view class="imageitem"> <image :src="item.prizeBase64" mode=""></image>
<image src="../../static/pagesB/Behave.png" mode=""></image>
</view>
<view class="servename"> <view class="servename">
服务名称 {{item.prizeName?item.prizeName:''}}
</view> </view>
<view class="servetime"> <view class="servetime" v-if='item.useDate'>
服务时间2023-12-12 08:30 服务时间{{item.useDate}}
</view> </view>
</view> </view>
</view> </view>
<u-empty v-else mode="list" icon-size='220' text='暂无兑换记录'></u-empty>
</view>
</template> </template>
<script> <script>
import {
prizeExchangelist
} from '@/api/pagesB/exchangerecords/index.js'
export default { export default {
data() { data() {
return { return {
query: {
identity: uni.getStorageSync('userinfo').cardNo,
pageNum: 1,
pageSize: 10,
},
list: [],
total: 0,
}; };
},
onLoad() {
this.info()
},
methods: {
info() {
prizeExchangelist(this.query).then(res => {
this.list = res.rows
this.total = res.total
})
},
},
onReachBottom() { //
if (this.list.length >= this.total) {} else {
this.query.pageNum++
prizeExchangelist(this.query).then(res => {
if (res.rows) {
res.rows.forEach(e => {
this.list.push(e)
})
} }
})
}
},
onPullDownRefresh() { //
this.query.pageNum = 1;
this.info();
setTimeout(function() {
uni.stopPullDownRefresh();
}, 1000);
},
} }
</script> </script>
<style lang="scss"> <style lang="scss">
.app { .app {
width: 100%; width: 100%;
height: 100vh;
text-align: justify; text-align: justify;
background-color: #F7F5F5;
padding: 25rpx 0 30rpx 0; padding: 25rpx 0 30rpx 0;
::v-deep .u-empty{
margin-top: 25vh !important;
}
.content { .content {
width: 90%; width: 90%;
height: 321rpx; height: 321rpx;
@ -48,21 +88,18 @@
position: relative; position: relative;
.servetime { .servetime {
font-size: 26rpx;
font-size: 28rpx;
font-family: Source Han Sans CN;
font-weight: 400; font-weight: 400;
color: #959595; color: #959595;
line-height: 38rpx; line-height: 38rpx;
position: absolute; position: absolute;
bottom: 23%; bottom: 23%;
left: 35%; left: 35%;
text-align: justify;
} }
.servename { .servename {
font-size: 32rpx; font-size: 32rpx;
font-family: Source Han Sans CN;
font-weight: 500; font-weight: 500;
color: #333333; color: #333333;
line-height: 38rpx; line-height: 38rpx;
@ -74,21 +111,18 @@
white-space: nowrap; white-space: nowrap;
} }
.imageitem { image {
position: absolute; position: absolute;
left: 3%; left: 3%;
top: 28%; top: 28%;
image {
width: 180rpx; width: 180rpx;
height: 180rpx; height: 180rpx;
} }
}
.time { .time {
text-align: justify;
padding: 25rpx 0 0 20rpx; padding: 25rpx 0 0 20rpx;
font-size: 28rpx; font-size: 28rpx;
font-family: Source Han Sans CN;
font-weight: 400; font-weight: 400;
color: #000000; color: #000000;
line-height: 38rpx; line-height: 38rpx;
@ -100,7 +134,6 @@
white-space: nowrap; white-space: nowrap;
font-size: 28rpx; font-size: 28rpx;
position: absolute; position: absolute;
font-family: Source Han Sans CN;
font-weight: 500; font-weight: 500;
color: #26A888; color: #26A888;
line-height: 38rpx; line-height: 38rpx;

View File

@ -164,8 +164,7 @@
}, },
// //
detailinfo() { detailinfo() {
// detail(uni.getStorageSync('userinfo').cardNo, this.region).then(res => { detail(uni.getStorageSync('userinfo').cardNo).then(res => {
detail('372424194703207523', '1').then(res => {
if (res.code == 200) { if (res.code == 200) {
this.list = res.data this.list = res.data
this.list.rescindType = null this.list.rescindType = null

View File

@ -349,14 +349,14 @@
this.query.county = e[0].value this.query.county = e[0].value
this.query.countyName = e[0].label this.query.countyName = e[0].label
const pid = this.countylist.find(m => m.areaCode === e[0].value).id const pid = this.countylist.find(m => m.areaCode === e[0].value).id
this.arealistinfo(pid, '1', 'Township') this.arealistinfo(pid, 'Township')
}, },
// //
Townshipconfirm(e) { Townshipconfirm(e) {
this.query.town = e[0].value this.query.town = e[0].value
this.query.townName = e[0].label this.query.townName = e[0].label
const pid = this.Townshiplist.find(m => m.streetCode === e[0].value).id const pid = this.Townshiplist.find(m => m.streetCode === e[0].value).id
this.arealistinfo(pid, '1', 'village') this.arealistinfo(pid, 'village')
}, },
// //
villageconfirm(e) { villageconfirm(e) {
@ -364,8 +364,8 @@
this.query.committeeName = e[0].label this.query.committeeName = e[0].label
}, },
//list //list
arealistinfo(code, code2, list) { arealistinfo(code, list) {
arealist(code, code2).then(res => { arealist(code).then(res => {
if (list == 'county') { if (list == 'county') {
this.countylist = res.data this.countylist = res.data
} else if (list == 'Township') { } else if (list == 'Township') {
@ -442,7 +442,7 @@
}, },
//list //list
getCrowdinfo() { getCrowdinfo() {
getCrowd('370882199909092123', '1').then(res => { getCrowd(uni.getStorageSync('userinfo').cardNo).then(res => {
res.data.forEach(e => { res.data.forEach(e => {
e.checked = false e.checked = false
}) })
@ -515,7 +515,7 @@
}, },
}, },
onLoad(options) { onLoad(options) {
this.arealistinfo('371400000000 ', '1', 'county'); this.arealistinfo('371400000000 ', 'county');
this.getCrowdinfo(); this.getCrowdinfo();
let date = new Date(); let date = new Date();
let year = date.getFullYear(); let year = date.getFullYear();

View File

@ -190,14 +190,12 @@
this.signatureshow = false this.signatureshow = false
}, },
info() { info() {
getSignProtocol(this.cardNo, '1').then(res => { getSignProtocol(uni.getStorageSync('userinfo').cardNo, '1').then(res => {
this.list = res.data this.list = res.data
}) })
}, },
}, },
onLoad(options) { onLoad(options) {
this.cardNo = options.cardNo
this.cardNo = '372424194703207523'
this.info(); this.info();
}, },
} }