|
|
@@ -2,55 +2,158 @@
|
|
|
<cwg-page-wrapper class="create-page" :isHeaderFixed="true">
|
|
|
<view class="custom_activities">
|
|
|
<view class="info-card">
|
|
|
- <view class="content-title">
|
|
|
- <view v-t="'Home.page_customer.item6'"></view>
|
|
|
- </view>
|
|
|
-
|
|
|
+ <cwg-header :title="t('Home.page_customer.item6')" />
|
|
|
<!-- 主要内容 -->
|
|
|
<view class="main-content">
|
|
|
<scroll-view class="tab" scroll-y :scroll-top="scrollTop" @scrolltolower="loadMore"
|
|
|
refresher-enabled :refresher-triggered="refreshing" @refresherrefresh="onRefresh">
|
|
|
-
|
|
|
<!-- 加载状态 -->
|
|
|
<view class="table-loading-mask">
|
|
|
<uni-loading v-if="pictLoading" />
|
|
|
</view>
|
|
|
<view class="activity-list" v-if="!pictLoading">
|
|
|
- <uni-row class="demo-uni-row uni-row1">
|
|
|
- <!-- 遍历静态活动配置 -->
|
|
|
- <ActivityCard v-for="activity in visibleStaticActivities" :key="activity.id"
|
|
|
- :config="activity" :state="activityState" :lang="locale"
|
|
|
- @action="handleActivityAction" />
|
|
|
-
|
|
|
- <!-- 动态活动列表 -->
|
|
|
- <ActivityCard v-for="item in tableData" :key="'dynamic-' + item.id"
|
|
|
- :config="createDynamicConfig(item)" :state="activityState" :lang="locale"
|
|
|
- @action="handleActivityAction" />
|
|
|
-
|
|
|
- <!-- 赠送活动列表 -->
|
|
|
- <ActivityCard v-for="item in tableDataGive" :key="'give-' + item.id"
|
|
|
- :config="createGiveConfig(item)" :state="activityState" :lang="locale"
|
|
|
- @action="handleActivityAction" />
|
|
|
- </uni-row>
|
|
|
-
|
|
|
-
|
|
|
+ <!-- CWG Markets 月赏礼遇 -->
|
|
|
+ <view class="activity-card" v-if="country == 'CN'">
|
|
|
+ <view class="btn-tag-star"><i class="el-icon-star-on"></i></view>
|
|
|
+ <view class="card-content">
|
|
|
+ <view class="card-image crm-cursor">
|
|
|
+ <image class="img" src="/static/images/yue.jpg" alt="" />
|
|
|
+ </view>
|
|
|
+ <view class="card-body">
|
|
|
+ <view class="card-title">
|
|
|
+ <text class="title-text crm-cursor crm-one-font"><text
|
|
|
+ v-t="'MonthlyActivities.item1'"></text></text>
|
|
|
+ </view>
|
|
|
+ <view class="card-description crm-one-font">
|
|
|
+ <text v-t="''"></text>
|
|
|
+ </view>
|
|
|
+ <view class="card-actions">
|
|
|
+ <text
|
|
|
+ :class="['action-btn', monthlyGive ? 'primary crm-cursor' : 'disabled']"
|
|
|
+ @click="openSurplusActivityDialog1()"><text
|
|
|
+ v-t="'news_add_field1.activities10_trading_aoyun.item3'"></text></text>
|
|
|
+ <cwg-link type="pdf" class="action-btn secondary crm-cursor" target="_blank"
|
|
|
+ title="wallet.item15" :url="`pdf/pdf13/CWG Prime cwnus-cn.pdf`" />
|
|
|
+ <cwg-link type="pdf" class="action-btn secondary crm-cursor" target="_blank"
|
|
|
+ title="Transfer.item7"
|
|
|
+ :url="`pdf/pdf13/CWG Markets Prime Bonus Application Pcocess-cn.pdf`" />
|
|
|
+ <text class="action-btn secondary crm-cursor"
|
|
|
+ @click="goMonthlyTaskList()"><text v-t="'wallet.item14'"></text></text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <!-- 赠金活动 -->
|
|
|
+ <view class="activity-card">
|
|
|
+ <view class="btn-tag-star"><i class="el-icon-star-on"></i></view>
|
|
|
+ <view class="card-content">
|
|
|
+ <view class="card-image crm-cursor">
|
|
|
+ <image class="img" src="/static/images/su.png" alt="" />
|
|
|
+ </view>
|
|
|
+ <view class="card-body">
|
|
|
+ <view class="card-title">
|
|
|
+ <text class="title-text crm-cursor crm-one-font"><text
|
|
|
+ v-t="'surplusList.item1'"></text></text>
|
|
|
+ </view>
|
|
|
+ <view class="card-description crm-one-font">
|
|
|
+ <text v-t="'surplusList.item2'"></text>
|
|
|
+ </view>
|
|
|
+ <view class="card-actions">
|
|
|
+ <text
|
|
|
+ :class="['action-btn', surplusGive ? 'primary crm-cursor' : 'disabled']"
|
|
|
+ @click="openSurplusActivityDialog()"><text
|
|
|
+ v-t="'news_add_field1.activities10_trading_aoyun.item3'"></text></text>
|
|
|
+ <cwg-link type="pdf" class="action-btn secondary crm-cursor" target="_blank"
|
|
|
+ title="wallet.item15"
|
|
|
+ :url="`pdf/pdf12/CWG Prime Bonuc-${locale}.pdf`" />
|
|
|
+ <cwg-link type="pdf"
|
|
|
+ v-if="locale == 'cn' || locale == 'zhHant' || locale == 'en'"
|
|
|
+ class="action-btn secondary crm-cursor" target="_blank"
|
|
|
+ title="Transfer.item7"
|
|
|
+ :url="`pdf/pdf12/CWG Markets Prime Bonus Application Process-${locale}.pdf`" />
|
|
|
+ <cwg-link type="pdf" v-else class="action-btn secondary crm-cursor"
|
|
|
+ target="_blank" title="Transfer.item7"
|
|
|
+ :url="`pdf/pdf12/CWG Markets Prime Bonus Application Process-en.pdf`" />
|
|
|
+ <text class="action-btn secondary crm-cursor"
|
|
|
+ @click="goSurplusTaskList()"><text v-t="'wallet.item14'"></text></text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <!-- 交易大赛 -->
|
|
|
+ <view class="activity-card" v-if="tableDataCptFlag">
|
|
|
+ <view class="btn-tag-star"><i class="el-icon-star-on"></i></view>
|
|
|
+ <view class="card-content">
|
|
|
+ <view class="card-image crm-cursor" @click="toSingle('23xinjia')">
|
|
|
+ <image class="img" src="/static/images/banner.jpg" alt="" />
|
|
|
+ </view>
|
|
|
+ <view class="card-body">
|
|
|
+ <view class="card-title">
|
|
|
+ <text class="title-text crm-cursor crm-one-font"
|
|
|
+ @click="toSingle('23xinjia')"><text
|
|
|
+ v-t="'news_add_field1.activitiesJYDS2025.item1'"></text></text>
|
|
|
+ </view>
|
|
|
+ <view class="card-description crm-one-font">
|
|
|
+ <text v-t="'news_add_field1.activitiesJYDS2025.item2'"></text>
|
|
|
+ </view>
|
|
|
+ <view class="card-actions">
|
|
|
+ <text class="action-btn primary crm-cursor" @click="toApplyCptOpen()"
|
|
|
+ v-if="tableDataCpt.signStatus == 0"><text
|
|
|
+ v-t="'news_add_field1.activitiesJYDS.item3'"></text></text>
|
|
|
+ <text class="action-btn disabled crm-cursor"
|
|
|
+ v-if="tableDataCpt.signStatus == 1"><text
|
|
|
+ v-t="'news_add_field1.activitiesJYDS.item3_1'"></text></text>
|
|
|
+ <text class="action-btn secondary crm-cursor"
|
|
|
+ @click="toSingle('23xinjia')"><text
|
|
|
+ v-t="'news_add_field1.activitiesJYDS.item4'"></text></text>
|
|
|
+ <text class="action-btn secondary crm-cursor"
|
|
|
+ @click="toOpenSingle(tableDataCpt.pageAddress)"><text
|
|
|
+ v-t="'news_add_field1.activitiesJYDS.item4_1'"></text></text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <!-- 赠送活动列表2 -->
|
|
|
+ <view class="activity-card" v-for="(item, index) in tableDataGive" :key="index + 'give'">
|
|
|
+ <view class="btn-tag-star" v-if="item.hot">
|
|
|
+ <i class="el-icon-star-on"></i>
|
|
|
+ </view>
|
|
|
+ <view class="card-content">
|
|
|
+ <view class="card-image crm-cursor" @click="toSingle('newList', item.id)">
|
|
|
+ <image class="img" :src="imgUrl + item.coverUrl" alt="" />
|
|
|
+ </view>
|
|
|
+ <view class="card-body">
|
|
|
+ <view class="card-title">
|
|
|
+ <text class="title-text crm-cursor crm-one-font"
|
|
|
+ @click="toSingle('newList', item.id)">{{ item.title }}</text>
|
|
|
+ <text class="card-time">{{ item.revokeDate.split(" ")[0] }}</text>
|
|
|
+ </view>
|
|
|
+ <view class="card-description crm-one-font">{{ item.subTitle }}</view>
|
|
|
+ <view class="card-actions">
|
|
|
+ <text class="action-btn primary crm-cursor" @click="toActivity24nianzhong()"
|
|
|
+ v-if="item.valid == 1"><text
|
|
|
+ v-t="'Custom.Activity.Apply'"></text></text>
|
|
|
+ <text class="action-btn disabled crm-cursor" v-else><text
|
|
|
+ v-t="'Custom.Activity.Apply'"></text></text>
|
|
|
+ <text class="action-btn secondary crm-cursor"
|
|
|
+ @click="toSingle('newList', item.id)"><text
|
|
|
+ v-t="'Custom.Activity.Single'"></text></text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
<!-- 加载更多状态 -->
|
|
|
<view v-if="loadingMore" class="loading-more">
|
|
|
<uni-icons type="spinner-cycle" size="20" color="#999" class="spin"></uni-icons>
|
|
|
<text>{{ t('common.loadingMore') }}</text>
|
|
|
</view>
|
|
|
-
|
|
|
<!-- 没有更多数据 -->
|
|
|
<view v-if="!hasMore && tableData.length > 0" class="no-more">
|
|
|
<text>{{ t('common.noMore') }}</text>
|
|
|
</view>
|
|
|
</scroll-view>
|
|
|
</view>
|
|
|
-
|
|
|
<!-- 分页 -->
|
|
|
<!-- <view class="crm_pagination" v-if="pagerInfo.rowTotal">
|
|
|
<view class="pagination">
|
|
|
@@ -72,635 +175,2098 @@
|
|
|
</view>
|
|
|
</view>
|
|
|
</view> -->
|
|
|
-
|
|
|
- <!-- 所有弹窗组件 -->
|
|
|
- <ActivityDialogs :visible="dialogState" :form-data="formData" :login-options="loginOptions"
|
|
|
- :surplus-options="surplusOptions" @update:visible="updateDialogVisible"
|
|
|
- @action="handleDialogAction" />
|
|
|
</view>
|
|
|
</view>
|
|
|
+
|
|
|
+
|
|
|
+ <!--弹出框-->
|
|
|
+ <cwg-popup v-model:visible="dialogChinaUnionPay" type="center" :mask-click="false" :show-footers="true">
|
|
|
+ <view class="dia-content">
|
|
|
+ <view class="des1" style="font-size: 16px; line-height: 1.6; margin: 30px 0 50px"
|
|
|
+ v-html="t('news_add_field1.activities.item11')"></view>
|
|
|
+ </view>
|
|
|
+ <template #footer>
|
|
|
+ <button type="primary" @click="toTransformActive">{{ t('Btn.Confirm') }}</button>
|
|
|
+ <button @click="dialogChinaUnionPay = false">{{ t('Btn.Cancel') }}</button>
|
|
|
+ </template>
|
|
|
+ </cwg-popup>
|
|
|
+ <!-- 23匠鑫活动过期弹出框 -->
|
|
|
+ <cwg-popup v-model:visible="dialogChinaUnionPayJX" type="center" :mask-click="false" :show-footers="true">
|
|
|
+ <view class="dia-content">
|
|
|
+ <view class="des1" style="font-size: 16px; line-height: 1.6; margin: 30px 0 50px"
|
|
|
+ v-html="t('news_add_field1.activitiesJX.item24')"></view>
|
|
|
+ </view>
|
|
|
+ <template #footer>
|
|
|
+ <button type="primary" @click="dialogChinaUnionPayJX = false">{{ t('Btn.Confirm') }}</button>
|
|
|
+ <button @click="dialogChinaUnionPayJX = false">{{ t('Btn.Cancel') }}</button>
|
|
|
+ </template>
|
|
|
+ </cwg-popup>
|
|
|
+
|
|
|
+ <!--弹出框-->
|
|
|
+ <cwg-popup v-model:visible="dialogChinaUnionPay1" type="center" :mask-click="false" :show-footers="true">
|
|
|
+ <view class="dia-content">
|
|
|
+ <view class="des1" style="font-size: 16px; line-height: 1.6; margin: 30px 0 50px"
|
|
|
+ v-html="t('news_add_field1.activities.item12')"></view>
|
|
|
+ </view>
|
|
|
+ <template #footer>
|
|
|
+ <button type="primary" @click="toRealizationActive">{{ t('Btn.Confirm') }}</button>
|
|
|
+ <button @click="dialogChinaUnionPay1 = false">{{ t('Btn.Cancel') }}</button>
|
|
|
+ </template>
|
|
|
+ </cwg-popup>
|
|
|
+
|
|
|
+ <!--23活动申请弹出-->
|
|
|
+ <cwg-popup v-model:visible="dialogDealResult" type="center" :mask-click="false" :show-footers="true">
|
|
|
+ <view class="dia-content">
|
|
|
+ <view class="content" style="font-size: 14px; text-align: left">
|
|
|
+ <form :rules="rules" :model="dialogDealResult_form" label-position="top">
|
|
|
+ <view class="form-item">
|
|
|
+ <view class="form-label">{{ t('Label.TradingAccount') }}</view>
|
|
|
+ <picker mode="selector" :range="loginOptions" :range-key="'label'"
|
|
|
+ @change="onDialogDealResultLoginChange">
|
|
|
+ <view class="picker-input">
|
|
|
+ {{ dialogDealResult_form.login || t('placeholder.choose') }}
|
|
|
+ </view>
|
|
|
+ </picker>
|
|
|
+ </view>
|
|
|
+ </form>
|
|
|
+
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <template #footer>
|
|
|
+ <button type="primary" @click="toApply23">{{ t('Btn.Confirm') }}</button>
|
|
|
+ <button @click="toApply23Cancel">{{ t('Btn.Cancel') }}</button>
|
|
|
+ </template>
|
|
|
+ </cwg-popup>
|
|
|
+
|
|
|
+ <!--23匠鑫活动申请弹出-->
|
|
|
+ <cwg-popup v-model:visible="dialogDealResultJx" type="center" :mask-click="false" :show-footers="true">
|
|
|
+ <view class="dia-content">
|
|
|
+ <view class="content" style="font-size: 14px; text-align: left">
|
|
|
+ <form :rules="rules" :model="dialogDealResultJx_form" label-position="top">
|
|
|
+ <view class="form-item">
|
|
|
+ <view class="form-label">{{ t('Label.TradingAccount') }}</view>
|
|
|
+ <picker mode="selector" :range="loginOptions" :range-key="'label'"
|
|
|
+ @change="onDialogDealResultJxLoginChange">
|
|
|
+ <view class="picker-input">
|
|
|
+ {{ dialogDealResultJx_form.login || t('placeholder.choose') }}
|
|
|
+ </view>
|
|
|
+ </picker>
|
|
|
+ </view>
|
|
|
+ </form>
|
|
|
+
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <template #footer>
|
|
|
+ <button type="primary" @click="toApply23Jx">{{ t('Btn.Confirm') }}</button>
|
|
|
+ <button @click="toApply23JxCancel">{{ t('Btn.Cancel') }}</button>
|
|
|
+ </template>
|
|
|
+ </cwg-popup>
|
|
|
+
|
|
|
+ <!--23匠鑫活动申请弹出-->
|
|
|
+ <cwg-popup v-model:visible="dialogDealResultJxVip" type="center" :mask-click="false" :show-footers="true">
|
|
|
+ <view class="dia-content">
|
|
|
+ <view class="content" style="font-size: 14px; text-align: left">
|
|
|
+ <form :rules="rules" :model="dialogDealResultJx_formVip" label-position="top">
|
|
|
+ <view class="form-item">
|
|
|
+ <view class="form-label">{{ t('Label.TradingAccount') }}</view>
|
|
|
+ <picker mode="selector" :range="loginOptions" :range-key="'label'"
|
|
|
+ @change="onDialogDealResultJxVipLoginChange">
|
|
|
+ <view class="picker-input">
|
|
|
+ {{ dialogDealResultJx_formVip.login || t('placeholder.choose') }}
|
|
|
+ </view>
|
|
|
+ </picker>
|
|
|
+ </view>
|
|
|
+ </form>
|
|
|
+
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <template #footer>
|
|
|
+ <button type="primary" @click="toApply23JxVip">{{ t('Btn.Confirm') }}</button>
|
|
|
+ <button @click="toApply23JxCancelVip">{{ t('Btn.Cancel') }}</button>
|
|
|
+ </template>
|
|
|
+ </cwg-popup>
|
|
|
+
|
|
|
+ <!--交易大赛活动申请弹出-->
|
|
|
+ <cwg-popup v-model:visible="dialogDealResultCpt" type="center" :mask-click="false" :show-footers="true">
|
|
|
+ <view class="dia-content">
|
|
|
+ <view class="content" style="font-size: 14px; text-align: left">
|
|
|
+ <form :rules="rules" :model="dialogDealResultCpt_form" label-position="top">
|
|
|
+ <view class="form-item">
|
|
|
+ <view class="form-label">{{ t('Label.TradingAccount') }}</view>
|
|
|
+ <picker mode="selector" :range="loginOptions" :range-key="'label'"
|
|
|
+ @change="onDialogDealResultCptLoginChange">
|
|
|
+ <view class="picker-input">
|
|
|
+ {{ dialogDealResultCpt_form.login || t('placeholder.choose') }}
|
|
|
+ </view>
|
|
|
+ </picker>
|
|
|
+ </view>
|
|
|
+ <view class="form-item">
|
|
|
+ <view class="form-label">{{ t('Documentary.console.item20') }}</view>
|
|
|
+ <input class="form-input" v-model="dialogDealResultCpt_form.nickname" type="text" />
|
|
|
+ </view>
|
|
|
+ <view class="form-item">
|
|
|
+ <view class="form-label">{{ t('news_add_field1.activitiesJYDS.item4_3') }}</view>
|
|
|
+ <input class="form-input" v-model="dialogDealResultCpt_form.recipient" type="text" />
|
|
|
+ </view>
|
|
|
+ <view class="form-item">
|
|
|
+ <view class="form-label">{{ t('news_add_field1.activitiesJYDS.item4_2') }}</view>
|
|
|
+ <input class="form-input" v-model="dialogDealResultCpt_form.mobile" type="text" />
|
|
|
+ </view>
|
|
|
+ <view class="form-item">
|
|
|
+ <view class="form-label">{{ t('Shop.Address.DetailedAddress') }}</view>
|
|
|
+ <input class="form-input" v-model="dialogDealResultCpt_form.address" type="text" />
|
|
|
+ </view>
|
|
|
+ <div v-html="t('news_add_field1.activitiesJYDS.item4_4')"></div>
|
|
|
+ </form>
|
|
|
+
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <template #footer>
|
|
|
+ <button type="primary" @click="toApplyCpt">{{ t('Btn.Confirm') }}</button>
|
|
|
+ <button @click="toApplyCptCancel">{{ t('Btn.Cancel') }}</button>
|
|
|
+ </template>
|
|
|
+ </cwg-popup>
|
|
|
+
|
|
|
+ <!--任务提示弹出框-->
|
|
|
+ <cwg-popup v-model:visible="dialogNewTask" :title="t('wallet.item16')" type="center" :mask-click="false"
|
|
|
+ :show-footers="true">
|
|
|
+ <view class="dia-content">
|
|
|
+ <view class="des1" style="font-size: 14px; line-height: 1.6; margin: 30px 0 50px">
|
|
|
+ <span v-html="t('wallet.item17')"></span>{{ newTaskList.endTime }}
|
|
|
+ <span v-html="t('wallet.item18')"></span>{{ newTaskList.tradeVolume }}
|
|
|
+ <span v-html="t('wallet.item19')"></span>{{ newTaskList.raffleNumber }}
|
|
|
+ <span v-html="t('wallet.item20')"></span>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ </view>
|
|
|
+ <template #footer>
|
|
|
+ <button type="primary" @click="dialogNewTask = false">{{ t('Btn.Confirm') }}</button>
|
|
|
+ <button @click="dialogNewTask = false">{{ t('Home.msg.item3') }}</button>
|
|
|
+ </template>
|
|
|
+ </cwg-popup>
|
|
|
+
|
|
|
+ <!--抽奖弹出框-->
|
|
|
+ <cwg-popup v-model:visible="dialogNewTaskDraw" :title="t('wallet.item65')" type="center" :mask-click="false"
|
|
|
+ :show-footers="true" width="800px">
|
|
|
+ <view class="dia-content">
|
|
|
+ <DrawLotteryRaffle :curLuckyDrawTimesF="LuckyDrawsNumber"></DrawLotteryRaffle>
|
|
|
+
|
|
|
+ </view>
|
|
|
+ <template #footer>
|
|
|
+ <button @click="closedialogNewTaskDraw">{{ t('Home.msg.item3') }}</button>
|
|
|
+ </template>
|
|
|
+ </cwg-popup>
|
|
|
+
|
|
|
+ <!--24精英杯活动申请弹出-->
|
|
|
+ <cwg-popup v-model:visible="dialogDealResultJxJYB" type="center" :mask-click="false" :show-footers="true">
|
|
|
+ <view class="dia-content">
|
|
|
+ <view class="content" style="font-size: 14px; text-align: left">
|
|
|
+ <form :rules="rules" :model="dialogDealResultJx_formJYB" label-position="top">
|
|
|
+ <view class="form-item">
|
|
|
+ <view class="form-label">{{ t('Label.TradingAccount') }}</view>
|
|
|
+ <picker mode="selector" :range="loginOptions" :range-key="'label'"
|
|
|
+ @change="onDialogDealResultJxJYBLoginChange">
|
|
|
+ <view class="picker-input">
|
|
|
+ {{ dialogDealResultJx_formJYB.login || t('placeholder.choose') }}
|
|
|
+ </view>
|
|
|
+ </picker>
|
|
|
+ </view>
|
|
|
+ </form>
|
|
|
+
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <template #footer>
|
|
|
+ <button type="primary" @click="toApply24JYBVip">{{ t('Btn.Confirm') }}</button>
|
|
|
+ <button @click="toApply24JYBCancelVip">{{ t('Btn.Cancel') }}</button>
|
|
|
+ </template>
|
|
|
+ </cwg-popup>
|
|
|
+
|
|
|
+ <!--24无忧交易申请弹出-->
|
|
|
+ <cwg-popup v-model:visible="dialogDealResultNoWorries" type="center" :mask-click="false" :show-footers="true">
|
|
|
+ <view class="dia-content">
|
|
|
+ <view class="content" style="font-size: 14px; text-align: left">
|
|
|
+ <form :rules="rules" :model="dialogDeal_formNoWorries" label-position="top">
|
|
|
+ <view class="form-item">
|
|
|
+ <view class="form-label">{{ t('Label.TradingAccount') }}</view>
|
|
|
+ <picker mode="selector" :range="loginOptions" :range-key="'label'"
|
|
|
+ @change="onDialogDeal_formNoWorriesLoginChange">
|
|
|
+ <view class="picker-input">
|
|
|
+ {{ dialogDeal_formNoWorries.login || t('placeholder.choose') }}
|
|
|
+ </view>
|
|
|
+ </picker>
|
|
|
+ </view>
|
|
|
+ </form>
|
|
|
+
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <template #footer>
|
|
|
+ <button type="primary" @click="toApplyNoWorries">{{
|
|
|
+ t('news_add_field1.activitiesNoWorries.item6_1') }}</button>
|
|
|
+ <button @click="toApplyNoWorriesCancel">{{ t('news_add_field1.activitiesNoWorries.item6_2')
|
|
|
+ }}</button>
|
|
|
+ </template>
|
|
|
+ </cwg-popup>
|
|
|
+
|
|
|
+ <!--盈利转换弹出框-->
|
|
|
+ <cwg-popup v-model:visible="dialogNoWorries" type="center" :mask-click="false" :show-footers="true">
|
|
|
+ <view class="dia-content">
|
|
|
+ <view class="des1" style="font-size: 16px; line-height: 1.6; margin: 30px 0 50px"
|
|
|
+ v-html="t('news_add_field1.activitiesNoWorries.item7')"></view>
|
|
|
+
|
|
|
+ </view>
|
|
|
+ <template #footer>
|
|
|
+ <button type="primary" @click="realizationNoWorries">{{
|
|
|
+ t('news_add_field1.activitiesNoWorries.item6_1') }}</button>
|
|
|
+ <button @click="dialogNoWorries = false">{{ t('news_add_field1.activitiesNoWorries.item6_2')
|
|
|
+ }}</button>
|
|
|
+ </template>
|
|
|
+ </cwg-popup>
|
|
|
+
|
|
|
+ <!--申请成功弹出框-->
|
|
|
+ <cwg-popup v-model:visible="dialogNoWorriesApply" type="center" :mask-click="false" :show-footers="true">
|
|
|
+ <view class="dia-content">
|
|
|
+ <view class="des1" style="font-size: 16px; line-height: 1.6; margin: 30px 0 50px"
|
|
|
+ v-html="t('news_add_field1.activitiesNoWorries.item6')"></view>
|
|
|
+
|
|
|
+ </view>
|
|
|
+ <template #footer>
|
|
|
+ <button type="primary" @click="dialogNoWorriesApply = false">{{
|
|
|
+ t('news_add_field1.activitiesNoWorries.item6_1') }}</button>
|
|
|
+ <button @click="dialogNoWorriesApply = false">{{ t('news_add_field1.activitiesNoWorries.item6_2')
|
|
|
+ }}</button>
|
|
|
+ </template>
|
|
|
+ </cwg-popup>
|
|
|
+
|
|
|
+ <!--收益模拟器弹出框-->
|
|
|
+ <cwg-popup v-model:visible="openCalculatorFlag" :title="t('news_add_field1.NewYear24.item4')" type="center"
|
|
|
+ :mask-click="false" :show-footers="true">
|
|
|
+ <view class="dia-content NewYear_calculator">
|
|
|
+ <view class="content">
|
|
|
+ <view class="calculator-input">
|
|
|
+ <view class="input-prefix">{{ t('news_add_field1.NewYear24.item5') }}</view>
|
|
|
+ <input class="input-field" v-model="NewYear24DataBalance" type="digit" />
|
|
|
+ </view>
|
|
|
+ <view class="tip">
|
|
|
+ <span v-html="t('news_add_field1.NewYear24.item6')"></span>
|
|
|
+ <span class="red">${{ NewYear24Data.balance }}</span>
|
|
|
+ <span v-html="t('news_add_field1.NewYear24.item7')"></span>
|
|
|
+ <span class="red">${{ NewYear24Data.income }}</span>
|
|
|
+ <span v-html="t('news_add_field1.NewYear24.item8')"></span>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ </view>
|
|
|
+ <template #footer>
|
|
|
+ <button type="primary" @click="calculateIncome">{{ t('news_add_field1.NewYear24.item8_1')
|
|
|
+ }}</button>
|
|
|
+ <button @click="openCalculatorFlag = false">{{ t('news_add_field1.NewYear24.item8_2') }}</button>
|
|
|
+ </template>
|
|
|
+ </cwg-popup>
|
|
|
+
|
|
|
+ <!-- Surplus活动弹框 -->
|
|
|
+ <cwg-popup v-model:visible="dialogSurplusActivity" :title="t('surplusList.item1')" type="center"
|
|
|
+ :mask-click="false" :show-footers="true" width="600px">
|
|
|
+ <view class="dia-content">
|
|
|
+ <view class="content" style="padding: 20px">
|
|
|
+ <view class="form-item">
|
|
|
+ <view class="form-label">{{
|
|
|
+ t('Custom.Deposit.Title1') }}:</view>
|
|
|
+ <cwg-combox :clearable="false" v-model:value="valueInfo" :options="loginComboxOptions"
|
|
|
+ :placeholder="t('placeholder.choose')" @change="handleValueInfoChange" />
|
|
|
+ </view>
|
|
|
+ <view class="form-item">
|
|
|
+ <view class="form-label">{{
|
|
|
+ t('surplusList.item3') }}:</view>
|
|
|
+ <cwg-combox :class="{ disabled: surplusActivityLoading }" :clearable="false"
|
|
|
+ v-model:value="selectedSurplusActivity" :options="surplusActivityOptions"
|
|
|
+ :placeholder="t('placeholder.choose')" />
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <template #footer>
|
|
|
+ <button @click="closeSurplusActivityDialog">{{ t('Btn.Cancel') }}</button>
|
|
|
+ <button type="primary" @click="confirmSurplusActivity"
|
|
|
+ :disabled="!selectedSurplusActivity || !valueInfo">
|
|
|
+ {{ t('Btn.Confirm') }}
|
|
|
+ </button>
|
|
|
+ </template>
|
|
|
+ </cwg-popup>
|
|
|
+
|
|
|
+ <!-- 月赏礼遇活动弹框 -->
|
|
|
+ <cwg-popup v-model:visible="dialogSurplusActivity1" :title="t('MonthlyActivities.item1')" type="center"
|
|
|
+ :mask-click="false" :show-footers="true" width="600px">
|
|
|
+ <view class="dia-content">
|
|
|
+ <view class="content" style="padding: 20px; font-size: 16px">
|
|
|
+ <strong v-html="t('MonthlyActivities.item8')"></strong>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <template #footer>
|
|
|
+ <button @click="closeSurplusActivityDialog1">{{ t('Btn.Cancel') }}</button>
|
|
|
+ <button type="primary" @click="confirmSurplusActivity1">{{ t('Btn.Confirm') }}</button>
|
|
|
+ </template>
|
|
|
+ </cwg-popup>
|
|
|
</cwg-page-wrapper>
|
|
|
</template>
|
|
|
|
|
|
<script setup lang="ts">
|
|
|
-import { ref, computed, onMounted } from 'vue'
|
|
|
+import { ref, reactive, computed, onMounted, onUnmounted, watch } from 'vue'
|
|
|
import { onLoad, onPullDownRefresh, onReachBottom } from '@dcloudio/uni-app'
|
|
|
import { useI18n } from 'vue-i18n'
|
|
|
import ActivityCard from './components/ActivityCard.vue'
|
|
|
import ActivityDialogs from './components/ActivityDialogs.vue'
|
|
|
-import { useActivityData } from './composables/useActivityData'
|
|
|
-import { useActivityActions } from './composables/useActivityActions'
|
|
|
-import { staticActivityConfigs } from './config/activityConfigs'
|
|
|
+import { activityApi } from "@/service/activity"
|
|
|
+import { customApi } from "@/service/custom"
|
|
|
import Config from '@/config/index'
|
|
|
+// import Drawer from "@/views/global/Drawer"
|
|
|
+// import DrawLotteryRaffle from "@/views/customer/DrawLotteryRaffle"
|
|
|
+// import ActivitiesContent from "@/views/customer/ActivitiesContent24"
|
|
|
+import useUserStore from "@/stores/use-user-store";
|
|
|
+const userStore = useUserStore();
|
|
|
+import { isAfterJuly28 } from "@/utils/dateUtils"
|
|
|
+import { useConfirm } from '@/hooks/useConfirm'
|
|
|
|
|
|
+const confirm = useConfirm()
|
|
|
const { t, locale } = useI18n()
|
|
|
-const { Host80 } = Config
|
|
|
-
|
|
|
-// ==================== 数据逻辑 ====================
|
|
|
-const {
|
|
|
- pictLoading,
|
|
|
- tableData,
|
|
|
- tableDataGive,
|
|
|
- pagerInfo,
|
|
|
- loginOptions,
|
|
|
- activityState,
|
|
|
- country,
|
|
|
- isSupportedCountry,
|
|
|
- isGuoQin,
|
|
|
- overdue,
|
|
|
- timeExpireJx,
|
|
|
- isAfterSeptember30,
|
|
|
- refreshAllActivities,
|
|
|
- handlePageChange
|
|
|
-} = useActivityData()
|
|
|
-
|
|
|
-// ==================== 操作逻辑 ====================
|
|
|
-const {
|
|
|
- // 弹窗状态
|
|
|
- dialogChinaUnionPay,
|
|
|
- dialogChinaUnionPay1,
|
|
|
- dialogChinaUnionPayJX,
|
|
|
- dialogDealResult,
|
|
|
- dialogDealResultJx,
|
|
|
- dialogDealResultJxVip,
|
|
|
- dialogDealResultCpt,
|
|
|
- dialogDealResultJxJYB,
|
|
|
- dialogDealResultNoWorries,
|
|
|
- dialogNoWorries,
|
|
|
- dialogNoWorriesApply,
|
|
|
- dialogNewTask,
|
|
|
- dialogNewTaskDraw,
|
|
|
- dialogSurplusActivity,
|
|
|
- dialogSurplusActivity1,
|
|
|
- openCalculatorFlag,
|
|
|
-
|
|
|
- // 表单数据
|
|
|
- dialogDealResult_form,
|
|
|
- dialogDealResultJx_form,
|
|
|
- dialogDealResultJx_formVip,
|
|
|
- dialogDealResultJx_formJYB,
|
|
|
- dialogDealResultCpt_form,
|
|
|
- dialogDeal_formNoWorries,
|
|
|
- selectedAccount,
|
|
|
- valueInfo,
|
|
|
- surplusActivityOptions,
|
|
|
- surplusActivityLoading,
|
|
|
- selectedSurplusActivity,
|
|
|
-
|
|
|
- // 页面跳转
|
|
|
- toSingle,
|
|
|
- toDeposit,
|
|
|
- toActivity24nianzhong,
|
|
|
- toActivity24Trading,
|
|
|
- toHistoryLuckyDraw,
|
|
|
- toTaskList,
|
|
|
- goSurplusTaskList,
|
|
|
- goMonthlyTaskList,
|
|
|
- toDocumentary,
|
|
|
- backActivity,
|
|
|
-
|
|
|
- // PDF打开
|
|
|
- openPdf,
|
|
|
-
|
|
|
- // 活动操作
|
|
|
- toApply23Open,
|
|
|
- toApply23,
|
|
|
- toApply23Cancel,
|
|
|
- toTransform,
|
|
|
- toTransformActive,
|
|
|
- toRealization,
|
|
|
- toRealizationActive,
|
|
|
- toApply23Jx,
|
|
|
- toApply23JxCancel,
|
|
|
- toApply23JxVip,
|
|
|
- toApply23JxCancelVip,
|
|
|
- toRealizationJx,
|
|
|
- toRealizationJxVip,
|
|
|
- toApplyCpt,
|
|
|
- toApplyCptCancel,
|
|
|
- toApply24JYBVip,
|
|
|
- toApply24JYBCancelVip,
|
|
|
- toRealization24JYBVip,
|
|
|
- toApplyNoWorries,
|
|
|
- toApplyNoWorriesCancel,
|
|
|
- realizationNoWorries,
|
|
|
- getSurplusActivityOptions,
|
|
|
- confirmSurplusActivity,
|
|
|
- confirmSurplusActivity1,
|
|
|
- closedialogNewTaskDraw,
|
|
|
- toOpenSingle,
|
|
|
- cashBack,
|
|
|
- calculateIncome
|
|
|
-} = useActivityActions(activityState, loginOptions, ref(''), refreshAllActivities)
|
|
|
-
|
|
|
-// ==================== 分页相关 ====================
|
|
|
-const refreshing = ref(false)
|
|
|
-const loadingMore = ref(false)
|
|
|
-const scrollTop = ref(0)
|
|
|
-const hasMore = ref(true)
|
|
|
-
|
|
|
-// 计算显示的页码
|
|
|
-const visiblePages = computed(() => {
|
|
|
- const maxVisible = 5
|
|
|
- const half = Math.floor(maxVisible / 2)
|
|
|
- let start = Math.max(1, pagerInfo.value.current - half)
|
|
|
- let end = Math.min(pagerInfo.value.pageTotal, start + maxVisible - 1)
|
|
|
-
|
|
|
- if (end - start + 1 < maxVisible) {
|
|
|
- start = Math.max(1, end - maxVisible + 1)
|
|
|
- }
|
|
|
-
|
|
|
- return Array.from({ length: end - start + 1 }, (_, i) => start + i)
|
|
|
+let { Code, Host05 } = Config
|
|
|
+
|
|
|
+// 国家列表
|
|
|
+const countries = [
|
|
|
+ "DZ", "AO", "BJ", "BW", "BF", "CM", "CG", "CD", "CI", "DJ", "EG", "ET",
|
|
|
+ "GA", "GM", "GH", "GN", "KE", "MG", "MW", "ML", "MR", "MA", "MZ", "NA",
|
|
|
+ "NE", "NG", "RW", "SN", "SL", "SO", "ZA", "SS", "SD", "TZ", "TG", "TN",
|
|
|
+ "UG", "ZM", "ZW", "LS", "BH", "IR", "IQ", "IL", "JO", "KW", "LB", "OM",
|
|
|
+ "PS", "QA", "SA", "SY", "TR", "AE", "YE", "AR", "BO", "BR", "CL", "CO",
|
|
|
+ "EC", "GY", "PY", "PE", "SR", "UY", "VE", "BZ", "CR", "SV", "GT", "HN",
|
|
|
+ "NI", "PA", "AU", "CA", "AL", "AD", "AM", "AT", "AZ", "BY", "BE", "BA",
|
|
|
+ "BG", "HR", "CY", "CZ", "DK", "EE", "FI", "FR", "GE", "DE", "GR", "HU",
|
|
|
+ "IS", "IE", "IT", "XK", "LV", "LI", "LT", "LU", "MT", "MD", "MC", "ME",
|
|
|
+ "NL", "MK", "NO", "PL", "PT", "RO", "RU", "SM", "RS", "SK", "SI", "ES",
|
|
|
+ "SE", "CH", "UA", "VA",
|
|
|
+]
|
|
|
+
|
|
|
+// ==================== 响应式数据 ====================
|
|
|
+const monthlyGive = ref(false) // 是否可以参加CWG Markets 月赏礼遇活动
|
|
|
+const selectedAccount = ref<any>(null)
|
|
|
+const valueInfo = ref<any>(null)
|
|
|
+const loginOptions1 = ref<any[]>([])
|
|
|
+const standard = ref(true)
|
|
|
+const limitedStatus = ref<any>(null)
|
|
|
+const flag = ref(false)
|
|
|
+const pictLoading = ref(false)
|
|
|
+const openType = ref("")
|
|
|
+const dialogInfoTradingAdd = ref(false) //新增
|
|
|
+const imgUrl = ref(Host05)
|
|
|
+const show = ref(false)
|
|
|
+const dialogTableVisible = ref(false)
|
|
|
+const formInfo = ref({}) //传给弹窗的值
|
|
|
+const information = ref<any>({})
|
|
|
+const hot = ref("")
|
|
|
+const singleData = ref({})
|
|
|
+const anshiClose = ref(true)
|
|
|
+const tableData1 = ref<any>({}) //20赠金活动
|
|
|
+const interval = ref<any>(null) //倒计时方法
|
|
|
+const isCountDown = ref("") //倒计时
|
|
|
+const isCashBack = ref(false) //返现按钮
|
|
|
+const tableData2 = ref<any>(true) //2023迎新活动
|
|
|
+const tableData2Flag = ref(false) //2023迎新活动
|
|
|
+const isTransform = ref<any>(null) //转换按钮
|
|
|
+const isRealization = ref<any>(null) //变现按钮
|
|
|
+const dialogChinaUnionPay = ref(false)
|
|
|
+const dialogChinaUnionPay1 = ref(false)
|
|
|
+const loginOptions = ref<any[]>([])
|
|
|
+const dialogDealResult = ref(false)
|
|
|
+const dialogDealResult_form = reactive({ login: "" })
|
|
|
+const tableData3Flag = ref(false) //匠鑫学院cwg活动
|
|
|
+const tableData3 = ref<any>(true) //匠鑫学院cwg活动
|
|
|
+const isRealizationJx = ref<any>(null) //变现按钮
|
|
|
+const dialogDealResultJx = ref(false)
|
|
|
+const dialogDealResultJx_form = reactive({ login: "" })
|
|
|
+const dialogChinaUnionPayJX = ref(false)
|
|
|
+const tableData3FlagVip = ref(false) //匠鑫学院cwg活动
|
|
|
+const tableData3Vip = ref<any>(true) //匠鑫学院cwg活动
|
|
|
+const isRealizationJxVip = ref<any>(null) //变现按钮
|
|
|
+const dialogDealResultJxVip = ref(false)
|
|
|
+const dialogDealResultJx_formVip = reactive({ login: "" })
|
|
|
+const dialogChinaUnionPayJXVip = ref(false)
|
|
|
+const tableData3FlagJYB = ref(false) //24精英杯cwg活动
|
|
|
+const tableData3JYB = ref<any>(true) //24精英杯cwg活动
|
|
|
+const isRealizationJxJYB = ref<any>(null) //变现按钮
|
|
|
+const dialogDealResultJxJYB = ref(false)
|
|
|
+const dialogDealResultJx_formJYB = reactive({ login: "" })
|
|
|
+const dialogChinaUnionPayJXJYB = ref(false)
|
|
|
+const tableData4Flag = ref(false) //年中赠金活动
|
|
|
+const tableData4 = ref<any>(true) //年中赠金活动
|
|
|
+const tableData4TwoFlag = ref(false) //年中赠金活动-20
|
|
|
+const tableData4Two = ref<any>(true) //年中赠金活动-20
|
|
|
+const tableDataCptFlag = ref(false) //交易大赛活动
|
|
|
+const tableDataCpt = ref<any>(true) //交易大赛活动
|
|
|
+const dialogDealResultCpt = ref(false)
|
|
|
+const dialogDealResultCpt_form = reactive({
|
|
|
+ login: "",
|
|
|
+ address: "",
|
|
|
+ cptId: "",
|
|
|
+ mobile: "",
|
|
|
+ nickname: "",
|
|
|
+ recipient: "",
|
|
|
+})
|
|
|
+const dialogChinaUnionPayCpt = ref(false)
|
|
|
+const tableDataCptFlagCode = ref("")
|
|
|
+
|
|
|
+//CWG 现金嘉年华-抽奖
|
|
|
+const newTask = ref(false) //新任务
|
|
|
+const newTaskList = ref({ endTime: "", tradeVolume: "", raffleNumber: "" }) //新任务列表
|
|
|
+const dialogNewTask = ref(false) //新任务弹窗
|
|
|
+const dialogNewTaskDraw = ref(false) //打开抽奖弹窗
|
|
|
+const LuckyDrawsNumber = ref("0") //抽奖次数
|
|
|
+const choujiaClose = ref(false)
|
|
|
+
|
|
|
+const tableDataNoWorriesFlag = ref(false) //24无忧交易
|
|
|
+const tableDataNoWorries = ref<any>(false) //24无忧交易
|
|
|
+const isRealizationNoWorries = ref<any>(null) //变现按钮
|
|
|
+const dialogDealResultNoWorries = ref(false)
|
|
|
+const dialogDeal_formNoWorries = reactive({ login: "" })
|
|
|
+const dialogNoWorries = ref(false)
|
|
|
+const dialogNoWorriesApply = ref(false)
|
|
|
+
|
|
|
+const tableDataNewYear24Flag = ref(false) //24新年庆典
|
|
|
+const tableDataNewYear24 = ref<any>(false) //24新年庆典
|
|
|
+const openCalculatorFlag = ref(false)
|
|
|
+const NewYear24DataBalance = ref("")
|
|
|
+const NewYear24Data = reactive({
|
|
|
+ balance: 0,
|
|
|
+ income: 0,
|
|
|
+})
|
|
|
+
|
|
|
+const dialogSurplusActivity1 = ref(false) // CWG Markets 月赏礼遇活动弹框
|
|
|
+const surplusActivityOptions1 = ref<any[]>([]) // CWG Markets 月赏礼遇活动下拉框选项
|
|
|
+const selectedSurplusActivity1 = ref<any>(null) // 选中的CWG Markets 月赏礼遇活动
|
|
|
+const surplusActivityLoading1 = ref(false) // 加载状态
|
|
|
+const surplusGive1 = ref(false) // 是否可以参加CWG Markets 月赏礼遇活动
|
|
|
+
|
|
|
+// Surplus活动相关
|
|
|
+const dialogSurplusActivity = ref(false) // surplus活动弹框
|
|
|
+const surplusActivityOptions = ref<any[]>([]) // surplus活动下拉框选项
|
|
|
+const selectedSurplusActivity = ref<any>(null) // 选中的surplus活动
|
|
|
+const surplusActivityLoading = ref(false) // 加载状态
|
|
|
+const surplusGive = ref(false) // 是否可以参加surplus活动
|
|
|
+const activityShowsInfo = ref<any>(null) // 活动显示信息
|
|
|
+
|
|
|
+const tableData = ref<any[]>([])
|
|
|
+const search = reactive({
|
|
|
+ date: [] as any[],
|
|
|
+ startDate: "",
|
|
|
+ endDate: "",
|
|
|
+ type: 1,
|
|
|
+})
|
|
|
+//分页
|
|
|
+const pagerInfo = reactive({ row: 10, current: 1, pageTotal: 0, rowTotal: 0 })
|
|
|
+const tableDataGive = ref<any[]>([])
|
|
|
+
|
|
|
+// 验证规则
|
|
|
+const rules = reactive({
|
|
|
+ login: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: t("vaildate.select.empty"),
|
|
|
+ trigger: "change",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ address: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: t("vaildate.input.empty"),
|
|
|
+ trigger: "blur",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ mobile: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: t("vaildate.input.empty"),
|
|
|
+ trigger: "blur",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ nickname: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: t("vaildate.input.empty"),
|
|
|
+ trigger: "blur",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ recipient: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: t("vaildate.input.empty"),
|
|
|
+ trigger: "blur",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+})
|
|
|
+
|
|
|
+// ==================== 计算属性 ====================
|
|
|
+const country = computed(() => {
|
|
|
+ return userStore?.userInfo?.customInfo?.country
|
|
|
+})
|
|
|
+
|
|
|
+const myCid = computed(() => {
|
|
|
+ return userStore?.userInfo?.customInfo?.cId
|
|
|
+})
|
|
|
+
|
|
|
+const isSupportedCountry = computed(() => {
|
|
|
+ try {
|
|
|
+ const country = userStore?.userInfo?.customInfo?.country
|
|
|
+ return countries.includes(country)
|
|
|
+ } catch {
|
|
|
+ return false
|
|
|
+ }
|
|
|
})
|
|
|
|
|
|
-// 上一页
|
|
|
-const handlePrevPage = () => {
|
|
|
- if (pagerInfo.value.current > 1) {
|
|
|
- handlePageChange(pagerInfo.value.current - 1)
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-// 下一页
|
|
|
-const handleNextPage = () => {
|
|
|
- if (pagerInfo.value.current < pagerInfo.value.pageTotal) {
|
|
|
- handlePageChange(pagerInfo.value.current + 1)
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-// 加载更多
|
|
|
-const loadMore = () => {
|
|
|
- if (hasMore.value && !loadingMore.value && pagerInfo.value.current < pagerInfo.value.pageTotal) {
|
|
|
- loadingMore.value = true
|
|
|
- handlePageChange(pagerInfo.value.current + 1)
|
|
|
- setTimeout(() => {
|
|
|
- loadingMore.value = false
|
|
|
- }, 500)
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-// 刷新
|
|
|
-const onRefresh = () => {
|
|
|
- refreshing.value = true
|
|
|
- refreshAllActivities()
|
|
|
- setTimeout(() => {
|
|
|
- refreshing.value = false
|
|
|
- uni.stopPullDownRefresh()
|
|
|
- }, 1000)
|
|
|
-}
|
|
|
-
|
|
|
-// ==================== 可见活动计算 ====================
|
|
|
-const visibleStaticActivities = computed(() => {
|
|
|
- return staticActivityConfigs.filter(config => {
|
|
|
- if (!config.showCondition) return true
|
|
|
-
|
|
|
- switch (config.showCondition) {
|
|
|
- case 'tableDataNewYear24Flag':
|
|
|
- return activityState.tableDataNewYear24Flag
|
|
|
- case "country === 'CN'":
|
|
|
- return country.value === 'CN'
|
|
|
- case 'choujiaClose':
|
|
|
- return activityState.choujiaClose
|
|
|
- case 'tableDataNoWorriesFlag':
|
|
|
- return activityState.tableDataNoWorriesFlag
|
|
|
- case 'standard':
|
|
|
- return activityState.standard
|
|
|
- case 'tableData2Flag':
|
|
|
- return activityState.tableData2Flag
|
|
|
- case 'tableDataCptFlag':
|
|
|
- return activityState.tableDataCptFlag
|
|
|
- case 'tableData3FlagJYB':
|
|
|
- return activityState.tableData3FlagJYB
|
|
|
- case '!isAfterSeptember30() && !isSupportedCountry':
|
|
|
- return !isAfterSeptember30() && !isSupportedCountry.value
|
|
|
- case '!isAfterSeptember30() && isSupportedCountry':
|
|
|
- return !isAfterSeptember30() && isSupportedCountry.value
|
|
|
- default:
|
|
|
- return true
|
|
|
+const isGuoQin = computed(() => {
|
|
|
+ let flag = false
|
|
|
+ let startTime1 = "2024/10/01 00:00:00"
|
|
|
+ let endTime1 = "2024/10/07 23:59:59"
|
|
|
+ let timezone = 8
|
|
|
+ let offset_GMT = new Date().getTimezoneOffset()
|
|
|
+ let nowDate = new Date().getTime()
|
|
|
+ let now = new Date(nowDate + offset_GMT * 60 * 1000 + timezone * 60 * 60 * 1000).getTime()
|
|
|
+ let end = new Date(endTime1).getTime()
|
|
|
+ let start = new Date(startTime1).getTime()
|
|
|
+ if (now > start && now < end) {
|
|
|
+ flag = true
|
|
|
+ }
|
|
|
+ return flag
|
|
|
+})
|
|
|
+
|
|
|
+const showMonthlyActivity2026 = computed(() => {
|
|
|
+ let targetTime = "2026/01/01 00:00:00"
|
|
|
+ let timezone = 8
|
|
|
+ let offset_GMT = new Date().getTimezoneOffset()
|
|
|
+ let nowDate = new Date().getTime()
|
|
|
+ let now = new Date(nowDate + offset_GMT * 60 * 1000 + timezone * 60 * 60 * 1000).getTime()
|
|
|
+ let target = new Date(targetTime).getTime()
|
|
|
+ return now >= target
|
|
|
+})
|
|
|
+
|
|
|
+// ==================== 工具方法 ====================
|
|
|
+//时间补0
|
|
|
+const getzero = (time: number | string) => {
|
|
|
+ return time > "9" ? time : "0" + time
|
|
|
+}
|
|
|
+
|
|
|
+//时间格式转换
|
|
|
+const timeConvert = (val: string) => {
|
|
|
+ if (val) {
|
|
|
+ var datetime = new Date(val.replace(/-/g, "/"))
|
|
|
+ var year = datetime.getFullYear()
|
|
|
+ var month = datetime.getMonth() + 1
|
|
|
+ var date = datetime.getDate()
|
|
|
+ if (month < 10) {
|
|
|
+ month = "0" + month
|
|
|
}
|
|
|
- })
|
|
|
+ if (date < 10) {
|
|
|
+ date = "0" + date
|
|
|
+ }
|
|
|
+ var time = year + "年" + month + "月" + date + "日"
|
|
|
+ return time
|
|
|
+ }
|
|
|
+ return ""
|
|
|
+}
|
|
|
+
|
|
|
+//判断匠鑫活动是否报名结束
|
|
|
+const timeExpireJx = (endTime: string) => {
|
|
|
+ let endTime1 = endTime.replace(/-/g, "/").split(" ")[0]
|
|
|
+ let timezone = 2
|
|
|
+ let offset_GMT = new Date().getTimezoneOffset()
|
|
|
+ let nowDate = new Date().getTime()
|
|
|
+ let now = new Date(nowDate + offset_GMT * 60 * 1000 + timezone * 60 * 60 * 1000).getTime()
|
|
|
+ let end = new Date(endTime1).getTime()
|
|
|
+ return now < end
|
|
|
+}
|
|
|
+
|
|
|
+//判断活动是否结束
|
|
|
+const overdue = (startTime: string, endTime: string) => {
|
|
|
+ let startTime1 = startTime.replace(/-/g, "/").split(" ")[0]
|
|
|
+ let endTime1 = endTime.replace(/-/g, "/").split(" ")[0]
|
|
|
+ let timezone = 2
|
|
|
+ let offset_GMT = new Date().getTimezoneOffset()
|
|
|
+ let nowDate = new Date().getTime()
|
|
|
+ let now = new Date(nowDate + offset_GMT * 60 * 1000 + timezone * 60 * 60 * 1000).getTime()
|
|
|
+ let start = new Date(startTime1).getTime()
|
|
|
+ let end = new Date(endTime1).getTime()
|
|
|
+ return start < now && now < end
|
|
|
+}
|
|
|
+
|
|
|
+const isAfterJuly21 = () => {
|
|
|
+ const currentDate = new Date()
|
|
|
+ const july21 = new Date(currentDate.getFullYear(), 6, 21)
|
|
|
+ return currentDate >= july21
|
|
|
+}
|
|
|
+
|
|
|
+// 判断是否在9月30日晚上12点之后,用于隐藏特定活动
|
|
|
+const isAfterSeptember30 = () => {
|
|
|
+ return true
|
|
|
+}
|
|
|
+
|
|
|
+const standardTime = () => {
|
|
|
+ standard.value = false
|
|
|
+}
|
|
|
+
|
|
|
+const groupCurrency = (type: string) => {
|
|
|
+ if (type == "GBP") {
|
|
|
+ return ": £"
|
|
|
+ } else if (type == "USD") {
|
|
|
+ return ": $"
|
|
|
+ } else if (type == "EUR") {
|
|
|
+ return ": €"
|
|
|
+ } else if (type == "USC") {
|
|
|
+ return ": ¢"
|
|
|
+ } else {
|
|
|
+ return ": $"
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+const groupCurrency1 = (type: string) => {
|
|
|
+ if (type == "GBP") {
|
|
|
+ return "£"
|
|
|
+ } else if (type == "USD") {
|
|
|
+ return "$"
|
|
|
+ } else if (type == "EUR") {
|
|
|
+ return "€"
|
|
|
+ } else if (type == "USC") {
|
|
|
+ return "¢"
|
|
|
+ } else {
|
|
|
+ return "$"
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+const groupTypeName = (type: string) => {
|
|
|
+ if (type == "1") {
|
|
|
+ return t("AccountType.ClassicAccount")
|
|
|
+ } else if (type == "2") {
|
|
|
+ return t("AccountType.SeniorAccount")
|
|
|
+ } else if (type == "3") {
|
|
|
+ return isAfterJuly28() ? "--" : t("AccountType.AgencyAccount")
|
|
|
+ } else if (type == "5") {
|
|
|
+ return t("AccountType.SpeedAccount")
|
|
|
+ } else if (type == "6") {
|
|
|
+ return t("AccountType.SpeedAccount")
|
|
|
+ } else if (type == "7") {
|
|
|
+ return t("AccountType.StandardAccount")
|
|
|
+ } else if (type == "8") {
|
|
|
+ return t("AccountType.CentAccount")
|
|
|
+ }
|
|
|
+ return ""
|
|
|
+}
|
|
|
+
|
|
|
+// ==================== API 请求方法 ====================
|
|
|
+const loginComboxOptions = computed(() => {
|
|
|
+ return loginOptions1.value.map((item) => ({
|
|
|
+ text: item.label,
|
|
|
+ value: item.login
|
|
|
+ }))
|
|
|
})
|
|
|
+//获取账户信息
|
|
|
+const getDateList = async () => {
|
|
|
+ let res = await customApi.DropdownlusActivityOptions({ platform: "" })
|
|
|
+ if (res.code == Code.StatusOK) {
|
|
|
+ // loginOptions1.value = res.data
|
|
|
+ loginOptions1.value = res.data.map(item => ({
|
|
|
+ ...item,
|
|
|
+ label: `${item.login} - ${groupTypeName(item.type)} - ${t('Custom.Deposit.AvailableBalance')}${groupCurrency(item.currency)}${item.balance}`
|
|
|
+ }))
|
|
|
+ } else {
|
|
|
+ uni.showToast({ title: res.msg, icon: "none" })
|
|
|
+ }
|
|
|
+}
|
|
|
|
|
|
-// ==================== 创建动态活动配置 ====================
|
|
|
-const createDynamicConfig = (item: any) => {
|
|
|
- return {
|
|
|
- id: item.id,
|
|
|
- title: item.title,
|
|
|
- description: item.subTitle,
|
|
|
- image: item.image,
|
|
|
- time: item.deliveryTime?.split(' ')[0],
|
|
|
- hot: item.hot,
|
|
|
- onClick: 'toSingle',
|
|
|
- onClickParams: [item.id],
|
|
|
- buttons: [
|
|
|
- {
|
|
|
- type: item.startTime && item.endTime && overdue(item.startTime, item.endTime) ? 'red' : 'gray',
|
|
|
- text: 'Custom.Activity.Apply',
|
|
|
- action: 'applications',
|
|
|
- params: [item]
|
|
|
- },
|
|
|
- {
|
|
|
- type: 'check',
|
|
|
- text: 'Custom.Activity.List',
|
|
|
- action: 'checkActivity',
|
|
|
- params: [item]
|
|
|
- },
|
|
|
- {
|
|
|
- type: 'check',
|
|
|
- text: 'Custom.Activity.Single',
|
|
|
- action: 'toSingle',
|
|
|
- params: [item.id]
|
|
|
+//获取list
|
|
|
+const searchFunc = async () => {
|
|
|
+ if (flag.value) {
|
|
|
+ return
|
|
|
+ } else {
|
|
|
+ flag.value = true
|
|
|
+ }
|
|
|
+ pictLoading.value = true
|
|
|
+ let res = await activityApi.ActivityExtensionIist({
|
|
|
+ hot: hot.value,
|
|
|
+ tag: 1,
|
|
|
+ lang: ["cn", "zhHant"].indexOf(locale.value) !== -1 ? "cn" : "en",
|
|
|
+ page: {
|
|
|
+ current: pagerInfo.current,
|
|
|
+ row: pagerInfo.row,
|
|
|
+ },
|
|
|
+ })
|
|
|
+ if (res.code == Code.StatusOK) {
|
|
|
+ tableData.value = res.data
|
|
|
+ pagerInfo.rowTotal = res.page.rowTotal
|
|
|
+ pagerInfo.pageTotal = res.page.pageTotal
|
|
|
+ flag.value = false
|
|
|
+ } else {
|
|
|
+ uni.showToast({ title: res.msg, icon: "none" })
|
|
|
+ flag.value = false
|
|
|
+ }
|
|
|
+ pictLoading.value = false
|
|
|
+}
|
|
|
+
|
|
|
+//获取list-赠金活动列表
|
|
|
+const searchFunc1 = async () => {
|
|
|
+ pictLoading.value = true
|
|
|
+ let res = await activityApi.ActivityExtensionGiveList({
|
|
|
+ page: {
|
|
|
+ current: pagerInfo.current,
|
|
|
+ row: pagerInfo.row,
|
|
|
+ },
|
|
|
+ })
|
|
|
+ if (res.code == Code.StatusOK) {
|
|
|
+ tableDataGive.value = res.data
|
|
|
+ pagerInfo.rowTotal = res.page.rowTotal
|
|
|
+ pagerInfo.pageTotal = res.page.pageTotal
|
|
|
+ } else {
|
|
|
+ uni.showToast({ title: res.msg, icon: "none" })
|
|
|
+ }
|
|
|
+ pictLoading.value = false
|
|
|
+}
|
|
|
+
|
|
|
+//详情
|
|
|
+const getSingle = async (id: string) => {
|
|
|
+ let res = await activityApi.ActivitySingle({
|
|
|
+ id: id,
|
|
|
+ })
|
|
|
+ if (res.code == Code.StatusOK) {
|
|
|
+ singleData.value = res.data
|
|
|
+ } else {
|
|
|
+ uni.showToast({ title: res.msg, icon: "none" })
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+//获取客户申请活动列表
|
|
|
+const getApplyList = async () => {
|
|
|
+ let res = await activityApi.ActivityApplyList({
|
|
|
+ page: {
|
|
|
+ current: pagerInfo.current,
|
|
|
+ row: pagerInfo.row,
|
|
|
+ },
|
|
|
+ })
|
|
|
+ if (res.code == Code.StatusOK) {
|
|
|
+ pagerInfo.rowTotal = res.page.rowTotal
|
|
|
+ pagerInfo.pageTotal = res.page.pageTotal
|
|
|
+ } else {
|
|
|
+ uni.showToast({ title: res.msg, icon: "none" })
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+//20赠金活动数据
|
|
|
+const getActivityPercentageGiveInfo = async () => {
|
|
|
+ let res = await activityApi.ActivityPercentageGiveInfo({})
|
|
|
+ if (res.code == Code.StatusOK) {
|
|
|
+ tableData1.value = res.data
|
|
|
+ if (typeof tableData1.value == "object") {
|
|
|
+ let timezone = 2
|
|
|
+ let offset_GMT = new Date().getTimezoneOffset()
|
|
|
+ let nowDate = new Date().getTime()
|
|
|
+ let nowTime = new Date(nowDate + offset_GMT * 60 * 1000 + timezone * 60 * 60 * 1000)
|
|
|
+ let startTime = new Date(tableData1.value.activityStartTime.replace(/-/g, "/")).getTime()
|
|
|
+ if (nowTime < startTime) {
|
|
|
+ interval.value = setInterval(() => {
|
|
|
+ let timezone = 2
|
|
|
+ let offset_GMT = new Date().getTimezoneOffset()
|
|
|
+ let nowDate = new Date().getTime()
|
|
|
+ let nowTime = new Date(nowDate + offset_GMT * 60 * 1000 + timezone * 60 * 60 * 1000)
|
|
|
+ let sec = 1000,
|
|
|
+ min = 60 * sec,
|
|
|
+ hour = min * 60,
|
|
|
+ day = 24 * hour
|
|
|
+ let time = startTime - nowTime
|
|
|
+ let DAY = getzero(Math.floor(time / day))
|
|
|
+ let HOUR = getzero(Math.floor((time % day) / hour))
|
|
|
+ let MIN = getzero(Math.floor((time % hour) / min))
|
|
|
+ let SEC = getzero(Math.floor((time % min) / sec))
|
|
|
+ isCountDown.value = `${DAY}${t("Label.Day")}${HOUR}:${MIN}:${SEC}`
|
|
|
+ if (nowTime >= startTime) {
|
|
|
+ clearInterval(interval.value)
|
|
|
+ getActivityPercentageGiveInfo()
|
|
|
+ }
|
|
|
+ }, 1000)
|
|
|
+ } else if (nowTime > startTime && tableData1.value.status == 0) {
|
|
|
+ isCashBack.value = true
|
|
|
}
|
|
|
- ]
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-const createGiveConfig = (item: any) => {
|
|
|
- return {
|
|
|
- id: item.id,
|
|
|
- title: item.title,
|
|
|
- description: item.subTitle,
|
|
|
- image: item.image,
|
|
|
- time: item.revokeDate?.split(' ')[0],
|
|
|
- hot: item.hot,
|
|
|
- onClick: 'toSingle',
|
|
|
- onClickParams: ['newList', item.id],
|
|
|
- buttons: [
|
|
|
- {
|
|
|
- type: item.valid === 1 ? 'red' : 'gray',
|
|
|
- text: 'Custom.Activity.Apply',
|
|
|
- action: 'toActivity24nianzhong'
|
|
|
- },
|
|
|
- {
|
|
|
- type: 'check',
|
|
|
- text: 'Custom.Activity.Single',
|
|
|
- action: 'toSingle',
|
|
|
- params: ['newList', item.id]
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ uni.showToast({ title: res.msg, icon: "none" })
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+//返现
|
|
|
+const cashBack = async () => {
|
|
|
+ let res = await activityApi.ActivityPercentageGiveApply({})
|
|
|
+ if (res.code == Code.StatusOK) {
|
|
|
+ uni.showToast({ title: t("Msg.Application"), icon: "success" })
|
|
|
+ } else {
|
|
|
+ uni.showToast({ title: res.msg, icon: "none" })
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+//20赠金活动申请
|
|
|
+const toDeposit = () => {
|
|
|
+ uni.navigateTo({ url: "/pages/customer/deposit/index" })
|
|
|
+}
|
|
|
+
|
|
|
+//2023迎新活动数据
|
|
|
+const Activity23HundredInfo = async () => {
|
|
|
+ let res = await activityApi.Activity23HundredInfo({})
|
|
|
+ if (res.code == Code.StatusOK) {
|
|
|
+ tableData2.value = res.data
|
|
|
+ if (typeof tableData2.value == "object") {
|
|
|
+ tableData2Flag.value = true
|
|
|
+ let timezone = 2
|
|
|
+ let offset_GMT = new Date().getTimezoneOffset()
|
|
|
+ let nowDate = new Date().getTime()
|
|
|
+ let nowTime = new Date(nowDate + offset_GMT * 60 * 1000 + timezone * 60 * 60 * 1000)
|
|
|
+ let startTime = new Date(tableData2.value.activityStartTime.replace(/-/g, "/")).getTime()
|
|
|
+ let endTime = new Date(tableData2.value.activityEndTime.replace(/-/g, "/")).getTime()
|
|
|
+ if (nowTime < endTime && nowTime > startTime) {
|
|
|
+ if (tableData2.value.status == 2 && tableData2.value.activityStatus == 0) {
|
|
|
+ isTransform.value = 1
|
|
|
+ } else if (
|
|
|
+ tableData2.value.status == 2 &&
|
|
|
+ (tableData2.value.activityStatus == 1 ||
|
|
|
+ (tableData2.value.balanceStatus != 2 && tableData2.value.creditStatus != 2))
|
|
|
+ ) {
|
|
|
+ isTransform.value = 2
|
|
|
+ } else if (tableData2.value.status == 2 && tableData2.value.activityStatus == 3) {
|
|
|
+ isTransform.value = 2
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ isTransform.value = 2
|
|
|
+ }
|
|
|
+ if (tableData2.value.status == 2 && tableData2.value.activityStatus == 2) {
|
|
|
+ isTransform.value = null
|
|
|
+ if (tableData2.value.realizationStatus == 0) {
|
|
|
+ isRealization.value = 1
|
|
|
+ } else if (
|
|
|
+ tableData2.value.realizationStatus == 1 ||
|
|
|
+ (tableData2.value.realizationCreditStatus != 2 && tableData2.value.realizationBalanceStatus != 2)
|
|
|
+ ) {
|
|
|
+ isRealization.value = 2
|
|
|
+ } else if (tableData2.value.realizationStatus == 3) {
|
|
|
+ isRealization.value = 2
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ isRealization.value = null
|
|
|
}
|
|
|
- ]
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-// ==================== 弹窗状态聚合 ====================
|
|
|
-const dialogState = {
|
|
|
- dialogChinaUnionPay,
|
|
|
- dialogChinaUnionPay1,
|
|
|
- dialogChinaUnionPayJX,
|
|
|
- dialogDealResult,
|
|
|
- dialogDealResultJx,
|
|
|
- dialogDealResultJxVip,
|
|
|
- dialogDealResultCpt,
|
|
|
- dialogDealResultJxJYB,
|
|
|
- dialogDealResultNoWorries,
|
|
|
- dialogNoWorries,
|
|
|
- dialogNoWorriesApply,
|
|
|
- dialogNewTask,
|
|
|
- dialogNewTaskDraw,
|
|
|
- dialogSurplusActivity,
|
|
|
- dialogSurplusActivity1,
|
|
|
- openCalculatorFlag
|
|
|
-}
|
|
|
-
|
|
|
-const formData = {
|
|
|
- dialogDealResult_form,
|
|
|
- dialogDealResultJx_form,
|
|
|
- dialogDealResultJx_formVip,
|
|
|
- dialogDealResultJx_formJYB,
|
|
|
- dialogDealResultCpt_form,
|
|
|
- dialogDeal_formNoWorries,
|
|
|
- selectedAccount,
|
|
|
- valueInfo,
|
|
|
- selectedSurplusActivity
|
|
|
-}
|
|
|
-
|
|
|
-const surplusOptions = {
|
|
|
- options: surplusActivityOptions,
|
|
|
- loading: surplusActivityLoading
|
|
|
-}
|
|
|
-
|
|
|
-// 更新弹窗可见性
|
|
|
-const updateDialogVisible = (key: string, value: boolean) => {
|
|
|
- const dialogMap: Record<string, any> = {
|
|
|
- dialogChinaUnionPay,
|
|
|
- dialogChinaUnionPay1,
|
|
|
- dialogChinaUnionPayJX,
|
|
|
- dialogDealResult,
|
|
|
- dialogDealResultJx,
|
|
|
- dialogDealResultJxVip,
|
|
|
- dialogDealResultCpt,
|
|
|
- dialogDealResultJxJYB,
|
|
|
- dialogDealResultNoWorries,
|
|
|
- dialogNoWorries,
|
|
|
- dialogNoWorriesApply,
|
|
|
- dialogNewTask,
|
|
|
- dialogNewTaskDraw,
|
|
|
- dialogSurplusActivity,
|
|
|
- dialogSurplusActivity1,
|
|
|
- openCalculatorFlag
|
|
|
- }
|
|
|
- if (dialogMap[key]) {
|
|
|
- dialogMap[key].value = value
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-// 处理弹窗操作
|
|
|
-const handleDialogAction = (action: string, data?: any) => {
|
|
|
- switch (action) {
|
|
|
- case 'toApply23':
|
|
|
- toApply23()
|
|
|
- break
|
|
|
- case 'toApply23Cancel':
|
|
|
- toApply23Cancel()
|
|
|
- break
|
|
|
- case 'toTransformActive':
|
|
|
- toTransformActive()
|
|
|
- break
|
|
|
- // ... 其他操作
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-// ==================== 活动操作处理 ====================
|
|
|
-const handleActivityAction = ({ type, params }: { type: string; params?: any[] }) => {
|
|
|
- switch (type) {
|
|
|
- case 'toSingle':
|
|
|
- toSingle(...(params || []))
|
|
|
- break
|
|
|
- case 'openCalculator':
|
|
|
- openCalculatorFlag.value = true
|
|
|
- break
|
|
|
- case 'openPdf':
|
|
|
- openPdf(params?.[0] || type)
|
|
|
- break
|
|
|
- case 'openSurplusActivityDialog':
|
|
|
- dialogSurplusActivity.value = true
|
|
|
- break
|
|
|
- case 'openSurplusActivityDialog1':
|
|
|
- dialogSurplusActivity1.value = true
|
|
|
- break
|
|
|
- case 'goMonthlyTaskList':
|
|
|
- goMonthlyTaskList()
|
|
|
- break
|
|
|
- case 'goSurplusTaskList':
|
|
|
- goSurplusTaskList()
|
|
|
- break
|
|
|
- case 'toHistoryLuckyDraw':
|
|
|
- toHistoryLuckyDraw()
|
|
|
- break
|
|
|
- case 'toOpenTask':
|
|
|
- dialogNewTaskDraw.value = true
|
|
|
- break
|
|
|
- case 'toNewTask':
|
|
|
- dialogNewTask.value = true
|
|
|
- break
|
|
|
- case 'toTaskList':
|
|
|
- toTaskList()
|
|
|
- break
|
|
|
- case 'toApplyNoWorriesOpen':
|
|
|
- dialogDealResultNoWorries.value = true
|
|
|
- break
|
|
|
- case 'toRealizationNoWorries':
|
|
|
- dialogNoWorries.value = true
|
|
|
- break
|
|
|
- case 'toActivity24Trading':
|
|
|
- toActivity24Trading()
|
|
|
- break
|
|
|
- case 'toActivity24nianzhong':
|
|
|
- toActivity24nianzhong()
|
|
|
- break
|
|
|
- case 'toApply23Open':
|
|
|
- toApply23Open()
|
|
|
- break
|
|
|
- case 'toTransform':
|
|
|
- toTransform()
|
|
|
- break
|
|
|
- case 'toRealization':
|
|
|
- toRealization()
|
|
|
- break
|
|
|
- case 'toApplyCptOpen':
|
|
|
- dialogDealResultCpt.value = true
|
|
|
- break
|
|
|
- case 'toOpenSingle':
|
|
|
- // 处理打开外部链接
|
|
|
- break
|
|
|
- case 'toApply24JYBOpenVip':
|
|
|
- dialogDealResultJxJYB.value = true
|
|
|
- break
|
|
|
- case 'toRealization24JYBVip':
|
|
|
- // 处理变现
|
|
|
- break
|
|
|
- case 'applications':
|
|
|
- // 处理申请
|
|
|
- break
|
|
|
- case 'checkActivity':
|
|
|
- // 处理查看活动
|
|
|
- break
|
|
|
- case 'openDialog':
|
|
|
- if (params?.[0]) {
|
|
|
- updateDialogVisible(params[0], true)
|
|
|
+ } else {
|
|
|
+ if (tableData2.value) {
|
|
|
+ tableData2Flag.value = true
|
|
|
}
|
|
|
- break
|
|
|
- case 'cashBack':
|
|
|
- // 处理返现
|
|
|
- break
|
|
|
- case 'toApply23JxOpen':
|
|
|
- dialogDealResultJx.value = true
|
|
|
- break
|
|
|
- case 'toApply23JxOpenVip':
|
|
|
- dialogDealResultJxVip.value = true
|
|
|
- break
|
|
|
- case 'toApplyCptOpen':
|
|
|
- dialogDealResultCpt.value = true
|
|
|
- break
|
|
|
- case 'toApply24JYBOpenVip':
|
|
|
- dialogDealResultJxJYB.value = true
|
|
|
- break
|
|
|
- case 'toApplyNoWorriesOpen':
|
|
|
- dialogDealResultNoWorries.value = true
|
|
|
- break
|
|
|
- case 'toRealizationJx':
|
|
|
- toRealizationJx()
|
|
|
- break
|
|
|
- case 'toRealizationJxVip':
|
|
|
- toRealizationJxVip()
|
|
|
- break
|
|
|
- case 'toRealization24JYBVip':
|
|
|
- toRealization24JYBVip()
|
|
|
- break
|
|
|
- case 'toRealizationNoWorries':
|
|
|
- dialogNoWorries.value = true
|
|
|
- break
|
|
|
- case 'toOpenSingle':
|
|
|
- toOpenSingle(params?.[0])
|
|
|
- break
|
|
|
- case 'cashBack':
|
|
|
- cashBack()
|
|
|
- break
|
|
|
- default:
|
|
|
- console.warn('未知操作类型:', type)
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ uni.showToast({ title: res.msg, icon: "none" })
|
|
|
+ tableData2.value = true
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-// ==================== 生命周期 ====================
|
|
|
-onLoad(() => {
|
|
|
- refreshAllActivities()
|
|
|
-})
|
|
|
+//获取交易账户的下拉列表
|
|
|
+const toApply23Open = async () => {
|
|
|
+ pictLoading.value = true
|
|
|
+ let res = await activityApi.Activity23Login({})
|
|
|
+ if (res.code == Code.StatusOK) {
|
|
|
+ loginOptions.value = res.data
|
|
|
+ dialogDealResult.value = true
|
|
|
+ } else {
|
|
|
+ uni.showToast({ title: res.msg, icon: "none" })
|
|
|
+ }
|
|
|
+ pictLoading.value = false
|
|
|
+}
|
|
|
|
|
|
-onPullDownRefresh(() => {
|
|
|
- refreshAllActivities()
|
|
|
- setTimeout(() => {
|
|
|
- uni.stopPullDownRefresh()
|
|
|
- }, 1000)
|
|
|
-})
|
|
|
+//2023迎新活动申请
|
|
|
+const toApply23 = async () => {
|
|
|
+ if (flag.value) {
|
|
|
+ return
|
|
|
+ } else {
|
|
|
+ flag.value = true
|
|
|
+ }
|
|
|
+ let res = await activityApi.Activity23HundredApply({
|
|
|
+ login: dialogDealResult_form.login,
|
|
|
+ })
|
|
|
+ if (res.code == Code.StatusOK) {
|
|
|
+ toApply23Cancel()
|
|
|
+ Activity23HundredInfo()
|
|
|
+ uni.showToast({ title: res.msg, icon: "success" })
|
|
|
+ } else {
|
|
|
+ uni.showToast({ title: res.msg, icon: "none" })
|
|
|
+ }
|
|
|
+}
|
|
|
|
|
|
-onReachBottom(() => {
|
|
|
- loadMore()
|
|
|
-})
|
|
|
-</script>
|
|
|
+const toApply23Cancel = () => {
|
|
|
+ dialogDealResult_form.login = ""
|
|
|
+ dialogDealResult.value = false
|
|
|
+}
|
|
|
|
|
|
-<style scoped lang="scss">
|
|
|
-@import "@/uni.scss";
|
|
|
+//盈利转换
|
|
|
+const toTransform = () => {
|
|
|
+ dialogChinaUnionPay.value = true
|
|
|
+}
|
|
|
|
|
|
-.custom_activities {
|
|
|
- display: flex;
|
|
|
- flex-direction: column;
|
|
|
+const toTransformActive = async () => {
|
|
|
+ let res = await activityApi.Activity23HundredTransform({})
|
|
|
+ if (res.code == Code.StatusOK) {
|
|
|
+ dialogChinaUnionPay.value = false
|
|
|
+ Activity23HundredInfo()
|
|
|
+ uni.showToast({ title: res.msg, icon: "success" })
|
|
|
+ } else {
|
|
|
+ uni.showToast({ title: res.msg, icon: "none" })
|
|
|
+ }
|
|
|
+}
|
|
|
|
|
|
- .crm-title-box {
|
|
|
- padding: 20rpx 30rpx;
|
|
|
- background-color: var(--color-white);
|
|
|
- border-bottom: 1rpx solid #e5e5e5;
|
|
|
+//盈利变现
|
|
|
+const toRealization = () => {
|
|
|
+ dialogChinaUnionPay1.value = true
|
|
|
+}
|
|
|
|
|
|
- .tit {
|
|
|
- font-size: 32rpx;
|
|
|
- font-weight: bold;
|
|
|
- color: #333;
|
|
|
+const toRealizationActive = async () => {
|
|
|
+ let res = await activityApi.Activity23HundredRealization({})
|
|
|
+ if (res.code == Code.StatusOK) {
|
|
|
+ dialogChinaUnionPay1.value = false
|
|
|
+ Activity23HundredInfo()
|
|
|
+ uni.showToast({ title: res.msg, icon: "success" })
|
|
|
+ } else {
|
|
|
+ uni.showToast({ title: res.msg, icon: "none" })
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+//2023匠鑫活动数据
|
|
|
+const Activity23JiangxinInfo = async () => {
|
|
|
+ let res = await activityApi.Activity23JiangxinInfo({})
|
|
|
+ if (res.code == Code.StatusOK) {
|
|
|
+ tableData3.value = res.data
|
|
|
+ if (tableData3.value.show == 1) {
|
|
|
+ tableData3Flag.value = true
|
|
|
+ } else if (tableData3.value.show == 0) {
|
|
|
+ tableData3Flag.value = false
|
|
|
+ } else if (!tableData3.value.show) {
|
|
|
+ tableData3Flag.value = true
|
|
|
+ let timezone = 2
|
|
|
+ let offset_GMT = new Date().getTimezoneOffset()
|
|
|
+ let nowDate = new Date().getTime()
|
|
|
+ let nowTime = new Date(nowDate + offset_GMT * 60 * 1000 + timezone * 60 * 60 * 1000)
|
|
|
+ let endTime = tableData3.value.activityEndTime
|
|
|
+ ? new Date(tableData3.value.activityEndTime.replace(/-/g, "/")).getTime()
|
|
|
+ : null
|
|
|
+ if (
|
|
|
+ tableData3.value.status == 2 &&
|
|
|
+ tableData3.value.realizationStatus == 0 &&
|
|
|
+ endTime &&
|
|
|
+ nowTime > endTime
|
|
|
+ ) {
|
|
|
+ isRealizationJx.value = 1
|
|
|
+ } else {
|
|
|
+ isRealizationJx.value = 2
|
|
|
+ }
|
|
|
}
|
|
|
+ } else {
|
|
|
+ uni.showToast({ title: res.msg, icon: "none" })
|
|
|
}
|
|
|
+}
|
|
|
|
|
|
- .main-content {
|
|
|
- flex: 1;
|
|
|
- overflow: hidden;
|
|
|
+//获取交易账户的下拉列表
|
|
|
+const toApply23JxOpen = async () => {
|
|
|
+ pictLoading.value = true
|
|
|
+ let res = await activityApi.Activity23JxLogin({})
|
|
|
+ if (res.code == Code.StatusOK) {
|
|
|
+ loginOptions.value = res.data
|
|
|
+ dialogDealResultJx.value = true
|
|
|
+ } else {
|
|
|
+ uni.showToast({ title: res.msg, icon: "none" })
|
|
|
+ }
|
|
|
+ pictLoading.value = false
|
|
|
+}
|
|
|
|
|
|
- .tab {
|
|
|
- height: 100%;
|
|
|
- padding-top: px2rpx(20);
|
|
|
+//2023迎新活动申请
|
|
|
+const toApply23Jx = async () => {
|
|
|
+ if (flag.value) {
|
|
|
+ return
|
|
|
+ } else {
|
|
|
+ flag.value = true
|
|
|
+ }
|
|
|
+ let res = await activityApi.Activity23JiangxinApply({
|
|
|
+ login: dialogDealResultJx_form.login,
|
|
|
+ })
|
|
|
+ if (res.code == Code.StatusOK) {
|
|
|
+ toApply23JxCancel()
|
|
|
+ Activity23JiangxinInfo()
|
|
|
+ uni.showToast({ title: res.msg, icon: "success" })
|
|
|
+ } else {
|
|
|
+ uni.showToast({ title: res.msg, icon: "none" })
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+const toApply23JxCancel = () => {
|
|
|
+ dialogDealResultJx_form.login = ""
|
|
|
+ dialogDealResultJx.value = false
|
|
|
+}
|
|
|
+
|
|
|
+//盈利变现
|
|
|
+const toRealizationJx = async () => {
|
|
|
+ let res = await activityApi.Activity23JiangxinRealization({
|
|
|
+ id: tableData3.value.id,
|
|
|
+ })
|
|
|
+ if (res.code == Code.StatusOK) {
|
|
|
+ Activity23JiangxinInfo()
|
|
|
+ uni.showToast({ title: res.msg, icon: "success" })
|
|
|
+ } else {
|
|
|
+ uni.showToast({ title: res.msg, icon: "none" })
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+//2023匠鑫活动数据Vip
|
|
|
+const Activity23JiangxinInfoVip = async () => {
|
|
|
+ let res = await activityApi.Activity23JiangxinInfoVip({})
|
|
|
+ if (res.code == Code.StatusOK) {
|
|
|
+ tableData3Vip.value = res.data
|
|
|
+ if (tableData3Vip.value.show == 1) {
|
|
|
+ tableData3FlagVip.value = true
|
|
|
+ } else if (tableData3Vip.value.show == 0) {
|
|
|
+ tableData3FlagVip.value = false
|
|
|
+ } else if (!tableData3Vip.value.show) {
|
|
|
+ tableData3FlagVip.value = true
|
|
|
+ let timezone = 2
|
|
|
+ let offset_GMT = new Date().getTimezoneOffset()
|
|
|
+ let nowDate = new Date().getTime()
|
|
|
+ let nowTime = new Date(nowDate + offset_GMT * 60 * 1000 + timezone * 60 * 60 * 1000)
|
|
|
+ let endTime = tableData3Vip.value.activityEndTime
|
|
|
+ ? new Date(tableData3Vip.value.activityEndTime.replace(/-/g, "/")).getTime()
|
|
|
+ : null
|
|
|
+ if (
|
|
|
+ tableData3Vip.value.status == 2 &&
|
|
|
+ tableData3Vip.value.realizationStatus == 0 &&
|
|
|
+ endTime &&
|
|
|
+ nowTime > endTime
|
|
|
+ ) {
|
|
|
+ isRealizationJxVip.value = 1
|
|
|
+ } else {
|
|
|
+ isRealizationJxVip.value = 2
|
|
|
+ }
|
|
|
}
|
|
|
+ } else {
|
|
|
+ uni.showToast({ title: res.msg, icon: "none" })
|
|
|
}
|
|
|
+}
|
|
|
|
|
|
- .loading-mask {
|
|
|
- position: absolute;
|
|
|
- top: 0;
|
|
|
- left: 0;
|
|
|
- right: 0;
|
|
|
- bottom: 0;
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- justify-content: center;
|
|
|
- background-color: rgba(255, 255, 255, 0.9);
|
|
|
- z-index: 100;
|
|
|
-
|
|
|
- .loading-content {
|
|
|
- display: flex;
|
|
|
- flex-direction: column;
|
|
|
- align-items: center;
|
|
|
- padding: 30rpx;
|
|
|
- background-color: var(--color-white);
|
|
|
- border-radius: 16rpx;
|
|
|
- box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.1);
|
|
|
-
|
|
|
- .loading-text {
|
|
|
- margin-top: 20rpx;
|
|
|
- font-size: 28rpx;
|
|
|
- color: #666;
|
|
|
+//获取交易账户的下拉列表Vip
|
|
|
+const toApply23JxOpenVip = async () => {
|
|
|
+ pictLoading.value = true
|
|
|
+ let res = await activityApi.Activity23JxLoginVip({})
|
|
|
+ if (res.code == Code.StatusOK) {
|
|
|
+ loginOptions.value = res.data
|
|
|
+ dialogDealResultJxVip.value = true
|
|
|
+ } else {
|
|
|
+ uni.showToast({ title: res.msg, icon: "none" })
|
|
|
+ }
|
|
|
+ pictLoading.value = false
|
|
|
+}
|
|
|
+
|
|
|
+//2023迎新活动申请Vip
|
|
|
+const toApply23JxVip = async () => {
|
|
|
+ if (flag.value) {
|
|
|
+ return
|
|
|
+ } else {
|
|
|
+ flag.value = true
|
|
|
+ }
|
|
|
+ let res = await activityApi.Activity23JiangxinApplyVip({
|
|
|
+ login: dialogDealResultJx_formVip.login,
|
|
|
+ })
|
|
|
+ if (res.code == Code.StatusOK) {
|
|
|
+ toApply23JxCancelVip()
|
|
|
+ Activity23JiangxinInfoVip()
|
|
|
+ uni.showToast({ title: res.msg, icon: "success" })
|
|
|
+ } else {
|
|
|
+ uni.showToast({ title: res.msg, icon: "none" })
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+const toApply23JxCancelVip = () => {
|
|
|
+ dialogDealResultJx_formVip.login = ""
|
|
|
+ dialogDealResultJxVip.value = false
|
|
|
+}
|
|
|
+
|
|
|
+//盈利变现Vip
|
|
|
+const toRealizationJxVip = async () => {
|
|
|
+ let res = await activityApi.Activity23JiangxinRealizationVip({
|
|
|
+ id: tableData3Vip.value.id,
|
|
|
+ })
|
|
|
+ if (res.code == Code.StatusOK) {
|
|
|
+ Activity23JiangxinInfoVip()
|
|
|
+ uni.showToast({ title: res.msg, icon: "success" })
|
|
|
+ } else {
|
|
|
+ uni.showToast({ title: res.msg, icon: "none" })
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+//2023年中赠金活动数据-10
|
|
|
+const Activity24nianzhongInfo = async () => {
|
|
|
+ let res = await activityApi.Activity23nianzhongInfo({})
|
|
|
+ if (res.code == Code.StatusOK) {
|
|
|
+ tableData4.value = res.data
|
|
|
+ if (tableData4.value.show == 1) {
|
|
|
+ tableData4Flag.value = true
|
|
|
+ } else if (tableData4.value.show == 0) {
|
|
|
+ tableData4Flag.value = false
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ uni.showToast({ title: res.msg, icon: "none" })
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+//2023年中赠金活动跳转
|
|
|
+const toActivity24nianzhong = () => {
|
|
|
+ uni.navigateTo({ url: "/pages/customer/deposit/index" })
|
|
|
+}
|
|
|
+
|
|
|
+//标准账户交易奖励跳转
|
|
|
+const toActivity24Trading = () => {
|
|
|
+ uni.navigateTo({ url: "/pages/customer/new/index" })
|
|
|
+}
|
|
|
+
|
|
|
+//2023年中赠金活动数据-20
|
|
|
+const Activity24nianzhongTwoInfo = async () => {
|
|
|
+ let res = await activityApi.Activity23nianzhongTwoInfo({})
|
|
|
+ if (res.code == Code.StatusOK) {
|
|
|
+ tableData4Two.value = res.data
|
|
|
+ if (tableData4Two.value.show == 1) {
|
|
|
+ tableData4TwoFlag.value = true
|
|
|
+ } else if (tableData4Two.value.show == 0) {
|
|
|
+ tableData4TwoFlag.value = false
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ uni.showToast({ title: res.msg, icon: "none" })
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+//交易大赛数据-参数
|
|
|
+const GetActivityCptCode = async () => {
|
|
|
+ let res = await activityApi.ActivityCptinfoGetCode({})
|
|
|
+ if (res.code == Code.StatusOK) {
|
|
|
+ tableDataCptFlagCode.value = res.data.code
|
|
|
+ if (tableDataCptFlagCode.value) {
|
|
|
+ ActivityCptInfo(tableDataCptFlagCode.value)
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ uni.showToast({ title: res.msg, icon: "none" })
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+//交易大赛数据
|
|
|
+const ActivityCptInfo = async (code: string) => {
|
|
|
+ let res = await activityApi.ActivityCptinfoCode({
|
|
|
+ infoCode: code,
|
|
|
+ })
|
|
|
+ if (res.code == Code.StatusOK) {
|
|
|
+ tableDataCpt.value = res.data
|
|
|
+ if (tableDataCpt.value == null) {
|
|
|
+ tableDataCptFlag.value = false
|
|
|
+ } else {
|
|
|
+ tableDataCptFlag.value = true
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ uni.showToast({ title: res.msg, icon: "none" })
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+//获取交易账户的下拉列表
|
|
|
+const toApplyCptOpen = async () => {
|
|
|
+ pictLoading.value = true
|
|
|
+ let res = await activityApi.ActivityCptInfoLogins({
|
|
|
+ cptId: tableDataCpt.value.id,
|
|
|
+ })
|
|
|
+ if (res.code == Code.StatusOK) {
|
|
|
+ loginOptions.value = res.data
|
|
|
+ dialogDealResultCpt.value = true
|
|
|
+ } else {
|
|
|
+ uni.showToast({ title: res.msg, icon: "none" })
|
|
|
+ }
|
|
|
+ pictLoading.value = false
|
|
|
+}
|
|
|
+
|
|
|
+//交易大赛申请
|
|
|
+const toApplyCpt = async () => {
|
|
|
+ if (flag.value) {
|
|
|
+ return
|
|
|
+ } else {
|
|
|
+ flag.value = true
|
|
|
+ }
|
|
|
+ let res = await activityApi.ActivityCptInfoAdd({
|
|
|
+ cptId: tableDataCpt.value.id,
|
|
|
+ login: dialogDealResultCpt_form.login,
|
|
|
+ nickname: dialogDealResultCpt_form.nickname,
|
|
|
+ mobile: dialogDealResultCpt_form.mobile,
|
|
|
+ address: dialogDealResultCpt_form.address,
|
|
|
+ recipient: dialogDealResultCpt_form.recipient,
|
|
|
+ })
|
|
|
+ if (res.code == Code.StatusOK) {
|
|
|
+ toApplyCptCancel()
|
|
|
+ GetActivityCptCode()
|
|
|
+ uni.showToast({ title: res.msg, icon: "success" })
|
|
|
+ } else {
|
|
|
+ uni.showToast({ title: res.msg, icon: "none" })
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+const toApplyCptCancel = () => {
|
|
|
+ dialogDealResultCpt_form.login = ""
|
|
|
+ dialogDealResultCpt_form.nickname = ""
|
|
|
+ dialogDealResultCpt_form.mobile = ""
|
|
|
+ dialogDealResultCpt_form.address = ""
|
|
|
+ dialogDealResultCpt_form.recipient = ""
|
|
|
+ dialogDealResultCpt.value = false
|
|
|
+}
|
|
|
+
|
|
|
+const toOpenSingle = (pageAddress: string) => {
|
|
|
+ let link = ""
|
|
|
+ if (pageAddress.indexOf("html?") == -1) {
|
|
|
+ link = "?code=" + tableDataCptFlagCode.value
|
|
|
+ }
|
|
|
+ if (pageAddress.indexOf("html?") > -1 && pageAddress.indexOf("code") == -1) {
|
|
|
+ link = "&code=" + tableDataCptFlagCode.value
|
|
|
+ }
|
|
|
+ plus.runtime.openURL(imgUrl.value + pageAddress + link)
|
|
|
+}
|
|
|
+
|
|
|
+//CWG 现金嘉年华-新任务
|
|
|
+const ActivitYdepositRaffleAim = async () => {
|
|
|
+ let res = await activityApi.ActivitYdepositRaffleAim({})
|
|
|
+ if (res.code == Code.StatusOK) {
|
|
|
+ if (res.data == null) {
|
|
|
+ newTask.value = false
|
|
|
+ } else {
|
|
|
+ newTask.value = true
|
|
|
+ newTaskList.value = res.data
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ uni.showToast({ title: res.msg, icon: "none" })
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+//CWG 现金嘉年华-抽奖次数
|
|
|
+const ActivitYdepositRaffleinfo = async () => {
|
|
|
+ let res = await activityApi.ActivitYdepositRaffleinfo({})
|
|
|
+ if (res.code == Code.StatusOK) {
|
|
|
+ if (res.data == null) {
|
|
|
+ LuckyDrawsNumber.value = "0"
|
|
|
+ } else {
|
|
|
+ LuckyDrawsNumber.value = res.data.raffleResidueNumber || "0"
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ uni.showToast({ title: res.msg, icon: "none" })
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+//现金嘉年华跳转抽奖历史
|
|
|
+const toHistoryLuckyDraw = () => {
|
|
|
+ uni.navigateTo({ url: "/pages/customer/history/lucky/draw/index" })
|
|
|
+}
|
|
|
+
|
|
|
+//现金嘉年华跳转任务列表
|
|
|
+const toTaskList = () => {
|
|
|
+ uni.navigateTo({ url: "/pages/customer/task/list/index" })
|
|
|
+}
|
|
|
+
|
|
|
+const UtoTaskList = () => {
|
|
|
+ uni.navigateTo({ url: "/pages/customer/Utask/list/index" })
|
|
|
+}
|
|
|
+
|
|
|
+const goSurplusTaskList = () => {
|
|
|
+ uni.navigateTo({ url: "/pages/activities/surplus-list" })
|
|
|
+}
|
|
|
+
|
|
|
+const goMonthlyTaskList = () => {
|
|
|
+ uni.navigateTo({ url: "/pages/activities/monthly-list" })
|
|
|
+}
|
|
|
+
|
|
|
+const toOpenTask = () => {
|
|
|
+ dialogNewTaskDraw.value = true
|
|
|
+}
|
|
|
+
|
|
|
+//新任务弹窗
|
|
|
+const toNewTask = () => {
|
|
|
+ dialogNewTask.value = true
|
|
|
+}
|
|
|
+
|
|
|
+const closedialogNewTaskDraw = () => {
|
|
|
+ dialogNewTaskDraw.value = false
|
|
|
+ ActivitYdepositRaffleinfo()
|
|
|
+}
|
|
|
+
|
|
|
+//分页返回数据
|
|
|
+const handleCurrentChange = (val: number) => {
|
|
|
+ pagerInfo.current = val
|
|
|
+ searchFunc()
|
|
|
+ searchFunc1()
|
|
|
+}
|
|
|
+
|
|
|
+//20赠金是否到期-4月30号23:59:59的时候关闭申请
|
|
|
+const is20Open = () => {
|
|
|
+ let endTime1 = "2023/04/30 23:59:59"
|
|
|
+ let timezone = 2
|
|
|
+ let offset_GMT = new Date().getTimezoneOffset()
|
|
|
+ let nowDate = new Date().getTime()
|
|
|
+ let now = new Date(nowDate + offset_GMT * 60 * 1000 + timezone * 60 * 60 * 1000).getTime()
|
|
|
+ let end = new Date(endTime1).getTime()
|
|
|
+ if (now > end) {
|
|
|
+ anshiClose.value = false
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+//抽抽奖是否到期-2023-11-25 00:00:00-2023-12-31 23:59:59
|
|
|
+const isRaffleOpen = () => {
|
|
|
+ let endTime1 = "2025/9/30 23:59:59"
|
|
|
+ let startTime1 = "2025/7/1 00:00:00"
|
|
|
+ let timezone = 2
|
|
|
+ let offset_GMT = new Date().getTimezoneOffset()
|
|
|
+ let nowDate = new Date().getTime()
|
|
|
+ let now = new Date(nowDate + offset_GMT * 60 * 1000 + timezone * 60 * 60 * 1000).getTime()
|
|
|
+ let end = new Date(endTime1).getTime()
|
|
|
+ let start = new Date(startTime1).getTime()
|
|
|
+ if (now < end && start < now) {
|
|
|
+ choujiaClose.value = true
|
|
|
+ ActivitYdepositRaffleAim()
|
|
|
+ ActivitYdepositRaffleinfo()
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+//24精英杯活动
|
|
|
+const Activity24JYBInfoVip = async () => {
|
|
|
+ let res = await activityApi.Activity24JYBInfoVip({})
|
|
|
+ if (res.code == Code.StatusOK) {
|
|
|
+ tableData3JYB.value = res.data
|
|
|
+ if (tableData3JYB.value.show == 1) {
|
|
|
+ tableData3FlagJYB.value = true
|
|
|
+ } else if (tableData3JYB.value.show == 0) {
|
|
|
+ tableData3FlagJYB.value = false
|
|
|
+ } else if (!tableData3JYB.value.show) {
|
|
|
+ tableData3FlagJYB.value = true
|
|
|
+ let timezone = 2
|
|
|
+ let offset_GMT = new Date().getTimezoneOffset()
|
|
|
+ let nowDate = new Date().getTime()
|
|
|
+ let nowTime = new Date(nowDate + offset_GMT * 60 * 1000 + timezone * 60 * 60 * 1000)
|
|
|
+ let endTime = tableData3JYB.value.activityEndTime
|
|
|
+ ? new Date(tableData3JYB.value.activityEndTime.replace(/-/g, "/")).getTime()
|
|
|
+ : null
|
|
|
+ if (
|
|
|
+ tableData3JYB.value.status == 2 &&
|
|
|
+ tableData3JYB.value.realizationStatus == 0 &&
|
|
|
+ endTime &&
|
|
|
+ nowTime > endTime
|
|
|
+ ) {
|
|
|
+ isRealizationJxJYB.value = 1
|
|
|
+ } else {
|
|
|
+ isRealizationJxJYB.value = 2
|
|
|
}
|
|
|
}
|
|
|
+ } else {
|
|
|
+ uni.showToast({ title: res.msg, icon: "none" })
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+//获取交易账户的下拉列表Vip
|
|
|
+const toApply24JYBOpenVip = async () => {
|
|
|
+ pictLoading.value = true
|
|
|
+ let res = await activityApi.Activity24JYBLoginVip({})
|
|
|
+ if (res.code == Code.StatusOK) {
|
|
|
+ loginOptions.value = res.data
|
|
|
+ dialogDealResultJxJYB.value = true
|
|
|
+ } else {
|
|
|
+ uni.showToast({ title: res.msg, icon: "none" })
|
|
|
+ }
|
|
|
+ pictLoading.value = false
|
|
|
+}
|
|
|
+
|
|
|
+//24精英杯活动申请
|
|
|
+const toApply24JYBVip = async () => {
|
|
|
+ //this.$refs["dialogDealResultJx_formJYB"].validate
|
|
|
+ if (flag.value) {
|
|
|
+ return
|
|
|
+ } else {
|
|
|
+ flag.value = true
|
|
|
+ }
|
|
|
+ let res = await activityApi.Activity24JYBApplyVip({
|
|
|
+ login: dialogDealResultJx_formJYB.login,
|
|
|
+ })
|
|
|
+ if (res.code == Code.StatusOK) {
|
|
|
+ toApply24JYBCancelVip()
|
|
|
+ Activity24JYBInfoVip()
|
|
|
+ uni.showToast({ title: res.msg, icon: "success" })
|
|
|
+ } else {
|
|
|
+ uni.showToast({ title: res.msg, icon: "none" })
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+const toApply24JYBCancelVip = () => {
|
|
|
+ dialogDealResultJx_formJYB.login = ""
|
|
|
+ dialogDealResultJxJYB.value = false
|
|
|
+}
|
|
|
+
|
|
|
+//24精英杯活动盈利变现
|
|
|
+const toRealization24JYBVip = async () => {
|
|
|
+ let res = await activityApi.Activity24JYBRealizationVip({
|
|
|
+ id: tableData3JYB.value.id,
|
|
|
+ })
|
|
|
+ if (res.code == Code.StatusOK) {
|
|
|
+ Activity24JYBInfoVip()
|
|
|
+ uni.showToast({ title: res.msg, icon: "success" })
|
|
|
+ } else {
|
|
|
+ uni.showToast({ title: res.msg, icon: "none" })
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+//24无忧交易
|
|
|
+const ActivityNoWorriesInfo = async () => {
|
|
|
+ let res = await activityApi.ActivityNoWorriesInfo({})
|
|
|
+ if (res.code == Code.StatusOK) {
|
|
|
+ tableDataNoWorries.value = res.data
|
|
|
+ if (typeof tableDataNoWorries.value == "object") {
|
|
|
+ tableDataNoWorriesFlag.value = true
|
|
|
+ let timezone = 2
|
|
|
+ let offset_GMT = new Date().getTimezoneOffset()
|
|
|
+ let nowDate = new Date().getTime()
|
|
|
+ let nowTime = new Date(nowDate + offset_GMT * 60 * 1000 + timezone * 60 * 60 * 1000)
|
|
|
+ let startTime = new Date(tableDataNoWorries.value.compensateTime.replace(/-/g, "/")).getTime()
|
|
|
+ let endTime = new Date(tableDataNoWorries.value.revokeTime.replace(/-/g, "/")).getTime()
|
|
|
+ if (
|
|
|
+ nowTime < endTime &&
|
|
|
+ nowTime > startTime &&
|
|
|
+ (tableDataNoWorries.value.status == 0 ||
|
|
|
+ tableDataNoWorries.value.status == 3) &&
|
|
|
+ tableDataNoWorries.value.compensateStatus == 2 &&
|
|
|
+ tableDataNoWorries.value.activityStatus == 1
|
|
|
+ ) {
|
|
|
+ isRealizationNoWorries.value = 1
|
|
|
+ } else {
|
|
|
+ isRealizationNoWorries.value = null
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if (tableDataNoWorries.value) {
|
|
|
+ tableDataNoWorriesFlag.value = true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ uni.showToast({ title: res.msg, icon: "none" })
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+//获取交易账户的下拉列表
|
|
|
+const toApplyNoWorriesOpen = async () => {
|
|
|
+ pictLoading.value = true
|
|
|
+ let res = await activityApi.ActivityNoWorriesLogin({})
|
|
|
+ if (res.code == Code.StatusOK) {
|
|
|
+ loginOptions.value = res.data
|
|
|
+ dialogDealResultNoWorries.value = true
|
|
|
+ } else {
|
|
|
+ uni.showToast({ title: res.msg, icon: "none" })
|
|
|
+ }
|
|
|
+ pictLoading.value = false
|
|
|
+}
|
|
|
+
|
|
|
+//24无忧交易申请
|
|
|
+const toApplyNoWorries = async () => {
|
|
|
+ if (flag.value) {
|
|
|
+ return
|
|
|
+ } else {
|
|
|
+ flag.value = true
|
|
|
+ }
|
|
|
+ let res = await activityApi.ActivityNoWorriesApply({
|
|
|
+ login: dialogDeal_formNoWorries.login,
|
|
|
+ })
|
|
|
+ if (res.code == Code.StatusOK) {
|
|
|
+ dialogNoWorriesApply.value = true
|
|
|
+ toApplyNoWorriesCancel()
|
|
|
+ ActivityNoWorriesInfo()
|
|
|
+ uni.showToast({ title: res.msg, icon: "success" })
|
|
|
+ } else {
|
|
|
+ uni.showToast({ title: res.msg, icon: "none" })
|
|
|
}
|
|
|
+}
|
|
|
+
|
|
|
+const toApplyNoWorriesCancel = () => {
|
|
|
+ // this.$refs["dialogDeal_formNoWorries"] &&
|
|
|
+ // this.$refs["dialogDeal_formNoWorries"].resetFields();
|
|
|
+ dialogDeal_formNoWorries.login = ""
|
|
|
+ dialogDealResultNoWorries.value = false
|
|
|
+}
|
|
|
+
|
|
|
+//盈利变现
|
|
|
+const toRealizationNoWorries = () => {
|
|
|
+ dialogNoWorries.value = true
|
|
|
+}
|
|
|
|
|
|
- .loading-more,
|
|
|
- .no-more {
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- justify-content: center;
|
|
|
- padding: 30rpx;
|
|
|
- font-size: 28rpx;
|
|
|
- color: #999;
|
|
|
+//24无忧交易盈利变现
|
|
|
+const realizationNoWorries = async () => {
|
|
|
+ let res = await activityApi.ActivityNoWorriesRealization({
|
|
|
+ id: tableDataNoWorries.value.id,
|
|
|
+ })
|
|
|
+ if (res.code == Code.StatusOK) {
|
|
|
+ dialogNoWorries.value = false
|
|
|
+ ActivityNoWorriesInfo()
|
|
|
+ uni.showToast({ title: res.msg, icon: "success" })
|
|
|
+ } else {
|
|
|
+ uni.showToast({ title: res.msg, icon: "none" })
|
|
|
}
|
|
|
+}
|
|
|
|
|
|
- .spin {
|
|
|
- animation: spin 1s linear infinite;
|
|
|
+//24新年庆典
|
|
|
+const isNewYear24Open = () => {
|
|
|
+ let endTime1 = "2025/3/31 23:59:59"
|
|
|
+ let startTime1 = "2025/1/1 00:00:00"
|
|
|
+ let timezone = 2
|
|
|
+ let offset_GMT = new Date().getTimezoneOffset()
|
|
|
+ let nowDate = new Date().getTime()
|
|
|
+ let now = new Date(nowDate + offset_GMT * 60 * 1000 + timezone * 60 * 60 * 1000).getTime()
|
|
|
+ let end = new Date(endTime1).getTime()
|
|
|
+ let start = new Date(startTime1).getTime()
|
|
|
+ if (now < end && start < now) {
|
|
|
+ ActivityNewYear24()
|
|
|
}
|
|
|
+}
|
|
|
|
|
|
- @keyframes spin {
|
|
|
- from {
|
|
|
- transform: rotate(0deg);
|
|
|
+const ActivityNewYear24 = async () => {
|
|
|
+ let res = await activityApi.ActivityNewYear24({})
|
|
|
+ if (res.code == Code.StatusOK) {
|
|
|
+ tableDataNewYear24.value = res.data
|
|
|
+ if (typeof tableDataNewYear24.value == "object") {
|
|
|
+ tableDataNewYear24Flag.value = true
|
|
|
+ } else {
|
|
|
+ if (tableDataNewYear24.value) {
|
|
|
+ tableDataNewYear24Flag.value = true
|
|
|
+ }
|
|
|
}
|
|
|
+ } else {
|
|
|
+ uni.showToast({ title: res.msg, icon: "none" })
|
|
|
+ }
|
|
|
+}
|
|
|
|
|
|
- to {
|
|
|
- transform: rotate(360deg);
|
|
|
+const openCalculator = () => {
|
|
|
+ openCalculatorFlag.value = true
|
|
|
+}
|
|
|
+
|
|
|
+const calculateIncome = () => {
|
|
|
+ NewYear24Data.balance = Number(NewYear24DataBalance.value) || 0
|
|
|
+ let rate = 0
|
|
|
+ tableDataNewYear24.value.details.forEach((item: any) => {
|
|
|
+ if (
|
|
|
+ NewYear24Data.balance > item.min &&
|
|
|
+ NewYear24Data.balance <= item.max
|
|
|
+ ) {
|
|
|
+ rate = item.rate
|
|
|
+ } else if (
|
|
|
+ NewYear24Data.balance > item.min &&
|
|
|
+ NewYear24Data.balance >= item.max &&
|
|
|
+ item.max == 0
|
|
|
+ ) {
|
|
|
+ rate = item.rate
|
|
|
}
|
|
|
+ })
|
|
|
+ NewYear24Data.income = (
|
|
|
+ ((NewYear24Data.balance * rate) / 100 / 365) *
|
|
|
+ 30
|
|
|
+ ).toFixed(2)
|
|
|
+}
|
|
|
+
|
|
|
+//限时活动
|
|
|
+const ActivityRequiteInfo = async () => {
|
|
|
+ let res = await activityApi.ActivityRequiteInfo({})
|
|
|
+ if (res.code == Code.StatusOK) {
|
|
|
+ limitedStatus.value = res.data
|
|
|
+ } else {
|
|
|
+ uni.showToast({ title: res.msg, icon: "none" })
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+// 获取活动显示信息
|
|
|
+const getActivityShowsInfo = async () => {
|
|
|
+ try {
|
|
|
+ let res = await activityApi.ActivityShowsInfo()
|
|
|
+ if (res.code == Code.StatusOK) {
|
|
|
+ activityShowsInfo.value = res.data
|
|
|
+ surplusGive.value = res.data.surplusGive || false
|
|
|
+ monthlyGive.value = res.data.monthlyGive || false
|
|
|
+ } else {
|
|
|
+ uni.showToast({ title: res.msg, icon: "none" })
|
|
|
+ surplusGive.value = false
|
|
|
+ monthlyGive.value = false
|
|
|
+ }
|
|
|
+ } catch (error) {
|
|
|
+ uni.showToast({ title: "获取活动信息失败", icon: "none" })
|
|
|
+ surplusGive.value = false
|
|
|
+ monthlyGive.value = false
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+// 打开surplus活动弹框
|
|
|
+const openSurplusActivityDialog = async () => {
|
|
|
+ if (!surplusGive.value) {
|
|
|
+ return
|
|
|
}
|
|
|
+ dialogSurplusActivity.value = true
|
|
|
+ surplusActivityLoading.value = true
|
|
|
+ selectedSurplusActivity.value = null
|
|
|
+}
|
|
|
|
|
|
- .crm_pagination {
|
|
|
- padding: 20rpx;
|
|
|
- background-color: var(--color-white);
|
|
|
- border-top: 1rpx solid #e5e5e5;
|
|
|
+const openSurplusActivityDialog1 = async () => {
|
|
|
+ if (!monthlyGive.value) {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ dialogSurplusActivity1.value = true
|
|
|
+ surplusActivityLoading1.value = true
|
|
|
+ selectedSurplusActivity1.value = null
|
|
|
+ getMonthlyActivityOptions()
|
|
|
+}
|
|
|
|
|
|
- .pagination {
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- justify-content: center;
|
|
|
+const getSurplusActivityOptions = async () => {
|
|
|
+ let res = await activityApi.ActivitySurplusDepositAmount({
|
|
|
+ login: selectedAccount.value.login,
|
|
|
+ platform: selectedAccount.value.platform,
|
|
|
+ })
|
|
|
+ if (res.code == Code.StatusOK) {
|
|
|
+ surplusActivityOptions.value = res.data.map((item: any, index: number) => ({
|
|
|
+ id: index,
|
|
|
+ value: item.level,
|
|
|
+ text: `${t("AmountLabel.item1")}: ${item.amount} | ${t("AmountLabel.item2")}: ${item.needVolume}`,
|
|
|
+ giveFlag: item.giveFlag,
|
|
|
+ }))
|
|
|
+ } else {
|
|
|
+ uni.showToast({ title: res.msg, icon: "none" })
|
|
|
+ }
|
|
|
+ surplusActivityLoading.value = false
|
|
|
+}
|
|
|
|
|
|
- .page-item {
|
|
|
+const getMonthlyActivityOptions = async () => {
|
|
|
+ let res = await activityApi.ActivityMonthlyDepositAmount({})
|
|
|
+ if (res.code == Code.StatusOK) {
|
|
|
+ surplusActivityOptions1.value = res.data.map((item: any, index: number) => ({
|
|
|
+ id: index,
|
|
|
+ value: item.level,
|
|
|
+ label: `${t("入金量")}: ${item.needAmount} | ${t("入金手数")}: ${item.needVolume}`,
|
|
|
+ }))
|
|
|
+ } else {
|
|
|
+ uni.showToast({ title: res.msg, icon: "none" })
|
|
|
+ }
|
|
|
+ surplusActivityLoading1.value = false
|
|
|
+}
|
|
|
+
|
|
|
+// 关闭surplus活动弹框
|
|
|
+const closeSurplusActivityDialog = () => {
|
|
|
+ dialogSurplusActivity.value = false
|
|
|
+ selectedSurplusActivity.value = null
|
|
|
+ surplusActivityOptions.value = []
|
|
|
+ valueInfo.value = null
|
|
|
+}
|
|
|
+
|
|
|
+// 确认参加surplus活动
|
|
|
+const confirmSurplusActivity = async () => {
|
|
|
+ surplusActivityLoading.value = true
|
|
|
+ let res = await activityApi.ActivitySurplusAdd({
|
|
|
+ login: selectedAccount.value.login,
|
|
|
+ platform: selectedAccount.value.platform,
|
|
|
+ level: selectedSurplusActivity.value,
|
|
|
+ })
|
|
|
+ if (res.code == Code.StatusOK) {
|
|
|
+ uni.showToast({ title: res.msg, icon: "success" })
|
|
|
+ closeSurplusActivityDialog()
|
|
|
+ surplusActivityLoading.value = false
|
|
|
+ } else {
|
|
|
+ uni.showToast({ title: res.msg, icon: "none" })
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+// 关闭surplus活动弹框
|
|
|
+const closeSurplusActivityDialog1 = () => {
|
|
|
+ dialogSurplusActivity1.value = false
|
|
|
+ selectedSurplusActivity1.value = null
|
|
|
+ surplusActivityOptions1.value = []
|
|
|
+ valueInfo.value = null
|
|
|
+}
|
|
|
+
|
|
|
+const confirmSurplusActivity1 = async () => {
|
|
|
+ surplusActivityLoading1.value = true
|
|
|
+ let res = await activityApi.ActivityMonthlyAdd({})
|
|
|
+ if (res.code == Code.StatusOK) {
|
|
|
+ uni.showToast({ title: res.msg, icon: "success" })
|
|
|
+ closeSurplusActivityDialog1()
|
|
|
+ surplusActivityLoading1.value = false
|
|
|
+ getActivityShowsInfo()
|
|
|
+ } else {
|
|
|
+ uni.showToast({ title: res.msg, icon: "none" })
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+//搜索
|
|
|
+const handleSearch = () => {
|
|
|
+ pagerInfo.current = 1
|
|
|
+ searchFunc()
|
|
|
+ searchFunc1()
|
|
|
+}
|
|
|
+
|
|
|
+//新增
|
|
|
+const closeDiaAdd = () => {
|
|
|
+ dialogInfoTradingAdd.value = false
|
|
|
+}
|
|
|
+
|
|
|
+const closeAdd = (val: boolean) => {
|
|
|
+ dialogInfoTradingAdd.value = val
|
|
|
+}
|
|
|
+
|
|
|
+const confirmToReload = () => {
|
|
|
+ dialogInfoTradingAdd.value = false
|
|
|
+ searchFunc()
|
|
|
+}
|
|
|
+
|
|
|
+//申请列表弹出
|
|
|
+const checkActivity = (val: any) => {
|
|
|
+ information.value.id = val.id
|
|
|
+ information.value.title = val.title
|
|
|
+ openType.value = "activity_List"
|
|
|
+ dialogInfoTradingAdd.value = true
|
|
|
+}
|
|
|
+
|
|
|
+//申请活动弹出
|
|
|
+const applications = (val: any) => {
|
|
|
+ information.value.id = val.id
|
|
|
+ information.value.title = val.title
|
|
|
+ let loginType: any[] = []
|
|
|
+ val.loginTypes.forEach((item: any) => {
|
|
|
+ loginType.push(item.loginType)
|
|
|
+ })
|
|
|
+ let groupType: any[] = []
|
|
|
+ val.groupTypes.forEach((item: any) => {
|
|
|
+ groupType.push(item.groupType)
|
|
|
+ })
|
|
|
+ information.value.loginTypes = loginType
|
|
|
+ information.value.groupTypes = groupType
|
|
|
+ information.value.myType12 = 1
|
|
|
+ openType.value = "appl_activity"
|
|
|
+ dialogInfoTradingAdd.value = true
|
|
|
+}
|
|
|
+
|
|
|
+//详情
|
|
|
+const toSingle = (id: string, listID?: string) => {
|
|
|
+ if (
|
|
|
+ id == "20zj" ||
|
|
|
+ id == "23yx" ||
|
|
|
+ id == "23jx" ||
|
|
|
+ id == "23nz" ||
|
|
|
+ id == "23nzTwo" ||
|
|
|
+ id == "23jxVip" ||
|
|
|
+ id == "23xinjia" ||
|
|
|
+ id == "23jnhcj" ||
|
|
|
+ id == "23nz_zx" ||
|
|
|
+ id == "24JYB" ||
|
|
|
+ id == "NoWorries" ||
|
|
|
+ id == "NewYear24"
|
|
|
+ ) {
|
|
|
+ if (id == "23jx") {
|
|
|
+ uni.navigateTo({
|
|
|
+ url: `/pages/activities/content/index?id=&type=1&active=${id}&data1=${tableData3.value.show ? tableData3.value.activityStartTime : tableData3.value.showActivityStartTime}&data2=${tableData3.value.show ? tableData3.value.activityEndTime : tableData3.value.showActivityEndTime}&data3=${tableData3.value.show ? tableData3.value.applicationStartTime : tableData3.value.showApplicationStartTime}&data4=${tableData3.value.show ? tableData3.value.applicationEndTime : tableData3.value.showApplicationEndTime}`,
|
|
|
+ })
|
|
|
+ } else if (id == "23jxVip") {
|
|
|
+ uni.navigateTo({
|
|
|
+ url: `/pages/activities/content/index?id=&type=1&active=${id}&data1=${tableData3Vip.value.show ? tableData3Vip.value.activityStartTime : tableData3Vip.value.showActivityStartTime}&data2=${tableData3Vip.value.show ? tableData3Vip.value.activityEndTime : tableData3Vip.value.showActivityEndTime}&data3=${tableData3Vip.value.show ? tableData3Vip.value.applicationStartTime : tableData3Vip.value.showApplicationStartTime}&data4=${tableData3Vip.value.show ? tableData3Vip.value.applicationEndTime : tableData3Vip.value.showApplicationEndTime}`,
|
|
|
+ })
|
|
|
+ } else if (id == "24JYB") {
|
|
|
+ uni.navigateTo({
|
|
|
+ url: `/pages/activities/content/index?id=&type=1&active=${id}&data1=${tableData3JYB.value.show ? tableData3JYB.value.activityStartTime : tableData3JYB.value.showActivityStartTime}&data2=${tableData3JYB.value.show ? tableData3JYB.value.activityEndTime : tableData3JYB.value.showActivityEndTime}&data3=${tableData3JYB.value.show ? tableData3JYB.value.applicationStartTime : tableData3JYB.value.showApplicationStartTime}&data4=${tableData3JYB.value.show ? tableData3JYB.value.applicationEndTime : tableData3JYB.value.showApplicationEndTime}`,
|
|
|
+ })
|
|
|
+ } else if (id == "23nz") {
|
|
|
+ uni.navigateTo({
|
|
|
+ url: `/pages/activities/content/index?id=&type=1&active=${id}&data3=${tableData4.value.show ? tableData4.value.applicationStartTime : tableData4.value.showApplicationStartTime}&data4=${tableData4.value.show ? tableData4.value.applicationEndTime : tableData4.value.showApplicationEndTime}`,
|
|
|
+ })
|
|
|
+ } else if (id == "23nzTwo") {
|
|
|
+ uni.navigateTo({
|
|
|
+ url: `/pages/activities/content/index?id=&type=1&active=${id}&data3=${tableData4Two.value.show ? timeConvert(tableData4Two.value.applicationStartTime) : timeConvert(tableData4Two.value.showApplicationStartTime)}&data4=${tableData4Two.value.show ? timeConvert(tableData4Two.value.applicationEndTime) : timeConvert(tableData4Two.value.showApplicationEndTime)}`,
|
|
|
+ })
|
|
|
+ } else if (id == "NoWorries") {
|
|
|
+ uni.navigateTo({
|
|
|
+ url: `/pages/activities/content/index?id=&type=1&active=${id}`,
|
|
|
+ })
|
|
|
+ } else if (id == "NewYear24") {
|
|
|
+ uni.navigateTo({
|
|
|
+ url: `/pages/activities/content/index?id=&type=1&active=${id}`,
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ uni.navigateTo({
|
|
|
+ url: `/pages/activities/content/index?id=&type=1&active=${id}`,
|
|
|
+ })
|
|
|
+ }
|
|
|
+ } else if (id == "newList") {
|
|
|
+ uni.navigateTo({
|
|
|
+ url: `/pages/activities/content/index?id=${listID}&type=1&active=newList`,
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ uni.navigateTo({
|
|
|
+ url: `/pages/activities/content/index?id=${id}&type=1`,
|
|
|
+ })
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+const handleValueInfoChange = (value: any) => {
|
|
|
+ const selectedAccountObj = loginOptions1.value.find((item) => item.login === value)
|
|
|
+ console.log("选中的账户对象:", selectedAccountObj)
|
|
|
+ selectedAccount.value = selectedAccountObj
|
|
|
+ getSurplusActivityOptions()
|
|
|
+}
|
|
|
+
|
|
|
+// ==================== 监听器 ====================
|
|
|
+watch(NewYear24DataBalance, (newVal) => {
|
|
|
+ NewYear24Data.balance = Number(newVal) || 0
|
|
|
+})
|
|
|
+
|
|
|
+// ==================== 生命周期 ====================
|
|
|
+onMounted(() => {
|
|
|
+ getDateList()
|
|
|
+ // 2025-07-31 00:00:00 之后关闭 standard
|
|
|
+ const endTime = new Date("2025/07/31 00:00:00").getTime()
|
|
|
+ const timezone = 3
|
|
|
+ const offset_GMT = new Date().getTimezoneOffset()
|
|
|
+ const nowDate = new Date().getTime()
|
|
|
+ const now = new Date(nowDate + offset_GMT * 60 * 1000 + timezone * 60 * 60 * 1000).getTime()
|
|
|
+ if (now >= endTime) {
|
|
|
+ standard.value = false
|
|
|
+ }
|
|
|
+ is20Open()
|
|
|
+ searchFunc()
|
|
|
+ searchFunc1()
|
|
|
+ // getActivityPercentageGiveInfo()
|
|
|
+ Activity23HundredInfo()
|
|
|
+ // Activity23JiangxinInfo()
|
|
|
+ Activity23JiangxinInfoVip()
|
|
|
+ Activity24nianzhongInfo()
|
|
|
+ Activity24nianzhongTwoInfo()
|
|
|
+ GetActivityCptCode()
|
|
|
+ Activity24JYBInfoVip()
|
|
|
+ ActivityNoWorriesInfo()
|
|
|
+ isRaffleOpen()
|
|
|
+ isNewYear24Open()
|
|
|
+ ActivityRequiteInfo()
|
|
|
+ getActivityShowsInfo()
|
|
|
+})
|
|
|
+
|
|
|
+onUnmounted(() => {
|
|
|
+ if (interval.value) {
|
|
|
+ clearInterval(interval.value)
|
|
|
+ }
|
|
|
+})
|
|
|
+
|
|
|
+// UniApp 页面生命周期
|
|
|
+onLoad((options) => {
|
|
|
+ // 页面加载时的逻辑
|
|
|
+})
|
|
|
+
|
|
|
+onPullDownRefresh(() => {
|
|
|
+ // 下拉刷新
|
|
|
+ searchFunc()
|
|
|
+ searchFunc1()
|
|
|
+ uni.stopPullDownRefresh()
|
|
|
+})
|
|
|
+
|
|
|
+onReachBottom(() => {
|
|
|
+ // 上拉加载更多
|
|
|
+ if (pagerInfo.current < pagerInfo.pageTotal) {
|
|
|
+ pagerInfo.current++
|
|
|
+ searchFunc()
|
|
|
+ }
|
|
|
+})
|
|
|
+
|
|
|
+// ==================== 导出 ====================
|
|
|
+// 由于使用 <script setup>,所有顶层绑定都会自动暴露给模板
|
|
|
+</script>
|
|
|
+
|
|
|
+<style scoped lang="scss">
|
|
|
+@import "@/uni.scss";
|
|
|
+
|
|
|
+.custom_activities {
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+
|
|
|
+ .main-content {
|
|
|
+ width: 100%;
|
|
|
+ height: calc(100% - 50px);
|
|
|
+ box-sizing: border-box;
|
|
|
+
|
|
|
+ .tab {
|
|
|
+ width: 100%;
|
|
|
+ height: calc(100% - 62px);
|
|
|
+ overflow-y: auto;
|
|
|
+ // padding: 0 10px;
|
|
|
+ box-sizing: border-box;
|
|
|
+ }
|
|
|
+
|
|
|
+ .activity-list {
|
|
|
+ display: grid;
|
|
|
+ grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
|
|
|
+ gap: 20px;
|
|
|
+ padding: 10px 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ .activity-card {
|
|
|
+ background: #fff;
|
|
|
+ border-radius: 8px;
|
|
|
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
|
|
|
+ overflow: hidden;
|
|
|
+ position: relative;
|
|
|
+ transition: transform 0.3s ease, box-shadow 0.3s ease;
|
|
|
+
|
|
|
+ &:hover {
|
|
|
+ transform: translateY(-2px);
|
|
|
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
|
|
|
+ }
|
|
|
+
|
|
|
+ .btn-tag-star {
|
|
|
+ position: absolute;
|
|
|
+ top: 4px;
|
|
|
+ left: -15px;
|
|
|
+ background: #eb3f57;
|
|
|
+ color: #fff;
|
|
|
+ transform: rotate(-45deg);
|
|
|
+ -ms-transform: rotate(-45deg);
|
|
|
+ -moz-transform: rotate(-45deg);
|
|
|
+ -webkit-transform: rotate(-45deg);
|
|
|
+ -o-transform: rotate(-45deg);
|
|
|
+ width: 60px;
|
|
|
+ text-align: center;
|
|
|
+ z-index: 9;
|
|
|
+ padding: 1px 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ .card-content {
|
|
|
display: flex;
|
|
|
- align-items: center;
|
|
|
- padding: 0 20rpx;
|
|
|
- height: 60rpx;
|
|
|
- background-color: var(--color-white);
|
|
|
- border: 1rpx solid #dcdfe6;
|
|
|
- border-radius: 8rpx;
|
|
|
- font-size: 28rpx;
|
|
|
- color: #606266;
|
|
|
- cursor: pointer;
|
|
|
- margin: 0 10rpx;
|
|
|
+ flex-direction: column;
|
|
|
+ height: 100%;
|
|
|
+ }
|
|
|
|
|
|
- &.disabled {
|
|
|
- opacity: 0.5;
|
|
|
- cursor: not-allowed;
|
|
|
- pointer-events: none;
|
|
|
+ .card-image {
|
|
|
+ width: 100%;
|
|
|
+ height: 180px;
|
|
|
+ overflow: hidden;
|
|
|
+
|
|
|
+ .img {
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ object-fit: cover;
|
|
|
+ transition: transform 0.3s ease;
|
|
|
+ }
|
|
|
+
|
|
|
+ &:hover .img {
|
|
|
+ transform: scale(1.05);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .card-body {
|
|
|
+ padding: 16px;
|
|
|
+ flex: 1;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ }
|
|
|
+
|
|
|
+ .card-title {
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ align-items: flex-start;
|
|
|
+ margin-bottom: 12px;
|
|
|
+
|
|
|
+ .title-text {
|
|
|
+ font-weight: bold;
|
|
|
+ font-size: 16px;
|
|
|
+ flex: 1;
|
|
|
+ padding-right: 10px;
|
|
|
+ box-sizing: border-box;
|
|
|
+ color: #333;
|
|
|
+ }
|
|
|
+
|
|
|
+ .card-time {
|
|
|
+ font-size: 12px;
|
|
|
+ color: #999;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- .page-numbers {
|
|
|
+ .card-description {
|
|
|
+ font-size: 14px;
|
|
|
+ color: #666;
|
|
|
+ margin-bottom: 16px;
|
|
|
+ line-height: 1.4;
|
|
|
+ flex: 1;
|
|
|
+ }
|
|
|
+
|
|
|
+ .card-actions {
|
|
|
display: flex;
|
|
|
- gap: 10rpx;
|
|
|
-
|
|
|
- .page-number {
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- justify-content: center;
|
|
|
- min-width: 60rpx;
|
|
|
- height: 60rpx;
|
|
|
- padding: 0 8rpx;
|
|
|
- background-color: var(--color-white);
|
|
|
- border: 1rpx solid #dcdfe6;
|
|
|
- border-radius: 8rpx;
|
|
|
- font-size: 28rpx;
|
|
|
- color: #606266;
|
|
|
- cursor: pointer;
|
|
|
-
|
|
|
- &.active {
|
|
|
- background-color: #cf1322;
|
|
|
- border-color: #007aff;
|
|
|
- color: #fff;
|
|
|
+ flex-wrap: wrap;
|
|
|
+ gap: 8px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .action-btn {
|
|
|
+ padding: 6px 12px;
|
|
|
+ border-radius: 4px;
|
|
|
+ font-size: 14px;
|
|
|
+ text-align: center;
|
|
|
+ transition: all 0.3s ease;
|
|
|
+
|
|
|
+ &.primary {
|
|
|
+ background: #eb3f57;
|
|
|
+ color: #fff;
|
|
|
+ }
|
|
|
+
|
|
|
+ &.secondary {
|
|
|
+ border: 1px solid #ddd;
|
|
|
+ color: #666;
|
|
|
+
|
|
|
+ &:hover {
|
|
|
+ border-color: #eb3f57;
|
|
|
+ color: #eb3f57;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ &.disabled {
|
|
|
+ background: #f5f5f5;
|
|
|
+ color: #999;
|
|
|
+ pointer-events: none;
|
|
|
+ cursor: auto;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- .activity-list {
|
|
|
- display: flex;
|
|
|
- flex-direction: column;
|
|
|
- flex-wrap: wrap;
|
|
|
- gap: 20rpx;
|
|
|
+ .NewYear_calculator {
|
|
|
+ .content {
|
|
|
+ margin-bottom: 20px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .tip {
|
|
|
+ margin-top: 20px;
|
|
|
+ margin-bottom: 20px;
|
|
|
+ font-size: 16px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .red {
|
|
|
+ color: #eb3f57;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|
|
|
+
|
|
|
+<style lang="scss" scoped>
|
|
|
+#custom_activities {
|
|
|
+ .dialog_header_w.dialogNewTask {
|
|
|
+ .el-dialog__header {
|
|
|
+ font-weight: bold;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .dialog_header_w.dialogNewTaskcj {
|
|
|
+ border-radius: 10px;
|
|
|
+
|
|
|
+ .el-dialog__header {
|
|
|
+ padding-top: 30px;
|
|
|
+
|
|
|
+ .el-dialog__title {
|
|
|
+ font-weight: bold;
|
|
|
+ font-size: 28px;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
</style>
|