zhb vor 1 Monat
Ursprung
Commit
2344e16faf

Datei-Diff unterdrückt, da er zu groß ist
+ 1 - 1031
pages/follow/account-management.vue


Datei-Diff unterdrückt, da er zu groß ist
+ 30 - 906
pages/follow/follow-list.vue


Datei-Diff unterdrückt, da er zu groß ist
+ 400 - 700
pages/follow/subscribe-list.vue


+ 22 - 179
pages/follow/trading-management.vue

@@ -4,7 +4,7 @@
         <view class="content-container">
             <!-- 动态字段列表 -->
             <view class="content-title">
-                <cwg-header :title="t('Documentary.TundManagement.item8')" />
+                <cwg-header :title="t('Documentary.TundManagement.item11')" />
                 <view class="content-title-btns">
                     <view class="btn-primary btn-primary1" @click="getCustomLoginDownLogin()">
                         <cwg-icon icon="crm-plus" :size="16" color="#fff" />
@@ -54,12 +54,12 @@
                             <view class="account-grid-item">
                                 <view class="sub" v-t="'Label.Balance'"></view>
                                 <view class="num">
-                                    {{ numberFormat(item.dealBalance) }}
+                                    {{ numberFormat(item.dealBalance || 0) }}
                                 </view>
                             </view>
                             <view class="account-grid-item">
                                 <view class="sub" v-t="'Label.Equity'"></view>
-                                <view class="num">{{ numberFormat(item.dealEquity) }}</view>
+                                <view class="num">{{ numberFormat(item.dealEquity || 0) }}</view>
                             </view>
                             <view class="account-grid-item">
                                 <view class="sub" v-t="'Documentary.TundManagement.item14'"></view>
@@ -104,7 +104,7 @@
                     <view class="delete-row">
                         <view class="delete-item">
                             <text class="delete-label">{{ t('Documentary.console.item7') }}</text>
-                            <text class="delete-value">{{ numberFormat(dialogFllowDataDelete.dealBalance) }}</text>
+                            <text class="delete-value">{{ numberFormat(dialogFllowDataDelete.dealBalance || 0) }}</text>
                         </view>
                         <view class="delete-item">
                             <text class="delete-label">{{ t('Label.AccountType') }}</text>
@@ -129,7 +129,7 @@
                     <view class="delete-row">
                         <view class="delete-item">
                             <text class="delete-label">{{ t('Label.Credit') }}</text>
-                            <text class="delete-value">{{ numberFormat(dialogFllowDataDelete.dealCredit) }}</text>
+                            <text class="delete-value">{{ numberFormat(dialogFllowDataDelete.dealCredit || 0) }}</text>
                         </view>
                         <view class="delete-item">
                             <text class="delete-label">{{ t('Documentary.tradingCenter.item31') }}</text>
@@ -540,32 +540,8 @@ const userStore = useUserStore();
 const userInfo = computed(() => userStore.userInfo);
 import { useFilters } from '@/composables/useFilters'
 const { numberFormat, numberDecimal } = useFilters()
-const search = ref({
-    type: 1
-})
-const getInfoAgentTransfer = computed(() => userInfo.value.customInfo?.agentTransfer)
-const typeMap = [
-    { value: 'MT4', text: 'MT4' },
-    { value: 'MT5', text: 'MT5' }]
 const isZh = computed(() => ['cn', 'zh', 'zhHant'].includes(locale.value));
 
