zhb 1 ヶ月 前
コミット
e8e1c03a53

+ 4 - 0
lib/service.js

@@ -91,6 +91,10 @@ class Service {
 				this.axio.defaults.baseURL = Config.Host04;
 				this.axio.defaults.headers.common['Access-Token'] = sessionStorage.getItem("access_token");
 			break;
+			case 'Host05':
+				this.axio.defaults.baseURL = Config.Host05;
+				this.axio.defaults.headers.common['Access-Token'] = sessionStorage.getItem("access_token");
+			break;
 			case 'Host90':
 				this.axio.defaults.baseURL = Config.Host90;
 				this.axio.defaults.headers.common['Access-Token'] = sessionStorage.getItem("access_token");

+ 3 - 3
pages/activities/composables/useActivityActions.ts

@@ -4,7 +4,7 @@ import { activityApi } from '@/service/activity'
 import Config from '@/config/index'
 import type { AccountInfo } from '../types/activity'
 
-const { Code, Host80 } = Config
+const { Code, Host05 } = Config
 
 export function useActivityActions(
     activityState: any,
@@ -591,10 +591,10 @@ export function useActivityActions(
         }
 
         // #ifdef H5
-        window.open(Host80 + link, '_blank')
+        window.open(Host05 + link, '_blank')
         // #endif
         // #ifndef H5
-        plus.runtime.openURL(Host80 + link)
+        plus.runtime.openURL(Host05 + link)
         // #endif
     }
 

+ 4 - 1
pages/analytics/components/List.vue

@@ -1,9 +1,11 @@
 <template>
   <view class="news-list-container">
     <!-- 列表 -->
+    {{ imgUrl }}111{{ queryParams.tag }}
     <view v-if="list.length > 0" class="list">
+
       <view v-for="item in list" :key="item.id" class="news-item" @click="handleItemClick(item)">
-        <image v-if="item.coverImage" class="cover" :src="Config.Host80 + item.coverImage" mode="aspectFill" />
+        <image v-if="item.coverImage" class="cover" :src="imgUrl + item.coverImage" mode="aspectFill" />
         <view class="info">
           <view class="title">{{ item.title }}</view>
           <view class="subtitle">{{ item.subTitle }}</view>
@@ -49,6 +51,7 @@ const props = defineProps({
   type: { type: Number, default: 0 },
   immediate: { type: Boolean, default: true },
 })
+const imgUrl = computed(() => props.queryParams.tag !== 3 ? Config.Host80 : Config.Host05)
 
 const list = ref([])
 const page = ref(1)

+ 2 - 3
pages/analytics/detail.vue

@@ -86,7 +86,7 @@ import { newsApi } from '@/service/news'
 import Config from '@/config/index'
 
 const { t } = useI18n()
-const { Code, Host80 } = Config
+const { Code, Host80,Host05 } = Config
 
 // 路由参数
 const type = ref(null)
@@ -139,7 +139,6 @@ const getNewsSingle = async () => {
                 uni.showToast({ title: analysisRes.msg, icon: 'none' })
             }
             break
-
         case 3: // 公告
             const infoRes = await newsApi.newsInformationSingle({ id: id.value })
             if (infoRes.code === Code.StatusOK && infoRes.data) {
@@ -174,7 +173,7 @@ const getNewsSingle = async () => {
         case 5: // 新闻通讯
             const newsletterRes = await newsApi.newsInformationNewsletterSingle({ id: id.value })
             if (newsletterRes.code === Code.StatusOK && newsletterRes.data) {
-                imgContent.value = Host80 + newsletterRes.data.coverImage
+                imgContent.value = Host05 + newsletterRes.data.coverImage
                 Content.value = newsletterRes.data.content
                 imgContentIf.value = !!newsletterRes.data.coverImage
             } else {

+ 2 - 2
pages/customer/components/AccountCardDesktop.vue

@@ -257,8 +257,8 @@ const customMenuList = computed(() => !isDemo.value ? [
     { label: t('vu.item3'), type: 'changePassword1' },
     { label: t('vu.item4'), type: 'changePassword2' }
 ] : [
-    { label: t('Ib.Report.Tit1'), type: 'history' },
-    { label: t('Ib.Report.Tit4'), type: 'position' },
+    // { label: t('Ib.Report.Tit1'), type: 'history' },
+    // { label: t('Ib.Report.Tit4'), type: 'position' },
     { label: t('Documentary.TundManagement.item29'), type: 'info' }
 ])
 const handleCustomClick = (item, index) => {

+ 2 - 2
pages/customer/components/AccountCardMobile.vue

@@ -197,8 +197,8 @@ const customMenuList = computed(() => !isDemo.value ? [
     { label: t('vu.item3'), type: 'changePassword1' },
     { label: t('vu.item4'), type: 'changePassword2' }
 ] : [
-    { label: t('Ib.Report.Tit1'), type: 'history' },
-    { label: t('Ib.Report.Tit4'), type: 'position' },
+    // { label: t('Ib.Report.Tit1'), type: 'history' },
+    // { label: t('Ib.Report.Tit4'), type: 'position' },
     { label: t('Documentary.TundManagement.item29'), type: 'info' }
 ])
 const handleCustomClick = (item, index) => {

+ 2 - 2
pages/customer/components/AmountWallet.vue

@@ -82,7 +82,7 @@ const getWalletList = async () => {
             walletbalance.value = res.data || 0
         }
     } else {
-        // this.$pigeon.MessageError(res.msg);
+        // this.uni.showToast({ title: res.msg, icon: 'none' })
     }
 }
 const getPendingWithdrawAmount = async () => {
@@ -92,7 +92,7 @@ const getPendingWithdrawAmount = async () => {
             pendingWithdrawAmount.value = res.data || 0
         }
     } else {
-        // this.$pigeon.MessageError(res.msg);
+        // this.uni.showToast({ title: res.msg, icon: 'none' })
     }
 }
 getWalletList()

+ 16 - 16
pages/customer/deposit-select.vue

@@ -166,7 +166,7 @@
                                                         '--'
                                                     }}</text></view>
                                             <view class="row"><text class="label">QR Code</text>
-                                                <image :src="Host85 + WireTransferAccount.url" mode="aspectFit"
+                                                <image :src="Host05 + WireTransferAccount.url" mode="aspectFit"
                                                     style="width: 100rpx; height: 100rpx;" />
                                             </view>
                                         </view>
@@ -512,7 +512,7 @@ const pictLoadingImg = ref(false)
 const flag = ref(false)
 const RES = ref("")
 const imgUrl = ref(Host80)
-const Host85 = ref(Config.Host05)
+const Host05 = ref(Config.Host05)
 const loginOptions = ref([])
 const code = ref("")
 const selectCodes = ref("")
@@ -995,7 +995,7 @@ const handleAvatarSuccess1 = (res) => {
         imageUrl1.value = res.data
         requiteVoucherUrl.value = res.data
     } else {
-        $pigeon.MessageError(res.msg)
+        uni.showToast({ title: res.msg, icon: 'none' })
     }
     pictLoadingImg.value = false
 }
