|
@@ -1,36 +1,35 @@
|
|
|
<template>
|
|
|
<div class="overlay" v-if="visible">
|
|
|
- <div class="content"
|
|
|
- :style="{height: dialogHeight +'px', width: !showPreview ? '650px' : 'auto' }">
|
|
|
+ <div class="content" :style="{ height: dialogHeight + 'px', width: !showPreview ? '650px' : 'auto' }">
|
|
|
<div class="head">
|
|
|
<div class="left">
|
|
|
<div class="close-btn" @click="close">
|
|
|
- <img class="icon-close" v-if="!showPreview" :src="require('../../assets/svg/icon-close.svg')" />
|
|
|
- <img class="icon-close" v-else :src="require('../../assets/svg/icon-back.svg')" />
|
|
|
+ <img class="icon-close" v-if="!showPreview" :src="require('@/assets/svg/icon-close.svg')" />
|
|
|
+ <img class="icon-close" v-else :src="require('@/assets/svg/icon-back.svg')" />
|
|
|
</div>
|
|
|
<div class="title">
|
|
|
Giveaways
|
|
|
</div>
|
|
|
</div>
|
|
|
- <!-- <img class="icon-question" :src="require('../../assets/svg/icon-question.svg')"> -->
|
|
|
+ <!-- <img class="icon-question" :src="require('@/assets/svg/icon-question.svg')"> -->
|
|
|
</div>
|
|
|
<div class="body">
|
|
|
<div class="left">
|
|
|
<div class="gift-pack-wrapper">
|
|
|
- <img class="icon" :src="require('../../assets/svg/icon-gift-pack.svg')">
|
|
|
+ <img class="icon" :src="require('@/assets/svg/icon-gift-pack.svg')">
|
|
|
</div>
|
|
|
<div class="bottom">
|
|
|
- <!-- <img class="icon" :src="require('../../assets/svg/icon-wallet.svg')">
|
|
|
- <img class="icon" :src="require('../../assets/svg/icon-setting.svg')"> -->
|
|
|
+ <!-- <img class="icon" :src="require('@/assets/svg/icon-wallet.svg')">
|
|
|
+ <img class="icon" :src="require('@/assets/svg/icon-setting.svg')"> -->
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="right">
|
|
|
<template v-if="!showPreview">
|
|
|
<div class="form-wrapper">
|
|
|
<div class="error-msg" v-if="iptErrMsgTxt">
|
|
|
- {{iptErrMsgTxt}}
|
|
|
+ {{ iptErrMsgTxt }}
|
|
|
</div>
|
|
|
- <img class="img-mode" src="../../assets/img/img-mode.png">
|
|
|
+ <img class="img-mode" src="@/assets/img/img-mode.png">
|
|
|
<div class="form-base-title">
|
|
|
Reward
|
|
|
<div class="msg">
|
|
@@ -40,63 +39,49 @@
|
|
|
<div class="form-base">
|
|
|
<div class="item">
|
|
|
<div class="label">
|
|
|
- <img class="icon"
|
|
|
- :src="require('../../assets/svg/icon-usd.svg')" />
|
|
|
+ <img class="icon" :src="require('@/assets/svg/icon-usd.svg')" />
|
|
|
USD
|
|
|
</div>
|
|
|
- <el-input
|
|
|
- v-model="baseFormData.amountValue"
|
|
|
- placeholder="Amount entered"
|
|
|
- autofocus
|
|
|
- @input = "onUsdInput"
|
|
|
- @blur = "onUsdBlur"
|
|
|
- :input-style="{ 'box-shadow': 'none','padding': '1px', 'width': '110px', 'text-align': 'right', 'font-size' : '15px', 'color': '#000' }"/>
|
|
|
+ <el-input v-model="baseFormData.amountValue" placeholder="Amount entered" autofocus
|
|
|
+ @input="onUsdInput" @blur="onUsdBlur"
|
|
|
+ :input-style="{ 'box-shadow': 'none', 'padding': '1px', 'width': '110px', 'text-align': 'right', 'font-size': '15px', 'color': '#000' }" />
|
|
|
</div>
|
|
|
<div class="item">
|
|
|
<div class="label">
|
|
|
- <img class="icon"
|
|
|
- :src="require('../../assets/svg/icon-quantity.svg')" />
|
|
|
+ <img class="icon" :src="require('@/assets/svg/icon-quantity.svg')" />
|
|
|
Quantity
|
|
|
- </div>
|
|
|
- <el-input
|
|
|
- v-model="baseFormData.totalCount"
|
|
|
- placeholder="Quantity entered"
|
|
|
- @input = "onCountInput"
|
|
|
- @blur = "onCountBlur"
|
|
|
- :input-style="{ 'box-shadow': 'none','padding': '1px', 'width': '120px',
|
|
|
- 'text-align': 'right', 'font-size' : '15px', 'color': '#000'}"/>
|
|
|
+ </div>
|
|
|
+ <el-input v-model="baseFormData.totalCount" placeholder="Quantity entered"
|
|
|
+ @input="onCountInput" @blur="onCountBlur" :input-style="{
|
|
|
+ 'box-shadow': 'none', 'padding': '1px', 'width': '120px',
|
|
|
+ 'text-align': 'right', 'font-size': '15px', 'color': '#000'
|
|
|
+ }" />
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="form-label">
|
|
|
Tasks
|
|
|
</div>
|
|
|
<div class="form-require">
|
|
|
- <div
|
|
|
- class="form-item"
|
|
|
- v-for="(item, index) in formList"
|
|
|
- :key="index">
|
|
|
+ <div class="form-item" v-for="(item, index) in formList" :key="index">
|
|
|
<div class="label">
|
|
|
- <img class="icon"
|
|
|
- :src="item.icon" />
|
|
|
+ <img class="icon" :src="item.icon" />
|
|
|
{{ item.label }}
|
|
|
</div>
|
|
|
- <div class="control" v-if="item.nodeType == 'textarea'">
|
|
|
- <follow-input
|
|
|
- :isAddSelf="!isBack"
|
|
|
- :atUserList="atUserList"
|
|
|
- @addUser="addFollowUser" @setUser="setFollowUser"
|
|
|
- @delUser="delFollowUser"></follow-input>
|
|
|
+ <div class="control" v-if="item.nodeType == 'textarea'">
|
|
|
+ <follow-input :isAddSelf="!isBack" :atUserList="atUserList"
|
|
|
+ @addUser="addFollowUser" @setUser="setFollowUser" @delUser="delFollowUser">
|
|
|
+ </follow-input>
|
|
|
</div>
|
|
|
<el-switch v-if="item.type == 2" v-model="item.checked" />
|
|
|
- <img v-if="item.type == 3" :src="require('../../assets/svg/icon-option-checked.svg')" />
|
|
|
+ <img v-if="item.type == 3" :src="require('@/assets/svg/icon-option-checked.svg')" />
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="anti-bot-wrapper">
|
|
|
<div class="label">
|
|
|
- <img :src="require('../../assets/svg/icon-anti-bot.svg')" class="icon-bot">
|
|
|
+ <img :src="require('@/assets/svg/icon-anti-bot.svg')" class="icon-bot">
|
|
|
Anti Bot
|
|
|
- <img :src="require('../../assets/svg/icon-beta.svg')" class="icon-beta">
|
|
|
- <img :src="require('../../assets/svg/icon-question.svg')" class="icon-question">
|
|
|
+ <img :src="require('@/assets/svg/icon-beta.svg')" class="icon-beta">
|
|
|
+ <img :src="require('@/assets/svg/icon-question.svg')" class="icon-question">
|
|
|
</div>
|
|
|
<el-switch v-model="openAntiBot" />
|
|
|
</div>
|
|
@@ -105,13 +90,16 @@
|
|
|
TIPS
|
|
|
</div>
|
|
|
<div class="row">
|
|
|
- 1. Only after the user completes the tasks you set, they can claim your red envelopes
|
|
|
+ 1. Only after the user completes the tasks you set, they can claim your red
|
|
|
+ envelopes
|
|
|
</div>
|
|
|
<div class="row">
|
|
|
2. Each user can only receive one red envelope
|
|
|
</div>
|
|
|
<div class="row">
|
|
|
- 3. The red envelope issued is valid for 7 days. Please promote your red envelope as much as possible within the validity period. After the red envelope expires, the red envelope will be returned to your DeNet wallet.
|
|
|
+ 3. The red envelope issued is valid for 7 days. Please promote your red envelope as
|
|
|
+ much as possible within the validity period. After the red envelope expires, the red
|
|
|
+ envelope will be returned to your DeNet wallet.
|
|
|
</div>
|
|
|
<div class="more">
|
|
|
More
|
|
@@ -120,7 +108,8 @@
|
|
|
|
|
|
<div class="submit-btn-wrapper">
|
|
|
<div class="submit-btn" @click="confirm">
|
|
|
- <img class="icon-loading" v-if="submitIng" :src="require('../../assets/svg/icon-btn-loading.svg')" />
|
|
|
+ <img class="icon-loading" v-if="submitIng"
|
|
|
+ :src="require('@/assets/svg/icon-btn-loading.svg')" />
|
|
|
NEXT
|
|
|
</div>
|
|
|
</div>
|
|
@@ -130,31 +119,25 @@
|
|
|
<preview-card :postData="publishRes" :baseFormData="baseFormData"></preview-card>
|
|
|
</template>
|
|
|
<div v-show="showPreview">
|
|
|
- <paypal-button
|
|
|
- :finalAmountData="finalAmountData"
|
|
|
- :payConfig="{
|
|
|
- paypalClientId,
|
|
|
- paypalHtml
|
|
|
- }"
|
|
|
- @payPalFinsh="payPalFinsh"></paypal-button>
|
|
|
+ <paypal-button :finalAmountData="finalAmountData" :payConfig="{
|
|
|
+ paypalClientId,
|
|
|
+ paypalHtml
|
|
|
+ }" @payPalFinsh="payPalFinsh"></paypal-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <message-box :dialogVisible="showMessageBox"
|
|
|
- :title="messageBoxData.title"
|
|
|
- :content="messageBoxData.content"
|
|
|
- @cancel="messageBoxCancel"
|
|
|
- @confirm="messageBoxConfirm"></message-box>
|
|
|
+ <message-box :dialogVisible="showMessageBox" :title="messageBoxData.title" :content="messageBoxData.content"
|
|
|
+ @cancel="messageBoxCancel" @confirm="messageBoxConfirm"></message-box>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
|
import { ref, watch, reactive, defineProps, defineEmits, onMounted } from "vue";
|
|
|
-import {postPublish, verifyPaypalResult} from "../../http/publishApi"
|
|
|
-import {payCalcFee, getPayConfig} from "../../http/pay"
|
|
|
-import {getFrontConfig} from "../../http/account"
|
|
|
-import { ElMessage, ElLoading} from 'element-plus';
|
|
|
+import { postPublish, verifyPaypalResult } from "@/http/publishApi"
|
|
|
+import { payCalcFee, getPayConfig } from "@/http/pay"
|
|
|
+import { getFrontConfig } from "@/http/account"
|
|
|
+import { ElMessage, ElLoading } from 'element-plus';
|
|
|
import 'element-plus/es/components/message/style/css'
|
|
|
|
|
|
import previewCard from "./preview-card";
|
|
@@ -198,7 +181,7 @@ let baseFormData = reactive({
|
|
|
let formList = reactive([
|
|
|
{
|
|
|
label: "Follow",
|
|
|
- icon: require('../../assets/svg/icon-follow.svg'),
|
|
|
+ icon: require('@/assets/svg/icon-follow.svg'),
|
|
|
nodeType: 'textarea',
|
|
|
type: 1,
|
|
|
text: [],
|
|
@@ -206,14 +189,14 @@ let formList = reactive([
|
|
|
},
|
|
|
{
|
|
|
label: "Retweet",
|
|
|
- icon: require('../../assets/svg/icon-retweet.svg'),
|
|
|
+ icon: require('@/assets/svg/icon-retweet.svg'),
|
|
|
nodeType: 'div',
|
|
|
type: 3,
|
|
|
checked: true
|
|
|
},
|
|
|
{
|
|
|
label: "Like tweet",
|
|
|
- icon: require('../../assets/svg/icon-like.svg'),
|
|
|
+ icon: require('@/assets/svg/icon-like.svg'),
|
|
|
nodeType: 'div',
|
|
|
type: 2,
|
|
|
checked: true
|
|
@@ -231,7 +214,7 @@ watch(
|
|
|
() => props.dialogVisible,
|
|
|
(newVal) => {
|
|
|
console.log("watch", newVal);
|
|
|
- if(newVal) {
|
|
|
+ if (newVal) {
|
|
|
setTimeout(() => {
|
|
|
setDialogHeight();
|
|
|
}, 300)
|
|
@@ -256,23 +239,23 @@ const setDialogHeight = () => {
|
|
|
let clientHeight = window.innerHeight;
|
|
|
let gapSafe = 40;
|
|
|
|
|
|
- if(dialogHeight.value > clientHeight - gapSafe) {
|
|
|
+ if (dialogHeight.value > clientHeight - gapSafe) {
|
|
|
dialogHeight.value = clientHeight - gapSafe;
|
|
|
}
|
|
|
};
|
|
|
|
|
|
const getPayAmount = (amountValue, cb) => {
|
|
|
payCalcFee({
|
|
|
- params : {
|
|
|
+ params: {
|
|
|
amountValue,
|
|
|
currencyCode: "USD",
|
|
|
payChannel: 1
|
|
|
}
|
|
|
}).then(res => {
|
|
|
- if(res.code == 0) {
|
|
|
+ if (res.code == 0) {
|
|
|
cb && cb(res.data);
|
|
|
- let {finalAmountValue} = res.data;
|
|
|
- if(finalAmountValue >= 100) {
|
|
|
+ let { finalAmountValue } = res.data;
|
|
|
+ if (finalAmountValue >= 100) {
|
|
|
res.data.finalAmountValue = finalAmountValue / 100;
|
|
|
finalAmountData.value = res.data
|
|
|
}
|
|
@@ -281,14 +264,14 @@ const getPayAmount = (amountValue, cb) => {
|
|
|
}
|
|
|
|
|
|
const confirm = () => {
|
|
|
- if(submitIng.value) {
|
|
|
+ if (submitIng.value) {
|
|
|
return;
|
|
|
}
|
|
|
- let {totalCount = 0} = baseFormData;
|
|
|
- if(!totalCount) {
|
|
|
+ let { totalCount = 0 } = baseFormData;
|
|
|
+ if (!totalCount) {
|
|
|
return;
|
|
|
}
|
|
|
- if(!calcIptValue()) {
|
|
|
+ if (!calcIptValue()) {
|
|
|
return;
|
|
|
}
|
|
|
submitRequest();
|
|
@@ -311,19 +294,19 @@ const messageBoxConfirm = () => {
|
|
|
}
|
|
|
|
|
|
const submitRequest = () => {
|
|
|
- let {amountValue = 0, totalCount = 0, amountCurrencyCode} = baseFormData;
|
|
|
+ let { amountValue = 0, totalCount = 0, amountCurrencyCode } = baseFormData;
|
|
|
formList[0]['text'] = atUserList.value;
|
|
|
amountValue = amountValue * 100; // 元转分
|
|
|
-
|
|
|
+
|
|
|
let finishConditions = [];
|
|
|
- for(let i = 0; i < formList.length; i++) {
|
|
|
+ for (let i = 0; i < formList.length; i++) {
|
|
|
let item = {};
|
|
|
item.type = formList[i]['type'];
|
|
|
- if(item.type == 1 && formList[i]['text']) { // follow 参数
|
|
|
+ if (item.type == 1 && formList[i]['text']) { // follow 参数
|
|
|
let relatedUsers = formList[i]['text'];
|
|
|
item.relatedUsers = relatedUsers;
|
|
|
finishConditions.push(item);
|
|
|
- } else if(formList[i]['checked']){
|
|
|
+ } else if (formList[i]['checked']) {
|
|
|
finishConditions.push(item);
|
|
|
}
|
|
|
}
|
|
@@ -347,7 +330,7 @@ const submitRequest = () => {
|
|
|
}
|
|
|
postPublish(data).then((res) => {
|
|
|
submitIng.value = false;
|
|
|
- if(res.code == 0) {
|
|
|
+ if (res.code == 0) {
|
|
|
publishRes = res.data;
|
|
|
// setPreviewDialogHeight();
|
|
|
showPreview.value = true;
|
|
@@ -366,12 +349,12 @@ const calcIptValue = (cb) => {
|
|
|
let totalCount = baseFormData.totalCount;
|
|
|
let flag = true;
|
|
|
|
|
|
- if(!amountValue || !totalCount) {
|
|
|
+ if (!amountValue || !totalCount) {
|
|
|
return flag;
|
|
|
}
|
|
|
|
|
|
//每人平均要分到大于 0.01美元(1美分)
|
|
|
- if((amountValue * 100) / totalCount < 1) {
|
|
|
+ if ((amountValue * 100) / totalCount < 1) {
|
|
|
flag = false;
|
|
|
}
|
|
|
cb && cb(flag);
|
|
@@ -391,8 +374,8 @@ const payPalFinsh = (params) => {
|
|
|
let transaction = params.transaction;
|
|
|
console.log('transaction', transaction)
|
|
|
let loadingInstance = ElLoading.service({
|
|
|
- background: 'rgba(0,0,0,.3)'
|
|
|
- })
|
|
|
+ background: 'rgba(0,0,0,.3)'
|
|
|
+ })
|
|
|
verifyPaypalResult({
|
|
|
params: {
|
|
|
paypalTransactionId: transaction.id,
|
|
@@ -401,13 +384,13 @@ const payPalFinsh = (params) => {
|
|
|
}
|
|
|
}).then((res) => {
|
|
|
loadingInstance.close();
|
|
|
- if(res.code == 0) {
|
|
|
+ if (res.code == 0) {
|
|
|
//支付状态 0:未支付,1:支付成功,2:支付失败,3:已关闭,4:已退款
|
|
|
- if(res.data) {
|
|
|
+ if (res.data) {
|
|
|
let payStatus = res.data.payStatus;
|
|
|
switch (payStatus) {
|
|
|
case 1:
|
|
|
- emits("payPalFinsh", {publishRes});
|
|
|
+ emits("payPalFinsh", { publishRes });
|
|
|
showPreview.value = false;
|
|
|
initParams();
|
|
|
break;
|
|
@@ -450,7 +433,7 @@ const delFollowUser = (params) => {
|
|
|
}
|
|
|
|
|
|
const onUsdInput = (val) => {
|
|
|
- val = val.replace(/[^\d]/g,'');
|
|
|
+ val = val.replace(/[^\d]/g, '');
|
|
|
baseFormData.amountValue = val;
|
|
|
|
|
|
setIptAmountErrorMsg();
|
|
@@ -459,11 +442,11 @@ const onUsdInput = (val) => {
|
|
|
}
|
|
|
|
|
|
const onCountInput = (val) => {
|
|
|
- if(val == 0) {
|
|
|
+ if (val == 0) {
|
|
|
val = ''
|
|
|
}
|
|
|
- val = val.replace(/[^\d]/g,'');
|
|
|
- if(val > 9999) {
|
|
|
+ val = val.replace(/[^\d]/g, '');
|
|
|
+ if (val > 9999) {
|
|
|
val = 9999;
|
|
|
}
|
|
|
baseFormData.totalCount = val;
|
|
@@ -472,11 +455,11 @@ const onCountInput = (val) => {
|
|
|
}
|
|
|
|
|
|
const onUsdBlur = () => {
|
|
|
- if(!baseFormData.amountValue) {
|
|
|
+ if (!baseFormData.amountValue) {
|
|
|
iptErrMsgTxt.value = 'Please enter the giveaways amount in USD input box.';
|
|
|
} else {
|
|
|
setIptAmountErrorMsg((res) => {
|
|
|
- if(res) {
|
|
|
+ if (res) {
|
|
|
iptErrMsgTxt.value = '';
|
|
|
}
|
|
|
})
|
|
@@ -484,11 +467,11 @@ const onUsdBlur = () => {
|
|
|
}
|
|
|
|
|
|
const onCountBlur = () => {
|
|
|
- if(!baseFormData.totalCount) {
|
|
|
+ if (!baseFormData.totalCount) {
|
|
|
iptErrMsgTxt.value = 'Please enter the number of giveaways in Quantity input box.';
|
|
|
} else {
|
|
|
setIptAmountErrorMsg((res) => {
|
|
|
- if(res) {
|
|
|
+ if (res) {
|
|
|
iptErrMsgTxt.value = '';
|
|
|
}
|
|
|
})
|
|
@@ -497,7 +480,7 @@ const onCountBlur = () => {
|
|
|
|
|
|
const setIptAmountErrorMsg = (cb) => {
|
|
|
let res = calcIptValue();
|
|
|
- if(!res) {
|
|
|
+ if (!res) {
|
|
|
iptErrMsgTxt.value = `If you wish to send ${baseFormData.totalCount} red packets, please send USD amount > $${baseFormData.totalCount * 0.01}`;
|
|
|
} else {
|
|
|
iptErrMsgTxt.value = '';
|
|
@@ -509,7 +492,7 @@ const setPayConfig = () => {
|
|
|
getPayConfig({
|
|
|
params: {}
|
|
|
}).then(res => {
|
|
|
- if(res.code ==0) {
|
|
|
+ if (res.code == 0) {
|
|
|
paypalClientId.value = res.data.paypalClientId
|
|
|
}
|
|
|
})
|
|
@@ -517,9 +500,9 @@ const setPayConfig = () => {
|
|
|
|
|
|
const setFrontConfig = () => {
|
|
|
getFrontConfig({
|
|
|
- params : {}
|
|
|
+ params: {}
|
|
|
}).then(res => {
|
|
|
- if(res.code == 0) {
|
|
|
+ if (res.code == 0) {
|
|
|
paypalHtml.value = res.data.paypalHtml
|
|
|
}
|
|
|
})
|
|
@@ -528,11 +511,11 @@ const setFrontConfig = () => {
|
|
|
onMounted(() => {
|
|
|
setFrontConfig();
|
|
|
setPayConfig();
|
|
|
- document.onkeydown = function(e){
|
|
|
- var keyNum=window.event ? e.keyCode :e.which;
|
|
|
+ document.onkeydown = function (e) {
|
|
|
+ var keyNum = window.event ? e.keyCode : e.which;
|
|
|
let escKey = 27;
|
|
|
- if(keyNum == escKey) {
|
|
|
- if(visible.value) {
|
|
|
+ if (keyNum == escKey) {
|
|
|
+ if (visible.value) {
|
|
|
close();
|
|
|
}
|
|
|
}
|
|
@@ -546,6 +529,7 @@ onMounted(() => {
|
|
|
.ql-container {
|
|
|
height: 100px;
|
|
|
}
|
|
|
+
|
|
|
.overlay {
|
|
|
position: fixed;
|
|
|
top: 0;
|
|
@@ -673,6 +657,7 @@ onMounted(() => {
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
justify-content: space-between;
|
|
|
+
|
|
|
.msg {
|
|
|
font-weight: 500;
|
|
|
font-size: 12px;
|
|
@@ -738,6 +723,7 @@ onMounted(() => {
|
|
|
align-items: center;
|
|
|
font-size: 15px;
|
|
|
font-weight: 500;
|
|
|
+
|
|
|
.icon {
|
|
|
margin-right: 10px;
|
|
|
}
|
|
@@ -768,16 +754,19 @@ onMounted(() => {
|
|
|
|
|
|
.label {
|
|
|
display: flex;
|
|
|
- align-items: center ;
|
|
|
+ align-items: center;
|
|
|
font-size: 15px;
|
|
|
font-weight: 500;
|
|
|
+
|
|
|
.icon-bot {
|
|
|
margin-right: 8px;
|
|
|
}
|
|
|
+
|
|
|
.icon-beta {
|
|
|
margin-left: 5px;
|
|
|
margin-right: 8px;
|
|
|
}
|
|
|
+
|
|
|
.icon-question {
|
|
|
cursor: pointer;
|
|
|
}
|
|
@@ -787,11 +776,14 @@ onMounted(() => {
|
|
|
|
|
|
.tips-wrapper {
|
|
|
margin-top: 23px;
|
|
|
- .title, .row {
|
|
|
+
|
|
|
+ .title,
|
|
|
+ .row {
|
|
|
font-weight: 400;
|
|
|
font-size: 13px;
|
|
|
color: rgba(0, 0, 0, 0.3);
|
|
|
}
|
|
|
+
|
|
|
.row {
|
|
|
box-sizing: border-box;
|
|
|
padding-left: 4px;
|
|
@@ -813,6 +805,7 @@ onMounted(() => {
|
|
|
left: 0;
|
|
|
box-sizing: border-box;
|
|
|
padding-top: 16px;
|
|
|
+
|
|
|
.submit-btn {
|
|
|
width: calc(100% - 36px);
|
|
|
height: 46px;
|
|
@@ -828,7 +821,7 @@ onMounted(() => {
|
|
|
font-size: 16px;
|
|
|
font-weight: 500;
|
|
|
cursor: pointer;
|
|
|
-
|
|
|
+
|
|
|
.icon-loading {
|
|
|
width: 20px;
|
|
|
height: 20px;
|