zhb há 1 mês atrás
pai
commit
02be77f118
36 ficheiros alterados com 933 adições e 895 exclusões
  1. 2 2
      components/cwg-complex-search.vue
  2. 14 13
      components/cwg-detail-popup.vue
  3. 14 13
      components/cwg-tabel.vue
  4. 1 1
      pages/activities/components/ActivityCard.vue
  5. 15 15
      pages/activities/components/ActivityDialogs.vue
  6. 1 1
      pages/activities/index.vue
  7. 2 1
      pages/common/notice.vue
  8. 4 2
      pages/customer/components/AccountCard copy.vue
  9. 4 2
      pages/customer/components/AccountCardDesktop.vue
  10. 4 2
      pages/customer/components/AccountCardMobile.vue
  11. 2 1
      pages/customer/components/AccountList.vue
  12. 2 1
      pages/customer/components/AmountWallet.vue
  13. 2 1
      pages/customer/components/TerminalChangePasswordDialog.vue
  14. 2 1
      pages/customer/components/TerminalNickNameDialog.vue
  15. 1 1
      pages/customer/create-account.vue
  16. 10 10
      pages/customer/deposit-select.vue
  17. 16 16
      pages/customer/deposit.vue
  18. 2 1
      pages/customer/payment-history.vue
  19. 2 1
      pages/customer/recording-history.vue
  20. 12 11
      pages/customer/settings.vue
  21. 1 1
      pages/customer/style.scss
  22. 4 3
      pages/customer/trade-history.vue
  23. 6 5
      pages/customer/trade-position.vue
  24. 30 29
      pages/customer/transfer.vue
  25. 2 2
      pages/customer/wallet-transfer.vue
  26. 4 4
      pages/customer/withdrawal-select.vue
  27. 3 3
      pages/customer/withdrawal.vue
  28. 1 1
      pages/ib/agent-transfer.vue
  29. 1 1
      pages/ib/transfer.vue
  30. 5 5
      pages/ib/withdraw-select.vue
  31. 17 9
      pages/ib/withdraw.vue
  32. 41 40
      pages/mine/components/FileManagementTab.vue
  33. 386 385
      pages/mine/components/PersonalInfoTab.vue
  34. 16 15
      pages/mine/info.vue
  35. 11 3
      static/scss/global/global.scss
  36. 293 293
      uni_modules/uni-indexed-list/components/uni-indexed-list/uni-indexed-list.vue

+ 2 - 2
components/cwg-complex-search.vue

@@ -223,7 +223,7 @@ const shouldUseSelect = (field) => {
     return field.options.length > 10 || field.isSelect === true
 }
 const handleDateChange = (value) => {
-  console.log(value)
+    console.log(value)
     formData.value[dateField.value.key] = value
     tempFormData.value[dateField.value.key] = value
     // 日期变化时自动触发搜索
@@ -499,7 +499,7 @@ onMounted(() => {
 
             /* 填充样式(选中) */
             &.chip-filled {
-                background-color: #007aff;
+                background-color: #cf1322;
                 border-color: #007aff;
                 color: #ffffff;
             }

+ 14 - 13
components/cwg-detail-popup.vue

@@ -12,9 +12,10 @@
                         <template #operation1>
                             <slot :name="`cell-${item.prop}`" :row="row" :column="item" :index="index">
                                 <view v-if="item.type === 'action'" class="action-list">
-                                    <template v-for="(actionItem, idx) in getVisibleActions(item.menuList, row)" :key="idx">
-                                        <text class="action-btn" 
-                                              @click.stop="actionItem.btnClick && actionItem.btnClick(row)">
+                                    <template v-for="(actionItem, idx) in getVisibleActions(item.menuList, row)"
+                                        :key="idx">
+                                        <text class="action-btn"
+                                            @click.stop="actionItem.btnClick && actionItem.btnClick(row)">
                                             {{ actionItem.label || actionItem.text || actionItem.name }}
                                         </text>
                                     </template>
@@ -69,11 +70,11 @@ const getVisibleActions = (menuList, rowData) => {
 }
 // 格式化标签文本 详情
 const formatTagText = (value, column) => {
-  console.log()
-  if (column.tagMap && column.tagMap[value]) {
-    return column.tagMap[value]
-  }
-  return value || '-'
+    console.log()
+    if (column.tagMap && column.tagMap[value]) {
+        return column.tagMap[value]
+    }
+    return value || '-'
 }
 const formatCellValue = (value, column, row) => {
     if (column.formatter) {
@@ -82,9 +83,9 @@ const formatCellValue = (value, column, row) => {
     if (column.type === 'date' && value) {
         return formatDate(value, column.dateFormat || 'YYYY-MM-DD HH:mm:ss')
     }
-  if (column.type === 'tag' && value) {
-    return formatTagText(value, column)
-  }
+    if (column.type === 'tag' && value) {
+        return formatTagText(value, column)
+    }
     if (value === null || value === undefined) {
         return '-'
     }
@@ -241,7 +242,7 @@ const formatDate = (date, format) => {
 
     .confirm-btn {
         &.primary {
-            background-color: #007aff;
+            background-color: #cf1322;
             color: #fff;
 
             &:active {
@@ -263,7 +264,7 @@ const formatDate = (date, format) => {
         min-width: px2rpx(200);
 
         &.primary {
-            background-color: #007aff;
+            background-color: #cf1322;
             color: #fff;
         }
 

+ 14 - 13
components/cwg-tabel.vue

@@ -42,14 +42,12 @@
                                 <view class="action-list">
                                     <template v-for="(item, idx) in getVisibleActions(column.menuList, row)" :key="idx">
                                         <text v-if="actionExpanded[`${rowIndex}-${column.prop}`] || idx < 2"
-                                              class="action-btn"
-                                              @click.stop="item.btnClick && item.btnClick(row)">
+                                            class="action-btn" @click.stop="item.btnClick && item.btnClick(row)">
                                             {{ item.label || item.text || item.name }}
                                         </text>
                                     </template>
                                     <text v-if="getVisibleActions(column.menuList, row).length > 2"
-                                          class="action-toggle-btn"
-                                          @click.stop="toggleAction(rowIndex, column.prop)">
+                                        class="action-toggle-btn" @click.stop="toggleAction(rowIndex, column.prop)">
                                         {{ actionExpanded[`${rowIndex}-${column.prop}`] ? '隐藏' : '更多' }}
                                     </text>
                                 </view>
@@ -74,7 +72,7 @@
                 </template>
 
                 <!-- 总计行 -->
-                <uni-tr v-if="showSummary &&tableData.length !== 0" class="summary-row">
+                <uni-tr v-if="showSummary && tableData.length !== 0" class="summary-row">
                     <uni-td v-for="(column, index) in displayColumns" :key="'summary-' + column.prop"
                         :align="column.align || 'center'" class="summary-cell"
                         :style="getCellStyle(column, currentSummaryData)">
@@ -112,10 +110,10 @@
         <view class="table-loading-mask">
             <uni-loading v-if="loading" />
         </view>
-      <!-- 空状态 -->
-      <view v-if="!loading && tableData.length === 0" style="width: 100%;">
-        <cwg-empty-state />
-      </view>
+        <!-- 空状态 -->
+        <view v-if="!loading && tableData.length === 0" style="width: 100%;">
+            <cwg-empty-state />
+        </view>
         <!-- 分页 -->
         <view class="pagination-container" v-if="showPagination && tableData.length > 0">
             <!-- <view class="pagination-info">
@@ -524,7 +522,7 @@ const openRowDetail = (row) => {
     } else {
         // 保存当前行和需要显示的列(有 prop 且有 label) pc 详情不展示操作按钮
         detailRow.value = { ...row, note: getNoteText(row, locale.value, userStore) }
-        detailColumns.value = !isMobile.value ? props.columns.filter(col => col && col.prop && col.label &&  col.type !== 'action') : props.columns.filter(col => col && col.prop && col.label)
+        detailColumns.value = !isMobile.value ? props.columns.filter(col => col && col.prop && col.label && col.type !== 'action') : props.columns.filter(col => col && col.prop && col.label)
         detailVisible.value = true
     }
 }
@@ -749,13 +747,16 @@ defineExpose({
         &::-webkit-scrollbar {
             width: 8px;
             height: 8px;
-            display: block; /* 强制在某些webkit浏览器中显示 */
+            display: block;
+            /* 强制在某些webkit浏览器中显示 */
             background-color: transparent;
         }
+
         &::-webkit-scrollbar-track {
             background-color: #f5f5f5;
             border-radius: 4px;
         }
+
         &::-webkit-scrollbar-thumb {
             background-color: #c0c4cc;
             border-radius: 4px;
@@ -768,7 +769,7 @@ defineExpose({
 
     :deep(.uni-table) {
         border-radius: 8px;
-        box-shadow: 0 1px 4px rgba(0,0,0,0.02);
+        box-shadow: 0 1px 4px rgba(0, 0, 0, 0.02);
 
         .uni-table-th {
             position: sticky;
@@ -979,7 +980,7 @@ defineExpose({
     }
 
     .page-number.active {
-        background-color: #007aff;
+        background-color: #cf1322;
         border-color: #007aff;
         color: #fff;
     }

+ 1 - 1
pages/activities/components/ActivityCard.vue

@@ -267,7 +267,7 @@ const handleButtonClick = (btn: any) => {
 
                 &.red {
                     width: 100%;
-                    background-color: var(--color-secondary);
+                    background-color: #cf1322;
                 }
 
                 &.check {

+ 15 - 15
pages/activities/components/ActivityDialogs.vue

@@ -13,7 +13,7 @@
                 </view>
                 <view class="popup-footer">
                     <button class="btn-cancel" @click="closeDialog('dialogChinaUnionPay')">{{ t('Btn.Cancel')
-                        }}</button>
+                    }}</button>
                     <button class="btn-confirm" type="primary" @click="handleConfirm('toTransformActive')">{{
                         t('Btn.Confirm') }}</button>
                 </view>
@@ -33,7 +33,7 @@
                 </view>
                 <view class="popup-footer">
                     <button class="btn-cancel" @click="closeDialog('dialogChinaUnionPay1')">{{ t('Btn.Cancel')
-                        }}</button>
+                    }}</button>
                     <button class="btn-confirm" type="primary" @click="handleConfirm('toRealizationActive')">{{
                         t('Btn.Confirm') }}</button>
                 </view>
@@ -53,7 +53,7 @@
                 </view>
                 <view class="popup-footer">
                     <button class="btn-cancel" @click="closeDialog('dialogChinaUnionPayJX')">{{ t('Btn.Cancel')
-                        }}</button>
+                    }}</button>
                     <button class="btn-confirm" type="primary" @click="closeDialog('dialogChinaUnionPayJX')">{{
                         t('Btn.Confirm') }}</button>
                 </view>
@@ -80,7 +80,7 @@
                 <view class="popup-footer">
                     <button class="btn-cancel" @click="closeDialog('dialogDealResult')">{{ t('Btn.Cancel') }}</button>
                     <button class="btn-confirm" type="primary" @click="handleConfirm('toApply23')">{{ t('Btn.Confirm')
-                        }}</button>
+                    }}</button>
                 </view>
             </view>
         </uni-popup>
@@ -105,7 +105,7 @@
                 <view class="popup-footer">
                     <button class="btn-cancel" @click="closeDialog('dialogDealResultJx')">{{ t('Btn.Cancel') }}</button>
                     <button class="btn-confirm" type="primary" @click="handleConfirm('toApply23Jx')">{{ t('Btn.Confirm')
-                        }}</button>
+                    }}</button>
                 </view>
             </view>
         </uni-popup>
@@ -129,7 +129,7 @@
                 </scroll-view>
                 <view class="popup-footer">
                     <button class="btn-cancel" @click="closeDialog('dialogDealResultJxVip')">{{ t('Btn.Cancel')
-                        }}</button>
+                    }}</button>
                     <button class="btn-confirm" type="primary" @click="handleConfirm('toApply23JxVip')">{{
                         t('Btn.Confirm') }}</button>
                 </view>
@@ -176,9 +176,9 @@
                 </scroll-view>
                 <view class="popup-footer">
                     <button class="btn-cancel" @click="closeDialog('dialogDealResultCpt')">{{ t('Btn.Cancel')
-                        }}</button>
+                    }}</button>
                     <button class="btn-confirm" type="primary" @click="handleConfirm('toApplyCpt')">{{ t('Btn.Confirm')
-                        }}</button>
+                    }}</button>
                 </view>
             </view>
         </uni-popup>
@@ -202,7 +202,7 @@
                 </scroll-view>
                 <view class="popup-footer">
                     <button class="btn-cancel" @click="closeDialog('dialogDealResultJxJYB')">{{ t('Btn.Cancel')
-                        }}</button>
+                    }}</button>
                     <button class="btn-confirm" type="primary" @click="handleConfirm('toApply24JYBVip')">{{
                         t('Btn.Confirm') }}</button>
                 </view>
@@ -229,7 +229,7 @@
                 </scroll-view>
                 <view class="popup-footer">
                     <button class="btn-cancel" @click="closeDialog('dialogDealResultNoWorries')">{{ t('Btn.Cancel')
-                        }}</button>
+                    }}</button>
                     <button class="btn-confirm" type="primary" @click="handleConfirm('toApplyNoWorries')">{{
                         t('news_add_field1.activitiesNoWorries.item6_1') }}</button>
                 </view>