@@ -1048,7 +1048,7 @@ const handleAvatarSuccess = (res) => {
         imageUrl.value = res.data
         requiteVoucherUrl.value = res.data
     } else {
-        $pigeon.MessageError(res.msg)
+        uni.showToast({ title: res.msg, icon: 'none' })
     }
     pictLoadingImg.value = false
 }
@@ -1111,7 +1111,7 @@ const getBankInfo = async () => {
             }
         })
     } else {
-        $pigeon.MessageError(res.msg)
+        uni.showToast({ title: res.msg, icon: 'none' })
     }
 }
 // 选择银行
@@ -1661,7 +1661,7 @@ const getDateList = async () => {
             step2.value = true
         }
     } else {
-        $pigeon.MessageError(res.msg)
+        uni.showToast({ title: res.msg, icon: 'none' })
     }
     loading.value = false
 }
@@ -1684,7 +1684,7 @@ const getDepositList = async () => {
         })
         pictLoading.value = false
     } else {
-        $pigeon.MessageError(res.msg)
+        uni.showToast({ title: res.msg, icon: 'none' })
         pictLoading.value = false
     }
 }
@@ -1717,7 +1717,7 @@ const getCheckExistSuccess = async () => {
     if (res.code == Code.StatusOK) {
         CheckExistSuccess.value = res.data
     } else {
-        $pigeon.MessageError(res.msg)
+        uni.showToast({ title: res.msg, icon: 'none' })
     }
 }
 //20赠金是否到期-4月30号23:59:59的时候关闭申请
@@ -1736,7 +1736,7 @@ const ActivityRequiteInfo = async () => {
     if (res.code == Code.StatusOK) {
         limitedStatus.value = res.data
     } else {
-        $pigeon.MessageError(res.msg)
+        uni.showToast({ title: res.msg, icon: 'none' })
     }
 }
 //2023年中赠金活动数据-10
@@ -1756,7 +1756,7 @@ const Activity24nianzhongInfo = async () => {
         // Object.assign(tableData4, Data4)
         // tableData4Flag.value = tableData4.show == 1 && tableData4.useApply == 1
     } else {
-        $pigeon.MessageError(res.msg)
+        uni.showToast({ title: res.msg, icon: 'none' })
     }
 }
 //2023年中赠金活动数据-20
@@ -1776,7 +1776,7 @@ const Activity24nianzhongTwoInfo = async () => {
         // Object.assign(tableData4Two, Data4)
         // tableData4Flag.value = tableData4Two.show == 1 && tableData4Two.useApply == 1
     } else {
-        $pigeon.MessageError(res.msg)
+        uni.showToast({ title: res.msg, icon: 'none' })
     }
 }
 //2023年中赠金活动权限
@@ -1786,7 +1786,7 @@ const get23nianzhongTwoLogin = async (newVal) => {
         Object.assign(tableData4Two, res.data)
         tableData4TwoFlag.value = tableData4Two.show == 1
     } else {
-        $pigeon.MessageError(res.msg)
+        uni.showToast({ title: res.msg, icon: 'none' })
     }
 }
 const getActivityExtensionGiveLogin = async (newVal) => {
@@ -1795,7 +1795,7 @@ const getActivityExtensionGiveLogin = async (newVal) => {
         Object.assign(tableDataNewList, res.data)
         tableDataNewListFlag.value = tableDataNewList.show == 1
     } else {
-        $pigeon.MessageError(res.msg)
+        uni.showToast({ title: res.msg, icon: 'none' })
     }
 }
 const getActivityExtensionGiveLoginJoin = async (newVal) => {
@@ -1803,7 +1803,7 @@ const getActivityExtensionGiveLoginJoin = async (newVal) => {
     if (res.code == Code.StatusOK) {
         giveLoginJoin.value = res.data
     } else {
-        $pigeon.MessageError(res.msg)
+        uni.showToast({ title: res.msg, icon: 'none' })
         giveLoginJoin.value = ""
     }
 }
@@ -1825,7 +1825,7 @@ const ActivityNewYear24 = async () => {
         tableDataNewYear24.value = res.data
         if (typeof tableDataNewYear24.value == "object") toIncome()
     } else {
-        $pigeon.MessageError(res.msg)
+        uni.showToast({ title: res.msg, icon: 'none' })
     }
 }
 const toIncome = () => {
@@ -1941,7 +1941,7 @@ watch(() => params.agree6, (newVal) => {
                                 try {
                                     const res = await activityApi.ActivityGiveCancel({ login: $route.query.login })
                                     if (res.code == Code.StatusOK) $pigeon.MessageOK(res.msg || t("Msg.Success"))
-                                    else $pigeon.MessageError(res.msg)
+                                    else uni.showToast({ title: res.msg, icon: 'none' })
                                 } catch (error) {
                                     $pigeon.MessageError(t("Msg.Fail"))
                                 }

+ 17 - 17
pages/customer/deposit.vue

@@ -155,7 +155,7 @@
                                                         '--'
                                                     }}</text></view>
                                             <view class="row"><text class="label">QR Code</text>
-                                                <image :src="Host85 + WireTransferAccount.url" mode="aspectFit"
+                                                <image :src="Host05 + WireTransferAccount.url" mode="aspectFit"
                                                     style="width: 100rpx; height: 100rpx;" />
                                             </view>
                                         </view>
@@ -176,7 +176,7 @@
                                                 <uni-easyinput type="number" v-model="params.amount"
                                                     :placeholder="t('placeholder.input')" @blur="validateAmount" />
                                             </uni-forms-item>
-                                            <view class="btn" v-t="'State.All'" @click="setAllAmount"></view>
+                                            <!-- <view class="btn" v-t="'State.All'" @click="setAllAmount"></view> -->
                                         </view>
 
                                         <!-- 预估金额(若有汇率) -->
@@ -511,7 +511,7 @@ const pictLoadingImg = ref(false)
 const flag = ref(false)
 const RES = ref("")
 const imgUrl = ref(Host80)
-const Host85 = ref(Config.Host05)
+const Host05 = ref(Config.Host05)
 const loginOptions = ref([])
 const code = ref("")
 const selectCodes = ref("")
@@ -994,7 +994,7 @@ const handleAvatarSuccess1 = (res) => {
         imageUrl1.value = res.data
         requiteVoucherUrl.value = res.data
     } else {
-        $pigeon.MessageError(res.msg)
+        uni.showToast({ title: res.msg, icon: 'none' })
     }
     pictLoadingImg.value = false
 }
