手机端项目整体UI调整修改

This commit is contained in:
黎小北
2026-05-14 16:45:12 +08:00
parent 31996b716f
commit b36f75599e
31 changed files with 2278 additions and 790 deletions
+333 -80
View File
@@ -2,7 +2,7 @@
<view class="withdraw">
<u-navbar
title=""
bgColor="#000"
bgColor="transparent"
:placeholder="true"
:fixed="true"
leftIcon=""
@@ -24,7 +24,7 @@
<u-input
readonly
:placeholder="$lang.pleaseChoose"
color="#93979b"
color="#f7ecd0"
v-model="type"
border="none"
>
@@ -37,7 +37,7 @@
<u-icon
slot="suffix"
name="arrow-down-fill"
color="#757272"
color="#b9aa84"
size="16"
></u-icon>
</u-input>
@@ -57,10 +57,10 @@
<view class="lable">{{ $lang.walletAddress }}</view>
<u-input
class="input"
color="#947b2b"
color="#f7ecd0"
clearable
:placeholder="$lang.enterWithdrawalAddress"
border="surround"
border="none"
v-model="address"
></u-input>
</view>
@@ -68,10 +68,10 @@
<view class="lable">{{ $lang.amount }}</view>
<u-input
class="input"
color="#947b2b"
color="#f7ecd0"
clearable
:placeholder="$lang.enterWithdrawalamount"
border="surround"
border="none"
v-model="money"
></u-input>
</view>
@@ -94,16 +94,16 @@
</template>
<!-- 越南银行卡提现 -->
<template v-if="userInfo.pay_channel == 'ALIN_VN'">
<view class="picker-view" @click="showBankPicker = true">
<view class="picker-view" @click="openBankPicker">
<u-input
readonly
:placeholder="$lang.pleaseChoose || '请选择'"
color="#93979b"
:placeholder="$lang.pleaseChoose"
color="#f7ecd0"
v-model="bankName"
border="none"
>
<u--text
:text="$lang.bankName || '银行名称'"
:text="$lang.bankName"
slot="prefix"
margin="0 3px 0 0"
type="tips"
@@ -111,41 +111,66 @@
<u-icon
slot="suffix"
name="arrow-down-fill"
color="#757272"
color="#b9aa84"
size="16"
></u-icon>
</u-input>
</view>
<u-picker
:title="$lang.bankName || '选择银行'"
closeOnClickOverlay
<u-popup
:show="showBankPicker"
:columns="bankColumns"
:cancelText="$lang.cancel"
:confirmText="$lang.confirm"
@cancel="showBankPicker = false"
@close="showBankPicker = false"
@confirm="confirmBank"
></u-picker>
mode="bottom"
round="20"
closeOnClickOverlay
@close="closeBankPicker"
>
<view class="bank-picker-popup">
<view class="bank-picker-header">
<view class="bank-picker-action cancel" @click="closeBankPicker">{{
$lang.cancel
}}</view>
<view class="bank-picker-title">{{ $lang.bankName }}</view>
<view class="bank-picker-action confirm" @click="confirmBankSelection">{{
$lang.confirm
}}</view>
</view>
<scroll-view scroll-y class="bank-picker-list">
<view
class="bank-picker-item"
:class="{ active: tempBankName === item.name }"
v-for="(item, index) in bankList"
:key="index"
@click="selectBankOption(item)"
>
<text>{{ item.name }}</text>
<u-icon
v-if="tempBankName === item.name"
name="checkmark"
color="#231705"
size="16"
></u-icon>
</view>
</scroll-view>
</view>
</u-popup>
<view class="list">
<view class="lable">{{ $lang.accountName || '账户姓名' }}</view>
<view class="lable">{{ $lang.accountName }}</view>
<u-input
class="input"
color="#947b2b"
color="#f7ecd0"
clearable
:placeholder="$lang.enterAccountName || '请输入账户姓名'"
border="surround"
:placeholder="$lang.enterAccountName"
border="none"
v-model="accountName"
></u-input>
</view>
<view class="list">
<view class="lable">{{ $lang.accountNumber || '银行卡号' }}</view>
<view class="lable">{{ $lang.accountNumber }}</view>
<u-input
class="input"
color="#947b2b"
color="#f7ecd0"
clearable
:placeholder="$lang.enterAccountNumber || '请输入银行卡号'"
border="surround"
:placeholder="$lang.enterAccountNumber"
border="none"
v-model="accountNumber"
></u-input>
</view>
@@ -153,11 +178,11 @@
<view class="lable">{{ $lang.amount }}</view>
<u-input
class="input"
color="#947b2b"
color="#f7ecd0"
clearable
type="number"
:placeholder="'Tối thiểu 1,000,000 VND'"
border="surround"
border="none"
v-model="money"
></u-input>
</view>
@@ -191,6 +216,7 @@ export default {
// 越南银行卡提现
bankName: "",
bankCode: "",
tempBankName: "",
accountName: "",
accountNumber: "",
showBankPicker: false,
@@ -280,31 +306,45 @@ export default {
console.log(err);
});
},
openBankPicker() {
this.tempBankName = this.bankName;
this.showBankPicker = true;
},
closeBankPicker() {
this.showBankPicker = false;
},
selectBankOption(item) {
this.tempBankName = item.name;
},
// 选择银行
confirmBank(chose) {
this.bankName = chose.value[0];
this.bankCode = chose.value[0];
confirmBankSelection() {
if (!this.tempBankName) {
this.showBankPicker = false;
return;
}
this.bankName = this.tempBankName;
this.bankCode = this.tempBankName;
this.showBankPicker = false;
},
// 越南银行卡提现
applyWithdrawBank() {
if (!this.bankName) {
this.$toast({
message: this.$lang.bankName || '请选择银行',
message: this.$lang.bankName,
duration: 2000,
});
return;
}
if (!this.accountName) {
this.$toast({
message: this.$lang.enterAccountName || '请输入账户姓名',
message: this.$lang.enterAccountName,
duration: 2000,
});
return;
}
if (!this.accountNumber) {
this.$toast({
message: this.$lang.enterAccountNumber || '请输入银行卡号',
message: this.$lang.enterAccountNumber,
duration: 2000,
});
return;
@@ -325,7 +365,7 @@ export default {
}
if (Number(this.money) > Number(this.userInfo.money)) {
this.$toast({
message: this.$lang.insufficientBalance || 'Số dư không đủ',
message: this.$lang.insufficientBalance,
duration: 2000,
});
return;
@@ -340,7 +380,7 @@ export default {
};
this.$toast({
type: "loading",
message: this.$lang.submittingApplication || '提交中...',
message: this.$lang.submittingApplication,
duration: 200000,
});
this.$api
@@ -377,80 +417,293 @@ export default {
<style lang="scss" scoped>
.withdraw {
background: #0b1520;
width: 100%;
min-height: 100vh;
background: linear-gradient(180deg, #060505 0%, #0d0b09 100%);
color: #f7ecd0;
::v-deep .u-navbar {
background: rgba(0, 0, 0, 0.72) !important;
}
::v-deep .u-navbar__content {
background: transparent !important;
}
::v-deep .u-picker__view__column__item {
color: #f3e3b8 !important;
font-size: 16px !important;
font-weight: 600;
}
::v-deep .u-toolbar {
background: #15120f !important;
border-bottom-color: rgba(223, 189, 120, 0.12) !important;
}
::v-deep .u-toolbar__title {
color: #f4dfae !important;
}
::v-deep .u-toolbar__wrapper__cancel {
color: #a9956d !important;
}
::v-deep .u-toolbar__wrapper__confirm {
color: #dfbd78 !important;
}
.navbar-lab {
color: #fff;
font-weight: 500;
font-size: 18px;
color: #fbf2de;
font-weight: 700;
font-size: 19px;
letter-spacing: 0.3px;
}
.content {
margin: 5px 5px;
border: 2px solid #947b2b;
background: #222222;
width: calc(100% - 24px);
max-width: 760px;
margin: 10px auto 0;
padding: 18px 16px 22px;
box-sizing: border-box;
padding: 15px;
border-radius: 24px;
background: linear-gradient(
180deg,
rgba(16, 13, 11, 0.96) 0%,
rgba(10, 8, 7, 0.96) 100%
);
border: 1px solid rgba(223, 189, 120, 0.18);
box-shadow: 0 18px 42px rgba(0, 0, 0, 0.24),
inset 0 1px 0 rgba(255, 245, 223, 0.03);
min-height: 400px;
.picker-view {
border: 2px solid #947b2b;
padding: 8px;
border-radius: 5px;
min-height: 56px;
margin-bottom: 14px;
padding: 0 14px;
display: flex;
align-items: center;
background: linear-gradient(
180deg,
rgba(25, 21, 18, 0.96) 0%,
rgba(17, 14, 12, 0.96) 100%
);
border: 1px solid rgba(223, 189, 120, 0.14);
border-radius: 16px;
box-shadow: inset 0 1px 0 rgba(255, 244, 220, 0.03),
inset 0 -1px 0 rgba(0, 0, 0, 0.12);
::v-deep .u-input {
flex: 1;
}
::v-deep .u-input__content {
min-height: 54px;
padding: 0;
}
::v-deep .u-input__content__field-wrapper {
width: 100%;
}
::v-deep input {
color: #f7ecd0 !important;
font-size: 15px !important;
letter-spacing: 0.2px;
}
::v-deep input::placeholder {
color: rgba(245, 228, 184, 0.4) !important;
}
::v-deep .u-text__value {
color: #baa67f !important;
font-size: 13px !important;
}
}
.list {
margin-bottom: 14px;
padding: 14px;
border-radius: 16px;
background: linear-gradient(
180deg,
rgba(23, 19, 16, 0.92) 0%,
rgba(14, 12, 10, 0.92) 100%
);
border: 1px solid rgba(223, 189, 120, 0.1);
font-size: 14px;
text-align: center;
.lab {
color: #757272;
margin: 10px 0;
color: #b9aa84;
margin: 0 0 10px;
text-align: left;
font-size: 13px;
}
.lable {
text-align: left;
color: #ddd;
margin-top: 20px;
font-size: 16px;
color: #d9c6a0;
margin-top: 0;
font-size: 15px;
margin-bottom: 10px;
font-weight: 600;
}
.money {
font-size: 16px;
min-height: 52px;
padding: 0 16px;
display: flex;
align-items: center;
justify-content: center;
font-size: 17px;
margin-top: 0;
padding: 15px 0;
color: #e5b932;
}
.btn {
height: 30px;
font-weight: 600;
color: #0b1520 !important;
color: #f1d392;
font-weight: 700;
border-radius: 16px;
background: linear-gradient(
180deg,
rgba(27, 22, 18, 0.96) 0%,
rgba(17, 14, 12, 0.96) 100%
);
border: 1px solid rgba(223, 189, 120, 0.14);
box-shadow: inset 0 1px 0 rgba(255, 244, 220, 0.04);
}
.type {
width: 70px;
height: 35px;
background: #e5b932;
border-radius: 40px;
min-width: 86px;
height: 36px;
padding: 0 16px;
display: inline-flex;
align-items: center;
justify-content: center;
background: linear-gradient(180deg, #f2dfb6 0%, #dfbd78 52%, #bd8d39 100%);
border-radius: 999px;
text-align: center;
line-height: 35px;
font-weight: 600;
margin: 10px auto;
line-height: 36px;
font-weight: 700;
color: #231705;
box-shadow: 0 8px 18px rgba(125, 84, 22, 0.16),
inset 0 1px 0 rgba(255, 255, 255, 0.28);
margin: 0 auto;
}
.input {
line-height: 30px;
height: 30px;
min-height: 48px;
padding: 0 12px;
background: rgba(255, 255, 255, 0.02);
border: 1px solid rgba(223, 189, 120, 0.12);
border-radius: 14px;
::v-deep .u-input__content {
min-height: 48px;
padding: 0;
}
::v-deep .u-input__content__field-wrapper {
width: 100%;
}
::v-deep input {
color: #f7ecd0 !important;
font-size: 15px !important;
letter-spacing: 0.2px;
}
::v-deep input::placeholder {
color: rgba(245, 228, 184, 0.4) !important;
}
}
.button {
line-height: 45px;
height: 45px;
color: #0b1520 !important;
font-weight: bold;
margin-top: 30px;
margin-bottom: 10px;
height: 50px !important;
margin-top: 8px;
margin-bottom: 2px;
border: none !important;
border-radius: 16px !important;
color: #231705 !important;
font-weight: 700;
letter-spacing: 0.3px;
box-shadow: 0 12px 24px rgba(125, 84, 22, 0.18),
inset 0 1px 0 rgba(255, 255, 255, 0.36);
}
.tip {
color: #cc4c0e;
color: #bca47a;
font-size: 13px;
text-align: justify;
line-height: 1.6;
}
}
}
.bank-picker-popup {
background: linear-gradient(180deg, #17130f 0%, #0d0b09 100%);
border-top: 1px solid rgba(223, 189, 120, 0.14);
border-radius: 20px 20px 0 0;
overflow: hidden;
}
.bank-picker-header {
display: flex;
align-items: center;
justify-content: space-between;
height: 54px;
padding: 0 16px;
border-bottom: 1px solid rgba(223, 189, 120, 0.1);
background: rgba(21, 18, 15, 0.96);
}
.bank-picker-title {
font-size: 16px;
font-weight: 700;
color: #f4dfae;
}
.bank-picker-action {
min-width: 52px;
font-size: 14px;
line-height: 1;
&.cancel {
color: #a9956d;
text-align: left;
}
&.confirm {
color: #dfbd78;
text-align: right;
}
}
.bank-picker-list {
max-height: 52vh;
padding: 10px 12px calc(18px + env(safe-area-inset-bottom));
box-sizing: border-box;
}
.bank-picker-item {
min-height: 48px;
padding: 0 14px;
margin-bottom: 10px;
border-radius: 14px;
display: flex;
align-items: center;
justify-content: space-between;
color: #d9c6a0;
font-size: 15px;
font-weight: 600;
background: linear-gradient(
180deg,
rgba(25, 21, 18, 0.96) 0%,
rgba(17, 14, 12, 0.96) 100%
);
border: 1px solid rgba(223, 189, 120, 0.12);
box-shadow: inset 0 1px 0 rgba(255, 244, 220, 0.03);
&:last-child {
margin-bottom: 0;
}
&.active {
color: #231705;
background: linear-gradient(180deg, #f2dfb6 0%, #dfbd78 52%, #bd8d39 100%);
border-color: rgba(242, 223, 182, 0.45);
box-shadow: 0 10px 20px rgba(125, 84, 22, 0.16),
inset 0 1px 0 rgba(255, 255, 255, 0.28);
}
}
}
</style>