@@ -292,7 +292,7 @@
                 <view class="popup-footer">
                     <button class="btn-cancel" @click="closeDialog('dialogNewTask')">{{ t('Home.msg.item3') }}</button>
                     <button class="btn-confirm" type="primary" @click="closeDialog('dialogNewTask')">{{ t('Btn.Confirm')
-                        }}</button>
+                    }}</button>
                 </view>
             </view>
         </uni-popup>
@@ -310,7 +310,7 @@
                 </view>
                 <view class="popup-footer">
                     <button class="btn-cancel" @click="closeDialog('dialogNewTaskDraw')">{{ t('Home.msg.item3')
-                        }}</button>
+                    }}</button>
                 </view>
             </view>
         </uni-popup>
@@ -340,7 +340,7 @@
                 </scroll-view>
                 <view class="popup-footer">
                     <button class="btn-cancel" @click="closeDialog('dialogSurplusActivity')">{{ t('Btn.Cancel')
-                        }}</button>
+                    }}</button>
                     <button class="btn-confirm" type="primary" @click="handleConfirm('confirmSurplusActivity')"
                         :disabled="!selectedAccount || !selectedSurplusValue">{{ t('Btn.Confirm') }}</button>
                 </view>
@@ -361,7 +361,7 @@
                 </view>
                 <view class="popup-footer">
                     <button class="btn-cancel" @click="closeDialog('dialogSurplusActivity1')">{{ t('Btn.Cancel')
-                        }}</button>
+                    }}</button>
                     <button class="btn-confirm" type="primary" @click="handleConfirm('confirmSurplusActivity1')">{{
                         t('Btn.Confirm') }}</button>
                 </view>
@@ -674,7 +674,7 @@ const setPopupRef = (el: any, key: string) => {
             }
 
             &.btn-confirm {
-                background-color: #007aff;
+                background-color: #cf1322;
                 color: #fff;
 
                 &:disabled {

+ 1 - 1
pages/activities/index.vue

@@ -687,7 +687,7 @@ onReachBottom(() => {
                     cursor: pointer;
 
                     &.active {
-                        background-color: #007aff;
+                        background-color: #cf1322;
                         border-color: #007aff;
                         color: #fff;
                     }

+ 2 - 1
pages/common/notice.vue

@@ -149,7 +149,8 @@ listApi.value = newsApi.newsNoticeList
         }
 
         .btn-primary:active {
-            background-color: var(--color-navy-700);
+            background-color: #cf1322;
+            ;
         }
     }
 }

+ 4 - 2
pages/customer/components/AccountCard copy.vue

@@ -440,7 +440,8 @@ onBeforeUnmount(() => {
                     transition: background-color 0.2s;
 
                     &.primary {
-                        background-color: var(--color-navy-700);
+                        background-color: #cf1322;
+                        ;
                         color: #fff;
                     }
 
@@ -484,7 +485,8 @@ onBeforeUnmount(() => {
                 background-color: rgba(108, 133, 149, 0.08);
 
                 &.primary {
-                    background-color: var(--color-navy-700);
+                    background-color: #cf1322;
+                    ;
                     color: #fff;
 
 

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

@@ -446,7 +446,8 @@ onBeforeUnmount(() => {
                     transition: background-color 0.2s;
 
                     &.primary {
-                        background-color: var(--color-navy-700);
+                        background-color: #cf1322;
+                        ;
                         color: #fff;
                     }
 
@@ -490,7 +491,8 @@ onBeforeUnmount(() => {
                 background-color: rgba(108, 133, 149, 0.08);
 
                 &.primary {
-                    background-color: var(--color-navy-700);
+                    background-color: #cf1322;
+                    ;
                     color: #fff;
 
 

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

@@ -522,7 +522,8 @@ onBeforeUnmount(() => {
                 transition: background-color 0.2s;
 
                 &.primary {
-                    background-color: var(--color-navy-700);
+                    background-color: #cf1322;
+                    ;
                     color: #fff;
                 }
 
@@ -531,7 +532,8 @@ onBeforeUnmount(() => {
                 }
 
                 &.primary:hover {
-                    background-color: var(--color-navy-700);
+                    background-color: #cf1322;
+                    ;
                     color: #fff;
                 }
 

+ 2 - 1
pages/customer/components/AccountList.vue

@@ -369,7 +369,8 @@ onMounted(async () => {
         }
 
         .btn-primary1 {
-            background-color: var(--color-navy-700);
+            background-color: #cf1322;
+            ;
         }
 
         .btn-primary2 {

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

@@ -139,7 +139,8 @@ getPendingWithdrawAmount()
             }
 
             .btn-primary1 {
-                background-color: var(--color-navy-700);
+                background-color: #cf1322;
+                ;
             }
         }
     }

+ 2 - 1
pages/customer/components/TerminalChangePasswordDialog.vue

@@ -212,7 +212,8 @@ watch(() => props.visible, (newVal) => {
         background-color: rgba(108, 133, 149, 0.08);
 
         &.primary {
-            background-color: var(--color-navy-700);
+            background-color: #cf1322;
+            ;
             color: #fff;
 
             &:hover {

+ 2 - 1
pages/customer/components/TerminalNickNameDialog.vue

@@ -168,7 +168,8 @@ const save = async () => {
         background-color: rgba(108, 133, 149, 0.08);
 
         &.primary {
-            background-color: var(--color-navy-700);
+            background-color: #cf1322;
+            ;
             color: #fff;
 
             svg {

+ 1 - 1
pages/customer/create-account.vue

@@ -688,7 +688,7 @@ onMounted(() => {
         gap: px2rpx(16);
 
         .btn-open {
-            background-color: var(--color-secondary);
+            background-color: #cf1322;
             padding: px2rpx(12) px2rpx(20);
         }
 

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

@@ -8,7 +8,7 @@
                 <view class="b-card">
                     <view class="card-top">
                         <text class="tit"><text class="iconfont icon-caret-right"></text>{{ t('Custom.Deposit.Title1')
-                            }}</text>
+                        }}</text>
                         <cwg-combox :clearable="false" v-model:value="loginValue" :options="loginComboxOptions"
                             :placeholder="t('placeholder.choose')" />
                     </view>
@@ -19,7 +19,7 @@
                 <view class="b-card">
                     <view class="card-top">
                         <text class="tit"><text class="iconfont icon-caret-right"></text>{{ t('Custom.Deposit.Title2')
-                            }}</text>
+                        }}</text>
                         <cwg-asset-tabs v-if="tabsConfig.length > 0" v-model="activeTab" :tabs="tabsConfig" />
                         <view v-if="currentTableData.length">
                             <PaymentMethodsList :list="currentTableData" @select="isShowStep3" />
@@ -47,7 +47,7 @@
                             </view>
                             <view class="btn-bottom">
                                 <text class="btn crm-cursor" @click="isStep3Open()">{{ t('Btn.Confirm')
-                                }}</text>
+                                    }}</text>
                             </view>
 
                         </view>
@@ -85,7 +85,7 @@
                                     <uni-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
                                         <text class="tit"><text class="iconfont icon-caret-right"></text>{{
                                             t('news_add_field.Label.Title4')
-                                        }}</text>
+                                            }}</text>
                                     </uni-col>
                                     <uni-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
                                         <uni-forms-item>
@@ -117,7 +117,7 @@
                                                         WireTransferAccount.bankUname || '--'
                                                     }}</text></view>
                                             <view class="row"><text class="label">{{ t('Custom.Deposit.bankName')
-                                            }}</text><text class="content">{{ WireTransferAccount.bankName ||
+                                                    }}</text><text class="content">{{ WireTransferAccount.bankName ||
                                                         '--'
                                                     }}</text></view>
                                             <view class="row"><text class="label SpecialColor">{{
@@ -126,7 +126,7 @@
                                                         WireTransferAccount.bankCardNum || '--'
                                                     }}</text></view>
                                             <view class="row"><text class="label">{{ t('Custom.Deposit.bankAddr')
-                                            }}</text><text class="content">{{ WireTransferAccount.bankAddr ||
+                                                    }}</text><text class="content">{{ WireTransferAccount.bankAddr ||
                                                         '--'
                                                     }}</text></view>
                                             <view class="row"><text class="label SpecialColor">{{
@@ -135,7 +135,7 @@
                                                         WireTransferAccount.swiftCode || '--'
                                                     }}</text></view>
                                             <view class="row"><text class="label">{{ t('Custom.Deposit.bankCode')
-                                            }}</text><text class="content">{{ WireTransferAccount.bankCode ||
+                                                    }}</text><text class="content">{{ WireTransferAccount.bankCode ||
                                                         '--'
                                                     }}</text></view>
                                             <view class="row"><text class="label SpecialColor">{{
@@ -162,7 +162,7 @@
                                                         + '-' +
                                                         WireTransferAccount.type }}</text></view>
                                             <view class="row"><text class="label">{{ t('Custom.Withdraw.Title6')
-                                            }}</text><text class="content">{{ WireTransferAccount.address ||
+                                                    }}</text><text class="content">{{ WireTransferAccount.address ||
                                                         '--'
                                                     }}</text></view>
                                             <view class="row"><text class="label">QR Code</text>
@@ -264,7 +264,7 @@
                                                     <text>{{ t('news_add_field1.activitiesNZ.itemDeposit2') }}</text>
                                                     <text class="clause crm-cursor" @click="dialogClauseNZ = true">{{
                                                         t('news_add_field1.activitiesNZ.itemDeposit3')
-                                                        }}</text>
+                                                    }}</text>
                                                     <text>{{ t('news_add_field1.activitiesNZ.itemDeposit4') }}</text>
                                                 </view>
                                             </uni-forms-item>
@@ -2194,7 +2194,7 @@ watch(() => params.agree6, (newVal) => {
             background-color: #f9f9f9;
             padding: px2rpx(12);
             border-radius: px2rpx(4);
-            border-left: px2rpx(2) solid #409eff;
+            border-left: px2rpx(2) solid #cf1322;
 
             .title {
                 font-weight: 600;

+ 16 - 16
pages/customer/deposit.vue

@@ -11,7 +11,7 @@
                         <view class="card-top">
                             <text class="tit"><text class="iconfont icon-caret-right"></text>{{
                                 t('Custom.Deposit.Title1')
-                                }}</text>
+                            }}</text>
                             <cwg-combox :clearable="false" v-model:value="loginValue" :options="loginComboxOptions"
                                 :placeholder="t('placeholder.choose')" />
                         </view>
@@ -23,7 +23,7 @@
                         <view class="card-top">
                             <text class="tit"><text class="iconfont icon-caret-right"></text>{{
                                 t('Custom.Deposit.Title2')
-                                }}</text>
+                            }}</text>
                             <cwg-combox :clearable="false" v-model:value="channelId" :options="channelListOptions"
                                 :placeholder="t('placeholder.choose')">
                             </cwg-combox>
@@ -72,7 +72,7 @@
                                     <view>
                                         <text class="tit"><text class="iconfont icon-caret-right"></text>{{
                                             t('news_add_field.Label.Title4')
-                                            }}</text>
+                                        }}</text>
                                     </view>
                                     <view>
                                         <uni-forms-item>
@@ -103,7 +103,7 @@
                                                         WireTransferAccount.bankUname || '--'
                                                     }}</text></view>
                                             <view class="row"><text class="label">{{ t('Custom.Deposit.bankName')
-                                                    }}</text><text class="content">{{ WireTransferAccount.bankName
+                                            }}</text><text class="content">{{ WireTransferAccount.bankName
                                                         ||
                                                         '--'
                                                     }}</text></view>
@@ -113,7 +113,7 @@
                                                         WireTransferAccount.bankCardNum || '--'
                                                     }}</text></view>
                                             <view class="row"><text class="label">{{ t('Custom.Deposit.bankAddr')
-                                                    }}</text><text class="content">{{ WireTransferAccount.bankAddr
+                                            }}</text><text class="content">{{ WireTransferAccount.bankAddr
                                                         ||
                                                         '--'
                                                     }}</text></view>
@@ -123,7 +123,7 @@
                                                         WireTransferAccount.swiftCode || '--'
                                                     }}</text></view>
                                             <view class="row"><text class="label">{{ t('Custom.Deposit.bankCode')
-                                                    }}</text><text class="content">{{ WireTransferAccount.bankCode
+                                            }}</text><text class="content">{{ WireTransferAccount.bankCode
                                                         ||
                                                         '--'
                                                     }}</text></view>
@@ -151,7 +151,7 @@
                                                         + '-' +
                                                         WireTransferAccount.type }}</text></view>
                                             <view class="row"><text class="label">{{ t('Custom.Withdraw.Title6')
-                                                    }}</text><text class="content">{{ WireTransferAccount.address ||
+                                            }}</text><text class="content">{{ WireTransferAccount.address ||
                                                         '--'
                                                     }}</text></view>
                                             <view class="row"><text class="label">QR Code</text>