@@ -1047,7 +1047,7 @@ const handleAvatarSuccess = (res) => {
         imageUrl.value = res.data
         requiteVoucherUrl.value = res.data
     } else {
-        $pigeon.MessageError(res.msg)
+        uni.showToast({ title: res.msg, icon: 'none' })
     }
     pictLoadingImg.value = false
 }
@@ -1110,7 +1110,7 @@ const getBankInfo = async () => {
             }
         })
     } else {
-        $pigeon.MessageError(res.msg)
+        uni.showToast({ title: res.msg, icon: 'none' })
     }
 }
 // 选择银行
@@ -1648,7 +1648,7 @@ const getDateList = async () => {
             step2.value = true
         }
     } else {
-        $pigeon.MessageError(res.msg)
+        uni.showToast({ title: res.msg, icon: 'none' })
     }
     loading.value = false
 }
@@ -1671,7 +1671,7 @@ const getDepositList = async () => {
         })
         pictLoading.value = false
     } else {
-        $pigeon.MessageError(res.msg)
+        uni.showToast({ title: res.msg, icon: 'none' })
         pictLoading.value = false
     }
 }
@@ -1704,7 +1704,7 @@ const getCheckExistSuccess = async () => {
     if (res.code == Code.StatusOK) {
         CheckExistSuccess.value = res.data
     } else {
-        $pigeon.MessageError(res.msg)
+        uni.showToast({ title: res.msg, icon: 'none' })
     }
 }
 //20赠金是否到期-4月30号23:59:59的时候关闭申请
@@ -1723,7 +1723,7 @@ const ActivityRequiteInfo = async () => {
     if (res.code == Code.StatusOK) {
         limitedStatus.value = res.data
     } else {
-        $pigeon.MessageError(res.msg)
+        uni.showToast({ title: res.msg, icon: 'none' })
     }
 }
 //2023年中赠金活动数据-10
@@ -1743,7 +1743,7 @@ const Activity24nianzhongInfo = async () => {
         // Object.assign(tableData4, Data4)
         // tableData4Flag.value = tableData4.show == 1 && tableData4.useApply == 1
     } else {
-        $pigeon.MessageError(res.msg)
+        uni.showToast({ title: res.msg, icon: 'none' })
     }
 }
 //2023年中赠金活动数据-20
@@ -1763,7 +1763,7 @@ const Activity24nianzhongTwoInfo = async () => {
         // Object.assign(tableData4Two, Data4)
         // tableData4Flag.value = tableData4Two.show == 1 && tableData4Two.useApply == 1
     } else {
-        $pigeon.MessageError(res.msg)
+        uni.showToast({ title: res.msg, icon: 'none' })
     }
 }
 //2023年中赠金活动权限
