充值页

This commit is contained in:
小李 2026-06-05 11:15:33 +08:00
parent 45b2bf3f7f
commit 507973d7dc
21 changed files with 3270 additions and 3243 deletions

View File

@ -29,7 +29,7 @@ export function createApp() {
app.config.globalProperties.$system = plus.os.name;
// #endif
app.config.globalProperties.$systemInfo = systemInfo
uni.setStorageSync('version', '1.0.6.sp4')
uni.setStorageSync('version', '1.0.6.sp5')
app.config.globalProperties.$version = uni.getStorageSync('version')
app.use(globalMethods);
return {

View File

@ -12,10 +12,10 @@
</view>
<view class="rectangle_22292" style="position: fixed;left:0;top:0;overflow: hidden;"
:style="{background:(data.info.avatar?`rgba(0,0,0,0)`:'linear-gradient(180deg, #bdbec3 0%, #a0a2af 100%)')
:style="{background:(data.info.avatar&&data.headerHeight!='206'?`rgba(0,0,0,0)`:'linear-gradient(180deg, #bdbec3 0%, #a0a2af 100%)')
, height:data.headerHeight+'px'}">
<view v-if="data.info.avatar" style="height:400rpx;"></view>
<image v-if="data.info.avatar" :src="data.info.avatar" mode="aspectFill"
<image v-if="data.info.avatar&&data.headerHeight!='206'" :src="data.info.avatar" mode="aspectFill"
style="width:100%;position: absolute;bottom: 0;left: 0;z-index:0;" :style="{height:data.headerHeight+'px'}"></image>
<view class="status" :style="{height:$systemInfo.statusBarHeight+'px'}"> </view>
<view class="flexcontainer" @click="openEditModalDetail()">
@ -27,10 +27,10 @@
{{data.info.name.substring(0,1)}}
</view>
<image v-else class="group_47577" :src="data.info.avatar||'/static/image/call/iosAvatar.png'"
:style="{opacity:data.info.avatar?0:1,transform: `scale(${data.avatarScale}) translateY(${data.avatarY}px)`}" />
:style="{opacity:data.info.avatar?(data.headerHeight=='206'?1:0):1,transform: `scale(${data.avatarScale}) translateY(${data.avatarY}px)`}" />
</view>
<text class="text_1" v-if="!data.info.avatar" :style="{opacity:data.scale}"> {{data.info.address}} </text>
<text class="text_2" :style="{transform: `scale(${data.info.avatar?1:data.textScale}) translateY(${data.text2Y}px)`}">{{data.info.name||formatString(data.info.phone)}} </text>
<text class="text_2" :style="{transform: `scale(${data.textScale}) translateY(${data.text2Y}px)`}">{{data.info.name||formatString(data.info.phone)}} </text>
<view class="flexcontainer_1" :style="{transform: `translateY(${data.contentY}px)`}">
<view class="group_48123" :style="{'background-color': `rgba(128,131,146,${data.info.avatar?0.5:1})`}">
@ -784,15 +784,15 @@
const y = e.scrollTop;
const max = 200;
let p = Math.min(y / max, 1);
data.contentY = -p * (data.info.avatar?70:90);
data.contentY = -p * (data.info.avatar?65:90);
data.avatarY = -p * 0;
data.text2Y = -p * (data.info.avatar?70:130);
data.text2Y = -p * (data.info.avatar?75:130);
data.avatarScale = 1 - p * 0.55; // 1 0.6 textScale
data.textScale = 1 - p * 0.5; // 1 0.6
data.scale = 1 - p * 1; // 1 0.6
console.log(data.avatarScale )
data.headerHeight=Math.max(206,(data.info.avatar?519:325) - y);
console.log(data.headerHeight )
}else{
}

View File

