|
|
@@ -1,431 +1,488 @@
|
|
|
<template>
|
|
|
- <view class="custom-deposit">
|
|
|
- <!-- 标题 -->
|
|
|
- <view class="crm-title-box">
|
|
|
- <text class="tit">{{ t('Home.page_customer.item2') }}</text>
|
|
|
- </view>
|
|
|
-
|
|
|
- <!-- 步骤1:选择账户 -->
|
|
|
- <view class="box box-step1">
|
|
|
- <view class="b-card">
|
|
|
- <view class="card-top">
|
|
|
- <text class="tit"><text class="iconfont icon-caret-right"></text>{{ t('Custom.Deposit.Title1')
|
|
|
- }}</text>
|
|
|
- <picker mode="selector" :range="loginOptions" :range-key="'label'" @change="onAccountChange"
|
|
|
- :value="selectedAccountIndex">
|
|
|
- <view class="picker-view">{{ selectedAccountLabel || t('placeholder.choose') }}</view>
|
|
|
- </picker>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
-
|
|
|
- <!-- 步骤2:支付通道列表(卡片布局) -->
|
|
|
- <view class="box box-step2" v-if="step2">
|
|
|
- <view class="b-card">
|
|
|
- <view class="card-top">
|
|
|
- <text class="tit"><text class="iconfont icon-caret-right"></text>{{ t('Custom.Deposit.Title2')
|
|
|
- }}</text>
|
|
|
- <view v-for="(group, index) in sortedTableData" :key="index">
|
|
|
- <view class="channelType" v-if="group.length" v-t="groupTitleMap[group[0].type]" />
|
|
|
- <PaymentMethodsList :list="group" @select="isShowStep3" />
|
|
|
- </view>
|
|
|
- <view v-if="step3" class="reselect-btn">
|
|
|
- <button class="s-btn reselect" type="primary" @click="showTable">{{
|
|
|
- t('Custom.Deposit.Reselect') }}</button>
|
|
|
+ <cwg-page-wrapper class="create-page" :isHeaderFixed="true">
|
|
|
+ <view class="custom-deposit">
|
|
|
+ <!-- 标题 -->
|
|
|
+ <!-- <view class="crm-title-box">
|
|
|
+ <text class="tit">{{ t('Home.page_customer.item2') }}</text>
|
|
|
+ </view> -->
|
|
|
+
|
|
|
+ <!-- 步骤1:选择账户 -->
|
|
|
+ <view class="box box-step1">
|
|
|
+ <view class="b-card">
|
|
|
+ <view class="card-top">
|
|
|
+ <text class="tit"><text class="iconfont icon-caret-right"></text>{{ t('Custom.Deposit.Title1')
|
|
|
+ }}</text>
|
|
|
+ <cwg-combox :clearable="false" v-model:value="loginValue" :options="loginComboxOptions"
|
|
|
+ :placeholder="t('placeholder.choose')" @change="onAccountChange" />
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
-
|
|
|
- <!-- 步骤3:填写入金信息 -->
|
|
|
- <view class="box box-step3" v-if="step3">
|
|
|
- <view class="b-card">
|
|
|
- <view class="card-top">
|
|
|
- <!-- 注意事项(第一步确认) -->
|
|
|
- <view v-if="!isStep3">
|
|
|
- <view class="step3-attention">
|
|
|
- <rich-text class="attention"
|
|
|
- :nodes="(locale === 'cn' || locale === 'zhHant') ? introduce.introduce : introduce.enIntroduce"></rich-text>
|
|
|
- <view class="btn-bottom">
|
|
|
- <text class="btn crm-cursor" @click="isStep3Open()">{{ t('Btn.Confirm') }}</text>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
-
|
|
|
- <!-- 表单(确认后显示) -->
|
|
|
- <form v-if="isStep3">
|
|
|
- <!-- 信用卡选择 -->
|
|
|
- <view v-if="channelData.confirmCreditCard == 1">
|
|
|
- <view class="add-back">
|
|
|
- <text>{{ t('PersonalManagement.Label.addCreditCard') }}</text>
|
|
|
- <text class="add-btn crm-cursor" @click="openAddBankCard">{{
|
|
|
- t('Custom.Withdraw.addBank1') }}</text>
|
|
|
- </view>
|
|
|
- <picker mode="selector" :range="ruleForm.bankCredit"
|
|
|
- :range-key="(item) => item.bankUname + '-' + item.bankCardNum"
|
|
|
- @change="onCreditCardChange" :value="selectedCreditIndex">
|
|
|
- <view class="picker-view">{{ selectedCreditLabel || t('placeholder.choose') }}</view>
|
|
|
- </picker>
|
|
|
- </view>
|
|
|
-
|
|
|
- <!-- 银行选择(如有) -->
|
|
|
- <view v-if="bankDate.length">
|
|
|
- <text class="tit"><text class="iconfont icon-caret-right"></text>{{
|
|
|
- t('news_add_field.Label.Title4') }}</text>
|
|
|
- <picker mode="selector" :range="bankDate"
|
|
|
- :range-key="(item) => (locale === 'cn' || locale === 'zhHant') ? item.name : item.enName"
|
|
|
- @change="onBankChange" :value="selectedBankIndex">
|
|
|
- <view class="picker-view">{{ selectedBankLabel || t('placeholder.choose') }}</view>
|
|
|
- </picker>
|
|
|
- </view>
|
|
|
|
|
|
- <!-- 特别提示(B2BINPAY) -->
|
|
|
- <view v-if="bankDate.length && channelData.code == 'B2BINPAY'">
|
|
|
- <text class="tit"><text class="iconfont iconi"></text>{{ t('Custom.Deposit.Des') }}</text>
|
|
|
+ <!-- 步骤2:支付通道列表(卡片布局) -->
|
|
|
+ <view class="box box-step2" v-if="step2">
|
|
|
+ <view class="b-card">
|
|
|
+ <view class="card-top">
|
|
|
+ <text class="tit"><text class="iconfont icon-caret-right"></text>{{ t('Custom.Deposit.Title2')
|
|
|
+ }}</text>
|
|
|
+ <view v-for="(group, index) in sortedTableData" :key="index">
|
|
|
+ <view class="channelType" v-if="group.length" v-t="groupTitleMap[group[0].type]" />
|
|
|
+ <PaymentMethodsList :list="group" @select="isShowStep3" />
|
|
|
</view>
|
|
|
-
|
|
|
- <!-- 电汇信息展示 -->
|
|
|
- <view
|
|
|
- v-if="['UNION_PAY_TELEGRAPHIC', 'UNION_PAY_TELEGRAPHIC_SPECIAL', 'UNION_PAY_TELEGRAPHIC_TWO'].includes(channelData.code)">
|
|
|
- <text class="tit"><text class="iconfont icon-caret-right"></text>{{
|
|
|
- t('Custom.Deposit.Title5') }}</text>
|
|
|
- <view class="wire-transfer-account">
|
|
|
- <view class="row"><text class="label SpecialColor">{{ t('Custom.Deposit.bankUname')
|
|
|
- }}</text><text class="content SpecialColor">{{ WireTransferAccount.bankUname ||
|
|
|
- '--' }}</text></view>
|
|
|
- <view class="row"><text class="label">{{ t('Custom.Deposit.bankName') }}</text><text
|
|
|
- class="content">{{ WireTransferAccount.bankName || '--' }}</text></view>
|
|
|
- <view class="row"><text class="label SpecialColor">{{ t('Custom.Deposit.bankCardNum')
|
|
|
- }}</text><text class="content SpecialColor">{{ WireTransferAccount.bankCardNum
|
|
|
- || '--' }}</text></view>
|
|
|
- <view class="row"><text class="label">{{ t('Custom.Deposit.bankAddr') }}</text><text
|
|
|
- class="content">{{ WireTransferAccount.bankAddr || '--' }}</text></view>
|
|
|
- <view class="row"><text class="label SpecialColor">{{ t('Custom.Deposit.swiftCode')
|
|
|
- }}</text><text class="content SpecialColor">{{ WireTransferAccount.swiftCode ||
|
|
|
- '--' }}</text></view>
|
|
|
- <view class="row"><text class="label">{{ t('Custom.Deposit.bankCode') }}</text><text
|
|
|
- class="content">{{ WireTransferAccount.bankCode || '--' }}</text></view>
|
|
|
- <view class="row"><text class="label SpecialColor">{{ t('Custom.Recording.Note')
|
|
|
- }}</text><text class="content SpecialColor">{{ WireTransferAccount.bankMsg ||
|
|
|
- '--' }}</text></view>
|
|
|
- </view>
|
|
|
+ <view v-if="step3" class="reselect-btn">
|
|
|
+ <button class="s-btn reselect" type="primary" @click="showTable">{{
|
|
|
+ t('Custom.Deposit.Reselect') }}</button>
|
|
|
</view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
|
|
|
- <!-- 数字货币信息展示 -->
|
|
|
- <view v-if="channelData.code && channelData.code.indexOf('DIGITAL_PAY_TYPE_KEY') === 0">
|
|
|
- <text class="tit"><text class="iconfont icon-caret-right"></text>{{
|
|
|
- t('Custom.Deposit.DigitalAcc') }}</text>
|
|
|
- <view class="wire-transfer-account">
|
|
|
- <view class="row"><text class="label SpecialColor">{{ t('Custom.Deposit.DigitalName')
|
|
|
- }}</text><text class="content SpecialColor">{{ WireTransferAccount.name + '-' +
|
|
|
- WireTransferAccount.type }}</text></view>
|
|
|
- <view class="row"><text class="label">{{ t('Custom.Withdraw.Title6') }}</text><text
|
|
|
- class="content">{{ WireTransferAccount.address || '--' }}</text></view>
|
|
|
- <view class="row"><text class="label">QR Code</text>
|
|
|
- <image :src="Host85 + WireTransferAccount.url" mode="aspectFit"
|
|
|
- style="width: 100rpx; height: 100rpx;" />
|
|
|
+ <!-- 步骤3:填写入金信息 -->
|
|
|
+ <view class="box box-step3" v-if="step3">
|
|
|
+ <view class="b-card">
|
|
|
+ <view class="card-top">
|
|
|
+ <!-- 注意事项(第一步确认) -->
|
|
|
+ <view v-if="!isStep3">
|
|
|
+ <view class="step3-attention">
|
|
|
+ <rich-text class="attention"
|
|
|
+ :nodes="(locale === 'cn' || locale === 'zhHant') ? introduce.introduce : introduce.enIntroduce"></rich-text>
|
|
|
+ <view class="btn-bottom">
|
|
|
+ <text class="btn crm-cursor" @click="isStep3Open()">{{ t('Btn.Confirm') }}</text>
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
|
|
|
- <!-- 表单字段:金额、预估金额、上传凭证、优惠码 -->
|
|
|
- <text class="tit"><text class="iconfont icon-caret-right"></text>{{ t('Custom.Deposit.Title3')
|
|
|
- }}</text>
|
|
|
- <view class="form-row">
|
|
|
- <view class="form-item">
|
|
|
- <text class="label">{{ t('Custom.Deposit.Title3') + '(' + channelData.currency + ')'
|
|
|
- }}</text>
|
|
|
- <input class="input" v-model="params.amount" type="number" @input="onAmountInput" />
|
|
|
- <text class="error" v-if="amountError">{{ amountError }}</text>
|
|
|
- </view>
|
|
|
- <view class="form-item" v-if="channelData.rate">
|
|
|
- <text class="label">{{ t('Custom.Deposit.EstimatedAmount') + '(' +
|
|
|
- channelData.transformCurrency + ')' }}</text>
|
|
|
- <input class="input" v-model="params.amount1" disabled />
|
|
|
- <text class="help-icon" @click="showEstimateHelp">?</text>
|
|
|
- </view>
|
|
|
- <view class="form-item" v-if="needUploadVoucher">
|
|
|
- <text class="label">{{ t('Custom.Deposit.UploadRemittanceVoucher') }}</text>
|
|
|
- <button @click="chooseImage">{{ t('upload') }}</button>
|
|
|
- <image v-if="imageUrl" :src="imageUrl" mode="aspectFit"
|
|
|
- style="width: 100rpx; height: 100rpx;" />
|
|
|
- </view>
|
|
|
- <view class="form-item">
|
|
|
- <text class="label">{{ t('Custom.Deposit.PromoCode') }}</text>
|
|
|
- <input class="input" v-model="params.promoCode" />
|
|
|
- </view>
|
|
|
- </view>
|
|
|
+ <!-- 表单(确认后显示) -->
|
|
|
+ <uni-forms v-if="isStep3" ref="baseForm" :model="params" labelWidth="200" label-position="top"
|
|
|
+ class="base-info-form">
|
|
|
+ <uni-row class="demo-uni-row uni-row1">
|
|
|
+ <!-- 信用卡选择 -->
|
|
|
+ <uni-col :xs="24" :sm="24" :md="12" :lg="8" :xl="8"
|
|
|
+ v-if="channelData.confirmCreditCard == 1">
|
|
|
+ <view class="add-back">
|
|
|
+ <text>{{ t('PersonalManagement.Label.addCreditCard') }}</text>
|
|
|
+ <text class="add-btn crm-cursor" @click="openAddBankCard">{{
|
|
|
+ t('Custom.Withdraw.addBank1') }}</text>
|
|
|
+ </view>
|
|
|
+ <uni-forms-item :label="t('PersonalManagement.Label.addCreditCard')">
|
|
|
+ <cwg-combox :clearable="false" v-model:value="myId" :options="creditCardOptions"
|
|
|
+ :placeholder="t('placeholder.choose')" @change="onCreditCardChange" />
|
|
|
+ </uni-forms-item>
|
|
|
+ </uni-col>
|
|
|
+
|
|
|
+ <!-- 银行选择(如有) -->
|
|
|
+ <uni-col :xs="24" :sm="24" :md="12" :lg="8" :xl="8" v-if="bankDate.length">
|
|
|
+ <uni-forms-item :label="t('news_add_field.Label.Title4')">
|
|
|
+ <cwg-combox :clearable="false" v-model:value="selectedBankIndex"
|
|
|
+ :options="bankOptions" :placeholder="t('placeholder.choose')"
|
|
|
+ @change="onBankChange" />
|
|
|
+ </uni-forms-item>
|
|
|
+ </uni-col>
|
|
|
+
|
|
|
+ <!-- 特别提示(B2BINPAY) -->
|
|
|
+ <uni-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24"
|
|
|
+ v-if="bankDate.length && channelData.code == 'B2BINPAY'">
|
|
|
+ <text class="tit"><text class="iconfont iconi"></text>{{ t('Custom.Deposit.Des')
|
|
|
+ }}</text>
|
|
|
+ </uni-col>
|
|
|
+
|
|
|
+ <!-- 电汇信息展示 -->
|
|
|
+ <uni-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24"
|
|
|
+ v-if="['UNION_PAY_TELEGRAPHIC', 'UNION_PAY_TELEGRAPHIC_SPECIAL', 'UNION_PAY_TELEGRAPHIC_TWO'].includes(channelData.code)">
|
|
|
+ <text class="tit"><text class="iconfont icon-caret-right"></text>{{
|
|
|
+ t('Custom.Deposit.Title5') }}</text>
|
|
|
+ <view class="wire-transfer-account">
|
|
|
+ <view class="row"><text class="label SpecialColor">{{
|
|
|
+ t('Custom.Deposit.bankUname')
|
|
|
+ }}</text><text class="content SpecialColor">{{
|
|
|
+ WireTransferAccount.bankUname
|
|
|
+ ||
|
|
|
+ '--' }}</text></view>
|
|
|
+ <view class="row"><text class="label">{{ t('Custom.Deposit.bankName')
|
|
|
+ }}</text><text class="content">{{ WireTransferAccount.bankName || '--'
|
|
|
+ }}</text></view>
|
|
|
+ <view class="row"><text class="label SpecialColor">{{
|
|
|
+ t('Custom.Deposit.bankCardNum')
|
|
|
+ }}</text><text class="content SpecialColor">{{
|
|
|
+ WireTransferAccount.bankCardNum
|
|
|
+ || '--' }}</text></view>
|
|
|
+ <view class="row"><text class="label">{{ t('Custom.Deposit.bankAddr')
|
|
|
+ }}</text><text class="content">{{ WireTransferAccount.bankAddr || '--'
|
|
|
+ }}</text></view>
|
|
|
+ <view class="row"><text class="label SpecialColor">{{
|
|
|
+ t('Custom.Deposit.swiftCode')
|
|
|
+ }}</text><text class="content SpecialColor">{{
|
|
|
+ WireTransferAccount.swiftCode
|
|
|
+ ||
|
|
|
+ '--' }}</text></view>
|
|
|
+ <view class="row"><text class="label">{{ t('Custom.Deposit.bankCode')
|
|
|
+ }}</text><text class="content">{{ WireTransferAccount.bankCode || '--'
|
|
|
+ }}</text></view>
|
|
|
+ <view class="row"><text class="label SpecialColor">{{ t('Custom.Recording.Note')
|
|
|
+ }}</text><text class="content SpecialColor">{{
|
|
|
+ WireTransferAccount.bankMsg
|
|
|
+ ||
|
|
|
+ '--' }}</text></view>
|
|
|
+ </view>
|
|
|
+ </uni-col>
|
|
|
+
|
|
|
+ <!-- 数字货币信息展示 -->
|
|
|
+ <uni-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24"
|
|
|
+ v-if="channelData.code && channelData.code.indexOf('DIGITAL_PAY_TYPE_KEY') === 0">
|
|
|
+ <text class="tit"><text class="iconfont icon-caret-right"></text>{{
|
|
|
+ t('Custom.Deposit.DigitalAcc') }}</text>
|
|
|
+ <view class="wire-transfer-account">
|
|
|
+ <view class="row"><text class="label SpecialColor">{{
|
|
|
+ t('Custom.Deposit.DigitalName')
|
|
|
+ }}</text><text class="content SpecialColor">{{ WireTransferAccount.name
|
|
|
+ +
|
|
|
+ '-' +
|
|
|
+ WireTransferAccount.type }}</text></view>
|
|
|
+ <view class="row"><text class="label">{{ t('Custom.Withdraw.Title6')
|
|
|
+ }}</text><text class="content">{{ WireTransferAccount.address || '--'
|
|
|
+ }}</text></view>
|
|
|
+ <view class="row"><text class="label">QR Code</text>
|
|
|
+ <image :src="Host85 + WireTransferAccount.url" mode="aspectFit"
|
|
|
+ style="width: 100rpx; height: 100rpx;" />
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </uni-col>
|
|
|
+
|
|
|
+ <!-- 表单字段:金额、预估金额、上传凭证、优惠码 -->
|
|
|
+ <uni-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
|
+ <text class="tit"><text class="iconfont icon-caret-right"></text>{{
|
|
|
+ t('Custom.Deposit.Title3')
|
|
|
+ }}</text>
|
|
|
+ </uni-col>
|
|
|
+ <uni-col :xs="24" :sm="24" :md="12" :lg="8" :xl="8">
|
|
|
+ <uni-forms-item
|
|
|
+ :label="t('Custom.Deposit.Title3') + '(' + channelData.currency + ')'">
|
|
|
+ <uni-easyinput type="number" v-model="params.amount" @input="onAmountInput"
|
|
|
+ :placeholder="t('placeholder.input')" />
|
|
|
+ <text class="error" v-if="amountError">{{ amountError }}</text>
|
|
|
+ </uni-forms-item>
|
|
|
+ </uni-col>
|
|
|
+ <uni-col :xs="24" :sm="24" :md="12" :lg="8" :xl="8" v-if="channelData.rate">
|
|
|
+ <uni-forms-item>
|
|
|
+ <template #label>
|
|
|
+ <view class="label-with-icon">
|
|
|
+ <text>{{ t('Custom.Deposit.EstimatedAmount') + '(' +
|
|
|
+ channelData.transformCurrency + ')' }}</text>
|
|
|
+ <text class="help-icon" @click="showEstimateHelp">?</text>
|
|
|
+ </view>
|
|
|
+ </template>
|
|
|
+ <uni-easyinput v-model="params.amount1" disabled
|
|
|
+ :placeholder="t('placeholder.input')" />
|
|
|
+ </uni-forms-item>
|
|
|
+ </uni-col>
|
|
|
+ <uni-col :xs="24" :sm="24" :md="12" :lg="8" :xl="8" v-if="needUploadVoucher">
|
|
|
+ <uni-forms-item :label="t('Custom.Deposit.UploadRemittanceVoucher')">
|
|
|
+ <view class="upload-box">
|
|
|
+ <button class="btn-upload" @click="chooseImage">{{ t('upload') }}</button>
|
|
|
+ <image v-if="imageUrl" :src="imageUrl" mode="aspectFit"
|
|
|
+ class="img-preview" />
|
|
|
+ </view>
|
|
|
+ </uni-forms-item>
|
|
|
+ </uni-col>
|
|
|
+ <uni-col :xs="24" :sm="24" :md="12" :lg="8" :xl="8">
|
|
|
+ <uni-forms-item>
|
|
|
+ <template #label>
|
|
|
+ <view class="label-with-icon">
|
|
|
+ <text v-t="'Custom.Deposit.PromoCode'" />
|
|
|
+ <uni-tooltip placement="top" class="tooltip-content">
|
|
|
+ <view class="item">?</view>
|
|
|
+ <template #content>
|
|
|
+ <text v-t="'news_add_field.Des.item3'"></text>
|
|
|
+ </template>
|
|
|
+ </uni-tooltip>
|
|
|
+ </view>
|
|
|
+ </template>
|
|
|
+ <uni-easyinput v-model="params.promoCode"
|
|
|
+ :placeholder="t('placeholder.input')" />
|
|
|
+ </uni-forms-item>
|
|
|
+ </uni-col>
|
|
|
+ </uni-row>
|
|
|
+
|
|
|
+ <!-- 活动勾选区域(完整保留所有原逻辑) -->
|
|
|
+ <view class="activities">
|
|
|
+ <!-- 10%赠金/普通活动(原代码中第一个大块) -->
|
|
|
+ <view
|
|
|
+ v-if="!tableData4Flag && !tableData4TwoFlag && !tableDataNewListFlag && (country != 'CN' || (country == 'CN' && (ACCType == 1 || ACCType == 2 || ACCType == 7 || ACCType == 5 || ACCType == 6 || ACCType == 8))) && ACCType != 3">
|
|
|
+ <template v-if="isSupportedCountry && (ACCType == 2 || ACCType == 7)">
|
|
|
+ <label class="checkbox">
|
|
|
+ <checkbox :checked="params.agree2"
|
|
|
+ @click="params.agree2 = !params.agree2" />
|
|
|
+ <text>{{ t('news_add_field1.deposit.item2_1') }}</text>
|
|
|
+ </label>
|
|
|
+ <view style="line-height: 1.5; font-size: 14px" v-if="country == 'CN'">
|
|
|
+ <p style="margin-bottom: 15px" v-if="isGuoQin">
|
|
|
+ <span>{{ t('Custom.Deposit.agree21') }}</span>
|
|
|
+ <span class="clause crm-cursor">
|
|
|
+ <a :href="`pdf/pdf4/100Bonus-en.pdf`" style="color: black">{{
|
|
|
+ t('Custom.Deposit.agree22_2') }}</a>
|
|
|
+ </span>
|
|
|
+ <span>{{ t('Custom.Deposit.agree23_2') }}</span>
|
|
|
+ </p>
|
|
|
+ <p style="margin-bottom: 15px" v-else>
|
|
|
+ <span>{{ t('Custom.Deposit.agree21') }}</span>
|
|
|
+ <span class="clause crm-cursor">
|
|
|
+ <a :href="`pdf/pdf4/100Bonus-en.pdf`" style="color: black">{{
|
|
|
+ t('Custom.Deposit.agree22_2') }}</a>
|
|
|
+ </span>
|
|
|
+ <span>{{ t('Custom.Deposit.agree23_2') }}</span>
|
|
|
+ </p>
|
|
|
+ </view>
|
|
|
+ <view style="line-height: 1.5; font-size: 14px" v-if="country != 'CN'">
|
|
|
+ <p style="margin-bottom: 15px">
|
|
|
+ <span>{{ t('Custom.Deposit.agree21') }}</span>
|
|
|
+ <span class="clause crm-cursor">
|
|
|
+ <a :href="`pdf/pdf4/100Bonus-en.pdf`" style="color: black">{{
|
|
|
+ t('Custom.Deposit.agree22_2') }}</a>
|
|
|
+ </span>
|
|
|
+ <span>{{ t('Custom.Deposit.agree23_2') }}</span>
|
|
|
+ </p>
|
|
|
+ </view>
|
|
|
+ </template>
|
|
|
+ <template v-if="!isSupportedCountry && ACCType != 8 && !isAfterSeptember30()">
|
|
|
+ <label class="checkbox">
|
|
|
+ <checkbox :checked="params.agree2"
|
|
|
+ @click="params.agree2 = !params.agree2" />
|
|
|
+ <text>{{ t('news_add_field1.deposit.item1') }}</text>
|
|
|
+ </label>
|
|
|
+ <view style="line-height: 1.5; font-size: 14px" v-if="country == 'CN'">
|
|
|
+ <p style="margin-bottom: 15px" v-if="isGuoQin">
|
|
|
+ <span>{{ t('Custom.Deposit.agree21') }}</span>
|
|
|
+ <span class="clause crm-cursor">
|
|
|
+ <a :href="`pdf/pdf4/${locale}.pdf`" style="color: black">{{
|
|
|
+ t('Custom.Deposit.agree22') }}</a>
|
|
|
+ </span>
|
|
|
+ <span>{{ t('Custom.Deposit.agree23_1') }}</span>
|
|
|
+ </p>
|
|
|
+ <p style="margin-bottom: 15px" v-else>
|
|
|
+ <span>{{ t('Custom.Deposit.agree21') }}</span>
|
|
|
+ <span class="clause crm-cursor">
|
|
|
+ <a :href="`pdf/pdf4/${locale}.pdf`" style="color: black">{{
|
|
|
+ t('Custom.Deposit.agree22') }}</a>
|
|
|
+ </span>
|
|
|
+ <span>{{ t('Custom.Deposit.agree23') }}</span>
|
|
|
+ </p>
|
|
|
+ </view>
|
|
|
+ <view style="line-height: 1.5; font-size: 14px" v-if="country != 'CN'">
|
|
|
+ <p style="margin-bottom: 15px">
|
|
|
+ <span>{{ t('Custom.Deposit.agree21') }}</span>
|
|
|
+ <span class="clause crm-cursor">
|
|
|
+ <a :href="`pdf/pdf4/${locale}.pdf`" style="color: black">{{
|
|
|
+ t('Custom.Deposit.agree22') }}</a>
|
|
|
+ </span>
|
|
|
+ <span>{{ t('Custom.Deposit.agree23_1') }}</span>
|
|
|
+ </p>
|
|
|
+ </view>
|
|
|
+ </template>
|
|
|
+ </view>
|
|
|
|
|
|
- <!-- 活动勾选区域(完整保留所有原逻辑) -->
|
|
|
- <view class="activities">
|
|
|
- <!-- 10%赠金/普通活动(原代码中第一个大块) -->
|
|
|
- <view
|
|
|
- v-if="!tableData4Flag && !tableData4TwoFlag && !tableDataNewListFlag && (country != 'CN' || (country == 'CN' && (ACCType == 1 || ACCType == 2 || ACCType == 7 || ACCType == 5 || ACCType == 6 || ACCType == 8))) && ACCType != 3">
|
|
|
- <template v-if="isSupportedCountry && (ACCType == 2 || ACCType == 7)">
|
|
|
+ <!-- 10%赠金-年中赠金 -->
|
|
|
+ <view v-if="tableData4Flag">
|
|
|
<label class="checkbox">
|
|
|
- <checkbox :checked="params.agree2" @click="params.agree2 = !params.agree2" />
|
|
|
- <text>{{ t('news_add_field1.deposit.item2_1') }}</text>
|
|
|
+ <checkbox :checked="params.agree4" @click="params.agree4 = !params.agree4" />
|
|
|
+ <text>{{ t('news_add_field1.activitiesNZ.itemDeposit1') }}</text>
|
|
|
</label>
|
|
|
- <view style="line-height: 1.5; font-size: 14px" v-if="country == 'CN'">
|
|
|
- <p style="margin-bottom: 15px" v-if="isGuoQin">
|
|
|
- <span>{{ t('Custom.Deposit.agree21') }}</span>
|
|
|
- <span class="clause crm-cursor">
|
|
|
- <a :href="`pdf/pdf4/100Bonus-en.pdf`" style="color: black">{{
|
|
|
- t('Custom.Deposit.agree22_2') }}</a>
|
|
|
- </span>
|
|
|
- <span>{{ t('Custom.Deposit.agree23_2') }}</span>
|
|
|
- </p>
|
|
|
- <p style="margin-bottom: 15px" v-else>
|
|
|
- <span>{{ t('Custom.Deposit.agree21') }}</span>
|
|
|
- <span class="clause crm-cursor">
|
|
|
- <a :href="`pdf/pdf4/100Bonus-en.pdf`" style="color: black">{{
|
|
|
- t('Custom.Deposit.agree22_2') }}</a>
|
|
|
- </span>
|
|
|
- <span>{{ t('Custom.Deposit.agree23_2') }}</span>
|
|
|
- </p>
|
|
|
- </view>
|
|
|
- <view style="line-height: 1.5; font-size: 14px" v-if="country != 'CN'">
|
|
|
+ <view style="line-height: 1.5; font-size: 14px">
|
|
|
<p style="margin-bottom: 15px">
|
|
|
- <span>{{ t('Custom.Deposit.agree21') }}</span>
|
|
|
- <span class="clause crm-cursor">
|
|
|
- <a :href="`pdf/pdf4/100Bonus-en.pdf`" style="color: black">{{
|
|
|
- t('Custom.Deposit.agree22_2') }}</a>
|
|
|
- </span>
|
|
|
- <span>{{ t('Custom.Deposit.agree23_2') }}</span>
|
|
|
+ <span>{{ t('news_add_field1.activitiesNZ.itemDeposit2') }}</span>
|
|
|
+ <span class="clause crm-cursor" @click="dialogClauseNZ = true">{{
|
|
|
+ t('news_add_field1.activitiesNZ.itemDeposit3') }}</span>
|
|
|
+ <span>{{ t('news_add_field1.activitiesNZ.itemDeposit4') }}</span>
|
|
|
</p>
|
|
|
</view>
|
|
|
- </template>
|
|
|
- <template v-if="!isSupportedCountry && ACCType != 8 && !isAfterSeptember30()">
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <!-- 20%赠金-年中赠金 -->
|
|
|
+ <view v-if="tableData4TwoFlag">
|
|
|
<label class="checkbox">
|
|
|
- <checkbox :checked="params.agree2" @click="params.agree2 = !params.agree2" />
|
|
|
- <text>{{ t('news_add_field1.deposit.item1') }}</text>
|
|
|
+ <checkbox :checked="params.agree5" @click="params.agree5 = !params.agree5" />
|
|
|
+ <text>{{ t('news_add_field1.activitiesNZTwo.itemDeposit1') }}</text>
|
|
|
</label>
|
|
|
- <view style="line-height: 1.5; font-size: 14px" v-if="country == 'CN'">
|
|
|
- <p style="margin-bottom: 15px" v-if="isGuoQin">
|
|
|
- <span>{{ t('Custom.Deposit.agree21') }}</span>
|
|
|
- <span class="clause crm-cursor">
|
|
|
- <a :href="`pdf/pdf4/${locale}.pdf`" style="color: black">{{
|
|
|
- t('Custom.Deposit.agree22') }}</a>
|
|
|
- </span>
|
|
|
- <span>{{ t('Custom.Deposit.agree23_1') }}</span>
|
|
|
- </p>
|
|
|
- <p style="margin-bottom: 15px" v-else>
|
|
|
- <span>{{ t('Custom.Deposit.agree21') }}</span>
|
|
|
- <span class="clause crm-cursor">
|
|
|
- <a :href="`pdf/pdf4/${locale}.pdf`" style="color: black">{{
|
|
|
- t('Custom.Deposit.agree22') }}</a>
|
|
|
- </span>
|
|
|
- <span>{{ t('Custom.Deposit.agree23') }}</span>
|
|
|
- </p>
|
|
|
- </view>
|
|
|
- <view style="line-height: 1.5; font-size: 14px" v-if="country != 'CN'">
|
|
|
+ <view style="line-height: 1.5; font-size: 14px">
|
|
|
<p style="margin-bottom: 15px">
|
|
|
- <span>{{ t('Custom.Deposit.agree21') }}</span>
|
|
|
- <span class="clause crm-cursor">
|
|
|
- <a :href="`pdf/pdf4/${locale}.pdf`" style="color: black">{{
|
|
|
- t('Custom.Deposit.agree22') }}</a>
|
|
|
- </span>
|
|
|
- <span>{{ t('Custom.Deposit.agree23_1') }}</span>
|
|
|
+ <span>{{ t('news_add_field1.activitiesNZTwo.itemDeposit2') }}</span>
|
|
|
+ <span class="clause crm-cursor" @click="dialogClauseNZTwo = true">{{
|
|
|
+ t('news_add_field1.activitiesNZTwo.itemDeposit3') }}</span>
|
|
|
+ <span>{{ t('news_add_field1.activitiesNZTwo.itemDeposit4') }}</span>
|
|
|
</p>
|
|
|
</view>
|
|
|
- </template>
|
|
|
- </view>
|
|
|
-
|
|
|
- <!-- 10%赠金-年中赠金 -->
|
|
|
- <view v-if="tableData4Flag">
|
|
|
- <label class="checkbox">
|
|
|
- <checkbox :checked="params.agree4" @click="params.agree4 = !params.agree4" />
|
|
|
- <text>{{ t('news_add_field1.activitiesNZ.itemDeposit1') }}</text>
|
|
|
- </label>
|
|
|
- <view style="line-height: 1.5; font-size: 14px">
|
|
|
- <p style="margin-bottom: 15px">
|
|
|
- <span>{{ t('news_add_field1.activitiesNZ.itemDeposit2') }}</span>
|
|
|
- <span class="clause crm-cursor" @click="dialogClauseNZ = true">{{
|
|
|
- t('news_add_field1.activitiesNZ.itemDeposit3') }}</span>
|
|
|
- <span>{{ t('news_add_field1.activitiesNZ.itemDeposit4') }}</span>
|
|
|
- </p>
|
|
|
</view>
|
|
|
- </view>
|
|
|
|
|
|
- <!-- 20%赠金-年中赠金 -->
|
|
|
- <view v-if="tableData4TwoFlag">
|
|
|
- <label class="checkbox">
|
|
|
- <checkbox :checked="params.agree5" @click="params.agree5 = !params.agree5" />
|
|
|
- <text>{{ t('news_add_field1.activitiesNZTwo.itemDeposit1') }}</text>
|
|
|
- </label>
|
|
|
- <view style="line-height: 1.5; font-size: 14px">
|
|
|
- <p style="margin-bottom: 15px">
|
|
|
- <span>{{ t('news_add_field1.activitiesNZTwo.itemDeposit2') }}</span>
|
|
|
- <span class="clause crm-cursor" @click="dialogClauseNZTwo = true">{{
|
|
|
- t('news_add_field1.activitiesNZTwo.itemDeposit3') }}</span>
|
|
|
- <span>{{ t('news_add_field1.activitiesNZTwo.itemDeposit4') }}</span>
|
|
|
- </p>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
-
|
|
|
- <!-- 赠送活动 -->
|
|
|
- <view v-if="tableDataNewListFlag">
|
|
|
- <label class="checkbox">
|
|
|
- <checkbox :checked="params.agree6" @click="params.agree6 = !params.agree6" />
|
|
|
- <text>{{ tableDataNewList.title }}</text>
|
|
|
- </label>
|
|
|
- <view style="line-height: 1.5; font-size: 14px">
|
|
|
- <p style="margin-bottom: 15px">
|
|
|
- <span>{{ t('news_add_field1.activitiesNewList.item1') }}</span>
|
|
|
- <span class="clause crm-cursor" @click="dialogClauseNewList = true">{{
|
|
|
- tableDataNewList.title }}</span>
|
|
|
- <span>{{ t('news_add_field1.activitiesNewList.item2') }}</span>
|
|
|
- </p>
|
|
|
+ <!-- 赠送活动 -->
|
|
|
+ <view v-if="tableDataNewListFlag">
|
|
|
+ <label class="checkbox">
|
|
|
+ <checkbox :checked="params.agree6" @click="params.agree6 = !params.agree6" />
|
|
|
+ <text>{{ tableDataNewList.title }}</text>
|
|
|
+ </label>
|
|
|
+ <view style="line-height: 1.5; font-size: 14px">
|
|
|
+ <p style="margin-bottom: 15px">
|
|
|
+ <span>{{ t('news_add_field1.activitiesNewList.item1') }}</span>
|
|
|
+ <span class="clause crm-cursor" @click="dialogClauseNewList = true">{{
|
|
|
+ tableDataNewList.title }}</span>
|
|
|
+ <span>{{ t('news_add_field1.activitiesNewList.item2') }}</span>
|
|
|
+ </p>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
|
|
|
- <!-- 20%赠金申请 -->
|
|
|
- <view
|
|
|
- v-if="(ACCType == 1 || ACCType == 2 || ACCType == 5 || ACCType == 6 || ACCType == 7) && anshiClose">
|
|
|
- <label class="checkbox">
|
|
|
- <checkbox :checked="params.agree3" @click="params.agree3 = !params.agree3"
|
|
|
- :disabled="CheckExistSuccess" />
|
|
|
- <text>{{ t('news_add_field1.deposit.item3') }}</text>
|
|
|
- </label>
|
|
|
- <view style="line-height: 1.5; font-size: 14px">
|
|
|
- <p style="margin-bottom: 15px">
|
|
|
- <span>{{ t('news_add_field1.deposit.item4') }}</span>
|
|
|
- <span class="clause crm-cursor" @click="dialogClause1 = true">{{
|
|
|
- t('news_add_field1.deposit.item5')
|
|
|
- }}</span>
|
|
|
- <span>{{ t('news_add_field1.deposit.item6') }}</span>
|
|
|
- </p>
|
|
|
+ <!-- 20%赠金申请 -->
|
|
|
+ <view
|
|
|
+ v-if="(ACCType == 1 || ACCType == 2 || ACCType == 5 || ACCType == 6 || ACCType == 7) && anshiClose">
|
|
|
+ <label class="checkbox">
|
|
|
+ <checkbox :checked="params.agree3" @click="params.agree3 = !params.agree3"
|
|
|
+ :disabled="CheckExistSuccess" />
|
|
|
+ <text>{{ t('news_add_field1.deposit.item3') }}</text>
|
|
|
+ </label>
|
|
|
+ <view style="line-height: 1.5; font-size: 14px">
|
|
|
+ <p style="margin-bottom: 15px">
|
|
|
+ <span>{{ t('news_add_field1.deposit.item4') }}</span>
|
|
|
+ <span class="clause crm-cursor" @click="dialogClause1 = true">{{
|
|
|
+ t('news_add_field1.deposit.item5')
|
|
|
+ }}</span>
|
|
|
+ <span>{{ t('news_add_field1.deposit.item6') }}</span>
|
|
|
+ </p>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
|
|
|
- <button class="s-btn" type="primary" @click="submitConfirm">{{ t('Btn.Submit') }}</button>
|
|
|
- </form>
|
|
|
+ <button class="s-btn" type="primary" @click="submitConfirm">{{ t('Btn.Submit') }}</button>
|
|
|
+ </uni-forms>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
|
|
|
- <!-- 弹窗组件(使用 uni-popup) -->
|
|
|
- <uni-popup ref="popup" type="center" :mask-click="false">
|
|
|
- <view class="popup-content" v-if="popupType === 'confirm'">
|
|
|
- <text class="popup-title">{{ t('Home.page_customer.item2') }}</text>
|
|
|
- <view class="popup-form">
|
|
|
- <view class="popup-row"><text class="label">{{ t('Custom.Deposit.Title1') }}:</text><text>{{
|
|
|
- selectedAccountLabel }}</text></view>
|
|
|
- <view class="popup-row"><text class="label">{{ t('Custom.Deposit.Title2') }}:</text><text>{{
|
|
|
- locale ==
|
|
|
- 'cn' ? channelData.name : channelData.enName }}</text></view>
|
|
|
- <view class="popup-row" v-if="code"><text class="label">{{ t('news_add_field.Label.Title4')
|
|
|
- }}:</text><text>{{ selectCodes }}</text></view>
|
|
|
- <view class="popup-row"><text class="label">{{ t('Custom.Deposit.Title3') }}:</text><text>{{
|
|
|
- params.amount
|
|
|
- }}({{ channelData.currency }})</text></view>
|
|
|
- <view class="popup-row" v-if="channelData.confirmName"><text class="label">{{ t('Label.Name')
|
|
|
- }}:</text><text>{{ userName }}</text></view>
|
|
|
- <view class="popup-row" v-if="channelData.confirmAreaCode">
|
|
|
- <text class="label">{{ t('placeholder.phone') }}:</text>
|
|
|
- <input class="small-input" v-model="dialogConfirmForm.confirmAreaCode" />
|
|
|
- <text>-</text>
|
|
|
- <input class="small-input" v-model="dialogConfirmForm.confirmPhone" />
|
|
|
+ <!-- 弹窗组件(使用 uni-popup) -->
|
|
|
+ <uni-popup ref="popupRef" type="center" :mask-click="false">
|
|
|
+ <view class="popup-content" v-if="popupType === 'confirm'">
|
|
|
+ <text class="popup-title">{{ t('Home.page_customer.item2') }}</text>
|
|
|
+ <view class="popup-form">
|
|
|
+ <view class="popup-row"><text class="label">{{ t('Custom.Deposit.Title1') }}:</text><text>{{
|
|
|
+ selectedAccountLabel }}</text></view>
|
|
|
+ <view class="popup-row"><text class="label">{{ t('Custom.Deposit.Title2') }}:</text><text>{{
|
|
|
+ locale ==
|
|
|
+ 'cn' ? channelData.name : channelData.enName }}</text></view>
|
|
|
+ <view class="popup-row" v-if="code"><text class="label">{{ t('news_add_field.Label.Title4')
|
|
|
+ }}:</text><text>{{ selectCodes }}</text></view>
|
|
|
+ <view class="popup-row"><text class="label">{{ t('Custom.Deposit.Title3') }}:</text><text>{{
|
|
|
+ params.amount
|
|
|
+ }}({{ channelData.currency }})</text></view>
|
|
|
+ <view class="popup-row" v-if="channelData.confirmName"><text class="label">{{ t('Label.Name')
|
|
|
+ }}:</text><text>{{ userName }}</text></view>
|
|
|
+ <view class="popup-row" v-if="channelData.confirmAreaCode">
|
|
|
+ <text class="label">{{ t('placeholder.phone') }}:</text>
|
|
|
+ <input class="small-input" v-model="dialogConfirmForm.confirmAreaCode" />
|
|
|
+ <text>-</text>
|
|
|
+ <input class="small-input" v-model="dialogConfirmForm.confirmPhone" />
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="popup-buttons">
|
|
|
+ <button @click="closePopup">{{ t('Btn.Cancel') }}</button>
|
|
|
+ <button type="primary" @click="submitDeposit">{{ t('Btn.Confirm') }}</button>
|
|
|
</view>
|
|
|
</view>
|
|
|
- <view class="popup-buttons">
|
|
|
- <button @click="closePopup">{{ t('Btn.Cancel') }}</button>
|
|
|
- <button type="primary" @click="submitDeposit">{{ t('Btn.Confirm') }}</button>
|
|
|
+ <view class="popup-content" v-else-if="popupType === 'result'">
|
|
|
+ <view class="result-icon" v-if="dialogSuccess"><text class="iconfont iconchenggong"></text></view>
|
|
|
+ <view class="result-icon" v-else><text class="iconfont iconjingshi"></text></view>
|
|
|
+ <text class="popup-text">{{ dialogMessage }}</text>
|
|
|
+ <view class="popup-buttons">
|
|
|
+ <button type="primary" @click="closeResultPopup">{{ t('Btn.Confirm') }}</button>
|
|
|
+ <button v-if="!dialogSuccess" @click="closeResultPopup">{{ t('Btn.Cancel') }}</button>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
- <view class="popup-content" v-else-if="popupType === 'result'">
|
|
|
- <view class="result-icon" v-if="dialogSuccess"><text class="iconfont iconchenggong"></text></view>
|
|
|
- <view class="result-icon" v-else><text class="iconfont iconjingshi"></text></view>
|
|
|
- <text class="popup-text">{{ dialogMessage }}</text>
|
|
|
- <view class="popup-buttons">
|
|
|
- <button type="primary" @click="closeResultPopup">{{ t('Btn.Confirm') }}</button>
|
|
|
- <button v-if="!dialogSuccess" @click="closeResultPopup">{{ t('Btn.Cancel') }}</button>
|
|
|
+ <view class="popup-content" v-else-if="popupType === 'wait'">
|
|
|
+ <text class="iconfont icondengdai"></text>
|
|
|
+ <text class="popup-text">{{ t('ApplicationDialog.Des38') }}</text>
|
|
|
</view>
|
|
|
- </view>
|
|
|
- <view class="popup-content" v-else-if="popupType === 'wait'">
|
|
|
- <text class="iconfont icondengdai"></text>
|
|
|
- <text class="popup-text">{{ t('ApplicationDialog.Des38') }}</text>
|
|
|
- </view>
|
|
|
- </uni-popup>
|
|
|
-
|
|
|
- <!-- 其他弹窗(越南提示、年中赠金协议等)用 uni-popup 或 uni.showModal 模拟,因原结构复杂,保留基础 -->
|
|
|
- <!-- 越南用户提示弹窗 -->
|
|
|
- <uni-popup ref="vietnamPopup" type="center">
|
|
|
- <view class="popup-content" style="width: 600rpx;">
|
|
|
- <text class="popup-title">{{ t('Home.page_customer.item2') }}</text>
|
|
|
- <view class="popup-text" style="text-align: left; font-size: 24rpx; line-height: 1.6;">
|
|
|
- <p><strong>Quý khách hàng thân mến:</strong></p>
|
|
|
- <p>Trước khi giao dịch, chúng tôi xin nhắc nhở bạn rằng:</p>
|
|
|
- <p>1. Vì có những rủi ro nhất định trong giao dịch, bạn nên đầu tư thích hợp theo kinh nghiệm giao
|
|
|
- dịch và
|
|
|
- thu nhập liên quan của mình, thay vì sử dụng tiền vay từ người khác.</p>
|
|
|
- <p>2. Dựa trên sự điều chỉnh đối với hệ thống kiểm soát rủi ro của ngân hàng, kênh nạp tiền có thể
|
|
|
- không
|
|
|
- được hỗ trợ hoặc hạn mức giao dịch có thể không chính xác khi bạn sẵn sàng nạp tiền (đặc biệt là
|
|
|
- vào ban
|
|
|
- đêm tại địa phương của bạn), vì vậy bạn nên sắp xếp vị thế giao dịch của mình và khoảng thời
|
|
|
- gian nạp
|
|
|
- tiền sao cho hợp lý để tránh những tổn thất không đáng có do bất kỳ sự chậm trễ nào trong việc
|
|
|
- nhận tiền
|
|
|
- nạp.</p>
|
|
|
- <p>Không bao giờ tiết lộ thông tin cá nhân nhạy cảm cho người gọi đến. CWG sẽ không bao giờ yêu cầu
|
|
|
- bất kỳ
|
|
|
- thông tin cá nhân nhạy cảm nào từ bạn qua điện thoại hoặc email cũng như không cung cấp bất kỳ
|
|
|
- lời
|
|
|
- khuyên đầu tư nào.</p>
|
|
|
- <p>Trong trường hợp có bất kỳ vấn đề gì với khoản tiền nạp của bạn, vui lòng liên hệ với trung tâm
|
|
|
- dịch vụ
|
|
|
- khách hàng chính thức của chúng tôi bất kỳ lúc nào.</p>
|
|
|
- <p>Trân trọng,</p>
|
|
|
- </view>
|
|
|
- <view class="popup-buttons">
|
|
|
- <button type="primary" @click="closeVietnamPopup">{{ t('Btn.Confirm') }}</button>
|
|
|
+ </uni-popup>
|
|
|
+
|
|
|
+ <!-- 其他弹窗(越南提示、年中赠金协议等)用 uni-popup 或 uni.showModal 模拟,因原结构复杂,保留基础 -->
|
|
|
+ <!-- 越南用户提示弹窗 -->
|
|
|
+ <uni-popup ref="vietnamPopup" type="center">
|
|
|
+ <view class="popup-content" style="width: 600rpx;">
|
|
|
+ <text class="popup-title">{{ t('Home.page_customer.item2') }}</text>
|
|
|
+ <view class="popup-text" style="text-align: left; font-size: 24rpx; line-height: 1.6;">
|
|
|
+ <p><strong>Quý khách hàng thân mến:</strong></p>
|
|
|
+ <p>Trước khi giao dịch, chúng tôi xin nhắc nhở bạn rằng:</p>
|
|
|
+ <p>1. Vì có những rủi ro nhất định trong giao dịch, bạn nên đầu tư thích hợp theo kinh nghiệm
|
|
|
+ giao
|
|
|
+ dịch và
|
|
|
+ thu nhập liên quan của mình, thay vì sử dụng tiền vay từ người khác.</p>
|
|
|
+ <p>2. Dựa trên sự điều chỉnh đối với hệ thống kiểm soát rủi ro của ngân hàng, kênh nạp tiền có
|
|
|
+ thể
|
|
|
+ không
|
|
|
+ được hỗ trợ hoặc hạn mức giao dịch có thể không chính xác khi bạn sẵn sàng nạp tiền (đặc
|
|
|
+ biệt là
|
|
|
+ vào ban
|
|
|
+ đêm tại địa phương của bạn), vì vậy bạn nên sắp xếp vị thế giao dịch của mình và khoảng thời
|
|
|
+ gian nạp
|
|
|
+ tiền sao cho hợp lý để tránh những tổn thất không đáng có do bất kỳ sự chậm trễ nào trong
|
|
|
+ việc
|
|
|
+ nhận tiền
|
|
|
+ nạp.</p>
|
|
|
+ <p>Không bao giờ tiết lộ thông tin cá nhân nhạy cảm cho người gọi đến. CWG sẽ không bao giờ yêu
|
|
|
+ cầu
|
|
|
+ bất kỳ
|
|
|
+ thông tin cá nhân nhạy cảm nào từ bạn qua điện thoại hoặc email cũng như không cung cấp bất
|
|
|
+ kỳ
|
|
|
+ lời
|
|
|
+ khuyên đầu tư nào.</p>
|
|
|
+ <p>Trong trường hợp có bất kỳ vấn đề gì với khoản tiền nạp của bạn, vui lòng liên hệ với trung
|
|
|
+ tâm
|
|
|
+ dịch vụ
|
|
|
+ khách hàng chính thức của chúng tôi bất kỳ lúc nào.</p>
|
|
|
+ <p>Trân trọng,</p>
|
|
|
+ </view>
|
|
|
+ <view class="popup-buttons">
|
|
|
+ <button type="primary" @click="closeVietnamPopup">{{ t('Btn.Confirm') }}</button>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
- </uni-popup>
|
|
|
-
|
|
|
- <!-- 中国网银提示弹窗 -->
|
|
|
- <uni-popup ref="chinaUnionPayPopup" type="center">
|
|
|
- <view class="popup-content">
|
|
|
- <text class="popup-text">{{ t('news_add_field1.deposit.item64') }}</text>
|
|
|
- <view class="popup-buttons">
|
|
|
- <button type="primary" @click="closeChinaUnionPayPopup">{{ t('Btn.Confirm') }}</button>
|
|
|
- <button @click="closeChinaUnionPayPopup">{{ t('Btn.Cancel') }}</button>
|
|
|
+ </uni-popup>
|
|
|
+
|
|
|
+ <!-- 中国网银提示弹窗 -->
|
|
|
+ <uni-popup ref="chinaUnionPayPopup" type="center">
|
|
|
+ <view class="popup-content">
|
|
|
+ <text class="popup-text">{{ t('news_add_field1.deposit.item64') }}</text>
|
|
|
+ <view class="popup-buttons">
|
|
|
+ <button type="primary" @click="closeChinaUnionPayPopup">{{ t('Btn.Confirm') }}</button>
|
|
|
+ <button @click="closeChinaUnionPayPopup">{{ t('Btn.Cancel') }}</button>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
- </uni-popup>
|
|
|
-
|
|
|
- <!-- 不参加活动弹窗 -->
|
|
|
- <uni-popup ref="dontActivePopup" type="center">
|
|
|
- <view class="popup-content">
|
|
|
- <text class="popup-text">{{ t('Custom.Withdraw.item9') }}</text>
|
|
|
- <view class="popup-buttons">
|
|
|
- <button type="primary" @click="confirmDontActive">{{ t('Btn.Confirm') }}</button>
|
|
|
- <button @click="closeDontActivePopup">{{ t('Btn.Cancel') }}</button>
|
|
|
+ </uni-popup>
|
|
|
+
|
|
|
+ <!-- 不参加活动弹窗 -->
|
|
|
+ <uni-popup ref="dontActivePopupRef" type="center">
|
|
|
+ <view class="popup-content">
|
|
|
+ <text class="popup-text">{{ t('Custom.Withdraw.item9') }}</text>
|
|
|
+ <view class="popup-buttons">
|
|
|
+ <button type="primary" @click="confirmDontActive">{{ t('Btn.Confirm') }}</button>
|
|
|
+ <button @click="closeDontActivePopup">{{ t('Btn.Cancel') }}</button>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
- </uni-popup>
|
|
|
-
|
|
|
- <!-- 20%赠金协议 -->
|
|
|
- <uni-popup ref="clausePopup" type="center">
|
|
|
- <view class="popup-content" style="width: 700rpx;">
|
|
|
- <text class="popup-title">{{ locale === 'cn' ? 'CWG 20%赠金入会礼' : '20% CASH BACK BONUS' }}</text>
|
|
|
- <scroll-view scroll-y style="height: 400rpx;">
|
|
|
- <rich-text :nodes="clauseContent" class="popup-text"></rich-text>
|
|
|
- </scroll-view>
|
|
|
- <view class="popup-buttons">
|
|
|
- <button @click="closeClausePopup">{{ t('Btn.Cancel') }}</button>
|
|
|
- <button type="primary" @click="closeClausePopup">{{ t('Btn.Confirm') }}</button>
|
|
|
+ </uni-popup>
|
|
|
+
|
|
|
+ <!-- 20%赠金协议 -->
|
|
|
+ <uni-popup ref="clausePopup" type="center">
|
|
|
+ <view class="popup-content" style="width: 700rpx;">
|
|
|
+ <text class="popup-title">{{ locale === 'cn' ? 'CWG 20%赠金入会礼' : '20% CASH BACK BONUS' }}</text>
|
|
|
+ <scroll-view scroll-y style="height: 400rpx;">
|
|
|
+ <rich-text :nodes="clauseContent" class="popup-text"></rich-text>
|
|
|
+ </scroll-view>
|
|
|
+ <view class="popup-buttons">
|
|
|
+ <button @click="closeClausePopup">{{ t('Btn.Cancel') }}</button>
|
|
|
+ <button type="primary" @click="closeClausePopup">{{ t('Btn.Confirm') }}</button>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
- </uni-popup>
|
|
|
+ </uni-popup>
|
|
|
+
|
|
|
+ <!-- 抽屉组件 -->
|
|
|
+ <drawer :dialogInfoTradingAdd="dialogInfoTradingAdd" :addType="openType" @closeAdd="closeAdd"
|
|
|
+ @confirmToReload="confirmToReload" />
|
|
|
+ <view class="crm_verified_info_mask" v-if="dialogInfoTradingAdd" @click="closeDiaAdd"></view>
|
|
|
+ </view>
|
|
|
+ </cwg-page-wrapper>
|
|
|
|
|
|
- <!-- 抽屉组件 -->
|
|
|
- <drawer :dialogInfoTradingAdd="dialogInfoTradingAdd" :addType="openType" @closeAdd="closeAdd"
|
|
|
- @confirmToReload="confirmToReload" />
|
|
|
- <view class="crm_verified_info_mask" v-if="dialogInfoTradingAdd" @click="closeDiaAdd"></view>
|
|
|
- </view>
|
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
|
@@ -553,6 +610,27 @@ const amountError = ref('')
|
|
|
const selectedCreditIndex = ref(-1)
|
|
|
const selectedCreditLabel = ref('')
|
|
|
|
|
|
+const loginComboxOptions = computed(() => {
|
|
|
+ return loginOptions.value.map((item) => ({
|
|
|
+ text: item.label,
|
|
|
+ value: item.login
|
|
|
+ }))
|
|
|
+})
|
|
|
+
|
|
|
+const creditCardOptions = computed(() => {
|
|
|
+ return ruleForm.bankCredit.map((item, index) => ({
|
|
|
+ text: `${item.bankUname}-${item.bankCardNum}`,
|
|
|
+ value: item.id
|
|
|
+ }))
|
|
|
+})
|
|
|
+
|
|
|
+const bankOptions = computed(() => {
|
|
|
+ return bankDate.value.map((item, index) => ({
|
|
|
+ text: (locale.value === 'cn' || locale.value === 'zhHant') ? item.name : item.enName,
|
|
|
+ value: index
|
|
|
+ }))
|
|
|
+})
|
|
|
+
|
|
|
// 计算属性
|
|
|
const country = computed(() => userInfo.value?.customInfo?.country || '')
|
|
|
const userName = computed(() => {
|
|
|
@@ -806,11 +884,10 @@ const is20Open = () => {
|
|
|
}
|
|
|
|
|
|
// 事件处理
|
|
|
-const onAccountChange = (e) => {
|
|
|
- const idx = e.detail.value
|
|
|
- const item = loginOptions.value[idx]
|
|
|
+const onAccountChange = (val) => {
|
|
|
+ const item = loginOptions.value.find(opt => opt.login === val)
|
|
|
if (item) {
|
|
|
- selectedAccountIndex.value = idx
|
|
|
+ selectedAccountIndex.value = loginOptions.value.indexOf(item)
|
|
|
selectedAccountLabel.value = item.label
|
|
|
loginValue.value = item.login
|
|
|
step2.value = true
|
|
|
@@ -902,8 +979,7 @@ const isShowStep3 = (row) => {
|
|
|
doShowStep3(row)
|
|
|
}
|
|
|
}
|
|
|
-const onBankChange = (e) => {
|
|
|
- const idx = e.detail.value
|
|
|
+const onBankChange = (idx) => {
|
|
|
const item = bankDate.value[idx]
|
|
|
if (item) {
|
|
|
selectedBankIndex.value = idx
|
|
|
@@ -916,17 +992,17 @@ const onBankChange = (e) => {
|
|
|
channelData.value.transformCurrency = item.currency || channelData.value.transformCurrency
|
|
|
}
|
|
|
}
|
|
|
-const onCreditCardChange = (e) => {
|
|
|
- const idx = e.detail.value
|
|
|
- const item = ruleForm.bankCredit[idx]
|
|
|
+const onCreditCardChange = (val) => {
|
|
|
+ const item = ruleForm.bankCredit.find(i => i.id === val)
|
|
|
if (item) {
|
|
|
- selectedCreditIndex.value = idx
|
|
|
+ selectedCreditIndex.value = ruleForm.bankCredit.indexOf(item)
|
|
|
selectedCreditLabel.value = `${item.bankUname}-${item.bankCardNum}`
|
|
|
myId.value = item.id
|
|
|
// 填充表单(原 chooseBank 逻辑)
|
|
|
}
|
|
|
}
|
|
|
const onAmountInput = (e) => {
|
|
|
+ console.log(e, e.detail.value);
|
|
|
const val = e.detail.value
|
|
|
params.amount = val
|
|
|
if (val && channelData.value.rate) {
|
|
|
@@ -1024,6 +1100,7 @@ const closeDiaAdd = () => { dialogInfoTradingAdd.value = false }
|
|
|
|
|
|
// 提交确认逻辑
|
|
|
const submitConfirm = () => {
|
|
|
+ console.log(params,121212);
|
|
|
// 原 openDontActive 逻辑,先判断活动冲突,然后打开确认弹窗
|
|
|
if (!tableData4Flag.value && !tableData4TwoFlag.value && !tableDataNewListFlag.value &&
|
|
|
(country.value != 'CN' || (country.value == 'CN' && (ACCType.value == 1 || ACCType.value == 2 || ACCType.value == 7))) &&
|
|
|
@@ -1390,287 +1467,457 @@ onLoad(() => {
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
-// 样式保持与之前转换一致,此处只列出关键类
|
|
|
+@import "@/uni.scss";
|
|
|
+
|
|
|
.custom-deposit {
|
|
|
- padding: 30rpx;
|
|
|
- background: #f5f7fa;
|
|
|
+ min-height: 100vh;
|
|
|
|
|
|
.crm-title-box {
|
|
|
- margin-bottom: 30rpx;
|
|
|
+ margin-bottom: px2rpx(20);
|
|
|
|
|
|
.tit {
|
|
|
- font-size: 36rpx;
|
|
|
- font-weight: bold;
|
|
|
+ font-size: px2rpx(20);
|
|
|
+ font-weight: 700;
|
|
|
+ color: var(--color-navy-900);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
.box {
|
|
|
- margin-bottom: 30rpx;
|
|
|
+ margin-bottom: px2rpx(20);
|
|
|
|
|
|
.b-card {
|
|
|
background: #fff;
|
|
|
- border-radius: 16rpx;
|
|
|
- padding: 30rpx;
|
|
|
+ border-radius: px2rpx(12);
|
|
|
+ padding: px2rpx(20);
|
|
|
+ box-shadow: 0 px2rpx(4) px2rpx(12) rgba(0, 0, 0, 0.03);
|
|
|
|
|
|
.card-top {
|
|
|
.tit {
|
|
|
- font-size: 32rpx;
|
|
|
- font-weight: 500;
|
|
|
- margin-bottom: 20rpx;
|
|
|
+ font-size: px2rpx(16);
|
|
|
+ font-weight: 600;
|
|
|
+ margin-bottom: px2rpx(16);
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
-
|
|
|
- .iconfont {
|
|
|
- margin-right: 10rpx;
|
|
|
+ color: var(--color-navy-900);
|
|
|
+
|
|
|
+ position: relative;
|
|
|
+ padding-left: 20px;
|
|
|
+
|
|
|
+ &:after {
|
|
|
+ content: '';
|
|
|
+ position: absolute;
|
|
|
+ left: 0;
|
|
|
+ top: 50%;
|
|
|
+ transform: translateY(-50%);
|
|
|
+ width: 0;
|
|
|
+ height: 0;
|
|
|
+ border-top: 6px solid transparent;
|
|
|
+ border-bottom: 6px solid transparent;
|
|
|
+ border-left: 8px solid currentColor;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
- }
|
|
|
|
|
|
- .picker-view {
|
|
|
- background: #f5f7fa;
|
|
|
- padding: 20rpx;
|
|
|
- border-radius: 8rpx;
|
|
|
- margin: 20rpx 0;
|
|
|
+ .channelType {
|
|
|
+ font-size: px2rpx(15);
|
|
|
+ font-weight: 600;
|
|
|
+ margin: px2rpx(24) 0 px2rpx(12);
|
|
|
+ color: var(--color-navy-700);
|
|
|
+ padding-left: px2rpx(8);
|
|
|
+ border-left: px2rpx(4) solid var(--color-primary);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- .payment-list {
|
|
|
+ .reselect-btn {
|
|
|
+ margin-top: px2rpx(20);
|
|
|
display: flex;
|
|
|
- flex-wrap: wrap;
|
|
|
- gap: 2%;
|
|
|
+ justify-content: flex-end;
|
|
|
|
|
|
- .payment-card {
|
|
|
- width: 47%;
|
|
|
- background: #fff;
|
|
|
- border-radius: 12rpx;
|
|
|
- margin-bottom: 24rpx;
|
|
|
- padding: 24rpx;
|
|
|
- box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.05);
|
|
|
-
|
|
|
- .icon-wrapper {
|
|
|
- width: 96rpx;
|
|
|
- height: 96rpx;
|
|
|
- margin-right: 24rpx;
|
|
|
- background: #f0f2f5;
|
|
|
- border-radius: 48rpx;
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- justify-content: center;
|
|
|
-
|
|
|
- .icon {
|
|
|
- width: 64rpx;
|
|
|
- height: 64rpx;
|
|
|
- }
|
|
|
+ .reselect {
|
|
|
+ background-color: var(--color-zinc-100);
|
|
|
+ color: var(--color-navy-700);
|
|
|
+ border: none;
|
|
|
+ font-size: px2rpx(14);
|
|
|
+ padding: px2rpx(8) px2rpx(20);
|
|
|
+ border-radius: px2rpx(8);
|
|
|
+
|
|
|
+ &:active {
|
|
|
+ background-color: var(--color-zinc-200);
|
|
|
}
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- .content {
|
|
|
- flex: 1;
|
|
|
-
|
|
|
- .header {
|
|
|
- display: flex;
|
|
|
- justify-content: space-between;
|
|
|
- margin-bottom: 16rpx;
|
|
|
-
|
|
|
- .title {
|
|
|
- font-size: 32rpx;
|
|
|
- font-weight: 600;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- .info-list {
|
|
|
- .info-item {
|
|
|
- display: flex;
|
|
|
- justify-content: space-between;
|
|
|
- margin-bottom: 12rpx;
|
|
|
- font-size: 26rpx;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- .s-btn {
|
|
|
- background: #007aff;
|
|
|
- color: #fff;
|
|
|
- border: none;
|
|
|
- padding: 10rpx 20rpx;
|
|
|
- border-radius: 8rpx;
|
|
|
- margin-top: 16rpx;
|
|
|
+ .s-btn[type="primary"] {
|
|
|
+ width: 100%;
|
|
|
+ height: px2rpx(48);
|
|
|
+ background: var(--color-navy-900);
|
|
|
+ color: #fff;
|
|
|
+ border-radius: px2rpx(12);
|
|
|
+ font-size: px2rpx(16);
|
|
|
+ font-weight: 600;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ border: none;
|
|
|
+ margin-top: px2rpx(30);
|
|
|
+ transition: all 0.2s;
|
|
|
|
|
|
- &.active {
|
|
|
- background: #4caf50;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ &:active {
|
|
|
+ transform: scale(0.98);
|
|
|
+ background: var(--color-navy-800);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
.add-back {
|
|
|
display: flex;
|
|
|
justify-content: space-between;
|
|
|
- margin: 20rpx 0;
|
|
|
+ align-items: center;
|
|
|
+ margin-bottom: px2rpx(12);
|
|
|
+ padding: px2rpx(12) px2rpx(16);
|
|
|
+ background: var(--color-zinc-100);
|
|
|
+ border-radius: px2rpx(8);
|
|
|
+
|
|
|
+ text {
|
|
|
+ font-size: px2rpx(14);
|
|
|
+ color: var(--color-navy-700);
|
|
|
+ font-weight: 500;
|
|
|
+ }
|
|
|
|
|
|
.add-btn {
|
|
|
- color: #007aff;
|
|
|
+ color: var(--color-primary);
|
|
|
+ font-weight: 600;
|
|
|
text-decoration: underline;
|
|
|
- }
|
|
|
- }
|
|
|
|
|
|
- .form-row {
|
|
|
- display: flex;
|
|
|
- flex-wrap: wrap;
|
|
|
-
|
|
|
- .form-item {
|
|
|
- flex: 1;
|
|
|
- margin: 20rpx;
|
|
|
-
|
|
|
- .label {
|
|
|
- font-size: 28rpx;
|
|
|
- color: #666;
|
|
|
- }
|
|
|
-
|
|
|
- .input {
|
|
|
- background: #f5f7fa;
|
|
|
- padding: 20rpx;
|
|
|
- border-radius: 8rpx;
|
|
|
- margin-top: 10rpx;
|
|
|
- }
|
|
|
-
|
|
|
- .error {
|
|
|
- color: #f56c6c;
|
|
|
- font-size: 24rpx;
|
|
|
+ &:active {
|
|
|
+ opacity: 0.7;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
.wire-transfer-account {
|
|
|
- background: #fafafa;
|
|
|
- padding: 20rpx;
|
|
|
- border-radius: 8rpx;
|
|
|
- margin: 20rpx 0;
|
|
|
+ background: var(--color-zinc-50);
|
|
|
+ padding: px2rpx(16);
|
|
|
+ border-radius: px2rpx(12);
|
|
|
+ margin: px2rpx(16) 0;
|
|
|
|
|
|
.row {
|
|
|
display: flex;
|
|
|
- margin-bottom: 15rpx;
|
|
|
+ margin-bottom: px2rpx(12);
|
|
|
+ font-size: px2rpx(14);
|
|
|
+
|
|
|
+ &:last-child {
|
|
|
+ margin-bottom: 0;
|
|
|
+ }
|
|
|
|
|
|
.label {
|
|
|
- width: 200rpx;
|
|
|
+ width: px2rpx(120);
|
|
|
+ color: var(--color-zinc-500);
|
|
|
}
|
|
|
|
|
|
.content {
|
|
|
flex: 1;
|
|
|
+ color: var(--color-navy-900);
|
|
|
+ font-weight: 500;
|
|
|
}
|
|
|
|
|
|
.SpecialColor {
|
|
|
- color: #f56c6c;
|
|
|
+ color: var(--color-error);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
.activities {
|
|
|
- margin: 30rpx 0;
|
|
|
+ margin: px2rpx(24) 0;
|
|
|
|
|
|
.checkbox {
|
|
|
display: flex;
|
|
|
- align-items: center;
|
|
|
- margin-bottom: 20rpx;
|
|
|
+ align-items: flex-start;
|
|
|
+ gap: px2rpx(8);
|
|
|
+ margin-bottom: px2rpx(12);
|
|
|
+
|
|
|
+ :deep(uni-checkbox .uni-checkbox-input) {
|
|
|
+ border-radius: px2rpx(4);
|
|
|
+ width: px2rpx(18);
|
|
|
+ height: px2rpx(18);
|
|
|
+ }
|
|
|
|
|
|
- checkbox {
|
|
|
- margin-right: 20rpx;
|
|
|
+ text {
|
|
|
+ font-size: px2rpx(14);
|
|
|
+ color: var(--color-navy-700);
|
|
|
+ font-weight: 500;
|
|
|
+ line-height: 1.5;
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
- .s-btn {
|
|
|
- background: #007aff;
|
|
|
- color: #fff;
|
|
|
- border: none;
|
|
|
- padding: 20rpx;
|
|
|
- border-radius: 8rpx;
|
|
|
- width: 100%;
|
|
|
- font-size: 32rpx;
|
|
|
- margin-top: 30rpx;
|
|
|
- }
|
|
|
-
|
|
|
- .reselect-btn {
|
|
|
- margin-top: 30rpx;
|
|
|
+ .clause-text {
|
|
|
+ font-size: px2rpx(13);
|
|
|
+ color: var(--color-zinc-500);
|
|
|
+ line-height: 1.6;
|
|
|
+ padding-left: px2rpx(26);
|
|
|
|
|
|
- .reselect {
|
|
|
- background: #f0f0f0;
|
|
|
- color: #333;
|
|
|
+ .clause {
|
|
|
+ color: var(--color-primary);
|
|
|
+ text-decoration: underline;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
.step3-attention {
|
|
|
+ background: var(--color-error-50, #fff1f0);
|
|
|
+ border-radius: px2rpx(12);
|
|
|
+ padding: px2rpx(16);
|
|
|
+ margin-bottom: px2rpx(20);
|
|
|
+
|
|
|
.attention {
|
|
|
- margin: 20rpx 0;
|
|
|
+ font-size: px2rpx(14);
|
|
|
+ color: var(--color-error-600, #cf1322);
|
|
|
line-height: 1.6;
|
|
|
}
|
|
|
|
|
|
.btn-bottom {
|
|
|
- text-align: center;
|
|
|
+ margin-top: px2rpx(20);
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
|
|
|
.btn {
|
|
|
- display: inline-block;
|
|
|
- background: #007aff;
|
|
|
+ background: var(--color-error-600, #cf1322);
|
|
|
color: #fff;
|
|
|
- padding: 20rpx 60rpx;
|
|
|
- border-radius: 40rpx;
|
|
|
+ padding: px2rpx(10) px2rpx(48);
|
|
|
+ border-radius: px2rpx(24);
|
|
|
+ font-size: px2rpx(15);
|
|
|
+ font-weight: 700;
|
|
|
+ box-shadow: 0 px2rpx(4) px2rpx(10) rgba(207, 19, 34, 0.2);
|
|
|
+ transition: all 0.2s;
|
|
|
+
|
|
|
+ &:active {
|
|
|
+ transform: scale(0.96);
|
|
|
+ opacity: 0.8;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-}
|
|
|
|
|
|
-.popup-content {
|
|
|
- background: #fff;
|
|
|
- border-radius: 16rpx;
|
|
|
- padding: 40rpx;
|
|
|
- width: 600rpx;
|
|
|
- text-align: center;
|
|
|
-
|
|
|
- .popup-title {
|
|
|
- font-size: 36rpx;
|
|
|
- font-weight: bold;
|
|
|
- margin-bottom: 30rpx;
|
|
|
- display: block;
|
|
|
- }
|
|
|
+ .upload-box {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ gap: px2rpx(12);
|
|
|
+
|
|
|
+ .btn-upload {
|
|
|
+ background: var(--color-zinc-100);
|
|
|
+ border: px2rpx(1) dashed var(--color-zinc-300);
|
|
|
+ border-radius: px2rpx(8);
|
|
|
+ height: px2rpx(44);
|
|
|
+ font-size: px2rpx(14);
|
|
|
+ color: var(--color-zinc-600);
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ padding: 0 px2rpx(20);
|
|
|
+ }
|
|
|
|
|
|
- .popup-text {
|
|
|
- font-size: 28rpx;
|
|
|
- line-height: 1.6;
|
|
|
- margin: 20rpx 0;
|
|
|
+ .img-preview {
|
|
|
+ width: px2rpx(44);
|
|
|
+ height: px2rpx(44);
|
|
|
+ border-radius: px2rpx(4);
|
|
|
+ object-fit: cover;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- .popup-form {
|
|
|
+ .label-with-icon {
|
|
|
+ font-size: px2rpx(14);
|
|
|
+ color: #606266;
|
|
|
+ box-sizing: border-box;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ padding: 0 0 8px;
|
|
|
+ height: px2rpx(36);
|
|
|
+ line-height: 1.5715;
|
|
|
text-align: left;
|
|
|
- margin: 30rpx 0;
|
|
|
+ /* #ifndef APP-NVUE */
|
|
|
+ white-space: initial;
|
|
|
+ /* #endif */
|
|
|
+
|
|
|
+ .help-icon {
|
|
|
+ margin-left: px2rpx(8);
|
|
|
+ width: px2rpx(16);
|
|
|
+ height: px2rpx(16);
|
|
|
+ background: var(--color-zinc-200);
|
|
|
+ border-radius: 50%;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ font-size: px2rpx(12);
|
|
|
+ color: var(--color-zinc-600);
|
|
|
+ cursor: pointer;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .tooltip-content {
|
|
|
+ :deep(.uni-tooltip-popup) {
|
|
|
+ background-color: #fff !important;
|
|
|
+ box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1) !important;
|
|
|
+ width: px2rpx(300) !important;
|
|
|
+ color: var(--color-zinc-500);
|
|
|
+ line-height: 1.6;
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- .popup-row {
|
|
|
- margin-bottom: 20rpx;
|
|
|
+ .error {
|
|
|
+ color: var(--color-error);
|
|
|
+ font-size: px2rpx(12);
|
|
|
+ margin-top: px2rpx(4);
|
|
|
+ display: block;
|
|
|
+ }
|
|
|
|
|
|
- .label {
|
|
|
- font-weight: bold;
|
|
|
+ :deep(.base-info-form) {
|
|
|
+ .uni-row1 {
|
|
|
+ .uni-col {
|
|
|
+ padding: 0 px2rpx(10) !important;
|
|
|
+ }
|
|
|
+
|
|
|
+ .uni-forms-item {
|
|
|
+ min-height: px2rpx(79);
|
|
|
+ margin-bottom: px2rpx(10);
|
|
|
+ position: relative;
|
|
|
+ }
|
|
|
+
|
|
|
+ .uni-select,
|
|
|
+ .uni-combox,
|
|
|
+ .uni-easyinput__content,
|
|
|
+ .uni-date-editor--x {
|
|
|
+ border: none !important;
|
|
|
+ background-color: var(--color-zinc-100) !important;
|
|
|
+ border-radius: px2rpx(8) !important;
|
|
|
}
|
|
|
|
|
|
- .small-input {
|
|
|
- width: 120rpx;
|
|
|
- display: inline-block;
|
|
|
+ .uni-easyinput__content-input {
|
|
|
+ height: px2rpx(44) !important;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- .popup-buttons {
|
|
|
- display: flex;
|
|
|
- justify-content: space-around;
|
|
|
- margin-top: 30rpx;
|
|
|
+ .popup-content {
|
|
|
+ background: #fff;
|
|
|
+ border-radius: px2rpx(20);
|
|
|
+ padding: px2rpx(24);
|
|
|
+ width: px2rpx(320);
|
|
|
+ text-align: center;
|
|
|
+
|
|
|
+ .popup-title {
|
|
|
+ font-size: px2rpx(18);
|
|
|
+ font-weight: 700;
|
|
|
+ margin-bottom: px2rpx(20);
|
|
|
+ color: var(--color-navy-900);
|
|
|
+ display: block;
|
|
|
+ }
|
|
|
+
|
|
|
+ .popup-text {
|
|
|
+ font-size: px2rpx(14);
|
|
|
+ line-height: 1.6;
|
|
|
+ color: var(--color-zinc-600);
|
|
|
+ margin-bottom: px2rpx(20);
|
|
|
+ display: block;
|
|
|
+ }
|
|
|
|
|
|
- button {
|
|
|
- flex: 1;
|
|
|
- margin: 0 20rpx;
|
|
|
+ .popup-form {
|
|
|
+ background: var(--color-zinc-50);
|
|
|
+ border-radius: px2rpx(12);
|
|
|
+ padding: px2rpx(16);
|
|
|
+ margin-bottom: px2rpx(24);
|
|
|
+ text-align: left;
|
|
|
+
|
|
|
+ .popup-row {
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ margin-bottom: px2rpx(12);
|
|
|
+ font-size: px2rpx(14);
|
|
|
+
|
|
|
+ &:last-child {
|
|
|
+ margin-bottom: 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ .label {
|
|
|
+ color: var(--color-zinc-500);
|
|
|
+ font-weight: 500;
|
|
|
+ }
|
|
|
+
|
|
|
+ text:not(.label) {
|
|
|
+ color: var(--color-navy-900);
|
|
|
+ font-weight: 500;
|
|
|
+ }
|
|
|
+
|
|
|
+ .small-input {
|
|
|
+ width: px2rpx(60);
|
|
|
+ background: #fff;
|
|
|
+ border: px2rpx(1) solid var(--color-zinc-200);
|
|
|
+ border-radius: px2rpx(4);
|
|
|
+ padding: 0 px2rpx(4);
|
|
|
+ height: px2rpx(24);
|
|
|
+ font-size: px2rpx(12);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .popup-buttons {
|
|
|
+ display: flex;
|
|
|
+ gap: px2rpx(12);
|
|
|
+
|
|
|
+ button {
|
|
|
+ flex: 1;
|
|
|
+ height: px2rpx(44);
|
|
|
+ border-radius: px2rpx(10);
|
|
|
+ font-size: px2rpx(15);
|
|
|
+ font-weight: 600;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ border: none;
|
|
|
+
|
|
|
+ &[type="primary"] {
|
|
|
+ background: var(--color-navy-900);
|
|
|
+ color: #fff;
|
|
|
+ }
|
|
|
+
|
|
|
+ &:not([type="primary"]) {
|
|
|
+ background: var(--color-zinc-100);
|
|
|
+ color: var(--color-zinc-600);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .result-icon {
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ margin-bottom: px2rpx(16);
|
|
|
+
|
|
|
+ .iconfont {
|
|
|
+ font-size: px2rpx(48);
|
|
|
+
|
|
|
+ &.iconchenggong {
|
|
|
+ color: #52c41a;
|
|
|
+ }
|
|
|
+
|
|
|
+ &.iconjingshi {
|
|
|
+ color: #faad14;
|
|
|
+ }
|
|
|
+
|
|
|
+ &.icondengdai {
|
|
|
+ color: var(--color-primary);
|
|
|
+ animation: rotate 2s linear infinite;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- .result-icon {
|
|
|
- font-size: 80rpx;
|
|
|
- margin-bottom: 20rpx;
|
|
|
+ @keyframes rotate {
|
|
|
+ from {
|
|
|
+ transform: rotate(0deg);
|
|
|
+ }
|
|
|
+
|
|
|
+ to {
|
|
|
+ transform: rotate(360deg);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
</style>
|