@@ -1773,7 +1773,7 @@ const get23nianzhongTwoLogin = async (newVal) => {
         Object.assign(tableData4Two, res.data)
         tableData4TwoFlag.value = tableData4Two.show == 1
     } else {
-        $pigeon.MessageError(res.msg)
+        uni.showToast({ title: res.msg, icon: 'none' })
     }
 }
 const getActivityExtensionGiveLogin = async (newVal) => {
@@ -1782,7 +1782,7 @@ const getActivityExtensionGiveLogin = async (newVal) => {
         Object.assign(tableDataNewList, res.data)
         tableDataNewListFlag.value = tableDataNewList.show == 1
     } else {
-        $pigeon.MessageError(res.msg)
+        uni.showToast({ title: res.msg, icon: 'none' })
     }
 }
 const getActivityExtensionGiveLoginJoin = async (newVal) => {
@@ -1790,7 +1790,7 @@ const getActivityExtensionGiveLoginJoin = async (newVal) => {
     if (res.code == Code.StatusOK) {
         giveLoginJoin.value = res.data
     } else {
-        $pigeon.MessageError(res.msg)
+        uni.showToast({ title: res.msg, icon: 'none' })
         giveLoginJoin.value = ""
     }
 }
@@ -1812,7 +1812,7 @@ const ActivityNewYear24 = async () => {
         tableDataNewYear24.value = res.data
         if (typeof tableDataNewYear24.value == "object") toIncome()
     } else {
-        $pigeon.MessageError(res.msg)
+        uni.showToast({ title: res.msg, icon: 'none' })
     }
 }
 const toIncome = () => {
@@ -1987,7 +1987,7 @@ watch(() => params.agree6, (newVal) => {
                                 try {
                                     const res = await activityApi.ActivityGiveCancel({ login: $route.query.login })
                                     if (res.code == Code.StatusOK) $pigeon.MessageOK(res.msg || t("Msg.Success"))
-                                    else $pigeon.MessageError(res.msg)
+                                    else uni.showToast({ title: res.msg, icon: 'none' })
                                 } catch (error) {
                                     $pigeon.MessageError(t("Msg.Fail"))
                                 }

+ 57 - 23
pages/customer/transfer.vue

@@ -63,11 +63,13 @@
                                         </view>
                                     </view>
                                 </view>
-                                <view class="card-row">
-                                    <uni-forms-item name="amount" :error-message="amountErrorMessage">
+                                <view class="card-row amount-box">
+                                    <uni-forms-item name="amount" :error-message="amountErrorMessage"
+                                        class="amount-input">
                                         <uni-easyinput v-model="form.amount" :placeholder="t('placeholder.input')"
                                             @blur="validateAmount" />
                                     </uni-forms-item>
+                                    <view class="btn" v-t="'State.All'" @click="setAllAmount"></view>
                                 </view>
 
                                 <view class="form-row">
@@ -149,6 +151,12 @@ const form = reactive({
     withdrawLogin: null,
     amount: ''
 })
+const amountErrorMessage = ref('')
+const setAllAmount = () => {
+    const found = loginOptions.value.find(opt => opt.login === Number(loginValue.value))
+    form.amount = found.balance
+    validateAmount()
+}
 const dialogSuccess = computed(() => dialogCheck.value && dialogVisible.value)
 const dialogError = computed(() => dialogCheck.value && !dialogVisible.value)
 const dialogCheck = ref(false)
@@ -203,27 +211,22 @@ const rules = {
     }
 }
 function validateAmount() {
-    const amount = form.amount
-    if (!amount) {
+    const value = form.amount
+    if (!value) {
         amountErrorMessage.value = t('vaildate.amount.format')
         return false
-    }
-    const numValue = parseFloat(amount)
-    if (isNaN(numValue)) {
+    } else if (
+        amountLimits.minAmount &&
+        amountLimits.maxAmount &&
+        (parseFloat(amountLimits.minAmount) > parseFloat(value) ||
+            parseFloat(amountLimits.maxAmount) < parseFloat(value))
+    ) {
+        amountErrorMessage.value = t('vaildate.amount.amount') +
+            amountLimits.minAmount +
+            '-' +
+            amountLimits.maxAmount
+    } else if (!/^[0-9]+([.]{1}[0-9]{1,2})?$/.test(value)) {
         amountErrorMessage.value = t('vaildate.amount.format')
-        return false
-    }
-    if (amountLimits.minAmount && numValue < parseFloat(amountLimits.minAmount)) {
-        amountErrorMessage.value = t('vaildate.amount.amount') + amountLimits.minAmount + '-' + amountLimits.maxAmount
-        return false
-    }
-    if (amountLimits.maxAmount && numValue > parseFloat(amountLimits.maxAmount)) {
-        amountErrorMessage.value = t('vaildate.amount.amount') + amountLimits.minAmount + '-' + amountLimits.maxAmount
-        return false
-    }
-    if (!/^[0-9]+([.]{1}[0-9]{1,2})?$/.test(amount)) {
-        amountErrorMessage.value = t('vaildate.amount.format')
-        return false
     }
     amountErrorMessage.value = ''
     return true
@@ -274,6 +277,7 @@ const closeDia = () => {
     transferType.value = 'internal'
     dialogCheck.value = false
     dialogVisible.value = false
+    amountErrorMessage.value = ''
 }
 const submitting = ref(false);
 const toTransfer = async () => {
@@ -396,7 +400,7 @@ const getDateList = async () => {
             handleRouteParams()
         })
     } else {
-        $pigeon?.MessageError(res.msg)
+        uni.showToast({ title: res.msg, icon: 'none' })
     }
     loading.value = false
 }
@@ -407,7 +411,7 @@ const getAgentList = async () => {
     if (res.code == Code.StatusOK) {
         toOptions.value = res.data
     } else {
-        $pigeon?.MessageError(res.msg)
+        uni.showToast({ title: res.msg, icon: 'none' })
     }
 }
 
@@ -417,7 +421,7 @@ const getAmount = async () => {
     if (res.code == Code.StatusOK) {
         Object.assign(amountLimits, res.data)
     } else {
-        $pigeon?.MessageError(res.msg)
+        uni.showToast({ title: res.msg, icon: 'none' })
     }
 }
 
@@ -566,6 +570,36 @@ watch(transferType, (newVal) => {
                         }
                     }
 
+                    .amount-box {
+                        display: flex;
+                        align-items: center;
+                        gap: px2rpx(12);
+
+                        .amount-input {
+                            flex: 1;
+                        }
+
+                        .btn {
+                            display: flex;
+                            align-items: center;
+                            justify-content: center;
+                            font-size: px2rpx(14);
+                            color: var(--color-zinc-600);
+                            margin-bottom: px2rpx(22);
+                            height: px2rpx(35);
+                            background-color: #cf1322;
+                            color: #fff;
+                            border-radius: px2rpx(4);
+                            font-weight: 600;
+                            display: flex;
+                            align-items: center;
+                            justify-content: center;
+                            border: none;
+                            padding: 0 px2rpx(20);
+                            cursor: pointer;
+                        }
+                    }
+
                     .card-tit {
                         margin-bottom: px2rpx(0) !important;
                     }

+ 53 - 4
pages/customer/wallet-transfer.vue

@@ -46,10 +46,13 @@
                                         </view>
                                     </view>
                                 </view>
-                                <view class="card-row">
-                                    <uni-forms-item name="amount">
-                                        <uni-easyinput v-model="form.amount" :placeholder="t('placeholder.input')" />
+                                <view class="card-row amount-box">
+                                    <uni-forms-item name="amount" :error-message="amountErrorMessage"
+                                        class="amount-input">
+                                        <uni-easyinput v-model="form.amount" :placeholder="t('placeholder.input')"
+                                            @blur="validateAmount" />
                                     </uni-forms-item>
+                                    <view class="btn" v-t="'State.All'" @click="setAllAmount"></view>
                                 </view>
 
                                 <view class="form-row">
@@ -144,13 +147,29 @@ const rules = {
         ]
     }
 }
-
+const amountErrorMessage = ref('')
+const setAllAmount = () => {
+    form.amount = walletbalance.value
+    validateAmount()
+}
+function validateAmount() {
+    const value = form.amount
+    if (!value) {
+        amountErrorMessage.value = t('vaildate.amount.format')
+        return false
+    } else if (!/^[0-9]+([.]{1}[0-9]{1,2})?$/.test(value)) {
+        amountErrorMessage.value = t('vaildate.amount.format')
+    }
+    amountErrorMessage.value = ''
+    return true
+}
 const formRef = ref(null)
 
 const closeDia = () => {
     if (formRef.value) {
         form.amount = ''
         form.login = null
+        amountErrorMessage.value = ''
         formRef.value.clearValidate()
     }
     dialogCheck.value = false
@@ -256,6 +275,36 @@ onMounted(() => {
                         }
                     }
 
+                    .amount-box {
+                        display: flex;
+                        align-items: center;
+                        gap: px2rpx(12);
+
+                        .amount-input {
+                            flex: 1;
+                        }
+
+                        .btn {
+                            display: flex;
+                            align-items: center;
+                            justify-content: center;
+                            font-size: px2rpx(14);
+                            color: var(--color-zinc-600);
+                            margin-bottom: px2rpx(22);
+                            height: px2rpx(35);
+                            background-color: #cf1322;
+                            color: #fff;
+                            border-radius: px2rpx(4);
+                            font-weight: 600;
+                            display: flex;
+                            align-items: center;
+                            justify-content: center;
+                            border: none;
+                            padding: 0 px2rpx(20);
+                            cursor: pointer;
+                        }
+                    }
+
                     .card-tit {
                         margin-bottom: px2rpx(0) !important;
                     }

+ 47 - 10
pages/ib/agent-transfer.vue

@@ -61,13 +61,14 @@
                                 </view>
 
                                 <view class="form-row">
-                                    <view class="form-col">
+                                    <view class="form-col amount-box">
                                         <!-- 转账金额 -->
                                         <uni-forms-item :label="t('Custom.Transfer.Amount')" name="amount"
-                                            :error-message="amountErrorMessage">
+                                            :error-message="amountErrorMessage" class="amount-input">
                                             <uni-easyinput v-model="form.amount" :placeholder="t('placeholder.input')"
                                                 @blur="validateAmount" />
                                         </uni-forms-item>
+                                        <view class="btn" v-t="'State.All'" @click="setAllAmount"></view>
                                     </view>
                                 </view>
 
@@ -329,6 +330,11 @@ function validateAmount() {
     amountErrorMessage.value = ''
     return true
 }
+const setAllAmount = () => {
+    const found = loginOptions.value.find(opt => opt.login === Number(loginValue.value))
+    form.amount = found.balance
+    validateAmount()
+}
 
 // 模板引用
 const formRef = ref(null)
@@ -468,7 +474,7 @@ async function getDateList() {
     if (res.code == Code.StatusOK) {
         loginOptions.value = res.data
     } else {
-        $pigeon?.MessageError(res.msg)
+        uni.showToast({ title: res.msg, icon: 'none' })
     }
 }
 const loading = ref(false)
@@ -479,7 +485,7 @@ async function getToDateList() {
     if (res.code == Code.StatusOK) {
         toOptions.value = res.data
     } else {
-        $pigeon?.MessageError(res.msg)
+        uni.showToast({ title: res.msg, icon: 'none' })
     }
     loading.value = false
 }
@@ -490,7 +496,7 @@ async function getAmount() {
     if (res.code == Code.StatusOK) {
         Object.assign(amountLimits, res.data)
     } else {
-        $pigeon?.MessageError(res.msg)
+        uni.showToast({ title: res.msg, icon: 'none' })
     }
 }
 
@@ -499,7 +505,7 @@ async function Activity24nianzhongTwoInfo() {
     if (res.code == Code.StatusOK) {
         tableData4Two.value = res.data
     } else {
-        $pigeon?.MessageError(res.msg)
+        uni.showToast({ title: res.msg, icon: 'none' })
     }
 }
 // 活动相关方法
@@ -521,7 +527,7 @@ async function get23nianzhongTwoLogin() {
             tableData4TwoFlag.value = false
         }
     } else {
-        $pigeon?.MessageError(res.msg)
+        uni.showToast({ title: res.msg, icon: 'none' })
     }
 }
 
@@ -537,7 +543,7 @@ async function getActivityExtensionGiveLogin() {
             tableDataNewListFlag.value = false
         }
     } else {
-        $pigeon?.MessageError(res.msg)
+        uni.showToast({ title: res.msg, icon: 'none' })
     }
 }
 
@@ -548,7 +554,7 @@ async function getActivityExtensionGiveLoginJoin() {
     if (res.code == Code.StatusOK) {
         giveLoginJoin.value = res.data
     } else {
-        $pigeon?.MessageError(res.msg)
+        uni.showToast({ title: res.msg, icon: 'none' })
         giveLoginJoin.value = ''
     }
 }
@@ -605,7 +611,7 @@ watch(() => form.agree6, (newVal) => {
                                 if (res.code == Code.StatusOK) {
                                     $pigeon?.MessageOK(res.msg || t('Msg.Success'))
                                 } else {
-                                    $pigeon?.MessageError(res.msg)
+                                    uni.showToast({ title: res.msg, icon: 'none' })
                                 }
                             } catch (error) {
                                 $pigeon?.MessageError(t('Msg.Fail'))
@@ -750,6 +756,37 @@ onLoad((options) => {
                     }
                 }
 
+                .amount-box {
+                    display: flex;
+                    align-items: center;
+                    gap: px2rpx(12);
+
+                    .amount-input {
+                        flex: 1;
+                    }
+
+                    .btn {
+                        display: flex;
+                        align-items: center;
+                        justify-content: center;
+                        font-size: px2rpx(14);
+                        color: var(--color-zinc-600);
+                        margin-bottom: px2rpx(20);
+                        height: px2rpx(35);
+                        background-color: #cf1322;
+                        color: #fff;
+                        border-radius: px2rpx(4);
+                        font-weight: 600;
+                        display: flex;
+                        align-items: center;
+                        justify-content: center;
+                        border: none;
+                        padding: 0 px2rpx(20);
+                        cursor: pointer;
+                        margin-top: px2rpx(34);
+                    }
+                }
+
                 .form-col-full {
                     width: 100%;
                     padding: 0 px2rpx(5);

+ 116 - 41
pages/ib/transfer.vue

@@ -25,54 +25,62 @@
                                 </view>
 
                                 <view class="form-row">
-                                    <view class="form-col">
+                                    <view class="form-col amount-box">
                                         <!-- 转账金额 -->
                                         <uni-forms-item :label="t('Custom.Transfer.Amount')" name="amount"
-                                            :error-message="amountErrorMessage">
+                                            :error-message="amountErrorMessage" class="amount-input">
                                             <uni-easyinput v-model="form.amount" :placeholder="t('placeholder.input')"
                                                 @blur="validateAmount" />
                                         </uni-forms-item>
+                                        <view class="btn" v-t="'State.All'" @click="setAllAmount"></view>
                                     </view>
                                 </view>
 
                                 <!-- 20%赠金-年中赠金 -->
                                 <view class="form-row" v-if="tableData4TwoFlag">
-                                    <view class="form-col-full">
-                                        <uni-forms-item class="agree" name="agree5">
-                                            <view class="agree-content">
-                                                <checkbox :checked="form.agree5" @click="form.agree5 = !form.agree5" />
-                                                <view class="agree-text">
-                                                    <view class="agree-title">{{
-                                                        t('news_add_field1.activitiesNZTwo.itemDeposit1') }}</view>
+                                    <uni-forms-item class="agree" name="agree5">
+                                        <checkbox-group :value="form.agree5 ? ['1'] : []" @change="onAgree5Change">
+                                            <label class="checkbox">
+                                                <checkbox value="1" :checked="form.agree5" />
+                                                <text>{{ t('news_add_field1.activitiesNZTwo.itemDeposit1')
+                                                }}</text>
+
+                                                <view style="margin-top: 10px;line-height: 1.5; font-size: 14px">
+                                                    <text class="crm-cursor" @click.stop="dialogCheckTip = true">{{
+                                                        t('Custom.Withdraw.Des') }}</text>
+                                                    <text>{{ t('news_add_field1.activitiesNZTwo.itemDeposit2')
+                                                        }}</text>
+                                                    <text class="clause crm-cursor" style="text-decoration: underline;"
+                                                        @click.stop="dialogClauseNZTwo = true">{{
+                                                            t('news_add_field1.activitiesNZTwo.itemDeposit3') }}</text>
+                                                    <text>{{ t('news_add_field1.activitiesNZTwo.itemDeposit4')
+                                                        }}</text>
                                                 </view>
-                                            </view>
-                                        </uni-forms-item>
-                                        <view class="agree-detail">
-                                            <text>{{ t('news_add_field1.activitiesNZTwo.itemDeposit2') }}</text>
-                                            <text class="clause" @click="dialogClauseNZTwo = true">{{
-                                                t('news_add_field1.activitiesNZTwo.itemDeposit3') }}</text>
-                                            <text>{{ t('news_add_field1.activitiesNZTwo.itemDeposit4') }}</text>
-                                        </view>
-                                    </view>
+
+                                            </label>
+                                        </checkbox-group>
+                                    </uni-forms-item>
                                 </view>
 
                                 <!-- 赠送活动 -->
                                 <view class="form-row" v-if="tableDataNewListFlag">
                                     <view class="form-col-full">
-                                        <uni-forms-item class="agree" name="agree6">
-                                            <view class="agree-content">
-                                                <checkbox :checked="form.agree6" @click="form.agree6 = !form.agree6" />
-                                                <view class="agree-text">
-                                                    <view class="agree-title">{{ tableDataNewList.title }}</view>
-                                                </view>
-                                            </view>
+                                        <uni-forms-item name="agree6">
+                                            <checkbox-group :value="form.agree6 ? ['1'] : []" @change="onAgree6Change">
+                                                <label class="checkbox">
+                                                    <checkbox value="1" :checked="form.agree6" />
+                                                    <text @click.stop="dialogClauseNewList = true"
+                                                        style="text-decoration: underline;">{{
+                                                            tableDataNewList.title }}</text>
+                                                    <view style="margin-top: 10px; line-height: 1.5; font-size: 14px">
+                                                        <text> {{
+                                                            t('news_add_field1.activitiesNewList.item1') }}{{
+                                                                t('news_add_field1.activitiesNewList.item2') }}</text>
+                                                    </view>
+
+                                                </label>
+                                            </checkbox-group>
                                         </uni-forms-item>
-                                        <view class="agree-detail">
-                                            <text>{{ t('news_add_field1.activitiesNewList.item1') }}</text>
-                                            <text class="clause" @click="dialogClauseNewList = true">{{
-                                                tableDataNewList.title }}</text>
-                                            <text>{{ t('news_add_field1.activitiesNewList.item2') }}</text>
-                                        </view>
                                     </view>
                                 </view>
 
@@ -235,9 +243,45 @@ const rules = {
                 }
             },
         ],
+    },
+    agree5: {
+        rules: [
+            {
+                validateFunction: (rule, value, data, callback) => {
+                    if (form.agree5) {
+                        return true;
+                    } else {
+                        callback(t('vaildate.agree.empty'));
+                        return false;
+                    }
+                },
+                trigger: 'change',
+            },
+        ],
+    },
+}
+const onAgree5Change = (e) => {
+    form.agree5 = e.detail.value.length > 0
+}
+const onAgree6Change = (e) => {
+    form.agree6 = e.detail.value.length > 0
+}
+const customAmount = ref(0)
+//获取基础信息
+const getDateList = async () => {
+    let res = await ibApi.IbData({});
+    if (res.code == Code.StatusOK) {
+        if (res.data != null) {
+            customAmount.value = res.data.customAmount
+        }
+    } else {
+        uni.showToast({ title: res.msg, icon: 'none' })
     }
 }