@@ -246,16 +246,16 @@
                                                     <checkbox :checked="params.agree4"
                                                         @click="params.agree4 = !params.agree4" />
                                                     <text>{{ t('news_add_field1.activitiesNZ.itemDeposit1')
-                                                        }}</text>
+                                                    }}</text>
                                                 </label>
                                                 <view style="line-height: 1.5; font-size: 14px">
                                                     <text>{{ t('news_add_field1.activitiesNZ.itemDeposit2')
-                                                        }}</text>
+                                                    }}</text>
                                                     <text class="clause crm-cursor" @click="dialogClauseNZ = true">{{
                                                         t('news_add_field1.activitiesNZ.itemDeposit3')
-                                                        }}</text>
+                                                    }}</text>
                                                     <text>{{ t('news_add_field1.activitiesNZ.itemDeposit4')
-                                                        }}</text>
+                                                    }}</text>
                                                 </view>
                                             </uni-forms-item>
 
@@ -268,15 +268,15 @@
                                                     <checkbox :checked="params.agree5"
                                                         @click="params.agree5 = !params.agree5" />
                                                     <text>{{ t('news_add_field1.activitiesNZTwo.itemDeposit1')
-                                                        }}</text>
+                                                    }}</text>
                                                 </label>
                                                 <view style="line-height: 1.5; font-size: 14px">
                                                     <text>{{ t('news_add_field1.activitiesNZTwo.itemDeposit2')
-                                                        }}</text>
+                                                    }}</text>
                                                     <text class="clause crm-cursor" @click="dialogClauseNZTwo = true">{{
                                                         t('news_add_field1.activitiesNZTwo.itemDeposit3') }}</text>
                                                     <text>{{ t('news_add_field1.activitiesNZTwo.itemDeposit4')
-                                                        }}</text>
+                                                    }}</text>
                                                 </view>
                                             </uni-forms-item>
 
@@ -360,7 +360,7 @@
                                     </view>
                                 </template>
                                 <button class="s-btn" type="primary" @click="submitConfirm">{{ t('Btn.Submit')
-                                    }}</button>
+                                }}</button>
                             </uni-forms>
                         </view>
                     </view>
@@ -2242,7 +2242,7 @@ watch(() => params.agree6, (newVal) => {
             background-color: #f9f9f9;
             padding: px2rpx(12);
             border-radius: px2rpx(4);
-            border-left: px2rpx(2) solid #409eff;
+            border-left: px2rpx(2) solid #cf1322;
 
             .title {
                 font-weight: 600;

+ 2 - 1
pages/customer/payment-history.vue

@@ -380,7 +380,8 @@ onLoad((e) => {
         }
 
         .btn-primary:active {
-            background-color: var(--color-navy-700);
+            background-color: #cf1322;
+            ;
         }
     }
 }

+ 2 - 1
pages/customer/recording-history.vue

@@ -362,7 +362,8 @@ listApi.value = customApi.CustomRecordAccount
         }
 
         .btn-primary:active {
-            background-color: var(--color-navy-700);
+            background-color: #cf1322;
+            ;
         }
     }
 }

+ 12 - 11
pages/customer/settings.vue

@@ -1,15 +1,15 @@
 <template>
     <cwg-page-wrapper class="create-page" :isHeaderFixed="true">
-            <uni-row class="form-row uni-row1">
-                <uni-col :xs="24" :sm="24" :md="24" :lg="18" :xl="18">
-                    <AccountList />
-                    <TransactionCharts />
-                </uni-col>
-                <uni-col :xs="24" :sm="24" :md="24" :lg="6" :xl="6">
-                    <ActivitiesSwiper />
-                    <Timeline />
-                </uni-col>
-            </uni-row>
+        <uni-row class="form-row uni-row1">
+            <uni-col :xs="24" :sm="24" :md="24" :lg="18" :xl="18">
+                <AccountList />
+                <TransactionCharts />
+            </uni-col>
+            <uni-col :xs="24" :sm="24" :md="24" :lg="6" :xl="6">
+                <ActivitiesSwiper />
+                <Timeline />
+            </uni-col>
+        </uni-row>
         <!-- </view> -->
 
     </cwg-page-wrapper>
@@ -333,7 +333,8 @@ listApi.value = customApi.CustomRecordAccount
         }
 
         .btn-primary:active {
-            background-color: var(--color-navy-700);
+            background-color: #cf1322;
+            ;
         }
     }
 }

+ 1 - 1
pages/customer/style.scss

@@ -163,7 +163,7 @@
       background-color: #f9f9f9;
       padding: px2rpx(12);
       border-radius: px2rpx(4);
-      border-left: px2rpx(2) solid #409eff;
+      border-left: px2rpx(2) solid #cf1322;
 
       .title {
         font-weight: 600;

+ 4 - 3
pages/customer/trade-history.vue

@@ -9,10 +9,10 @@
                 <template #symbol="{ row }">
                     <view class="symbol-cell">
                         <view class="pair">{{ getSymbolParts(row.symbol)[0] }}/{{ getSymbolParts(row.symbol)[1]
-                            }}</view>
+                        }}</view>
                         <view class="desc">{{ row.openPrice }}
                             <text :class="getCmdColorClass(row.cmdName)">{{ formatCmdName(row.cmdName) }}{{ row.volume
-                                }}{{ t('Label.Lot') }}</text>
+                            }}{{ t('Label.Lot') }}</text>
                         </view>
                     </view>
                 </template>
@@ -231,7 +231,8 @@ onLoad((e) => {
         }
 
         .btn-primary:active {
-            background-color: var(--color-navy-700);
+            background-color: #cf1322;
+            ;
         }
     }
 }

+ 6 - 5
pages/customer/trade-position.vue

@@ -9,10 +9,10 @@
                 <template #symbol="{ row }">
                     <view class="symbol-cell">
                         <view class="pair">{{ getSymbolParts(row.symbol)[0] }}/{{ getSymbolParts(row.symbol)[1]
-                        }}</view>
+                            }}</view>
                         <view class="desc">{{ row.openPrice }}
                             <text :class="getCmdColorClass(row.cmdName)">{{ formatCmdName(row.cmdName) }}{{ row.volume
-                            }}{{ t('Label.Lot') }}</text>
+                                }}{{ t('Label.Lot') }}</text>
                         </view>
                     </view>
                 </template>
@@ -142,7 +142,7 @@ const handleSearch = (params) => {
     Object.assign(search, params)
     search.login = Number(params.login)
     search.platform = loginOptions.find(item => item.value === params.login)?.platform || ''
-    if(!search.platform) return
+    if (!search.platform) return
     nextTick(() => {
         tableRef.value.refreshTable()
     })
@@ -151,7 +151,7 @@ const handleSearch = (params) => {
 const handleReset = (params) => {
     Object.assign(search, params)
     search.platform = loginOptions.find(item => item.value === params.login)?.platform || ''
-    if(!search.platform) return
+    if (!search.platform) return
     nextTick(() => {
         tableRef.value.refreshTable()
     })
@@ -236,7 +236,8 @@ onLoad((e) => {
         }
 
         .btn-primary:active {
-            background-color: var(--color-navy-700);
+            background-color: #cf1322;
+            ;
         }
     }
 }

+ 30 - 29
pages/customer/transfer.vue

@@ -565,39 +565,40 @@ watch(transferType, (newVal) => {
                             margin-bottom: 0;
                         }
                     }
-                    .card-tit{
+
+                    .card-tit {
                         margin-bottom: px2rpx(0) !important;
                     }
 
-                .tit {
-                    font-size: px2rpx(16);
-                    font-weight: 600;
-                    margin-bottom: px2rpx(16);
-                    display: flex;
-                    align-items: center;
-                    color: var(--color-navy-900);
-                    position: relative;
-                    padding-left: 20px;
-
-                    &:after {
-                        content: '';
-                        position: absolute;
-                        left: 0;
-                        top: 50%;
-                        transform: translateY(-50%);
-                        width: 0;
-                        height: 0;
-                        border-top: 6px solid transparent;
-                        border-bottom: 6px solid transparent;
-                        border-left: 8px solid currentColor;
-                    }
+                    .tit {
+                        font-size: px2rpx(16);
+                        font-weight: 600;
+                        margin-bottom: px2rpx(16);
+                        display: flex;
+                        align-items: center;
+                        color: var(--color-navy-900);
+                        position: relative;
+                        padding-left: 20px;
+
+                        &:after {
+                            content: '';
+                            position: absolute;
+                            left: 0;
+                            top: 50%;
+                            transform: translateY(-50%);
+                            width: 0;
+                            height: 0;
+                            border-top: 6px solid transparent;
+                            border-bottom: 6px solid transparent;
+                            border-left: 8px solid currentColor;
+                        }
 
-                    .iconfont {
-                        margin-right: px2rpx(8);
-                        color: var(--color-primary);
-                        font-size: px2rpx(18);
+                        .iconfont {
+                            margin-right: px2rpx(8);
+                            color: var(--color-primary);
+                            font-size: px2rpx(18);
+                        }
                     }
-                }
 
                     .title-wrapper {
                         display: flex;
@@ -642,7 +643,7 @@ watch(transferType, (newVal) => {
                 background-color: #f9f9f9;
                 padding: px2rpx(12);
                 border-radius: px2rpx(4);
-                border-left: px2rpx(2) solid #409eff;
+                border-left: px2rpx(2) solid #cf1322;
 
                 .title {
                     font-weight: 600;

+ 2 - 2
pages/customer/wallet-transfer.vue

@@ -54,7 +54,7 @@
 
                                 <view class="form-row">
                                     <button class="s-btn reselect" type="primary" @click="toTransfer">{{ t('Btn.Submit')
-                                        }}</button>
+                                    }}</button>
                                 </view>
                             </uni-forms>
                         </view>
@@ -333,7 +333,7 @@ onMounted(() => {
                 background-color: #f9f9f9;
                 padding: px2rpx(12);
                 border-radius: px2rpx(4);
-                border-left: px2rpx(2) solid #409eff;
+                border-left: px2rpx(2) solid #cf1322;
 
                 .title {
                     font-weight: 600;

+ 4 - 4
pages/customer/withdrawal-select.vue

@@ -29,7 +29,7 @@
             </view>
             <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>
@@ -149,7 +149,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') }}
@@ -274,7 +274,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" v-if="channelData.type !== 'BANK_TELEGRAPHIC'">
@@ -1964,7 +1964,7 @@ onMounted(() => {
       color: #909399;
       padding: px2rpx(12);
       border-radius: px2rpx(4);
-      border-left: px2rpx(2) solid #409eff;
+      border-left: px2rpx(2) solid #cf1322;
 
       .title {
         font-weight: 600;

+ 3 - 3
pages/customer/withdrawal.vue

@@ -133,7 +133,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') }}
@@ -257,7 +257,7 @@
                   <view v-if="channelData.type != 'BANK_TELEGRAPHIC' && isStep3">
                     <view class="tit">
                       <text>{{ t('Custom.Withdraw.Title3') + '(' + channelData.currency + ')'
-                      }}</text>
+                        }}</text>
                     </view>
                   </view>
                   <view v-if="channelData.type !== 'BANK_TELEGRAPHIC'" class="amount-box amount-box1">
@@ -2009,7 +2009,7 @@ watch(() => form.amount, (newVal) => {
       color: #909399;
       padding: px2rpx(12);
       border-radius: px2rpx(4);
-      border-left: px2rpx(2) solid #409eff;
+      border-left: px2rpx(2) solid #cf1322;
 
       .title {
         font-weight: 600;

+ 1 - 1
pages/ib/agent-transfer.vue

@@ -763,7 +763,7 @@ onLoad((options) => {
                 background-color: #f9f9f9;
                 padding: px2rpx(12);
                 border-radius: px2rpx(4);
-                border-left: px2rpx(2) solid #409eff;
+                border-left: px2rpx(2) solid #cf1322;
 
                 .title {
                     font-weight: 600;

+ 1 - 1
pages/ib/transfer.vue

@@ -693,7 +693,7 @@ onLoad((options) => {
                 background-color: #f9f9f9;
                 padding: px2rpx(12);
                 border-radius: px2rpx(4);
-                border-left: px2rpx(2) solid #409eff;
+                border-left: px2rpx(2) solid #cf1322;
 
                 .title {
                     font-weight: 600;

+ 5 - 5
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"
@@ -1655,7 +1655,7 @@ watch(() => form.amount, (newVal) => {
             background-color: #f9f9f9;
             padding: px2rpx(12);
             border-radius: px2rpx(4);
-            border-left: px2rpx(2) solid #409eff;
+            border-left: px2rpx(2) solid #cf1322;
 
             .title {
                 font-weight: 600;

+ 17 - 9
pages/ib/withdraw.vue

@@ -10,7 +10,7 @@
                     <view class="b-card">
                         <view class="card-top">
                             <text class="tit">{{ t('Custom.Deposit.Title22')
-                                }}</text>
+                            }}</text>
                             <cwg-combox :clearable="false" v-model:value="channelId" :options="channelListOptions"
                                 :placeholder="t('placeholder.choose')">
                             </cwg-combox>
@@ -133,7 +133,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') }}
@@ -280,7 +280,7 @@
                                     <view v-if="channelData.type != 'BANK_TELEGRAPHIC'">
                                         <view class="tit">
                                             <text>{{ t('Custom.Withdraw.Title3') + '(' + channelData.currency + ')'
-                                                }}</text>
+                                            }}</text>
                                         </view>
                                     </view>
                                     <view v-if="channelData.type != 'BANK_TELEGRAPHIC'" class="amount-box amount-box1">
@@ -1130,14 +1130,22 @@ const chooseBank = (id) => {
             return;
         }
     }
-    let codeCache = ""
-    if (form.bankCode) codeCache = form.bankCode
+    let codeTmp = "";
+    if (form.bankCode) {
+        codeTmp = form.bankCode;
+    }
+    console.log(form, 121212);
+
     Object.assign(form, item)
+    console.log(form, 22212122);
+
     form.agree2 = false
     form.agree3 = false
-    if (channelData.value.type === "BANK_TELEGRAPHIC") {
-        form.currency = "USD"
-        if (codeCache) form.bankCode = codeCache
+    if (channelData.value.type == "BANK_TELEGRAPHIC") {
+        form.currency = "USD";
+        if (codeTmp) {
+            form.bankCode = codeTmp;
+        }
     }
 }
 
@@ -1685,7 +1693,7 @@ watch(() => form.amount, (newVal) => {
             background-color: #f9f9f9;
             padding: px2rpx(12);
             border-radius: px2rpx(4);
-            border-left: px2rpx(2) solid #409eff;
+            border-left: px2rpx(2) solid #cf1322;
 
             .title {
                 font-weight: 600;

+ 41 - 40
pages/mine/components/FileManagementTab.vue

@@ -91,45 +91,45 @@ const isSHowBtn = computed(() => {
 
 // 表格列配置
 const columns = computed(() => [
-  {
-    prop: 'id',
-    label: 'ID',
-    align: 'left'
-  },
-  {
-    prop: 'path',
-    label: t('PersonalManagement.Label.Document'),
-    type: 'file',
-    align: 'left'
-  },
-  {
-    prop: 'type',
-    label: t('PersonalManagement.Label.FileName'),
-    align: 'left',
-    slot: 'type'
-  },
-  {
-    prop: 'uploadTime',
-    label: t('PersonalManagement.Label.UploadDate'),
-    type: 'date',
-    dateFormat: 'YYYY-MM-DD HH:mm',
-    align: 'left'
-  },
-  {
-    prop: 'status',
-    label: t('PersonalManagement.Label.State'),
-    type: 'tag',
-    tagMap: { 1: '启用', 10: '禁用' },
-    tagTypeMap: { 1: 'success', 0: 'danger' },
-    slot: 'status',
-    align: 'left'
-  },
-  {
-    prop: 'btn',
-    label: '操作',
-    slot: 'btn',
-    align: 'left'
-  }
+    {
+        prop: 'id',
+        label: 'ID',
+        align: 'left'
+    },
+    {
+        prop: 'path',
+        label: t('PersonalManagement.Label.Document'),
+        type: 'file',
+        align: 'left'
+    },
+    {
+        prop: 'type',
+        label: t('PersonalManagement.Label.FileName'),
+        align: 'left',
+        slot: 'type'
+    },
+    {
+        prop: 'uploadTime',
+        label: t('PersonalManagement.Label.UploadDate'),
+        type: 'date',
+        dateFormat: 'YYYY-MM-DD HH:mm',
+        align: 'left'
+    },
+    {
+        prop: 'status',
+        label: t('PersonalManagement.Label.State'),
+        type: 'tag',
+        tagMap: { 1: '启用', 10: '禁用' },
+        tagTypeMap: { 1: 'success', 0: 'danger' },
+        slot: 'status',
+        align: 'left'
+    },
+    {
+        prop: 'btn',
+        label: '操作',
+        slot: 'btn',
+        align: 'left'
+    }
 ])
 
 const addFileDialog = ref(null);
@@ -205,7 +205,8 @@ defineProps<Props>();
         }
 
         .btn-primary:active {
-            background-color: var(--color-navy-700);
+            background-color: #cf1322;
+            ;
         }
     }
 }

+ 386 - 385
pages/mine/components/PersonalInfoTab.vue

@@ -21,7 +21,7 @@
         <!--                </uni-col>-->
         <uni-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
           <uni-forms ref="baseForm" :model="formData" labelWidth="200" label-position="top" :rules="rules"
-                     class="base-info-form">
+            class="base-info-form">
             <uni-row class="demo-uni-row uni-row1">
               <!-- cid -->
               <uni-col :xs="24" :sm="24" :md="12" :lg="8" :xl="8">
@@ -33,65 +33,64 @@
               <uni-col v-if="formData.customType" :xs="24" :sm="24" :md="12" :lg="8" :xl="8">
                 <uni-forms-item :label="t('ImproveImmediately.Label.CustomerType')">
                   <cwg-combox :disabled="isInfo" :clearable="false" v-model:value="formData.customType"
-                              :options="customTypeOptions" :placeholder="t('placeholder.choose')" />
+                    :options="customTypeOptions" :placeholder="t('placeholder.choose')" />
                 </uni-forms-item>
               </uni-col>
               <!-- 公司名称 -->
               <uni-col v-if="formData.companyName" :xs="24" :sm="24" :md="12" :lg="8" :xl="8">
                 <uni-forms-item :label="t('ImproveImmediately.Label.CompanyName')">
                   <uni-easyinput :disabled="isInfo" :clearable="false" v-model="formData.companyName"
-                                 :placeholder="t('placeholder.input')" />
+                    :placeholder="t('placeholder.input')" />
                 </uni-forms-item>
               </uni-col>
               <!-- 性别 -->
               <uni-col :xs="24" :sm="24" :md="12" :lg="8" :xl="8">
                 <uni-forms-item :label="t('ImproveImmediately.Label.Gender')">
                   <cwg-combox :disabled="isInfo" :clearable="false" v-model:value="formData.gender"
-                              :options="sexOptions"
-                              :placeholder="t('placeholder.choose')" />
+                    :options="sexOptions" :placeholder="t('placeholder.choose')" />
                 </uni-forms-item>
               </uni-col>
               <!-- 国家 -->
               <uni-col :xs="24" :sm="24" :md="12" :lg="8" :xl="8" v-if="countryOptions.length">
                 <uni-forms-item :label="t('ImproveImmediately.Label.Nationality')">
                   <cwg-combox :disabled="isInfo" :clearable="false" :filterable="true"
-                              v-model:value="formData.nationality" :options="countryOptions"
-                              :placeholder="t('placeholder.choose')" @change="changeCountry" />
+                    v-model:value="formData.nationality" :options="countryOptions"
+                    :placeholder="t('placeholder.choose')" @change="changeCountry" />
                 </uni-forms-item>
               </uni-col>
 
               <!-- 姓 -->
               <uni-col :xs="24" :sm="24" :md="12" :lg="8" :xl="8">
                 <uni-forms-item :label="formData.customType == 2
-                                    ? t('ImproveImmediately.Label.CorporationLastName')
-                                    : t('ImproveImmediately.Label.LastName')">
+                  ? t('ImproveImmediately.Label.CorporationLastName')
+                  : t('ImproveImmediately.Label.LastName')">
                   <uni-easyinput :disabled="isInfo" :clearable="false" v-model="formData.lastName"
-                                 :placeholder="t('placeholder.input')" />
+                    :placeholder="t('placeholder.input')" />
                 </uni-forms-item>
               </uni-col>
               <!-- 名 -->
               <uni-col :xs="24" :sm="24" :md="12" :lg="8" :xl="8">
                 <uni-forms-item :label="formData.customType == 2
-                                    ? t('ImproveImmediately.Label.CorporationName')
-                                    : t('ImproveImmediately.Label.Name')">
+                  ? t('ImproveImmediately.Label.CorporationName')
+                  : t('ImproveImmediately.Label.Name')">
                   <uni-easyinput :disabled="isInfo" :clearable="false" v-model="formData.firstName"
-                                 :placeholder="t('placeholder.input')" />
+                    :placeholder="t('placeholder.input')" />
                 </uni-forms-item>
               </uni-col>
               <!-- 法人中间名 -->
               <uni-col :xs="24" :sm="24" :md="12" :lg="8" :xl="8" v-if="formData.lang == 'en'">
                 <uni-forms-item :label="formData.customType == 2
-                                    ? t('ImproveImmediately.Label.CorporationMName')
-                                    : t('placeholder.middle')">
+                  ? t('ImproveImmediately.Label.CorporationMName')
+                  : t('placeholder.middle')">
                   <uni-easyinput :disabled="isInfo" :clearable="false" v-model="formData.middle"
-                                 :placeholder="t('placeholder.Not')" />
+                    :placeholder="t('placeholder.Not')" />
                 </uni-forms-item>
               </uni-col>
               <!-- 拼音 -->
               <uni-col :xs="24" :sm="24" :md="12" :lg="8" :xl="8" v-if="formData.lang == 'cn'">
                 <uni-forms-item :label="t('ImproveImmediately.Label.NamePinYin')">
                   <uni-easyinput :disabled="isInfo" :clearable="false" v-model="formData.nameEn"
-                                 :placeholder="t('placeholder.input')" />
+                    :placeholder="t('placeholder.input')" />
                 </uni-forms-item>
               </uni-col>
               <!-- 手机号 -->
@@ -99,10 +98,12 @@
                 <uni-forms-item :label="t('PersonalManagement.Label.Phone')">
                   <view style="display: flex; gap: 8px; width: 100%;">
                     <view style="flex: 0 0 100px;">
-                      <uni-easyinput :disabled="isInfo" :clearable="false" v-model="formData.areaCode" :placeholder="t('placeholder.areaCode')" />
+                      <uni-easyinput :disabled="isInfo" :clearable="false" v-model="formData.areaCode"
+                        :placeholder="t('placeholder.areaCode')" />
                     </view>
                     <view style="flex: 1;">
-                      <uni-easyinput :disabled="isInfo" :clearable="false" v-model="formData.phone" :placeholder="t('placeholder.input')" />
+                      <uni-easyinput :disabled="isInfo" :clearable="false" v-model="formData.phone"
+                        :placeholder="t('placeholder.input')" />
                     </view>
                   </view>
                 </uni-forms-item>
@@ -111,64 +112,62 @@
               <uni-col :xs="24" :sm="24" :md="12" :lg="8" :xl="8">
                 <uni-forms-item :label="t('PersonalManagement.Label.Email')">
                   <uni-easyinput :disabled="isInfo" :clearable="false" v-model="formData.email"
-                                 :placeholder="t('placeholder.input')" />
+                    :placeholder="t('placeholder.input')" />
                 </uni-forms-item>
               </uni-col>
               <!-- 证件号 -->
               <uni-col :xs="24" :sm="24" :md="12" :lg="8" :xl="8">
                 <uni-forms-item :label="t('ImproveImmediately.Label.IdentityID')">
-                  <uni-easyinput :disabled="isInfo" :clearable="false" v-model="formData.identity" :placeholder="t('placeholder.input')" />
+                  <uni-easyinput :disabled="isInfo" :clearable="false" v-model="formData.identity"
+                    :placeholder="t('placeholder.input')" />
                 </uni-forms-item>
               </uni-col>
 
               <!-- 生日 -->
-<!--              <uni-col :xs="24" :sm="24" :md="12" :lg="8" :xl="8">-->
-<!--                <uni-forms-item :label="t('ImproveImmediately.Label.Birthday')">-->
-<!--                  <uni-datetime-picker :disabled="isInfo" :clear-icon="false" type="date" return-type="timestamp"-->
-<!--                                       v-model="formData.birth" :placeholder="t('placeholder.choose')" />-->
-<!--                </uni-forms-item>-->
-<!--              </uni-col>-->
+              <!--              <uni-col :xs="24" :sm="24" :md="12" :lg="8" :xl="8">-->
+              <!--                <uni-forms-item :label="t('ImproveImmediately.Label.Birthday')">-->
+              <!--                  <uni-datetime-picker :disabled="isInfo" :clear-icon="false" type="date" return-type="timestamp"-->
+              <!--                                       v-model="formData.birth" :placeholder="t('placeholder.choose')" />-->
+              <!--                </uni-forms-item>-->
+              <!--              </uni-col>-->
 
               <!-- 国家/地区 -->
               <uni-col :xs="24" :sm="24" :md="12" :lg="8" :xl="8" v-if="countryOptions.length">
                 <uni-forms-item :label="t('ImproveImmediately.Label.CountryRegionOfResidence')">
                   <cwg-combox :disabled="isInfo" :clearable="false" :filterable="true" v-model:value="formData.country"
-                              :options="countryOptions" :placeholder="t('placeholder.choose')" />
+                    :options="countryOptions" :placeholder="t('placeholder.choose')" />
                 </uni-forms-item>
               </uni-col>
               <!-- 省份/州 -->
-              <uni-col :xs="24" :sm="24" :md="12" :lg="8" :xl="8"
-                       v-if="stateOptions.length">
+              <uni-col :xs="24" :sm="24" :md="12" :lg="8" :xl="8" v-if="stateOptions.length">
                 <uni-forms-item :label="t('ImproveImmediately.Label.ProvinceRegion')">
                   <cwg-combox :disabled="isInfo" :clearable="false" :filterable="true" v-model:value="formData.state"
-                              :options="stateOptions" :placeholder="t('placeholder.choose')"
-                              @change="onStateChange" />
+                    :options="stateOptions" :placeholder="t('placeholder.choose')" @change="onStateChange" />
                 </uni-forms-item>
               </uni-col>
               <!-- 城市 -->
-              <uni-col :xs="24" :sm="24" :md="12" :lg="8" :xl="8"
-                       v-if="cityOptions.length">
+              <uni-col :xs="24" :sm="24" :md="12" :lg="8" :xl="8" v-if="cityOptions.length">
                 <uni-forms-item :label="t('ImproveImmediately.Label.City')">
                   <cwg-combox :disabled="isInfo" :clearable="false" :filterable="true" v-model:value="formData.city"
-                              :options="cityOptions" :placeholder="t('placeholder.choose')" />
+                    :options="cityOptions" :placeholder="t('placeholder.choose')" />
                 </uni-forms-item>
               </uni-col>
               <uni-col :xs="24" :sm="24" :md="12" :lg="8" :xl="8">
                 <uni-forms-item :label="t('ImproveImmediately.Label.DetailedAddress')">
                   <uni-easyinput :disabled="isInfo" :clearable="false" v-model="formData.addressLines1"
-                                 :placeholder="t('placeholder.input')" />
+                    :placeholder="t('placeholder.input')" />
                 </uni-forms-item>
               </uni-col>
               <uni-col :xs="24" :sm="24" :md="12" :lg="8" :xl="8">
                 <uni-forms-item :label="t('ImproveImmediately.Label.ZipCode')">
                   <uni-easyinput :disabled="isInfo" :clearable="false" v-model="formData.zipCode"
-                                 :placeholder="t('placeholder.input')" />
+                    :placeholder="t('placeholder.input')" />
                 </uni-forms-item>
               </uni-col>
               <uni-col :xs="24" :sm="24" :md="12" :lg="8" :xl="8">
                 <uni-forms-item :label="t('ImproveImmediately.Label.DetailedAddressStandby')">
                   <uni-easyinput :disabled="isInfo" :clearable="false" v-model="formData.addressLines2"
-                                 :placeholder="t('placeholder.input')" />
+                    :placeholder="t('placeholder.input')" />
                 </uni-forms-item>
               </uni-col>
 
@@ -181,407 +180,409 @@
 </template>
 
 <script setup lang="ts">
-  import { ref, computed, onMounted } from 'vue'
-  import { useI18n } from 'vue-i18n'
-  import { personalApi } from '@/service/personal'
-  import { Patterns, Validators } from '@/utils/validators'
-
-  const { t, locale } = useI18n()
-
-  interface PersonalInfo {
-    merchantOrderNo?: string;
-    cardTypeId?: string;
-    areaCode?: string;
-    mobile?: string;
-    email?: string;
-    firstName?: string;
-    lastName?: string;
-    middle?: string;
-    birthday?: string;
-    nationality?: string;
-    country?: string;
-    state?: string;
-    city?: string;
-    town?: string;
-    address?: string;
-    postCode?: string;
-    gender?: number;
-    occupation?: string;
-    annualSalary?: string;
-    accountPurpose?: string;
-    expectedMonthlyVolume?: string;
-    idType?: number;
-    idNumber?: string;
-    identity?: string;
-    ssn?: string;
-    issueDate?: string;
-    idNoExpiryDate?: string;
-    idFrontUrl?: string;
-    idBackUrl?: string;
-    idHoldUrl?: string;
-    ipAddress?: string;
-    cId?: string;
-    customId?: string;
-    customType?: number;
-    companyName?: string;
-    nameEn?: string;
-    birth?: string;
-    addressLines1?: string;
-    addressLines2?: string;
-    zipCode?: string;
-    photoStatus?: string;
-    kycStatus?: string;
-  }
-
-  const props = defineProps<{
-    modelValue: PersonalInfo;
-    isReadonly?: boolean;
-  }>()
-
-  const emit = defineEmits<{
-    'update:modelValue': [value: PersonalInfo];
-    'cancel': [];
-    'next': [];
-  }>()
-
-  const loading = ref(false)
-
-  const formData = computed({
-    get: () => props.modelValue,
-    set: (val) => emit('update:modelValue', val),
-  })
-
-  const baseForm = ref<any>(null)
-
-  const sexOptions = ref([
-    { text: t('PersonalManagement.Label.Men'), value: 1 },
-    { text: t('PersonalManagement.Label.Women'), value: 2 },
-  ])
-
-  const customTypeOptions = ref([
-    { text: t('ImproveImmediately.Label.CustomerType1'), value: 1 },
-    { text: t('ImproveImmediately.Label.CustomerType2'), value: 2 },
-  ])
-
-  const idTypeOptions = ref([
-    { text: t('ImproveImmediately.Label.IDCard'), value: 2 },
-    { text: t('ImproveImmediately.Label.Passport'), value: 3 },
-  ])
-
-  // 验证函数
-  function validateName(a: any, b?: any, c?: any) {
-    const reg = /^[A-Z\s]+$/i
-    if (typeof c === 'function') {
-      const value = b
-      const callback = c
-      const val = String(value ?? '').trim()
-      if (!val) return callback(new Error(t('card.vaildate.v4')))
-      if (!reg.test(val)) return callback(new Error(t('card.vaildate.v38')))
-      if (val.length < 2 || val.length > 23) return callback(new Error(t('card.vaildate.v39')))
-      const firstName = String(formData.value?.firstName ?? '').trim()
-      const lastName = String(formData.value?.lastName ?? '').trim()
-      if (`${firstName} ${lastName}`.length > 23) return callback(new Error(t('card.vaildate.v40')))
-      return callback()
-    }
-    const val = String(a ?? '').trim()
-    if (!val) return t('card.vaildate.v4')
-    if (!reg.test(val)) return t('card.vaildate.v38')
-    if (val.length < 2 || val.length > 23) return t('card.vaildate.v39')
+import { ref, computed, onMounted } from 'vue'
+import { useI18n } from 'vue-i18n'
+import { personalApi } from '@/service/personal'
+import { Patterns, Validators } from '@/utils/validators'
+
+const { t, locale } = useI18n()
+
+interface PersonalInfo {
+  merchantOrderNo?: string;
+  cardTypeId?: string;
+  areaCode?: string;
+  mobile?: string;
+  email?: string;
+  firstName?: string;
+  lastName?: string;
+  middle?: string;
+  birthday?: string;
+  nationality?: string;
+  country?: string;
+  state?: string;
+  city?: string;
+  town?: string;
+  address?: string;
+  postCode?: string;
+  gender?: number;
+  occupation?: string;
+  annualSalary?: string;
+  accountPurpose?: string;
+  expectedMonthlyVolume?: string;
+  idType?: number;
+  idNumber?: string;
+  identity?: string;
+  ssn?: string;
+  issueDate?: string;
+  idNoExpiryDate?: string;
+  idFrontUrl?: string;
+  idBackUrl?: string;
+  idHoldUrl?: string;
+  ipAddress?: string;
+  cId?: string;
+  customId?: string;
+  customType?: number;
+  companyName?: string;
+  nameEn?: string;
+  birth?: string;
+  addressLines1?: string;
+  addressLines2?: string;
+  zipCode?: string;
+  photoStatus?: string;
+  kycStatus?: string;
+}
+
+const props = defineProps<{
+  modelValue: PersonalInfo;
+  isReadonly?: boolean;
+}>()
+
+const emit = defineEmits<{
+  'update:modelValue': [value: PersonalInfo];
+  'cancel': [];
+  'next': [];
+}>()
+
+const loading = ref(false)
+
+const formData = computed({
+  get: () => props.modelValue,
+  set: (val) => emit('update:modelValue', val),
+})
+
+const baseForm = ref<any>(null)
+
+const sexOptions = ref([
+  { text: t('PersonalManagement.Label.Men'), value: 1 },
+  { text: t('PersonalManagement.Label.Women'), value: 2 },
+])
+
+const customTypeOptions = ref([
+  { text: t('ImproveImmediately.Label.CustomerType1'), value: 1 },
+  { text: t('ImproveImmediately.Label.CustomerType2'), value: 2 },
+])
+
+const idTypeOptions = ref([
+  { text: t('ImproveImmediately.Label.IDCard'), value: 2 },
+  { text: t('ImproveImmediately.Label.Passport'), value: 3 },
+])
+
+// 验证函数
+function validateName(a: any, b?: any, c?: any) {
+  const reg = /^[A-Z\s]+$/i
+  if (typeof c === 'function') {
+    const value = b
+    const callback = c
+    const val = String(value ?? '').trim()
+    if (!val) return callback(new Error(t('card.vaildate.v4')))
+    if (!reg.test(val)) return callback(new Error(t('card.vaildate.v38')))
+    if (val.length < 2 || val.length > 23) return callback(new Error(t('card.vaildate.v39')))
     const firstName = String(formData.value?.firstName ?? '').trim()
     const lastName = String(formData.value?.lastName ?? '').trim()
-    if (`${firstName} ${lastName}`.length > 23) return t('card.vaildate.v40')
-    return true
+    if (`${firstName} ${lastName}`.length > 23) return callback(new Error(t('card.vaildate.v40')))
+    return callback()
   }
-
-  function validateBirthday(a: any, b?: any, c?: any) {
-    if (typeof c === 'function') {
-      const value = b
-      const callback = c
-      const val = value
-      if (!val) return callback(new Error(t('card.vaildate.v5')))
-      const today = new Date()
-      const birthDate = new Date(val)
-      let age = today.getFullYear() - birthDate.getFullYear()
-      const month = today.getMonth() - birthDate.getMonth()
-      if (month < 0 || (month === 0 && today.getDate() < birthDate.getDate())) age--
-      if (age < 18) return callback(new Error(t('card.New.n3')))
-      return callback()
-    }
-    const val = a
-    if (!val) return t('card.vaildate.v5')
+  const val = String(a ?? '').trim()
+  if (!val) return t('card.vaildate.v4')
+  if (!reg.test(val)) return t('card.vaildate.v38')
+  if (val.length < 2 || val.length > 23) return t('card.vaildate.v39')
+  const firstName = String(formData.value?.firstName ?? '').trim()
+  const lastName = String(formData.value?.lastName ?? '').trim()
+  if (`${firstName} ${lastName}`.length > 23) return t('card.vaildate.v40')
+  return true
+}
+
+function validateBirthday(a: any, b?: any, c?: any) {
+  if (typeof c === 'function') {
+    const value = b
+    const callback = c
+    const val = value
+    if (!val) return callback(new Error(t('card.vaildate.v5')))
     const today = new Date()
     const birthDate = new Date(val)
     let age = today.getFullYear() - birthDate.getFullYear()
     const month = today.getMonth() - birthDate.getMonth()
     if (month < 0 || (month === 0 && today.getDate() < birthDate.getDate())) age--
-    return age < 18 ? t('card.New.n3') : true
-  }
-
-  function validateAddress(a: any, b?: any, c?: any) {
-    if (typeof c === 'function') {
-      const value = b
-      const callback = c
-      const val = String(value ?? '').trim()
-      if (!val) return callback(new Error(t('card.vaildate.v27')))
-      if (val.length < 2 || val.length > 40) return callback(new Error(t('card.New.n1')))
-      if (!Patterns.address.test(val)) return callback(new Error(t('card.New.n1')))
-      return callback()
-    }
-    const val = String(a ?? '').trim()
-    if (!val) return t('card.vaildate.v27')
-    if (val.length < 2 || val.length > 40) return t('card.New.n1')
-    return Patterns.address.test(val) ? true : t('card.New.n1')
+    if (age < 18) return callback(new Error(t('card.New.n3')))
+    return callback()
   }
-
-  const rules = {
-    areaCode: [Validators.required(t('card.vaildate.v1'))],
-    mobile: [
-      Validators.required(t('card.vaildate.v2')),
-      Validators.pattern(Patterns.mobile, t('card.vaildate.v44')),
-    ],
-    email: [
-      Validators.required(t('card.vaildate.v28')),
-      Validators.pattern(Patterns.email, t('card.vaildate.v28')),
-    ],
-    firstName: [Validators.required(t('card.vaildate.v3')), Validators.custom(validateName)],
-    lastName: [Validators.required(t('card.vaildate.v4')), Validators.custom(validateName)],
-    birthday: [
-      Validators.required(t('card.vaildate.v5'), 'change'),
-      Validators.custom(validateBirthday, 'change'),
-    ],
-    nationality: [Validators.required(t('card.vaildate.v6'), 'change')],
-    town: [Validators.required(t('card.vaildate.v7'), 'change')],
-    address: [Validators.required(t('card.vaildate.v27')), Validators.custom(validateAddress)],
-    gender: [Validators.required(t('card.vaildate.v9'), 'change')],
-    postCode: [
-      Validators.required(t('card.vaildate.v8')),
-      Validators.pattern(Patterns.postcode, t('card.New.n2')),
-    ],
+  const val = a
+  if (!val) return t('card.vaildate.v5')
+  const today = new Date()
+  const birthDate = new Date(val)
+  let age = today.getFullYear() - birthDate.getFullYear()
+  const month = today.getMonth() - birthDate.getMonth()
+  if (month < 0 || (month === 0 && today.getDate() < birthDate.getDate())) age--
+  return age < 18 ? t('card.New.n3') : true
+}
+
+function validateAddress(a: any, b?: any, c?: any) {
+  if (typeof c === 'function') {
+    const value = b
+    const callback = c
+    const val = String(value ?? '').trim()
+    if (!val) return callback(new Error(t('card.vaildate.v27')))
+    if (val.length < 2 || val.length > 40) return callback(new Error(t('card.New.n1')))
+    if (!Patterns.address.test(val)) return callback(new Error(t('card.New.n1')))
+    return callback()
   }
-
-  // 国家省份城市数据
-  const countryList = ref<Array<any>>([])
-  const stateList = ref<Array<any>>([])
-  const cityList = ref<Array<any>>([])
-  const phoneCodes = ref<Array<{ text: string; value: string }>>([])
-  const isInfo = ref<boolean>(true)
-
-  const isZh = computed(() => ['cn', 'zh', 'zhHant'].includes(locale.value))
-  const isCountryCN = computed(() => ['CN', 'CNX', 'CNA', 'CNT'].includes(formData.value.country || ''))
-
-  const getLangName = (item: any) => (isZh.value ? item.name : item.enName)
-  const createOptions = (list: any[], valueKey = 'code') => {
-    return list.map((item) => ({
-      text: getLangName(item),
-      value: valueKey === 'name' ? getLangName(item) : item[valueKey],
-      id: item.id,
+  const val = String(a ?? '').trim()
+  if (!val) return t('card.vaildate.v27')
+  if (val.length < 2 || val.length > 40) return t('card.New.n1')
+  return Patterns.address.test(val) ? true : t('card.New.n1')
+}
+
+const rules = {
+  areaCode: [Validators.required(t('card.vaildate.v1'))],
+  mobile: [
+    Validators.required(t('card.vaildate.v2')),
+    Validators.pattern(Patterns.mobile, t('card.vaildate.v44')),
+  ],
+  email: [
+    Validators.required(t('card.vaildate.v28')),
+    Validators.pattern(Patterns.email, t('card.vaildate.v28')),
+  ],
+  firstName: [Validators.required(t('card.vaildate.v3')), Validators.custom(validateName)],
+  lastName: [Validators.required(t('card.vaildate.v4')), Validators.custom(validateName)],
+  birthday: [
+    Validators.required(t('card.vaildate.v5'), 'change'),
+    Validators.custom(validateBirthday, 'change'),
+  ],
+  nationality: [Validators.required(t('card.vaildate.v6'), 'change')],
+  town: [Validators.required(t('card.vaildate.v7'), 'change')],
+  address: [Validators.required(t('card.vaildate.v27')), Validators.custom(validateAddress)],
+  gender: [Validators.required(t('card.vaildate.v9'), 'change')],
+  postCode: [
+    Validators.required(t('card.vaildate.v8')),
+    Validators.pattern(Patterns.postcode, t('card.New.n2')),
+  ],
+}
+
+// 国家省份城市数据
+const countryList = ref<Array<any>>([])
+const stateList = ref<Array<any>>([])
+const cityList = ref<Array<any>>([])
+const phoneCodes = ref<Array<{ text: string; value: string }>>([])
+const isInfo = ref<boolean>(true)
+
+const isZh = computed(() => ['cn', 'zh', 'zhHant'].includes(locale.value))
+const isCountryCN = computed(() => ['CN', 'CNX', 'CNA', 'CNT'].includes(formData.value.country || ''))
+
+const getLangName = (item: any) => (isZh.value ? item.name : item.enName)
+const createOptions = (list: any[], valueKey = 'code') => {
+  return list.map((item) => ({
+    text: getLangName(item),
+    value: valueKey === 'name' ? getLangName(item) : item[valueKey],
+    id: item.id,
+  }))
+}
+
+const countryOptions = computed(() => createOptions(countryList.value, 'code'))
+const stateOptions = computed(() => createOptions(stateList.value, 'name'))
+const cityOptions = computed(() => createOptions(cityList.value, 'name'))
+
+const getCountry = async () => {
+  const res = await personalApi.Country({})
+  if (res.code === 200) {
+    countryList.value = res.data
+    phoneCodes.value = res.data.map((item: any) => ({
+      text: `+ ${item.callingCode}`,
+      value: item.callingCode,
     }))
-  }
-
-  const countryOptions = computed(() => createOptions(countryList.value, 'code'))
-  const stateOptions = computed(() => createOptions(stateList.value, 'name'))
-  const cityOptions = computed(() => createOptions(cityList.value, 'name'))
-
-  const getCountry = async () => {
-    const res = await personalApi.Country({})
-    if (res.code === 200) {
-      countryList.value = res.data
-      phoneCodes.value = res.data.map((item: any) => ({
-        text: `+ ${item.callingCode}`,
-        value: item.callingCode,
-      }))
-      if (formData.value.country) {
-        const country = countryList.value.find((i) => i.code === formData.value.country)
-        if (country) {
-          await getState(country.id)
-        }
+    if (formData.value.country) {
+      const country = countryList.value.find((i) => i.code === formData.value.country)
+      if (country) {
+        await getState(country.id)
       }
     }
   }
+}
 
-  const fetchRegion = async (pid?: number) => {
-    const res = await personalApi.Country({ pid })
-    if (res.code !== 200) {
-      return []
-    }
-    return res.data || []
+const fetchRegion = async (pid?: number) => {
+  const res = await personalApi.Country({ pid })
+  if (res.code !== 200) {
+    return []
   }
-
-  const getState = async (pid: number) => {
-    stateList.value = await fetchRegion(pid)
-    if (formData.value.state) {
-      const item = stateList.value.find(
-        (i) => i.enName === formData.value.state || i.name === formData.value.state,
-      )
-      if (item) {
-        await getCity(item.id)
-      }
-    }
-  }
-
-  const getCity = async (pid: number) => {
-    cityList.value = await fetchRegion(pid)
-  }
-
-  const changeCountry = async (val: any) => {
-    formData.value.state = ''
-    formData.value.city = ''
-    const item = countryOptions.value.find((i: any) => i.value === val)
-    if (item) {
-      await getState(item.id)
-    }
-  }
-
-  const onStateChange = async (val: any) => {
-    formData.value.city = ''
-    const item = stateOptions.value.find((i: any) => i.value === val)
+  return res.data || []
+}
+
+const getState = async (pid: number) => {
+  stateList.value = await fetchRegion(pid)
+  if (formData.value.state) {
+    const item = stateList.value.find(
+      (i) => i.enName === formData.value.state || i.name === formData.value.state,
+    )
     if (item) {
       await getCity(item.id)
     }
   }
-
-  function handleChange(value: any) {
-    emit('update:modelValue', { ...formData.value, [value.key]: value.value })
+}
+
+const getCity = async (pid: number) => {
+  cityList.value = await fetchRegion(pid)
+}
+
+const changeCountry = async (val: any) => {
+  formData.value.state = ''
+  formData.value.city = ''
+  const item = countryOptions.value.find((i: any) => i.value === val)
+  if (item) {
+    await getState(item.id)
   }
+}
 
-  const handleEditProfile = () => {
-    // 头像上传逻辑
+const onStateChange = async (val: any) => {
+  formData.value.city = ''
+  const item = stateOptions.value.find((i: any) => i.value === val)
+  if (item) {
+    await getCity(item.id)
   }
+}
 
-  const handleCancel = () => {
-    emit('cancel')
-  }
+function handleChange(value: any) {
+  emit('update:modelValue', { ...formData.value, [value.key]: value.value })
+}
 
-  const handleNext = () => {
-    emit('next')
-  }
+const handleEditProfile = () => {
+  // 头像上传逻辑
+}
+
+const handleCancel = () => {
+  emit('cancel')
+}
 
-  onMounted(async () => {
-    loading.value = true
-    await getCountry()
-    loading.value = false
-  })
+const handleNext = () => {
+  emit('next')
+}
+
+onMounted(async () => {
+  loading.value = true
+  await getCountry()
+  loading.value = false
+})
 </script>
 
 <style scoped lang="scss">
-  @import "@/uni.scss";
+@import "@/uni.scss";
+
+.personal-info-tab {
+  .user-form {
+    margin-top: px2rpx(30);
 
-  .personal-info-tab {
-    .user-form {
-      margin-top: px2rpx(30);
+    .demo-uni-row {
+      margin-bottom: px2rpx(16);
 
-      .demo-uni-row {
-        margin-bottom: px2rpx(16);
+      :deep(.form-label) {
+        margin: 0 !important;
+      }
+
+      :deep(.form-input) {
+        border: none !important;
+      }
 
-        :deep(.form-label) {
-          margin: 0 !important;
+      .avatar-section {
+        display: flex;
+        flex-direction: column;
+        align-items: center;
+        gap: px2rpx(12);
+        padding: px2rpx(16);
+
+        .cwg-upload {
+          width: px2rpx(120);
+          height: px2rpx(120);
+          border-radius: 50%;
+          margin: 0 auto;
         }
 
-        :deep(.form-input) {
-          border: none !important;
+        .text {
+          font-size: px2rpx(20);
+          font-weight: 700;
+          color: var(--color-navy-900);
         }
 
-        .avatar-section {
+        .btn-primary {
+          min-width: px2rpx(120);
+          background-color: var(--color-navy-900);
+          color: white;
+          padding: px2rpx(12);
+          border: none;
+          font-size: px2rpx(14);
+          text-align: center;
+          cursor: pointer;
           display: flex;
-          flex-direction: column;
           align-items: center;
-          gap: px2rpx(12);
-          padding: px2rpx(16);
-
-          .cwg-upload {
-            width: px2rpx(120);
-            height: px2rpx(120);
-            border-radius: 50%;
-            margin: 0 auto;
-          }
+          justify-content: center;
+          gap: px2rpx(8);
 
-          .text {
-            font-size: px2rpx(20);
-            font-weight: 700;
-            color: var(--color-navy-900);
-          }
-
-          .btn-primary {
-            min-width: px2rpx(120);
-            background-color: var(--color-navy-900);
-            color: white;
-            padding: px2rpx(12);
-            border: none;
-            font-size: px2rpx(14);
-            text-align: center;
-            cursor: pointer;
-            display: flex;
-            align-items: center;
-            justify-content: center;
-            gap: px2rpx(8);
-
-            &:active {
-              background-color: var(--color-navy-700);
-            }
+          &:active {
+            background-color: #cf1322;
+            ;
           }
+        }
 
-          .cid {
-            color: var(--color-error);
-            font-size: px2rpx(12);
-            margin-top: px2rpx(4);
-          }
+        .cid {
+          color: var(--color-error);
+          font-size: px2rpx(12);
+          margin-top: px2rpx(4);
         }
       }
     }
+  }
 
-    .btns {
+  .btns {
+    display: flex;
+    justify-content: flex-end;
+    gap: 30px;
+    margin-top: 30px;
+
+    .btn-primary {
+      min-width: px2rpx(120);
+      background-color: var(--color-navy-900);
+      color: white;
+      padding: 12px;
+      border-radius: 8px;
+      border: none;
+      font-size: 14px;
+      text-align: center;
+      cursor: pointer;
       display: flex;
-      justify-content: flex-end;
-      gap: 30px;
-      margin-top: 30px;
-
-      .btn-primary {
-        min-width: px2rpx(120);
-        background-color: var(--color-navy-900);
-        color: white;
-        padding: 12px;
-        border-radius: 8px;
-        border: none;
-        font-size: 14px;
-        text-align: center;
-        cursor: pointer;
-        display: flex;
-        align-items: center;
-        justify-content: center;
-        gap: 8px;
+      align-items: center;
+      justify-content: center;
+      gap: 8px;
 
-        &:active {
-          background-color: var(--color-navy-700);
-        }
+      &:active {
+        background-color: #cf1322;
+        ;
       }
     }
   }
+}
 
-  :deep(.uni-row1) {
-    .uni-col {
-      padding: 0 10px !important;
-    }
+:deep(.uni-row1) {
+  .uni-col {
+    padding: 0 10px !important;
+  }
 
-    .base-info-form > span {
-      display: contents;
-    }
+  .base-info-form>span {
+    display: contents;
+  }
 
-    .uni-forms-item {
-      min-height: px2rpx(79);
-      margin-bottom: px2rpx(10);
-    }
+  .uni-forms-item {
+    min-height: px2rpx(79);
+    margin-bottom: px2rpx(10);
+  }
 
-    .uni-select,
-    .uni-combox,
-    .uni-easyinput__content,
-    .uni-date-editor--x {
-      border: none !important;
-      background-color: var(--color-zinc-100) !important;
-    }
+  .uni-select,
+  .uni-combox,
+  .uni-easyinput__content,
+  .uni-date-editor--x {
+    border: none !important;
+    background-color: var(--color-zinc-100) !important;
+  }
 
-    .uni-date-x {
-      border: none !important;
-      background-color: rgba(195, 195, 195, 0) !important;
-    }
+  .uni-date-x {
+    border: none !important;
+    background-color: rgba(195, 195, 195, 0) !important;
   }
+}
 </style>

+ 16 - 15
pages/mine/info.vue

@@ -3,20 +3,20 @@
         <view class="info-card">
             <view class="content-title" v-if="current != 3 && current != 4">
                 <view>{{ tabs[current - 1].name }}</view>
-<!--                <view class="content-title-btns">-->
-<!--                    <view v-if="current == 3 && !isSHowIdentity" class="btn-primary" @click="infoSubmit()">-->
-<!--                        <cwg-icon icon="crm-plus" :size="16" color="#fff" />-->
-<!--                        <text v-t="'PersonalManagement.Title.ProofOfIdentity'"></text>-->
-<!--                    </view>-->
-<!--                    <view v-if="current == 3 && !isSHowAddress" class="btn-primary" @click="cancle()">-->
-<!--                        <cwg-icon icon="crm-plus" :size="16" color="#fff" />-->
-<!--                        <text v-t="'PersonalManagement.Title.ProofOfAddress'"></text>-->
-<!--                    </view>-->
-<!--                    <view v-if="current == 3" class="btn-primary" @click="cancle()">-->
-<!--                        <cwg-icon icon="crm-plus" :size="16" color="#fff" />-->
-<!--                        <text v-t="'PersonalManagement.Title.AttachedFile'"></text>-->
-<!--                    </view>-->
-<!--                </view>-->
+                <!--                <view class="content-title-btns">-->
+                <!--                    <view v-if="current == 3 && !isSHowIdentity" class="btn-primary" @click="infoSubmit()">-->
+                <!--                        <cwg-icon icon="crm-plus" :size="16" color="#fff" />-->
+                <!--                        <text v-t="'PersonalManagement.Title.ProofOfIdentity'"></text>-->
+                <!--                    </view>-->
+                <!--                    <view v-if="current == 3 && !isSHowAddress" class="btn-primary" @click="cancle()">-->
+                <!--                        <cwg-icon icon="crm-plus" :size="16" color="#fff" />-->
+                <!--                        <text v-t="'PersonalManagement.Title.ProofOfAddress'"></text>-->
+                <!--                    </view>-->
+                <!--                    <view v-if="current == 3" class="btn-primary" @click="cancle()">-->
+                <!--                        <cwg-icon icon="crm-plus" :size="16" color="#fff" />-->
+                <!--                        <text v-t="'PersonalManagement.Title.AttachedFile'"></text>-->
+                <!--                    </view>-->
+                <!--                </view>-->
             </view>
             <view v-if="current == 1">
                 <personal-info-tab v-model="PersonalInformation" :is-readonly="isReadonly" @cancel="cancle"
@@ -336,7 +336,8 @@ onMounted(async () => {
         }
 
         .btn-primary:active {
-            background-color: var(--color-navy-700);
+            background-color: #cf1322;
+            ;
         }
     }
 }

+ 11 - 3
static/scss/global/global.scss

@@ -274,11 +274,15 @@ uni-left-window {
     top: px2rpx(56);
     left: 0;
     background-color: #fff;
-    z-index: 1;
+    z-index: 101;
 
     transition: width 281ms cubic-bezier(0.4, 0, 0.2, 1);
 }
 
+uni-button[type='primary'] {
+    background-color: #cf1322 !important;
+}
+
 uni-content {
     padding-left: px2rpx(280) !important;
 }
@@ -332,6 +336,10 @@ uni-content.collapsed {
     }
 }
 
+.search-btn {
+    background-color: #cf1322 !important;
+}
+
 
 
 .body {
@@ -1397,7 +1405,7 @@ uni-content.collapsed {
 
     .confirm-btn {
         &.primary {
-            background-color: #007aff;
+            background-color: #cf1322;
             color: #fff;
 
             &:active {
@@ -1419,7 +1427,7 @@ uni-content.collapsed {
         min-width: px2rpx(200);
 
         &.primary {
-            background-color: #007aff;
+            background-color: #cf1322;
             color: #fff;
         }
 

+ 293 - 293
uni_modules/uni-indexed-list/components/uni-indexed-list/uni-indexed-list.vue

@@ -33,335 +33,335 @@
 	</view>
 </template>
 <script>
-	import indexedListItem from './uni-indexed-list-item.vue'
-	// #ifdef APP-NVUE
-	const dom = weex.requireModule('dom');
-	// #endif
-	// #ifdef APP-PLUS
-	function throttle(func, delay) {
-		var prev = Date.now();
-		return function() {
-			var context = this;
-			var args = arguments;
-			var now = Date.now();
-			if (now - prev >= delay) {
-				func.apply(context, args);
-				prev = Date.now();
-			}
+import indexedListItem from './uni-indexed-list-item.vue'
+// #ifdef APP-NVUE
+const dom = weex.requireModule('dom');
+// #endif
+// #ifdef APP-PLUS
+function throttle(func, delay) {
+	var prev = Date.now();
+	return function () {
+		var context = this;
+		var args = arguments;
+		var now = Date.now();
+		if (now - prev >= delay) {
+			func.apply(context, args);
+			prev = Date.now();
 		}
 	}
+}
 
-	function touchMove(e) {
-		let pageY = e.touches[0].pageY
-		let index = Math.floor((pageY - this.winOffsetY) / this.itemHeight)
-		if (this.touchmoveIndex === index) {
-			return false
+function touchMove(e) {
+	let pageY = e.touches[0].pageY
+	let index = Math.floor((pageY - this.winOffsetY) / this.itemHeight)
+	if (this.touchmoveIndex === index) {
+		return false
+	}
+	let item = this.lists[index]
+	if (item) {
+		// #ifndef APP-NVUE
+		this.scrollViewId = 'uni-indexed-list-' + index
+		this.touchmoveIndex = index
+		// #endif
+		// #ifdef APP-NVUE
+		dom.scrollToElement(this.$refs['uni-indexed-list-' + index][0], {
+			animated: false
+		})
+		this.touchmoveIndex = index
+		// #endif
+	}
+}
+const throttleTouchMove = throttle(touchMove, 40)
+// #endif
+
+/**
+ * IndexedList 索引列表
+ * @description 用于展示索引列表
+ * @tutorial https://ext.dcloud.net.cn/plugin?id=375
+ * @property {Boolean} showSelect = [true|false] 展示模式
+ * 	@value true 展示模式
+ * 	@value false 选择模式
+ * @property {Object} options 索引列表需要的数据对象
+ * @event {Function} click 点击列表事件 ,返回当前选择项的事件对象
+ * @example <uni-indexed-list options="" showSelect="false" @click=""></uni-indexed-list>
+ */
+export default {
+	name: 'UniIndexedList',
+	components: {
+		indexedListItem
+	},
+	emits: ['click'],
+	props: {
+		options: {
+			type: Array,
+			default() {
+				return []
+			}
+		},
+		showSelect: {
+			type: Boolean,
+			default: false
+		}
+	},
+	data() {
+		return {
+			lists: [],
+			winHeight: 0,
+			itemHeight: 0,
+			winOffsetY: 0,
+			touchmove: false,
+			touchmoveIndex: -1,
+			scrollViewId: '',
+			touchmovable: true,
+			loaded: false,
+			isPC: false
+		}
+	},
+	watch: {
+		options: {
+			handler: function () {
+				this.setList()
+			},
+			deep: true
 		}
-		let item = this.lists[index]
-		if (item) {
+	},
+	mounted() {
+		// #ifdef H5
+		this.isPC = this.IsPC()
+		// #endif
+		setTimeout(() => {
+			this.setList()
+		}, 50)
+		setTimeout(() => {
+			this.loaded = true
+		}, 300);
+	},
+	methods: {
+		setList() {
+			let index = 0;
+			this.lists = []
+			this.options.forEach((value, index) => {
+				if (value.data.length === 0) {
+					return
+				}
+				let indexBefore = index
+				let items = value.data.map(item => {
+					let obj = {}
+					obj['key'] = value.letter
+					obj['name'] = item
+					obj['itemIndex'] = index
+					index++
+					obj.checked = item.checked ? item.checked : false
+					return obj
+				})
+				this.lists.push({
+					title: value.letter,
+					key: value.letter,
+					items: items,
+					itemIndex: indexBefore
+				})
+			})
 			// #ifndef APP-NVUE
-			this.scrollViewId = 'uni-indexed-list-' + index
-			this.touchmoveIndex = index
+			uni.createSelectorQuery()
+				.in(this)
+				.select('#list')
+				.boundingClientRect()
+				.exec(ret => {
+					this.winOffsetY = ret[0].top
+					this.winHeight = ret[0].height
+					this.itemHeight = this.winHeight / this.lists.length
+				})
 			// #endif
 			// #ifdef APP-NVUE
-			dom.scrollToElement(this.$refs['uni-indexed-list-' + index][0], {
-				animated: false
+			dom.getComponentRect(this.$refs['list'], (res) => {
+				this.winOffsetY = res.size.top
+				this.winHeight = res.size.height
+				this.itemHeight = this.winHeight / this.lists.length
 			})
-			this.touchmoveIndex = index
 			// #endif
-		}
-	}
-	const throttleTouchMove = throttle(touchMove, 40)
-	// #endif
-
-	/**
-	 * IndexedList 索引列表
-	 * @description 用于展示索引列表
-	 * @tutorial https://ext.dcloud.net.cn/plugin?id=375
-	 * @property {Boolean} showSelect = [true|false] 展示模式
-	 * 	@value true 展示模式
-	 * 	@value false 选择模式
-	 * @property {Object} options 索引列表需要的数据对象
-	 * @event {Function} click 点击列表事件 ,返回当前选择项的事件对象
-	 * @example <uni-indexed-list options="" showSelect="false" @click=""></uni-indexed-list>
-	 */
-	export default {
-		name: 'UniIndexedList',
-		components: {
-			indexedListItem
 		},
-		emits: ['click'],
-		props: {
-			options: {
-				type: Array,
-				default () {
-					return []
-				}
-			},
-			showSelect: {
-				type: Boolean,
-				default: false
+		touchStart(e) {
+			this.touchmove = true
+			let pageY = this.isPC ? e.pageY : e.touches[0].pageY
+			let index = Math.floor((pageY - this.winOffsetY) / this.itemHeight)
+			let item = this.lists[index]
+			if (item) {
+				this.scrollViewId = 'uni-indexed-list-' + index
+				this.touchmoveIndex = index
+				// #ifdef APP-NVUE
+				dom.scrollToElement(this.$refs['uni-indexed-list-' + index][0], {
+					animated: false
+				})
+				// #endif
 			}
 		},
-		data() {
-			return {
-				lists: [],
-				winHeight: 0,
-				itemHeight: 0,
-				winOffsetY: 0,
-				touchmove: false,
-				touchmoveIndex: -1,
-				scrollViewId: '',
-				touchmovable: true,
-				loaded: false,
-				isPC: false
+		touchMove(e) {
+			// #ifndef APP-PLUS
+			let pageY = this.isPC ? e.pageY : e.touches[0].pageY
+			let index = Math.floor((pageY - this.winOffsetY) / this.itemHeight)
+			if (this.touchmoveIndex === index) {
+				return false
 			}
-		},
-		watch: {
-			options: {
-				handler: function() {
-					this.setList()
-				},
-				deep: true
+			let item = this.lists[index]
+			if (item) {
+				this.scrollViewId = 'uni-indexed-list-' + index
+				this.touchmoveIndex = index
 			}
-		},
-		mounted() {
-			// #ifdef H5
-			this.isPC = this.IsPC()
 			// #endif
-			setTimeout(() => {
-				this.setList()
-			}, 50)
-			setTimeout(() => {
-				this.loaded = true
-			}, 300);
+			// #ifdef APP-PLUS
+			throttleTouchMove.call(this, e)
+			// #endif
+		},
+		touchEnd() {
+			this.touchmove = false
+			// this.touchmoveIndex = -1
 		},
-		methods: {
-			setList() {
-				let index = 0;
-				this.lists = []
-				this.options.forEach((value, index) => {
-					if (value.data.length === 0) {
-						return
-					}
-					let indexBefore = index
-					let items = value.data.map(item => {
-						let obj = {}
-						obj['key'] = value.letter
-						obj['name'] = item
-						obj['itemIndex'] = index
-						index++
-						obj.checked = item.checked ? item.checked : false
-						return obj
-					})
-					this.lists.push({
-						title: value.letter,
-						key: value.letter,
-						items: items,
-						itemIndex: indexBefore
-					})
-				})
-				// #ifndef APP-NVUE
-				uni.createSelectorQuery()
-					.in(this)
-					.select('#list')
-					.boundingClientRect()
-					.exec(ret => {
-						this.winOffsetY = ret[0].top
-						this.winHeight = ret[0].height
-						this.itemHeight = this.winHeight / this.lists.length
-					})
-				// #endif
-				// #ifdef APP-NVUE
-				dom.getComponentRect(this.$refs['list'], (res) => {
-					this.winOffsetY = res.size.top
-					this.winHeight = res.size.height
-					this.itemHeight = this.winHeight / this.lists.length
-				})
-				// #endif
-			},
-			touchStart(e) {
-				this.touchmove = true
-				let pageY = this.isPC ? e.pageY : e.touches[0].pageY
-				let index = Math.floor((pageY - this.winOffsetY) / this.itemHeight)
-				let item = this.lists[index]
-				if (item) {
-					this.scrollViewId = 'uni-indexed-list-' + index
-					this.touchmoveIndex = index
-					// #ifdef APP-NVUE
-					dom.scrollToElement(this.$refs['uni-indexed-list-' + index][0], {
-						animated: false
-					})
-					// #endif
-				}
-			},
-			touchMove(e) {
-				// #ifndef APP-PLUS
-				let pageY = this.isPC ? e.pageY : e.touches[0].pageY
-				let index = Math.floor((pageY - this.winOffsetY) / this.itemHeight)
-				if (this.touchmoveIndex === index) {
-					return false
-				}
-				let item = this.lists[index]
-				if (item) {
-					this.scrollViewId = 'uni-indexed-list-' + index
-					this.touchmoveIndex = index
-				}
-				// #endif
-				// #ifdef APP-PLUS
-				throttleTouchMove.call(this, e)
-				// #endif
-			},
-			touchEnd() {
-				this.touchmove = false
-				// this.touchmoveIndex = -1
-			},
 
-			/**
-			 * 兼容 PC @tian
-			 */
+		/**
+		 * 兼容 PC @tian
+		 */
 
-			mousedown(e) {
-				if (!this.isPC) return
-				this.touchStart(e)
-			},
-			mousemove(e) {
-				if (!this.isPC) return
-				this.touchMove(e)
-			},
-			mouseleave(e) {
-				if (!this.isPC) return
-				this.touchEnd(e)
-			},
+		mousedown(e) {
+			if (!this.isPC) return
+			this.touchStart(e)
+		},
+		mousemove(e) {
+			if (!this.isPC) return
+			this.touchMove(e)
+		},
+		mouseleave(e) {
+			if (!this.isPC) return
+			this.touchEnd(e)
+		},
 
-			// #ifdef H5
-			IsPC() {
-				var userAgentInfo = navigator.userAgent;
-				var Agents = ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"];
-				var flag = true;
-				for (let v = 0; v < Agents.length - 1; v++) {
-					if (userAgentInfo.indexOf(Agents[v]) > 0) {
-						flag = false;
-						break;
-					}
+		// #ifdef H5
+		IsPC() {
+			var userAgentInfo = navigator.userAgent;
+			var Agents = ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"];
+			var flag = true;
+			for (let v = 0; v < Agents.length - 1; v++) {
+				if (userAgentInfo.indexOf(Agents[v]) > 0) {
+					flag = false;
+					break;
 				}
-				return flag;
-			},
-			// #endif
+			}
+			return flag;
+		},
+		// #endif
 
 
-			onClick(e) {
-				let {
-					idx,
-					index
-				} = e
-				let obj = {}
-				for (let key in this.lists[idx].items[index]) {
-					obj[key] = this.lists[idx].items[index][key]
-				}
-				let select = []
-				if (this.showSelect) {
-					this.lists[idx].items[index].checked = !this.lists[idx].items[index].checked
-					this.lists.forEach((value, idx) => {
-						value.items.forEach((item, index) => {
-							if (item.checked) {
-								let obj = {}
-								for (let key in this.lists[idx].items[index]) {
-									obj[key] = this.lists[idx].items[index][key]
-								}
-								select.push(obj)
+		onClick(e) {
+			let {
+				idx,
+				index
+			} = e
+			let obj = {}
+			for (let key in this.lists[idx].items[index]) {
+				obj[key] = this.lists[idx].items[index][key]
+			}
+			let select = []
+			if (this.showSelect) {
+				this.lists[idx].items[index].checked = !this.lists[idx].items[index].checked
+				this.lists.forEach((value, idx) => {
+					value.items.forEach((item, index) => {
+						if (item.checked) {
+							let obj = {}
+							for (let key in this.lists[idx].items[index]) {
+								obj[key] = this.lists[idx].items[index][key]
 							}
-						})
+							select.push(obj)
+						}
 					})
-				}
-				this.$emit('click', {
-					item: obj,
-					select: select
 				})
 			}
+			this.$emit('click', {
+				item: obj,
+				select: select
+			})
 		}
 	}
+}
 </script>
 <style lang="scss" scoped>
-	.uni-indexed-list {
-		position: absolute;
-		left: 0;
-		top: 0;
-		right: 0;
-		bottom: 0;
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-	}
+.uni-indexed-list {
+	position: absolute;
+	left: 0;
+	top: 0;
+	right: 0;
+	bottom: 0;
+	/* #ifndef APP-NVUE */
+	display: flex;
+	/* #endif */
+	flex-direction: row;
+}
 
-	.uni-indexed-list__scroll {
-		flex: 1;
-	}
+.uni-indexed-list__scroll {
+	flex: 1;
+}
 
-	.uni-indexed-list__menu {
-		width: 24px;
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: column;
-	}
+.uni-indexed-list__menu {
+	width: 24px;
+	/* #ifndef APP-NVUE */
+	display: flex;
+	/* #endif */
+	flex-direction: column;
+}
 
-	.uni-indexed-list__menu-item {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex: 1;
-		align-items: center;
-		justify-content: center;
-		/* #ifdef H5 */
-		cursor: pointer;
-		/* #endif */
-	}
+.uni-indexed-list__menu-item {
+	/* #ifndef APP-NVUE */
+	display: flex;
+	/* #endif */
+	flex: 1;
+	align-items: center;
+	justify-content: center;
+	/* #ifdef H5 */
+	cursor: pointer;
+	/* #endif */
+}
 
-	.uni-indexed-list__menu-text {
-		font-size: 12px;
-		text-align: center;
-		color: #aaa;
-	}
+.uni-indexed-list__menu-text {
+	font-size: 12px;
+	text-align: center;
+	color: #aaa;
+}
 
-	.uni-indexed-list__menu--active {
-		// background-color: rgb(200, 200, 200);
-	}
+.uni-indexed-list__menu--active {
+	// background-color: rgb(200, 200, 200);
+}
 
-	.uni-indexed-list__menu--active {}
+.uni-indexed-list__menu--active {}
 
-	.uni-indexed-list__menu-text--active {
-		border-radius: 16px;
-		width: 16px;
-		height: 16px;
-		line-height: 16px;
-		background-color: #007aff;
-		color: #fff;
-	}
+.uni-indexed-list__menu-text--active {
+	border-radius: 16px;
+	width: 16px;
+	height: 16px;
+	line-height: 16px;
+	background-color: #cf1322;
+	color: #fff;
+}
 
-	.uni-indexed-list__alert-wrapper {
-		position: absolute;
-		left: 0;
-		top: 0;
-		right: 0;
-		bottom: 0;
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		align-items: center;
-		justify-content: center;
-	}
+.uni-indexed-list__alert-wrapper {
+	position: absolute;
+	left: 0;
+	top: 0;
+	right: 0;
+	bottom: 0;
+	/* #ifndef APP-NVUE */
+	display: flex;
+	/* #endif */
+	flex-direction: row;
+	align-items: center;
+	justify-content: center;
+}
 
-	.uni-indexed-list__alert {
-		width: 80px;
-		height: 80px;
-		border-radius: 80px;
-		text-align: center;
-		line-height: 80px;
-		font-size: 35px;
-		color: #fff;
-		background-color: rgba(0, 0, 0, 0.5);
-	}
-</style>
+.uni-indexed-list__alert {
+	width: 80px;
+	height: 80px;
+	border-radius: 80px;
+	text-align: center;
+	line-height: 80px;
+	font-size: 35px;
+	color: #fff;
+	background-color: rgba(0, 0, 0, 0.5);
+}
+</style>