|
@@ -71,288 +71,298 @@
|
|
|
</div>
|
|
|
|
|
|
<div class="left" v-if="showComType != 'preview'">
|
|
|
- <div class="gift-pack-wrapper">
|
|
|
- <img class="icon" :src="require('@/assets/svg/icon-gift-pack.svg')"/>
|
|
|
- </div>
|
|
|
- <div class="bottom">
|
|
|
+ <div class="tab-item"
|
|
|
+ :class="{'active-tab': item.type == publishType}"
|
|
|
+ v-for="(item, index) in leftTabList"
|
|
|
+ :key="index"
|
|
|
+ @click="clickLeftTab(item, index)"
|
|
|
+ >
|
|
|
+ <img class="icon" :src="item.icon"/>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
<div class="right"
|
|
|
:class="{'fill-right': showComType == 'preview'}">
|
|
|
<global-tip :type="'2'"></global-tip>
|
|
|
- <div class="form-wrapper" v-if="showComType == 'default'">
|
|
|
- <div class="form-cell-item base-form-wrapper">
|
|
|
- <div class="title">
|
|
|
- <img class="icon" :src="require('@/assets/svg/icon-reward-v2.svg')"/>
|
|
|
- Reward
|
|
|
- </div>
|
|
|
- <div class="form-cell-content">
|
|
|
- <div class="select-mode-ele">
|
|
|
- <img v-for="(item, index) in publishModeList"
|
|
|
- :key="index"
|
|
|
- :src="selectModeInfo.index == index ? item.imgActive : item.imgInActive"
|
|
|
- @click="selectPublishMode(item, index)">
|
|
|
+
|
|
|
+
|
|
|
+ <template v-if="publishType == 'TOOL_BOX'">
|
|
|
+ <tool-box></tool-box>
|
|
|
+ </template>
|
|
|
+ <template v-else>
|
|
|
+ <div class="form-wrapper" v-if="showComType == 'default'">
|
|
|
+ <div class="form-cell-item base-form-wrapper">
|
|
|
+ <div class="title">
|
|
|
+ <img class="icon" :src="require('@/assets/svg/icon-reward-v2.svg')"/>
|
|
|
+ Reward
|
|
|
</div>
|
|
|
- <!-- 金额、数量 -->
|
|
|
- <div class="form-base">
|
|
|
- <div class="item currency-select-wrapper">
|
|
|
- <div>
|
|
|
- <div class="label currency-select"
|
|
|
- :class="{'selected': currentCurrencyInfo.currencyCode}"
|
|
|
- @click="selectCurrencyPopHandle">
|
|
|
- <img class="icon"
|
|
|
- v-if="currentCurrencyInfo.iconPath"
|
|
|
- :src="currentCurrencyInfo.iconPath"/>
|
|
|
- <div class="text">
|
|
|
- {{currentCurrencyInfo.currencyCode == 'USD' ? 'USD' : currentCurrencyInfo.tokenSymbol || 'Select a reward'}}
|
|
|
+ <div class="form-cell-content">
|
|
|
+ <div class="select-mode-ele">
|
|
|
+ <img v-for="(item, index) in publishModeList"
|
|
|
+ :key="index"
|
|
|
+ :src="selectModeInfo.index == index ? item.imgActive : item.imgInActive"
|
|
|
+ @click="selectPublishMode(item, index)">
|
|
|
+ </div>
|
|
|
+ <!-- 金额、数量 -->
|
|
|
+ <div class="form-base">
|
|
|
+ <div class="item currency-select-wrapper">
|
|
|
+ <div>
|
|
|
+ <div class="label currency-select"
|
|
|
+ :class="{'selected': currentCurrencyInfo.currencyCode}"
|
|
|
+ @click="selectCurrencyPopHandle">
|
|
|
+ <img class="icon"
|
|
|
+ v-if="currentCurrencyInfo.iconPath"
|
|
|
+ :src="currentCurrencyInfo.iconPath"/>
|
|
|
+ <div class="text">
|
|
|
+ {{currentCurrencyInfo.currencyCode == 'USD' ? 'USD' : currentCurrencyInfo.tokenSymbol || 'Select a reward'}}
|
|
|
+ </div>
|
|
|
+ <img class="arrow"
|
|
|
+ :src="currentCurrencyInfo.currencyCode ?
|
|
|
+ require('@/assets/svg/icon-form-arrow-down.svg') : require('@/assets/svg/icon-form-white-arrow-down.svg')"/>
|
|
|
</div>
|
|
|
- <img class="arrow"
|
|
|
- :src="currentCurrencyInfo.currencyCode ?
|
|
|
- require('@/assets/svg/icon-form-arrow-down.svg') : require('@/assets/svg/icon-form-white-arrow-down.svg')"/>
|
|
|
- </div>
|
|
|
|
|
|
- <!-- 刷新按钮、充值 -->
|
|
|
- <div class="currency-operation"
|
|
|
- v-if="currentCurrencyInfo.currencyCode">
|
|
|
- <div class="amount">
|
|
|
- Balance:
|
|
|
- <a-tooltip :title="currentCurrencyInfo.balance">
|
|
|
- {{ getBit(currentCurrencyInfo.balance) }}
|
|
|
- </a-tooltip>
|
|
|
- <img :class="{ 'icon-refresh-rotate': refreshRotate }"
|
|
|
- :src="require('@/assets/svg/icon-form-refresh.svg')"
|
|
|
- @click="updateCurrencyBanlce"/>
|
|
|
+ <!-- 刷新按钮、充值 -->
|
|
|
+ <div class="currency-operation"
|
|
|
+ v-if="currentCurrencyInfo.currencyCode">
|
|
|
+ <div class="amount">
|
|
|
+ Balance:
|
|
|
+ <a-tooltip :title="currentCurrencyInfo.balance">
|
|
|
+ {{ getBit(currentCurrencyInfo.balance) }}
|
|
|
+ </a-tooltip>
|
|
|
+ <img :class="{ 'icon-refresh-rotate': refreshRotate }"
|
|
|
+ :src="require('@/assets/svg/icon-form-refresh.svg')"
|
|
|
+ @click="updateCurrencyBanlce"/>
|
|
|
+ </div>
|
|
|
+ <div v-if="currentCurrencyInfo.currencyCode != 'USD'"
|
|
|
+ class="top-up"
|
|
|
+ @click="goTopUp">Deposit</div>
|
|
|
</div>
|
|
|
- <div v-if="currentCurrencyInfo.currencyCode != 'USD'"
|
|
|
- class="top-up"
|
|
|
- @click="goTopUp">Deposit</div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
|
|
|
- <input v-model="baseFormData.amountValue"
|
|
|
+ <input v-model="baseFormData.amountValue"
|
|
|
+ placeholder="0"
|
|
|
+ autofocus
|
|
|
+ @input="onAmountInput"
|
|
|
+ @blur="onAmountBlur"/>
|
|
|
+ </div>
|
|
|
+ <div class="item winners-count-input">
|
|
|
+ <div>
|
|
|
+ <div class="label">
|
|
|
+ <img class="icon"
|
|
|
+ :src="require('@/assets/svg/icon-winner-v2.svg')"/>
|
|
|
+ Winner Count
|
|
|
+ </div>
|
|
|
+ <div class="msg" v-show="selectModeInfo.type == 1">Recommend Winners 100~10000</div>
|
|
|
+ </div>
|
|
|
+ <input v-model="baseFormData.totalCount"
|
|
|
placeholder="0"
|
|
|
- autofocus
|
|
|
- @input="onAmountInput"
|
|
|
- @blur="onAmountBlur"/>
|
|
|
- </div>
|
|
|
- <div class="item winners-count-input">
|
|
|
- <div>
|
|
|
+ @input="onCountInput"
|
|
|
+ @blur="onCountBlur"/>
|
|
|
+ </div>
|
|
|
+ <div class="item automatically-input" v-if="selectModeInfo.type == 2">
|
|
|
<div class="label">
|
|
|
<img class="icon"
|
|
|
- :src="require('@/assets/svg/icon-winner-v2.svg')"/>
|
|
|
- Winner Count
|
|
|
+ :src="require('@/assets/svg/icon-automatically.svg')"/>
|
|
|
+ Automatically Draw in
|
|
|
+ </div>
|
|
|
+ <div class="input-wrapper">
|
|
|
+ <input v-model="baseFormData.validityDuration"
|
|
|
+ placeholder="0"
|
|
|
+ @input="onValidityDurationInput"
|
|
|
+ @blur="onValidityDurationBlur"/>
|
|
|
+ <span class="unit">h</span>
|
|
|
</div>
|
|
|
- <div class="msg" v-show="selectModeInfo.type == 1">Recommend Winners 100~10000</div>
|
|
|
- </div>
|
|
|
- <input v-model="baseFormData.totalCount"
|
|
|
- placeholder="0"
|
|
|
- @input="onCountInput"
|
|
|
- @blur="onCountBlur"/>
|
|
|
- </div>
|
|
|
- <div class="item automatically-input" v-if="selectModeInfo.type == 2">
|
|
|
- <div class="label">
|
|
|
- <img class="icon"
|
|
|
- :src="require('@/assets/svg/icon-automatically.svg')"/>
|
|
|
- Automatically Draw in
|
|
|
- </div>
|
|
|
- <div class="input-wrapper">
|
|
|
- <input v-model="baseFormData.validityDuration"
|
|
|
- placeholder="0"
|
|
|
- @input="onValidityDurationInput"
|
|
|
- @blur="onValidityDurationBlur"/>
|
|
|
- <span class="unit">h</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
- <!-- 提示 -->
|
|
|
- <ul class="tips-wrapper">
|
|
|
- <li class="row">
|
|
|
- Rewards can only be claimed after the target user completes all tasks you set.
|
|
|
- </li>
|
|
|
- <li class="row">
|
|
|
- Each user can only receive a reward once per task.
|
|
|
- </li>
|
|
|
- <li class="row" v-show="selectModeInfo.type == 1">
|
|
|
- The reward will expire in 7 days once issued. Please promote it as much as possible within this period. After the experiment, the remaining rewards will be returned to your DeNet Wallet.
|
|
|
- </li>
|
|
|
- </ul>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-
|
|
|
- <div class="form-cell-item task-wrapper">
|
|
|
- <div class="title">
|
|
|
- <img class="icon" :src="require('@/assets/svg/icon-tasks-v2.svg')"/>
|
|
|
- Tasks
|
|
|
+ <!-- 提示 -->
|
|
|
+ <ul class="tips-wrapper">
|
|
|
+ <li class="row">
|
|
|
+ Rewards can only be claimed after the target user completes all tasks you set.
|
|
|
+ </li>
|
|
|
+ <li class="row">
|
|
|
+ Each user can only receive a reward once per task.
|
|
|
+ </li>
|
|
|
+ <li class="row" v-show="selectModeInfo.type == 1">
|
|
|
+ The reward will expire in 7 days once issued. Please promote it as much as possible within this period. After the experiment, the remaining rewards will be returned to your DeNet Wallet.
|
|
|
+ </li>
|
|
|
+ </ul>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- <div class="form-cell-content form-require">
|
|
|
- <!-- 转推、like、关注 -->
|
|
|
- <div v-for="(item, index) in formList"
|
|
|
- :key="index">
|
|
|
- <div v-if="item.show" class="form-item"
|
|
|
- :class="{ 'border-hide': formList.length - 1 == index }">
|
|
|
- <div class="item-left">
|
|
|
- <div class="label">
|
|
|
- <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>
|
|
|
- <div class="control"
|
|
|
- v-if="item.nodeType == 'input'">
|
|
|
- <div v-if="showDiscordInvitePop"
|
|
|
- class="discord-invite-info"
|
|
|
- @click="showDiscordInvitePop = false">
|
|
|
- <img class="icon" :src="discordInviteInfo.icon || require('@/assets/svg/icon-discord-mini.svg')" />
|
|
|
- <span class="name">{{discordInviteInfo.name}}</span>
|
|
|
+
|
|
|
+ <div class="form-cell-item task-wrapper">
|
|
|
+ <div class="title">
|
|
|
+ <img class="icon" :src="require('@/assets/svg/icon-tasks-v2.svg')"/>
|
|
|
+ Tasks
|
|
|
+ </div>
|
|
|
+ <div class="form-cell-content form-require">
|
|
|
+ <!-- 转推、like、关注 -->
|
|
|
+ <div v-for="(item, index) in formList"
|
|
|
+ :key="index">
|
|
|
+ <div v-if="item.show" class="form-item"
|
|
|
+ :class="{ 'border-hide': formList.length - 1 == index }">
|
|
|
+ <div class="item-left">
|
|
|
+ <div class="label">
|
|
|
+ <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>
|
|
|
+ <div class="control"
|
|
|
+ v-if="item.nodeType == 'input'">
|
|
|
+ <div v-if="showDiscordInvitePop"
|
|
|
+ class="discord-invite-info"
|
|
|
+ @click="showDiscordInvitePop = false">
|
|
|
+ <img class="icon" :src="discordInviteInfo.icon || require('@/assets/svg/icon-discord-mini.svg')" />
|
|
|
+ <span class="name">{{discordInviteInfo.name}}</span>
|
|
|
+ </div>
|
|
|
+ <input v-model="item.text"
|
|
|
+ placeholder="Enter discord invite link"
|
|
|
+ class="discord-address"
|
|
|
+ @input="onIptDiscordAddress($event, index)"
|
|
|
+ @blur="onBlurDiscordAddress($event, index)" />
|
|
|
</div>
|
|
|
- <input v-model="item.text"
|
|
|
- placeholder="Enter discord invite link"
|
|
|
- class="discord-address"
|
|
|
- @input="onIptDiscordAddress($event, index)"
|
|
|
- @blur="onBlurDiscordAddress($event, index)" />
|
|
|
</div>
|
|
|
- </div>
|
|
|
-
|
|
|
- <div>
|
|
|
- <a-switch
|
|
|
- v-if="item.type > 3"
|
|
|
- v-model:checked="item.checked"
|
|
|
- @change="formSwitchChange($event, item, index)"/>
|
|
|
+
|
|
|
+ <div>
|
|
|
+ <a-switch
|
|
|
+ v-if="item.type > 3"
|
|
|
+ v-model:checked="item.checked"
|
|
|
+ @change="formSwitchChange($event, item, index)"/>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
|
|
|
- <div class="submit-btn-wrapper">
|
|
|
- <div class="submit-btn"
|
|
|
- :class="{ 'disabled-submit': iptErrMsgTxt != ''}"
|
|
|
- @click="confirm">
|
|
|
- <img class="icon-loading"
|
|
|
- v-if="submitIng"
|
|
|
- :src="require('@/assets/svg/icon-btn-loading.svg')"
|
|
|
- />
|
|
|
- {{iptErrMsgTxt ? iptErrMsgTxt : 'NEXT'}}
|
|
|
+ <div class="submit-btn-wrapper">
|
|
|
+ <div class="submit-btn"
|
|
|
+ :class="{ 'disabled-submit': iptErrMsgTxt != ''}"
|
|
|
+ @click="confirm">
|
|
|
+ <img class="icon-loading"
|
|
|
+ v-if="submitIng"
|
|
|
+ :src="require('@/assets/svg/icon-btn-loading.svg')"
|
|
|
+ />
|
|
|
+ {{iptErrMsgTxt ? iptErrMsgTxt : 'NEXT'}}
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
|
|
|
- <!-- 预览 -->
|
|
|
- <template v-else-if="showComType == 'preview'">
|
|
|
- <div class="preview">
|
|
|
- <div class="card"
|
|
|
- :class="{ center: Number(baseFormData.amountValue) <= Number(currentCurrencyInfo.balance) }">
|
|
|
- <div class="card-title">
|
|
|
- <img class="img"
|
|
|
- v-if="Number(baseFormData.amountValue) > Number(currentCurrencyInfo.balance)"
|
|
|
- :src=" require('@/assets/subject/top-01.svg') " />
|
|
|
- <div class="font">
|
|
|
- Preview: <span>{{installStatus ? 'After' : 'Before' }}</span> DeNet Installed
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="flash">
|
|
|
- <preview-card
|
|
|
- :currentCurrencyInfo="currentCurrencyInfo"
|
|
|
- :postData="publishRes"
|
|
|
- :baseFormData="baseFormData"
|
|
|
- :amountFontSize="previewFontSize"
|
|
|
- ></preview-card>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <!-- 需充值 -->
|
|
|
- <div class="card-content" v-if="Number(baseFormData.amountValue) > Number(currentCurrencyInfo.balance)">
|
|
|
- <template v-if="currentCurrencyInfo.currencyCode === 'USD'">
|
|
|
+ <!-- 预览 -->
|
|
|
+ <template v-else-if="showComType == 'preview'">
|
|
|
+ <div class="preview">
|
|
|
+ <div class="card"
|
|
|
+ :class="{ center: Number(baseFormData.amountValue) <= Number(currentCurrencyInfo.balance) }">
|
|
|
<div class="card-title">
|
|
|
- <img class="img" :src=" require('@/assets/subject/top-02.svg') " />
|
|
|
- <div class="font">Deposit to Send Giveaway</div>
|
|
|
+ <img class="img"
|
|
|
+ v-if="Number(baseFormData.amountValue) > Number(currentCurrencyInfo.balance)"
|
|
|
+ :src=" require('@/assets/subject/top-01.svg') " />
|
|
|
+ <div class="font">
|
|
|
+ Preview: <span>{{installStatus ? 'After' : 'Before' }}</span> DeNet Installed
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="flash">
|
|
|
+ <preview-card
|
|
|
+ :currentCurrencyInfo="currentCurrencyInfo"
|
|
|
+ :postData="publishRes"
|
|
|
+ :baseFormData="baseFormData"
|
|
|
+ :amountFontSize="previewFontSize"
|
|
|
+ ></preview-card>
|
|
|
</div>
|
|
|
- <div class="card-list">
|
|
|
- <div class="item">
|
|
|
- <div class="l">Giveaway Amount</div>
|
|
|
- <div class="r"></div>
|
|
|
+ </div>
|
|
|
+ <!-- 需充值 -->
|
|
|
+ <div class="card-content" v-if="Number(baseFormData.amountValue) > Number(currentCurrencyInfo.balance)">
|
|
|
+ <template v-if="currentCurrencyInfo.currencyCode === 'USD'">
|
|
|
+ <div class="card-title">
|
|
|
+ <img class="img" :src=" require('@/assets/subject/top-02.svg') " />
|
|
|
+ <div class="font">Deposit to Send Giveaway</div>
|
|
|
</div>
|
|
|
- <div class="item">
|
|
|
- <div class="l">Balance</div>
|
|
|
- <div class="r"></div>
|
|
|
+ <div class="card-list">
|
|
|
+ <div class="item">
|
|
|
+ <div class="l">Giveaway Amount</div>
|
|
|
+ <div class="r"></div>
|
|
|
+ </div>
|
|
|
+ <div class="item">
|
|
|
+ <div class="l">Balance</div>
|
|
|
+ <div class="r"></div>
|
|
|
+ </div>
|
|
|
+ <div class="item">
|
|
|
+ <div class="l">Paypal charges fee ()</div>
|
|
|
+ <div class="r"></div>
|
|
|
+ </div>
|
|
|
+ <div class="item">
|
|
|
+ <div class="l">Deposit Amount</div>
|
|
|
+ <div class="r"></div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- <div class="item">
|
|
|
- <div class="l">Paypal charges fee ()</div>
|
|
|
- <div class="r"></div>
|
|
|
+ </template>
|
|
|
+ <template v-else>
|
|
|
+ <div class="card-title">
|
|
|
+ <img class="img" :src=" require('@/assets/subject/top-02.svg') " />
|
|
|
+ <div class="font">Deposit to Send Giveaway</div>
|
|
|
</div>
|
|
|
- <div class="item">
|
|
|
- <div class="l">Deposit Amount</div>
|
|
|
- <div class="r"></div>
|
|
|
+ <top-up2
|
|
|
+ :asyncIng="asyncIng"
|
|
|
+ :currentCurrencyInfo="tempCurrentCurrencyInfo"
|
|
|
+ @topUpDone="topUpDone">
|
|
|
+ </top-up2>
|
|
|
+ <div class="card-title">
|
|
|
+ <img class="img" :src=" require('@/assets/subject/top-03.svg') " />
|
|
|
+ <div class="font">Wait for the amount to arrive</div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- <template v-else>
|
|
|
- <div class="card-title">
|
|
|
- <img class="img" :src=" require('@/assets/subject/top-02.svg') " />
|
|
|
- <div class="font">Deposit to Send Giveaway</div>
|
|
|
- </div>
|
|
|
- <top-up2
|
|
|
- :asyncIng="asyncIng"
|
|
|
- :currentCurrencyInfo="tempCurrentCurrencyInfo"
|
|
|
- @topUpDone="topUpDone">
|
|
|
- </top-up2>
|
|
|
- <div class="card-title">
|
|
|
- <img class="img" :src=" require('@/assets/subject/top-03.svg') " />
|
|
|
- <div class="font">Wait for the amount to arrive</div>
|
|
|
- </div>
|
|
|
- <div class="card-amount">
|
|
|
+ <div class="card-amount">
|
|
|
+ <img class="icon" src="@/assets/subject/icon-balance.png" />
|
|
|
+ <div class="con">
|
|
|
+ <div class="desc">Balance</div>
|
|
|
+ <div class="price">{{currentCurrencyInfo.balance}} {{currentCurrencyInfo.tokenSymbol}}</div>
|
|
|
+ </div>
|
|
|
+ <img
|
|
|
+ class="refresh"
|
|
|
+ :class="{ 'icon-refresh-rotate': refreshRotate }"
|
|
|
+ @click="updateCurrencyBanlce"
|
|
|
+ :src=" require('@/assets/svg/icon-form-refresh-blue.svg') "
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+
|
|
|
+ <!-- paypal支付按钮 -->
|
|
|
+ <div class="payment" v-show="showComType == 'preview'">
|
|
|
+ <paypal-button
|
|
|
+ :finalAmountData="finalAmountData"
|
|
|
+ :payConfig="{
|
|
|
+ paypalClientId,
|
|
|
+ feeDesc: payConfig.feeDesc,
|
|
|
+ paypalHtml,
|
|
|
+ amount: baseFormData.amountValue,
|
|
|
+ postId
|
|
|
+ }"
|
|
|
+ :currentCurrencyInfo="currentCurrencyInfo"
|
|
|
+ @payPalFinsh="payPalFinsh">
|
|
|
+ <template v-slot:balance>
|
|
|
+ <div class="balance" v-if="Number(baseFormData.amountValue) <= Number(currentCurrencyInfo.balance)">
|
|
|
<img class="icon" src="@/assets/subject/icon-balance.png" />
|
|
|
<div class="con">
|
|
|
<div class="desc">Balance</div>
|
|
|
<div class="price">{{currentCurrencyInfo.balance}} {{currentCurrencyInfo.tokenSymbol}}</div>
|
|
|
</div>
|
|
|
- <img
|
|
|
- class="refresh"
|
|
|
+ <img class="refresh"
|
|
|
:class="{ 'icon-refresh-rotate': refreshRotate }"
|
|
|
- @click="updateCurrencyBanlce"
|
|
|
- :src=" require('@/assets/svg/icon-form-refresh-blue.svg') "
|
|
|
- />
|
|
|
+ :src=" require('@/assets/svg/icon-form-refresh.svg')"
|
|
|
+ @click="updateCurrencyBanlce"/>
|
|
|
</div>
|
|
|
</template>
|
|
|
- </div>
|
|
|
+ </paypal-button>
|
|
|
</div>
|
|
|
</template>
|
|
|
-
|
|
|
- <!-- paypal支付按钮 -->
|
|
|
- <div class="payment" v-show="showComType == 'preview'">
|
|
|
- <paypal-button
|
|
|
- :finalAmountData="finalAmountData"
|
|
|
- :payConfig="{
|
|
|
- paypalClientId,
|
|
|
- feeDesc: payConfig.feeDesc,
|
|
|
- paypalHtml,
|
|
|
- amount: baseFormData.amountValue,
|
|
|
- postId
|
|
|
- }"
|
|
|
- :currentCurrencyInfo="currentCurrencyInfo"
|
|
|
- @payPalFinsh="payPalFinsh">
|
|
|
- <template v-slot:balance>
|
|
|
- <div class="balance" v-if="Number(baseFormData.amountValue) <= Number(currentCurrencyInfo.balance)">
|
|
|
- <img class="icon" src="@/assets/subject/icon-balance.png" />
|
|
|
- <div class="con">
|
|
|
- <div class="desc">Balance</div>
|
|
|
- <div class="price">{{currentCurrencyInfo.balance}} {{currentCurrencyInfo.tokenSymbol}}</div>
|
|
|
- </div>
|
|
|
- <img class="refresh"
|
|
|
- :class="{ 'icon-refresh-rotate': refreshRotate }"
|
|
|
- :src=" require('@/assets/svg/icon-form-refresh.svg')"
|
|
|
- @click="updateCurrencyBanlce"/>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </paypal-button>
|
|
|
- </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -384,6 +394,7 @@ import "element-plus/es/components/loading/style/css";
|
|
|
|
|
|
import {create, all} from "mathjs";
|
|
|
|
|
|
+import GlobalTip from '@/view/components/global-tip.vue';
|
|
|
import messageBox from "@/view/components/message-box.vue";
|
|
|
import currencyList from "@/view/components/currency-list.vue";
|
|
|
import currencySelect from "@/view/components/currency-select.vue";
|
|
@@ -392,7 +403,9 @@ import followInput from "@/view/iframe/publish/components/follow-input";
|
|
|
import paypalButton from "@/view/iframe/publish/components/paypal-button";
|
|
|
import topUp from "@/view/iframe/publish/components/top-up.vue";
|
|
|
import topUp2 from "@/view/iframe/publish/components/top-up2.vue";
|
|
|
-import GlobalTip from '@/view/components/global-tip.vue'
|
|
|
+import toolBox from '@/view/iframe/publish/tool-box/index.vue'
|
|
|
+
|
|
|
+import axios from 'axios';
|
|
|
|
|
|
const config = {
|
|
|
number: 'BigNumber',
|
|
@@ -414,7 +427,9 @@ provide('installStatus', installStatus)
|
|
|
let publishRes = reactive({});
|
|
|
|
|
|
//弹窗是否展示
|
|
|
-let visible = ref(false);
|
|
|
+let visible = ref(true);
|
|
|
+let publishType = ref('TOOL_BOX');
|
|
|
+
|
|
|
|
|
|
//弹窗高度
|
|
|
let dialogStyle = reactive({
|
|
@@ -592,19 +607,37 @@ let showDiscordInvitePop = ref(false);
|
|
|
|
|
|
let lotteryMaxHourDuration = 168;
|
|
|
|
|
|
+let leftTabList = reactive([
|
|
|
+ {
|
|
|
+ icon: require('@/assets/svg/icon-gift-pack.svg'),
|
|
|
+ type: 'REDPACKET'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ icon: require('@/assets/svg/icon-tool-box-02.svg'),
|
|
|
+ type: 'TOOL_BOX'
|
|
|
+ }
|
|
|
+])
|
|
|
+
|
|
|
+
|
|
|
const props = defineProps({
|
|
|
- dialogVisible: {
|
|
|
- type: Boolean,
|
|
|
- default: false,
|
|
|
+ dialogData: {
|
|
|
+ type: Object,
|
|
|
+ default: () => {
|
|
|
+ return {
|
|
|
+ visible: false,
|
|
|
+ type: 'REDPACKET'
|
|
|
+ }
|
|
|
+ },
|
|
|
},
|
|
|
});
|
|
|
|
|
|
watch(
|
|
|
- () => props.dialogVisible,
|
|
|
+ () => props.dialogData,
|
|
|
(newVal) => {
|
|
|
- console.log("watch", newVal);
|
|
|
- visible.value = newVal;
|
|
|
- if (newVal) {
|
|
|
+ visible.value = newVal.visible;
|
|
|
+
|
|
|
+ if (newVal.visible) {
|
|
|
+ publishType.value = newVal.type;
|
|
|
Report.reportLog({
|
|
|
pageSource: Report.pageSource.publisherDialog,
|
|
|
businessType: Report.businessType.pageView,
|
|
@@ -622,6 +655,9 @@ watch(
|
|
|
} else {
|
|
|
clearInterval(timer.value);
|
|
|
}
|
|
|
+ },
|
|
|
+ {
|
|
|
+ deep: true
|
|
|
}
|
|
|
);
|
|
|
|
|
@@ -1004,6 +1040,8 @@ const initParams = () => {
|
|
|
tempCurrentCurrencyInfo.value = {};
|
|
|
currentCurrencyInfo.value = {};
|
|
|
|
|
|
+ publishType.value = 'REDPACKET';
|
|
|
+
|
|
|
// clear discord value
|
|
|
setDiscordIptTxt({text: ''});
|
|
|
|
|
@@ -1589,6 +1627,10 @@ const selectPublishMode = (params, index) => {
|
|
|
setInputErrorMsg();
|
|
|
}
|
|
|
|
|
|
+const clickLeftTab = (params, index) => {
|
|
|
+ publishType.value = params.type;
|
|
|
+}
|
|
|
+
|
|
|
onMounted(() => {
|
|
|
setFrontConfig();
|
|
|
setPayConfig();
|
|
@@ -1596,6 +1638,10 @@ onMounted(() => {
|
|
|
window.addEventListener('resize', function () {
|
|
|
setDialogStyle(true);
|
|
|
})
|
|
|
+
|
|
|
+ axios.get('https://www.baidu.com/s?wd=%E5%BA%86%E7%A5%9D%E9%A6%99%E6%B8%AF%E5%9B%9E%E5%BD%9225%E5%91%A8%E5%B9%B4%E5%A4%A7%E4%BC%9A&sa=fyb_n_homepage&rsv_dl=fyb_n_homepage&from=super&cl=3&tn=baidutop10&fr=top1000&rsv_idx=2&hisfilter=1').then(res => {
|
|
|
+ console.log(res);
|
|
|
+ })
|
|
|
});
|
|
|
</script>
|
|
|
|
|
@@ -1783,16 +1829,19 @@ onMounted(() => {
|
|
|
width: 50px;
|
|
|
display: flex;
|
|
|
flex-direction: column;
|
|
|
- justify-content: space-between;
|
|
|
align-items: center;
|
|
|
|
|
|
- .gift-pack-wrapper {
|
|
|
+ .tab-item {
|
|
|
width: 100%;
|
|
|
height: 55px;
|
|
|
- background: #f5f5f5;
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
justify-content: center;
|
|
|
+ cursor: pointer;
|
|
|
+ }
|
|
|
+
|
|
|
+ .active-tab {
|
|
|
+ background-color: #D2EAFC;
|
|
|
}
|
|
|
|
|
|
.bottom {
|