-
+const setAllAmount = () => {
+    form.amount = customAmount
+    validateAmount()
+}
 function validateAmount() {
     const amount = form.amount
     if (!amount) {
@@ -309,7 +353,7 @@ const ransferInfo = async function () {
             ": $" +
             (res.data.balance ? res.data.balance : 0);
     } else {
-        $pigeon.MessageError(res.msg);
+        uni.showToast({ title: res.msg, icon: 'none' })
     }
     loading.value = false
 }
@@ -336,7 +380,7 @@ const ransferToInfo = async function () {
         })
 
     } else {
-        $pigeon.MessageError(res.msg);
+        uni.showToast({ title: res.msg, icon: 'none' })
     }
 }
 //获取代理账户信息
@@ -345,7 +389,7 @@ const getAgentInfo = async function () {
     if (res.code == Code.StatusOK) {
         agentInfo.value = res.data || [];
     } else {
-        $pigeon.MessageError(res.msg);
+        uni.showToast({ title: res.msg, icon: 'none' })
     }
 }
 
@@ -438,7 +482,7 @@ async function Activity24nianzhongTwoInfo() {
     if (res.code == Code.StatusOK) {
         tableData4Two.value = res.data
     } else {
-        $pigeon?.MessageError(res.msg)
+        uni.showToast({ title: res.msg, icon: 'none' })
     }
 }
 // 活动相关方法
@@ -460,7 +504,7 @@ async function get23nianzhongTwoLogin() {
             tableData4TwoFlag.value = false
         }
     } else {
-        $pigeon?.MessageError(res.msg)
+        uni.showToast({ title: res.msg, icon: 'none' })
     }
 }
 
@@ -476,7 +520,7 @@ async function getActivityExtensionGiveLogin() {
             tableDataNewListFlag.value = false
         }
     } else {
-        $pigeon?.MessageError(res.msg)
+        uni.showToast({ title: res.msg, icon: 'none' })
     }
 }
 
@@ -487,7 +531,7 @@ async function getActivityExtensionGiveLoginJoin() {
     if (res.code == Code.StatusOK) {
         giveLoginJoin.value = res.data
     } else {
-        $pigeon?.MessageError(res.msg)
+        uni.showToast({ title: res.msg, icon: 'none' })
         giveLoginJoin.value = ''
     }
 }
@@ -551,7 +595,7 @@ watch(() => form.agree6, (newVal) => {
                                 if (res.code == Code.StatusOK) {
                                     $pigeon?.MessageOK(res.msg || t('Msg.Success'))
                                 } else {
-                                    $pigeon?.MessageError(res.msg)
+                                    uni.showToast({ title: res.msg, icon: 'none' })
                                 }
                             } catch (error) {
                                 $pigeon?.MessageError(t('Msg.Fail'))
@@ -584,7 +628,7 @@ onMounted(() => {
     if (getInfoStatus5.value) {
         InfoStatus5.value = true
     }
-
+    getDateList()
     ransferInfo();
     ransferToInfo();
     // Activity24nianzhongTwoInfo()
@@ -680,6 +724,37 @@ onLoad((options) => {
                     }
                 }
 
+                .amount-box {
+                    display: flex;
+                    align-items: center;
+                    gap: px2rpx(12);
+
+                    .amount-input {
+                        flex: 1;
+                    }
+
+                    .btn {
+                        display: flex;
+                        align-items: center;
+                        justify-content: center;
+                        font-size: px2rpx(14);
+                        color: var(--color-zinc-600);
+                        margin-bottom: px2rpx(20);
+                        height: px2rpx(35);
+                        background-color: #cf1322;
+                        color: #fff;
+                        border-radius: px2rpx(4);
+                        font-weight: 600;
+                        display: flex;
+                        align-items: center;
+                        justify-content: center;
+                        border: none;
+                        padding: 0 px2rpx(20);
+                        cursor: pointer;
+                        margin-top: px2rpx(34);
+                    }
+                }
+
                 .form-col-full {
                     width: 100%;
                     padding: 0 px2rpx(5);

+ 9 - 9
pages/ib/withdraw-select.vue

@@ -7,7 +7,7 @@
                 <view class="b-card">
                     <view class="card-top">
                         <text class="tit">{{ t('Custom.Deposit.Title22')
-                        }}</text>
+                            }}</text>
                         <cwg-asset-tabs v-if="tabsConfig.length > 0" v-model="activeTab" :tabs="tabsConfig" />
                         <uni-loading v-if="currentTableData.length == 0" />
                         <view v-if="currentTableData.length">
@@ -16,7 +16,7 @@
                         <view v-if="step3" class="reselect-btn">
                             <button class="s-btn reselect" type="primary" @click="showTable">{{
                                 t('Custom.Deposit.Reselect')
-                            }}</button>
+                                }}</button>
                         </view>
                     </view>
                 </view>
@@ -151,7 +151,7 @@
                                             </text>
                                             <text v-if="channelData.type == 'BANK'">{{
                                                 t('Custom.Withdraw.addBank')
-                                            }}</text>
+                                                }}</text>
                                             <text v-if="channelData.type == 'BANK'" class="add-btn crm-cursor"
                                                 @click="openAddBankCard('add_bankCard')">
                                                 {{ t('Custom.Withdraw.addBank1') }}
@@ -313,7 +313,7 @@
                                 <uni-col :span="24" v-if="channelData.type != 'BANK_TELEGRAPHIC' && isStep3">
                                     <view class="tit">
                                         <text>{{ t('Custom.Withdraw.Title3') + '(' + channelData.currency + ')'
-                                        }}</text>
+                                            }}</text>
                                     </view>
                                 </uni-col>
                                 <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12"
