充值页
2
main.js
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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{
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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'
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
After Width: | Height: | Size: 776 KiB |
|
After Width: | Height: | Size: 8.6 KiB |
|
After Width: | Height: | Size: 7.4 KiB |
|
After Width: | Height: | Size: 6.4 KiB |
|
After Width: | Height: | Size: 6.3 KiB |
|
After Width: | Height: | Size: 8.8 KiB |
|
After Width: | Height: | Size: 8.2 KiB |
|
After Width: | Height: | Size: 5.7 KiB |
|
After Width: | Height: | Size: 8.5 KiB |
|
After Width: | Height: | Size: 7.6 KiB |
|
After Width: | Height: | Size: 7.2 KiB |
|
After Width: | Height: | Size: 6.5 KiB |
|
After Width: | Height: | Size: 7.3 KiB |
|
After Width: | Height: | Size: 6.3 KiB |
|
After Width: | Height: | Size: 9.7 KiB |
|
After Width: | Height: | Size: 6.1 KiB |