-// 账户类型映射
-const accountTypeMap = {
-    1: 'AccountType.ClassicAccount',
-    2: 'AccountType.SeniorAccount',
-    5: 'AccountType.SpeedAccount',
-    6: 'AccountType.SpeedAccount',
-    7: 'AccountType.StandardAccount',
-    8: 'AccountType.CentAccount'
-}
-// 拒绝原因映射(示例)
-const reasons = ref({})
-// 动态传入筛选字段配置
-const filterFields = computed(() => [
-    { key: 'followPlatform', type: 'select', label: t('Label.Platform'), placeholder: t('placeholder.choose'), options: typeMap, defaultValue: 1 },
-    !isSubscribeLoading.value && { key: 'followLogin', type: 'select', label: t('Documentary.console.item28'), placeholder: t('placeholder.choose'), options: SubscribeDownData.value },
-    { key: 'date', label: t('placeholder.Start') + ' - ' + t('placeholder.End'), type: 'daterange' }
-])
 const formRef = ref(null)
 const rules = {
     password: {
@@ -831,154 +807,12 @@ const getSubscribeLoginDown = async () => {
 const onAgreeChange = (e) => {
     dialogFllowDataApply.agree = e.detail.value.length > 0
 }
-const searchParams = ref({})
-const tableRef = ref(null)
-const handleSearch = (params) => {
-    search.value = params
-    nextTick(() => {
-        tableRef.value.refreshTable()
-    })
-}
 
-const handleReset = (params) => {
-    search.value = params
-    nextTick(() => {
-        tableRef.value.refreshTable()
-    })
-}
-// 当前列配置
-const currentColumns = computed(() => [
-    {
-        prop: 'dealPlatform',
-        label: t('Label.Platform'),
-        align: 'center',
-        formatter: ({ row }) => row.dealPlatform || '--'
-    },
-    {
-        prop: 'followLogin',
-        label: t('Documentary.TundManagement.item25'),
-        align: 'center',
-        formatter: ({ row }) => row.followLogin || '--'
-    },
-    {
-        prop: 'followType',
-        label: t('Documentary.TundManagement.item19'),
-        align: 'center',
-        slot: 'followType'        // 使用插槽显示跟单类型(正向/反向/混合)
-    },
-    {
-        prop: 'followValue',
-        label: t('Documentary.TundManagement.item20'),
-        align: 'center',
-        slot: 'followValue'       // 使用插槽显示跟单数值(手数/比例/--)
-    },
-    {
-        prop: 'followLeverage',
-        label: t('Label.Leverage'),
-        align: 'center',
-        formatter: ({ row }) => row.followLeverage ? `1:${row.followLeverage}` : '--'
-    },
-    {
-        prop: 'balanceEquity',
-        label: t('Label.Balance'),
-        align: 'center',
-        children: [               // 嵌套子列
-            {
-                prop: 'followBalance',
-                label: t('Label.Equity'),
-                align: 'center',
-                slot: 'balanceEquity'  // 使用插槽显示余额和净值(上下两行)
-            }
-        ]
-    },
-    {
-        prop: 'timeRange',
-        label: t('Documentary.TundManagement.item26'),
-        align: 'center',
-        children: [               // 嵌套子列
-            {
-                prop: 'startTime',
-                label: t('Documentary.TundManagement.item27'),
-                align: 'center',
-                slot: 'timeRange'     // 使用插槽显示开始时间和结束时间(上下两行)
-            }
-        ]
-    },
-    {
-        prop: 'followProfit',
-        label: t('Documentary.TundManagement.item21'),
-        align: 'center',
-        formatter: ({ row }) => NumberFormat(row.followProfit || 0)
-    }
-])
-// 获取状态文本
-const getStatusText = (row: any) => {
-    const status = row.status
-    // 根据不同记录类型处理状态
-    if (search.value.type === 1) {
-        if (status === 1) return t('State.ToBeProcessed')
-        if (status === 2 && row.accountStatus === 2) return t('State.Completed')
-        if (status === 2 && (row.accountStatus === 1 || !row.accountStatus)) return t('State.InTheProcessing')
-        if (status === 3) return t('State.Refused')
-    } else if (search.value.type === 2) {
-        if (status === 1) return t('State.ToBeProcessed')
-        if (status === 2 && row.leverageStatus === 2) return t('State.Completed')
-        if (status === 2 && row.leverageStatus === 1) return t('State.InTheProcessing')
-        if (status === 3) return t('State.Refused')
-    } else if (search.value.type === 3 || search.value.type === 5) {
-        if (status === 1) return t('State.ToBeProcessed')
-        if (status === 2 && row.withdrawStatus === 2 && row.depositStatus === 2) return t('State.Completed')
-        if (status === 2 && (row.withdrawStatus === 1 || row.depositStatus === 1)) return t('State.InTheProcessing')
-        if (status === 3 || row.withdrawStatus === 3 || row.depositStatus === 3) return t('State.Refused')
-    } else {
-        // 活动申请等
-        if (status === 1) return t('State.ToBeProcessed')
-        if (status === 2) return t('State.Completed')
-        if (status === 3) return t('State.Refused')
-    }
-    return ''
-}
-// 获取状态样式类
-const getStatusClass = (status: number) => {
-    const classMap: Record<number, string> = {
-        1: 'status-pending',
-        2: 'status-success',
-        3: 'status-processing',
-        4: 'status-danger'
-    }
-    return classMap[status] || ''
-}
-// 获取账户类型文本
-const getAccountTypeText = (type: number) => {
-    const key = accountTypeMap[type as keyof typeof accountTypeMap]
-    return key ? t(key) : '--'
-}
-// 格式化数字
-const formatNumber = (value: string | number) => {
-    if (!value) return '--'
-    const num = Number(value)
-    return isNaN(num) ? '--' : num.toFixed(2)
-}
-// 格式化备注
-const formatNote = (approveDesc: string) => {
-    if (!approveDesc) return '--'
-    const reason = reasons.value[approveDesc as keyof typeof reasons.value]
-    if (reason) {
-        return isZh.value ? reason.content : reason.enContent
-    }
-    return approveDesc
-}
 // 单位类型
 function groupCurrency(type) {
     const map = { GBP: ': £', USD: ': $', EUR: ': €', USC: ': ¢' }
     return map[type] || ': $'
 }
-// 单位类型
-function groupCurrency1(type) {
-    const map = { GBP: '£', USD: '$', EUR: '€', USC: '¢' }
-    return map[type] || '$'
-}
-
 
 // 账户类型
 function groupTypeName(type) {
@@ -1469,15 +1303,19 @@ onMounted(() => {
 
 
     .fllow-title {
-        margin: px2rpx(10) 0 px2rpx(16);
-        padding-left: px2rpx(8);
-        border-left: 4px solid #dc3545;
-        border-bottom: none;
+        display: flex;
+        align-items: center;
+        justify-content: space-between;
+        border-bottom: 1px solid #eee;
+        padding-bottom: 10px;
+        margin-bottom: 10px;
 
         .title {
-            font-size: px2rpx(16);
-            font-weight: 600;
-            color: #343a40;
+            font-weight: bold;
+            color: #333;
+            padding-left: 8px;
+            border-left: 4px solid #eb3f57;
+            font-size: 16px;
         }
     }
 
@@ -1486,8 +1324,13 @@ onMounted(() => {
     }
 
     .delete-row {
-        display: flex;
+        display: grid;
+        grid-template-columns: 1fr 1fr;
         gap: px2rpx(12);
+
+        @media screen and (max-width: 768px) {
+            grid-template-columns: 1fr;
+        }
     }
 
     .delete-item {

Einige Dateien werden nicht angezeigt, da zu viele Dateien in diesem Diff geändert wurden.