@@ -901,7 +901,7 @@ const getFreeNumber = async () => {
     if (res.code === Code.StatusOK) {
         FreeNumber.value = res.data || 0
     } else {
-        $pigeon.MessageError(res.msg)
+        uni.showToast({ title: res.msg, icon: 'none' })
     }
 }
 
@@ -1136,7 +1136,7 @@ const getBankInfo = async () => {
             }
         })
     } else {
-        $pigeon.MessageError(res.msg)
+        uni.showToast({ title: res.msg, icon: 'none' })
     }
 }
 const onDigitalCurrencyChange = (val) => {
@@ -1384,7 +1384,7 @@ const getDateList = async () => {
     if (res.code === Code.StatusOK) {
         loginOptions.value = res.data
     } else {
-        $pigeon.MessageError(res.msg)
+        uni.showToast({ title: res.msg, icon: 'none' })
     }
 }
 
@@ -1410,7 +1410,7 @@ const getDepositList = async () => {
         })
         pictLoading.value = false
     } else {
-        $pigeon.MessageError(res.msg)
+        uni.showToast({ title: res.msg, icon: 'none' })
         pictLoading.value = false
     }
 }
@@ -1428,7 +1428,7 @@ const getBankList = async (row) => {
         })
         bankDate.value = data
     } else {
-        $pigeon.MessageError(res.msg)
+        uni.showToast({ title: res.msg, icon: 'none' })
     }
 }
 

+ 26 - 20
pages/ib/withdraw.vue

@@ -273,7 +273,7 @@
                                             <uni-easyinput v-model.trim="form.amount" type="number"
                                                 @blur="validateAmount" />
                                         </uni-forms-item>
-                                        <!-- <view class="btn" v-t="'State.All'" @click="setAllAmount"></view> -->
+                                        <view class="btn" v-t="'State.All'" @click="setAllAmount"></view>
                                     </view>
 
                                     <!-- 非电汇的金额区域 -->
@@ -289,7 +289,7 @@
                                             <uni-easyinput v-model.trim="form.amount" autocomplete="off" type="number"
                                                 @blur="validateAmount" />
                                         </uni-forms-item>
-                                        <!-- <view class="btn" v-t="'State.All'" @click="setAllAmount"></view> -->
+                                        <view class="btn" v-t="'State.All'" @click="setAllAmount"></view>
                                     </view>
                                 </view>
                                 <view class="agree">
@@ -375,6 +375,7 @@ import { onLoad } from '@dcloudio/uni-app'
 import { showToast } from "@/utils/toast";
 import useUserStore from '@/stores/use-user-store'
 import { customApi } from "@/service/custom"
+import { ibApi } from "@/service/ib"
 import { financialApi } from "@/service/financial"
 import Config from "@/config/index"
 import AddBankDialog from '@/components/AddBankDialog.vue';
@@ -459,7 +460,25 @@ const tableData = reactive({
     CHANNEL_TYPE_ALI_WALLET: [],
     UCARD_WALLET: []
 })
+const customAmount = ref(0)
+//获取基础信息
+const getDateList = async () => {
+    console.log(4242);
 
+    let res = await ibApi.IbData({});
+    if (res.code == Code.StatusOK) {
+        if (res.data != null) {
+            customAmount.value = res.data.customAmount
+        }
+    } else {
+        uni.showToast({ title: res.msg, icon: 'none' })
+    }
+    loading.value = false
+}
+const setAllAmount = () => {
+    form.amount = customAmount
+    validateAmount()
+}
 //通道table-选择前后
 const activeTab = ref(1)
 // 🔥 自动过滤掉空数据的 tab
@@ -880,7 +899,7 @@ const getFreeNumber = async () => {
     if (res.code === Code.StatusOK) {
         FreeNumber.value = res.data || 0
     } else {
-        $pigeon.MessageError(res.msg)
+        uni.showToast({ title: res.msg, icon: 'none' })
     }
 }
 
@@ -1110,7 +1129,7 @@ const getBankInfo = async () => {
         })
         bankList.value = ref.data
     } else {
-        $pigeon.MessageError(res.msg)
+        uni.showToast({ title: res.msg, icon: 'none' })
     }
 }
 const onDigitalCurrencyChange = (val) => {
@@ -1360,15 +1379,7 @@ const showTable = () => {
     // 其他重置...
 }
 
-const getDateList = async () => {
 
-    const res = await customApi.CustomDropdown({ platform: "" })
-    if (res.code === Code.StatusOK) {
-        loginOptions.value = res.data
-    } else {
-        $pigeon.MessageError(res.msg)
-    }
-}
 
 const getDepositList = async () => {
     pictLoading.value = true
@@ -1392,7 +1403,7 @@ const getDepositList = async () => {
         })
         pictLoading.value = false
     } else {
-        $pigeon.MessageError(res.msg)
+        uni.showToast({ title: res.msg, icon: 'none' })
         pictLoading.value = false
     }
 }
@@ -1410,7 +1421,7 @@ const getBankList = async (row) => {
         })
         bankDate.value = data
     } else {
-        $pigeon.MessageError(res.msg)
+        uni.showToast({ title: res.msg, icon: 'none' })
     }
 }
 
@@ -1437,11 +1448,6 @@ const channelList = computed(() => userStore.channelList)
 const channelListOptions = ref([])
 const channelId = ref(null)
 const loading = ref(false)
-const setAllAmount = () => {
-    const found = loginOptions.value.find(opt => opt.login === Number(loginValue.value))
-    params.amount = parseInt(found.balance)
-    validateAmount()
-}
 const allTabs = computed(() => {
     return {
         "Digital_Currency": t('Custom.Deposit.Channel3'),
@@ -1485,7 +1491,7 @@ onMounted(() => {
     channelId.value = channel.value
 
 
-    // getDateList()
+    getDateList()
     // getDepositList()
     getFreeNumber()
     isShowDialog()

+ 4 - 0
static/scss/global/global.scss

@@ -256,6 +256,10 @@
     --animate-shimmer: shimmer 2s linear infinite;
 }
 
+.uni-select__input-box {
+    height: px2rpx(35);
+}
+
 
 body {
     min-height: 100vh;