@ -36,8 +36,7 @@
</view>
<view class="vipList">
<template v-for="(item, index) in data.benefitList" :key="index">
<view class="item"
v-if="data.goods.features == 'common' || (data.goods.features != 'common' && index < 10)">
<view class="item" v-if="data.goods.features == 'common' || (data.goods.features != 'common' && index < 10)">
<image :src="item.url"></image>
<text>{{ item.name }}</text>
</view>
@ -113,8 +112,8 @@
<view class="footer-container">
<view class="payment-method-box">
<view class="wx-pay payment-method" v-for="(item, index) in data.payList"
@click="onSelectPayment(item.type)" :key="index">
<view class="wx-pay payment-method" v-for="(item, index) in data.payList" @click="onSelectPayment(item.type)"
:key="index">
<image class="img-select"
:src="paymentMethod == item.type ? '/static/image/recharge/selected.png' : '/static/image/recharge/unselected.png'">
</image>
@ -131,8 +130,7 @@
<view class="text">
合计
<text></text>
<countUp :num="$toFiexd(data.price, 2)" height="24" style="margin-top: -6px;" color="red"
fontSize='24'>
<countUp :num="$toFiexd(data.price, 2)" height="24" style="margin-top: -6px;" color="red" fontSize='24'>
</countUp>
已优惠{{ $toFiexd(data.coupon, 0) }}
</view>
@ -183,8 +181,7 @@
</scroll-view>
</view>
<view class="couponButton" @click="submitActivity">
<c-lottie ref="cLottieRef" src='/static/lottie/couponButton.json' width="305px"
height='86px'></c-lottie>
<c-lottie ref="cLottieRef" src='/static/lottie/couponButton.json' width="305px" height='86px'></c-lottie>
</view>
</view>
</transition>
@ -235,8 +232,7 @@
<view>
<view class="item" v-for="(item, index) in data.myActivity" :key="index"
@click="(data.goods.price < (Number(item.threshold) / 100) && item.threshold != '') || !item.isStatus ? '' : setActiveId(item)">
<view class="left"
:class="{ left2: data.goods.price < (Number(item.threshold) / 100) || !item.isStatus }">
<view class="left" :class="{ left2: data.goods.price < (Number(item.threshold) / 100) || !item.isStatus }">
<view class="money">
<text v-if="item.coupon_type_name != '折扣券'"></text>
<text class="moneys">{{ item.coupon_type_name != '折扣券' ? (Number(item.coupon_value) /
@ -254,8 +250,8 @@
<image
v-if="(data.goods.price < (Number(item.threshold) / 100) && item.threshold != '') || !item.isStatus"
class="checkedImg" src="/static/image/recharge/checked1.png" mode=""></image>
<image v-else-if="data.active_ids == item.id" class="checkedImg"
src="/static/image/recharge/checked3.png" mode=""></image>
<image v-else-if="data.active_ids == item.id" class="checkedImg" src="/static/image/recharge/checked3.png"
mode=""></image>
<image v-else class="checkedImg" src="/static/image/recharge/checked2.png" mode=""></image>
</view>
<view class="jjdq" v-if="isToday(item.expire_times)">
@ -527,6 +523,12 @@ onLoad(async (option) => {
item.url = item.url.replace('/static/image/recharge/',
'/static/image/recharge/51/')
})
} else if (themeConfig?.theme == '0606') {
data.banner = '/static/image/recharge/66/bannar.png'
// data.benefitList.forEach(item => {
// item.url = item.url.replace('/static/image/recharge/',
// '/static/image/recharge/66/')
// })
}
}
let pages = getCurrentPages();
@ -1064,8 +1066,7 @@ async function onSelect(items, index) {
if (list.length != 0) {
let listData = list.map(cell => {
return {
image: cell == 'weixin' ? '/static/image/recharge/wxpay.png' :
'/static/image/recharge/alipay.png',
image: cell == 'weixin' ? '/static/image/recharge/wxpay.png' : '/static/image/recharge/alipay.png',
name: cell == 'weixin' ? '微信支付' : '支付宝支付',
type: cell == 'weixin' ? 'wxpay' : 'alipay'
}

View File

@ -7,17 +7,20 @@
</liu-drag-button>
</view>
<view class="flexcontainer">
<view class="group_48184" @click="openEditDialog">
<view :style="{height:$systemInfo.statusBarHeight*2+96+'rpx'}" style="position: relative;width: 100%;">
</view>
<view class="headerBox">
<view :style="{height:$systemInfo.statusBarHeight*2+'rpx'}" style="position: relative;width: 100%;">
</view>
<view class="header" >
<image @click="back" src="/static/image/nav-bar/back-black.png" mode=""></image>
<text class="text_1">借记卡详情</text>
<text class="imgXl"></text>
</view>
</view>
<view class="rectangle_23309">
<view class="flexcontainer_1">
<image class="group_13998" src="/static/image/other/bank/nyyh/eyes.png" />
@ -141,11 +144,13 @@
</view>
<view class="formItem">
<text>可用余额</text>
<input :value="editDialog.data.availableBalance" @input="(e) => onNumberInput('availableBalance', e.detail.value)" placeholder="如: 0.00" />
<input :value="editDialog.data.availableBalance"
@input="(e) => onNumberInput('availableBalance', e.detail.value)" placeholder="如: 0.00" />
</view>
<view class="formItem">
<text>账户余额</text>
<input :value="editDialog.data.accountBalance" @input="(e) => onNumberInput('accountBalance', e.detail.value)" placeholder="如: 0.00" />
<input :value="editDialog.data.accountBalance"
@input="(e) => onNumberInput('accountBalance', e.detail.value)" placeholder="如: 0.00" />
</view>
<view class="formItem">
<text>钞汇标志</text>
@ -170,7 +175,10 @@
</template>
<script setup>
import { reactive, onMounted } from 'vue';
import {
reactive,
onMounted
} from 'vue';
const CACHE_KEY = 'nyyh_account_info';
@ -205,7 +213,10 @@ onMounted(() => {
function loadCache() {
const cache = uni.getStorageSync(CACHE_KEY);
if (cache) {
data.form = { ...data.form, ...cache };
data.form = {
...data.form,
...cache
};
}
}
@ -219,7 +230,10 @@ function openEditDialog() {
}
function saveEdit() {
data.form = { ...data.form, ...editDialog.data };
data.form = {
...data.form,
...editDialog.data
};
saveCache();
editDialog.show = false;
uni.showToast({
@ -722,6 +736,7 @@ $color-border: #e6e6e6;
flex-direction: column;
align-items: center;
justify-content: center;
text {
position: relative;
font-size: 26rpx;
@ -1164,20 +1179,25 @@ $color-border: #e6e6e6;
color: #fff;
}
}
.headerBox{
position: fixed;
left: 0;
top: 0;
width: 750rpx;
}
.header {
display: flex;
align-items: center;
width: 750rpx;
height: 96rpx;
justify-content: space-between;
position: fixed;
left: 0;
top: 0;
image {
width: 48rpx;
height: 48rpx;
margin-left: 18rpx;
}
.imgXl {
width: 48rpx;
margin-right: 18rpx;

View File

@ -23,7 +23,7 @@
<image class="group_13980" src="/static/image/other/bank/zsyh/kf.png" mode="aspectFit" />
<view class="flexcontainer_4">
<view class="group_48144">
<text class="text_6">20</text>
20
</view>
<image class="group_13979" src="/static/image/other/bank/zsyh/more.png" mode="aspectFit" />
</view>
@ -1100,14 +1100,20 @@
margin-left: 12rpx;
border-radius: 100rpx;
background: #ff5d5f;
margin-bottom: -2px;
margin-top: 4px;
text-align: center;
font-size: 24rpx;
line-height: 36rpx;
color: #ffffff;
display: flex;
align-items: center;
justify-content: center;
}
.text_6 {
display: block;
text-align: center;
font-size: 24rpx;
line-height: 30rpx;
color: #ffffff;
}
.group_13979 {

Binary file not shown.

After

Width:  |  Height:  |  Size: 776 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB