ljc пре 2 недеља
родитељ
комит
4bb6ccd3e1

+ 7 - 2
App.vue

@@ -1,7 +1,9 @@
 <script setup>
 import { ref, onMounted, nextTick, watch, onBeforeUnmount, getCurrentInstance } from 'vue';
 import { useI18n } from "vue-i18n";
+import config from '@/config'
 const { locale } = useI18n();
+const { Host80 } = config
 
 import {
 	onLoad,
@@ -73,7 +75,7 @@ onLaunch((options) => {
 	// checkUpdate()
 	// 调用初始化
 	// initTheme()
-
+  // checkWgtUpdate()
 
 
 	// #ifdef H5
@@ -215,16 +217,19 @@ watch(locale, () => {
 // 检测版本号更新
 const checkWgtUpdate = async () => {
 	try {
+    console.log(Host80)
 		const currentVersion = await getCurrentVersion()
 		const res = await uni.request({
-			url: `https://ucard.44a5c8109e4.com/wgt/list.json?_t=${Date.now()}`,
+			url: `${Host80}/wgt/list.json?_t=${Date.now()}`,
 			method: 'GET',
 			timeout: 5000
 		})
+    console.log('up:filedata',res)
 		const files = res.data?.files || []
 		if (!files.length) return
 		const latestFile = files[files.length - 1]
 		const latestVersion = latestFile
+    console.log('last',latestFile,latestVersion)
 		if (!latestFile) return
 		const lastInstalled = uni.getStorageSync('lastWgtVersion')
 		console.log(lastInstalled, 'lastInstalled');

+ 32 - 15
components/PrefectInfo.vue

@@ -1,26 +1,23 @@
 <template>
-  <view class="PerfectInfo" v-if="isPerfectInfo">
+  <view class="PerfectInfo " v-if="isPerfectInfo">
     <!--    <i class="iconfont icondengpao"></i>-->
-    <uni-row>
-      <uni-col :xs="24" :sm="24" :md="16" :lg="16" :xl="16">
-        <view class="content">
-          <view class="icon">
-            <cwg-icon color="#333" icon="crm-user-pen" />
-          </view>
-          <view class="title">
-            {{ t('Home.msg.content') }}
-          </view>
+    <view class="content-wrapper content-padding">
+      <view class="content">
+        <view class="icon">
+          <cwg-icon color="#333" icon="crm-user-pen" />
         </view>
-      </uni-col>
-      <uni-col :xs="24" :sm="24" :md="8" :lg="8" :xl="8">
+        <view class="title">
+          {{ t('Home.msg.content') }}
+        </view>
+      </view>
+
         <button
           class="btn-improve"
           @click="immediately"
         >
           {{ t('Home.msg.btn') }}
         </button>
-      </uni-col>
-    </uni-row>
+    </view>
   </view>
 </template>
 
@@ -74,7 +71,7 @@
 
   .PerfectInfo {
     width: 100%;
-    padding: px2rpx(16);
+    //padding: px2rpx(16);
     background-color: #fff9eb;
 
     .content {
@@ -104,4 +101,24 @@
       margin: 0;
     }
   }
+  .content-wrapper {
+    max-width: px2rpx(1320);
+    width: 100%;
+    margin: 0 auto;
+    box-sizing: border-box;
+    display: flex;
+    justify-content: space-between;
+  }
+  .content-padding {
+    padding: px2rpx(16);
+
+    @media screen and (max-width: 1645px) {
+      padding: px2rpx(16) px2rpx(48);
+    }
+
+    @media screen and (max-width: 768px) {
+      padding: px2rpx(16);
+    }
+  }
+
 </style>

+ 10 - 8
components/cwg-file-picker-wrapper.vue

@@ -16,7 +16,7 @@
 
     <!-- 正常模式:宫格上传(完全对齐官方 upload-image 样式) -->
     <view v-else class="uni-file-picker__container">
-      <view class="file-picker__box" v-for="(item, index) in innerFileList" :key="index"
+      <view class="file-picker__box cursor-pointer" v-for="(item, index) in innerFileList" :key="index"
         :style="typeof boxStyle === 'object' ? boxStyle : { cssText: boxStyle }">
         <view class="file-picker__box-content" :style="borderStyle">
           <!-- 图片 -->
@@ -56,9 +56,9 @@
       </view>
 
       <!-- 添加按钮 -->
-      <view v-if="innerFileList?.length < limit" class="file-picker__box"
+      <view v-if="innerFileList?.length < limit" class="file-picker__box cursor-pointer"
         :style="typeof boxStyle === 'object' ? boxStyle : { cssText: boxStyle }">
-        <view class="file-picker__box-content is-add" :style="borderStyle" @click="handleChoose">
+        <view class="file-picker__box-content  is-add" :style="borderStyle" @click="handleChoose">
           <cwg-icon name="icon_add" class="upload-icon" :size="24" />
         </view>
       </view>
@@ -112,11 +112,11 @@ const props = defineProps({
     default: ''
   },
   imageWidth: {
-    type: String,
+    type: [String,Number],
     default: ''
   },
   imageHeight: {
-    type: String,
+    type: [String,Number],
     default: ''
   },
   uploadUrl: {
@@ -243,8 +243,8 @@ watch(
     if (JSON.stringify(innerFileList.value) === JSON.stringify(formatted)) return
 
     if (!val) {
-      innerFileList.value = []
-      originalType.value = 'array'
+      // innerFileList.value = []
+      // originalType.value = 'array'
       return
     }
 
@@ -483,6 +483,7 @@ const startUpload = async () => {
 const uploadFile = (fileItem) => {
   return new Promise((resolve) => {
     innerFileList.value.push({ ...fileItem, status: 'uploading', progress: 0 })
+    console.log(innerFileList.value,'upload231')
     const index = innerFileList.value.length - 1
     const url = props.action || config.Host80 + props.uploadUrl
     console.log({
@@ -514,7 +515,7 @@ const uploadFile = (fileItem) => {
               ? JSON.parse(res.data).msg
               : res.data.msg
           }
-
+        console.log(innerFileList.value,'file',result)
         if (result.success) {
           innerFileList.value[index].progress = 100
           innerFileList.value[index].status = 'success'
@@ -731,6 +732,7 @@ const imgStyle = computed(() => {
   display: flex;
   flex-wrap: wrap;
   //margin: -5px;
+  gap: px2rpx(5);
   width: 100%;
 }
 

+ 2 - 2
components/cwg-header.vue

@@ -144,10 +144,10 @@ function handleBack() {
   color: var(--bs-emphasis-color);
   font-weight: 700;
   margin: px2rpx(0) 0;
-  height: px2rpx(40);
+  //height: px2rpx(40);
   display: flex;
   align-items: center;
-  line-height: px2rpx(40);
+  //line-height: px2rpx(40);
 
   .back {
     display: flex;

+ 1 - 1
components/cwg-page-wrapper.vue

@@ -606,7 +606,7 @@ onShow(() => {
 
 .desktop-sidebar-toggle-fixed {
   position: fixed;
-  top: 56px;
+  top: 58px;
   z-index: 120;
   display: flex;
   align-items: center;

+ 2 - 2
components/cwg-payment.vue

@@ -21,7 +21,7 @@
           </view>
           <view class="drawer-content">
             <view class="balance-amount">{{ formattedBalance }} USD</view>
-            <view @click="toPaymentHistory">
+            <view class="cursor-pointer" @click="toPaymentHistory">
               <view class="account-number">${{ formattedPendingWithdrawAmount }}</view>
               <view class="account-type" v-t="'wallet.pendingWithdraw1'"></view>
             </view>
@@ -339,7 +339,7 @@ onUnmounted(() => {
 
     .drawer-content {
       padding: px2rpx(20) px2rpx(16);
-      cursor: pointer;
+      //cursor: pointer;
 
       .balance-amount {
         font-size: px2rpx(18);

+ 5 - 1
components/cwg-tabel.vue

@@ -24,7 +24,7 @@
                     <!-- 数据列:根据设备类型动态渲染 -->
                     <uni-td v-for="column in displayColumns" :key="column.prop" :align="column.align || 'center'"
                             :class="getCellClass(column, row)" :style="getCellStyle(column, row)"
-                            @click="openRowDetail(row)">
+                            @click="openRowDetail(row)" >
                       <template v-if="column.slot">
                         <slot :name="column.slot" :row="row" :column="column" :index="rowIndex">
                           {{ row[column.prop] }}
@@ -455,6 +455,10 @@ const getCellClass = (column, row) => {
             classes.push(column.cellClass)
         }
     }
+    // 跳转页面的时候加上鼠标小手
+    if (props.isPages){
+      classes.push('cursor-pointer')
+    }
     return classes.join(' ')
 }
 

+ 1 - 1
pages/common/notice.vue

@@ -7,7 +7,7 @@
                     :placeholder="t('Custom.PaymentHistory.StatusPlaceholder')" />
             </view>
             <cwg-tabel ref="tableRef" :columns="columns" :mobilePrimaryFields="mobilePrimaryFields"
-                :queryParams="search" :api="listApi" @go-pages="goPages" :isPages="true" :immediate="true">
+                :queryParams="search" :api="listApi" @go-pages="goPages" :isPages="true" :immediate="true" isCurp>
                 <template #status="{ row }">
                     <text class="status-tag" :class="getStatusColor(row.read)">{{readOptions.find(item => item.value === row.read)?.text}}</text>
                 </template>

+ 8 - 4
pages/customer/components/digitalPayConfirmPopup.vue

@@ -30,13 +30,13 @@
                 <view class="digital-pay-upload-wrap">
                     <view class="digital-pay-upload__label" v-t="'Custom.Deposit.UploadRemittanceVoucher'">
                     </view>
-                    <cwg-file-picker-wrapper v-model="imageUrl" :limit="1" :editable="true" :fileMediatype="'all'"
-                        :imageWidth="142" :imageHeight="142" uploadUrl="/common/upload" :baseUrl="Host80" />
+                    <cwg-file-picker-wrapper v-model="imageUrl" :limit="1" :fileMediatype="'all'"
+                        :imageWidth="142" :imageHeight="142" uploadUrl="/common/upload" />
                 </view>
                 <view class="digital-pay-upload-wrap mt-3">
                     <view class="digital-pay-upload__label" v-t="'Custom.Deposit.HashCode'">
                     </view>
-                    <uni-easyinput :customStyle="customStyle" :placeholder="t('Custom.Deposit.HashCodePlaceholder')" v-model.trim="hashCode"></uni-easyinput>
+                    <uni-easyinput :placeholder="t('Custom.Deposit.HashCodePlaceholder')" v-model.trim="hashCode"></uni-easyinput>
                 </view>
             </view>
         </view>
@@ -84,7 +84,11 @@ const handleConfirm = () => {
     emit('confirm', { voucherUrl: imageUrl.value, hashCode: hashCode.value })
     close()
 }
-const close = () => { visible.value = false; imageUrl.value = "";hashCode.value = '' };
+const close = () => {
+  imageUrl.value = '';
+  hashCode.value = ''
+  visible.value = false;
+};
 </script>
 
 <style lang="scss" scoped>

+ 6 - 1
pages/customer/dashboard.vue

@@ -112,7 +112,7 @@
                       <text v-if="chartForm.chartType == 3">{{ t('Custom.Index.WithdrawalsStatistical') }}</text>
                       <text v-if="chartForm.chartType == 6">{{ t('Custom.Index.ProfitLoss') }}</text>
                     </view>
-                    <view class="time" @click="toReload">
+                    <view class="time cursor-pointer" @click="toReload">
                       <cwg-icon name="crm-refresh" :size="16" color="#666" />
                       <text class="crm-cursor"> GMT+3 {{ time }}</text>
                     </view>
@@ -301,6 +301,8 @@
     }))
   })
 
+  const chartLoading = ref(false)
+
   const isAfterJuly28 = () => {
     const now = new Date();
     const july28 = new Date(2025, 6, 28, 0, 0, 0); // 月份从0开始,所以7月是6
@@ -337,6 +339,7 @@
   }
 
   const toReload = () => {
+    uni.showLoading({ title: t('common.loading') })
     goTime()
   }
   // 获取账户信息
@@ -421,6 +424,8 @@
       }
     } catch (error) {
       console.error('获取图表数据失败', error)
+    }finally {
+      uni.hideLoading()
     }
   }
 

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

@@ -13,7 +13,7 @@
                     <view class="clearfix">
                         <view class="card">
                             <view class="card-header pb-0">
-                                <view class="col-12 mb-5">
+                                <view class="col-12 mb-3">
                                     <view
                                         class="d-flex flex-wrap gap-3 align-items-center justify-content-between mb-3">
                                         <h5 class="mb-0" v-t="'Custom.Deposit.Title1'" />
@@ -23,7 +23,7 @@
                                 </view>
                                 <uni-loading v-if="step2 && currentTableData.length == 0" />
                                 <template v-if="step2 && currentTableData.length > 0">
-                                    <view class="col-12 mb-5">
+                                    <view class="col-12 mb-4">
                                         <view
                                             class="d-flex flex-wrap gap-3 align-items-center justify-content-between mb-3">
                                             <h5 class="mb-0" v-t="'Custom.Deposit.Title2'" />

+ 1 - 0
pages/customer/style.scss

@@ -138,6 +138,7 @@
       gap: px2rpx(8);
 
       :deep(uni-checkbox .uni-checkbox-input) {
+        margin-top: px2rpx(4);
         border-radius: px2rpx(4);
         width: px2rpx(18);
         height: px2rpx(18);

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

@@ -13,7 +13,7 @@
           <view class="clearfix">
             <view class="card">
               <view class="card-header pb-0">
-                <view class="col-12 mb-5">
+                <view class="col-12 mb-3">
                   <view class="d-flex flex-wrap gap-3 align-items-center justify-content-between mb-3">
                     <h5 class="mb-0" v-t="'Custom.Deposit.Title11'" />
                   </view>
@@ -22,7 +22,7 @@
                 </view>
                 <uni-loading v-if="step2 && currentTableData.length == 0" />
                 <template v-if="step2 && currentTableData.length > 0">
-                  <view class="col-12 mb-5">
+                  <view class="col-12 mb-3">
                     <view class="d-flex flex-wrap gap-3 align-items-center justify-content-between mb-3">
                       <h5 class="mb-0" v-t="'Custom.Deposit.Title22'" />
                     </view>

+ 3 - 2
pages/customer/withdrawal.vue

@@ -2338,14 +2338,15 @@ watch(() => form.amount, (newVal) => {
       gap: px2rpx(8);
 
       :deep(uni-checkbox .uni-checkbox-input) {
+        margin-top: px2rpx(4);
         border-radius: px2rpx(4);
         width: px2rpx(18);
         height: px2rpx(18);
       }
 
       text {
-        font-size: px2rpx(13);
-        color: var(--color-zinc-500);
+        font-size: px2rpx(14);
+        color: var(--bs-emphasis-color);
         line-height: 1.5;
       }
     }

+ 5 - 3
pages/follow/account-management.vue

@@ -6,12 +6,12 @@
                     <view class="border-0 card-header">
                         <view class="d-flex flex-wrap gap-3 align-items-center justify-content-between mb-3">
                             <h3 class="mb-0" v-t="'Documentary.TundManagement.item9'"></h3>
-                            <view class="btn btn-secondary btn-shadow waves-effect" @click="toSubscribeList">
+                            <button class="btn btn-secondary btn-shadow waves-effect" @click="toSubscribeList">
                                 <view class="d-flex align-items-center">
                                     <cwg-icon icon="crm-plus" :size="16" color="#fff" />
                                     <text v-t="'Documentary.TundManagement.item44'" />
                                 </view>
-                            </view>
+                            </button>
                         </view>
                     </view>
                 </view>
@@ -140,7 +140,9 @@ onMounted(() => {
 
 <style scoped lang="scss">
 @import "@/uni.scss";
-
+.btn{
+  margin: 0;
+}
 .content-container {
     .field-container {
         display: grid;

+ 9 - 4
pages/follow/components/applySignalDialog.vue

@@ -155,9 +155,9 @@
                 <checkbox value="1" :checked="!!formData.agree" />
                 <text class="agree-text">
                   {{ t('Documentary.TundManagement.item42') }}
-                  <cwg-link type="pdf" style="text-decoration: underline;" class="a" v-if="['cn', 'zhHant'].indexOf(locale) != -1"
+                  <cwg-link type="pdf" class="a" v-if="['cn', 'zhHant'].indexOf(locale) != -1"
                     url="pdf/CopyTradeUserAgreementcn.pdf" target="_blank" title="Documentary.TundManagement.item43" />
-                  <cwg-link type="pdf" style="text-decoration: underline;" class="a" v-else url="pdf/CopyTradeUserAgreement.pdf"
+                  <cwg-link type="pdf" class="a" v-else url="pdf/CopyTradeUserAgreement.pdf"
                     target="_blank" title="Documentary.TundManagement.item43" />
                   {{ t('Documentary.TundManagement.item42_2') }}
                 </text>
@@ -649,9 +649,14 @@ watch(() => props.visible, (val) => {
     display: flex;
     align-items: flex-start;
     gap: px2rpx(8);
+    :deep(.uni-checkbox-input){
+      margin-top: px2rpx(3);
+      width: px2rpx(18);
+      height: px2rpx(18);
+    }
 
     .agree-text {
-      font-size: px2rpx(14);
+      font-size: px2rpx(13);
       color: var(--bs-emphasis-color);
       line-height: 1.5;
       width: 100%;
@@ -660,7 +665,7 @@ watch(() => props.visible, (val) => {
 
       .a {
         color: #007bff;
-        text-decoration: underline;
+        text-decoration: none;
         margin: 0 px2rpx(4);
 
         &:hover {

+ 9 - 8
pages/follow/index.vue

@@ -165,12 +165,12 @@
                     <view class="tit">
                       <view class="tab h3">{{ t('Documentary.console.item27') }}</view>
                     </view>
-                    <view class="num">
                       <button class="btn btn-danger btn-shadow waves-effect" @click="dialogFllowApplyOpen">
-                        +
+                        <view class="d-flex align-items-center">
+                        <cwg-icon name="crm-plus" :size="14" color="#fff" />
                         <text>{{ t('Documentary.TundManagement.item12') }}</text>
+                        </view>
                       </button>
-                    </view>
                   </view>
                   <view class="bottom">
                     <view class="tab">
@@ -719,12 +719,13 @@ onMounted(async () => {
 }
 
 .btn {
-  text-align: center;
-  background-color: rgb(var(--bs-danger-rgb));
-  font-size: px2rpx(16);
-  color: #fff;
+  margin: 0;
+  //text-align: center;
+  //background-color: rgb(var(--bs-danger-rgb));
+  //font-size: px2rpx(16);
+  //color: #fff;
   //padding: px2rpx(10) px2rpx(20);
-  border-radius: px2rpx(8);
+  //border-radius: px2rpx(8);
 }
 
 .crm-cursor {

+ 5 - 2
pages/follow/trading-management.vue

@@ -6,12 +6,12 @@
                     <view class="border-0 card-header">
                         <view class="d-flex flex-wrap gap-3 align-items-center justify-content-between mb-3">
                             <h3 class="mb-0" v-t="'Documentary.TundManagement.item11'"></h3>
-                            <view class="btn btn-secondary btn-shadow waves-effect" @click="getCustomLoginDownLogin">
+                            <button class="btn btn-secondary btn-shadow waves-effect" @click="getCustomLoginDownLogin">
                                 <view class="d-flex align-items-center">
                                     <cwg-icon icon="crm-plus" :size="16" color="#fff" />
                                     <text v-t="'Documentary.TundManagement.item12'" />
                                 </view>
-                            </view>
+                            </button>
                         </view>
                     </view>
                 </view>
@@ -1076,6 +1076,9 @@ onMounted(() => {
 
 <style scoped lang="scss">
 @import "@/uni.scss";
+.btn{
+  margin: 0;
+}
 
 .content-container {
     .field-container {

+ 7 - 1
pages/ib/components/documentaryDialog.vue

@@ -34,7 +34,7 @@
         </uni-forms-item>
         <uni-forms-item class="prompt" :label="t('Drawer.Label.TemplatePrompt')">
           <view>
-            <text>{{t('Documentary.AgentBackground.item5')}}</text>
+            <text class="form-text">{{t('Documentary.AgentBackground.item5')}}</text>
           </view>
         </uni-forms-item>
       </uni-forms>
@@ -135,4 +135,10 @@
       }
     }
   }
+  .form-text{
+    font-size: px2rpx(14);
+    font-weight: normal;
+    line-height: 1;
+    color: var(--bs-emphasis-color);
+  }
 </style>

+ 17 - 0
pages/ib/transfer.vue

@@ -32,6 +32,7 @@
                                             label-position="top" validate-trigger="submit">
                                             <view class="row">
                                                 <view class="col-lg-12">
+                                                  <cwg-match-media :min-width="768">
                                                     <h5 class="bg-dark1 mb-4 p-2">
                                                         <span v-t="'Label.AgentNumber'" />
@@ -42,6 +43,22 @@
                                                         <span class="text-danger">${{ Number(balance).toFixed(2)
                                                             }}</span>
                                                     </h5>
+                                                  </cwg-match-media>
+                                                  <cwg-match-media :max-width="768">
+                                                    <h5 class="bg-dark1 mb-4 p-2 ">
+                                                      <view class="mb-1">
+                                                        <span v-t="'Label.AgentNumber'" />
+                                                        :
+                                                        <span class="text-danger">{{ ibInfo.ibNo }}</span>
+                                                      </view>
+                                                        <view>
+                                                          <span v-t="'Label.CommissionBalance'" />
+                                                          <span>:</span>
+                                                          <span class="text-danger">${{ Number(balance).toFixed(2)
+                                                            }}</span>
+                                                        </view>
+                                                    </h5>
+                                                  </cwg-match-media>
                                                 </view>
 
 

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

@@ -16,7 +16,7 @@
                             <view class="card-header">
                                 <uni-loading v-if="currentTableData.length == 0" />
                                 <template v-if="currentTableData.length > 0">
-                                    <view class="col-12 mb-5">
+                                    <view class="col-12 mb-3">
                                         <view
                                             class="d-flex flex-wrap gap-3 align-items-center justify-content-between mb-3">
                                             <h5 class="mb-0" v-t="'Custom.Deposit.Title22'" />

+ 1 - 0
pages/login/index.vue

@@ -1494,6 +1494,7 @@ button {
 
 .des-bottom {
   margin-top: px2rpx(20);
+  margin-bottom: px2rpx(40);
   line-height: 20px;
   color: #000;
   font-size: px2rpx(14);

+ 1 - 1
pages/mine/components/AddFileDialog.vue

@@ -44,7 +44,7 @@
                     <template v-if="form.type === 3">
                         <uni-col :xs="24" :offset="2">
                             <uni-forms-item :label="t('PersonalManagement.Title.AttachedFile')">
-                                <cwg-file-picker v-model="form.file4" :editable="editingId === form.id" :limit="9"
+                                <cwg-file-picker-wrapper v-model="form.file4" :editable="editingId === form.id" :limit="9"
                                     uploadUrl="/custom/file/upload/10" :baseUrl="updateUrl" :imageWidth="150"
                                     :imageHeight="150" uploadText="点击上传" replaceText="点击替换" noImageText="暂无图片"
                                     :showPreviewDelete="editingId === form.id"

+ 26 - 16
pages/mine/components/BankInfoTab.vue

@@ -16,10 +16,12 @@
                 <view class="h4">
                   {{ t('blockchain.item2') }}
                 </view>
-                <view class="add-wallet-btn" @click="addBank()" v-if="cryptoWallets.length < 2">
-                  <text>+</text>
+                <button type="button" class="btn btn-danger btn-shadow waves-effect" @click="addBank()" v-if="cryptoWallets.length < 2">
+                  <view class="d-flex align-items-center">
+                  <cwg-icon name="crm-plus" :size="14" color="#fff" />
                   <text>{{ `${t('Btn.New')}${t('blockchain.item2')}` }}</text>
-                </view>
+                  </view>
+                </button>
               </view>
 
               <view class="bank-info bg-gray bg-opacity-05 card" v-for="(item, index) in cryptoWallets" :key="item.id">
@@ -99,10 +101,12 @@
                 <view class="h4">
                   {{ t('PersonalManagement.Title.ChinaUnionPayCard') }}
                 </view>
-                <view class="add-wallet-btn" @click="addBank()" v-if="unionpayCards.length < 2">
-                  <text>+</text>
-                  <text>{{ `${t('Btn.New')}${t('PersonalManagement.Title.ChinaUnionPayCard')}` }}</text>
-                </view>
+                <button type="button" class="btn btn-danger btn-shadow waves-effect" @click="addBank()" v-if="unionpayCards.length < 2">
+                  <view class="d-flex align-items-center">
+                    <cwg-icon name="crm-plus" :size="14" color="#fff" />
+                    <text>{{ `${t('Btn.New')}${t('PersonalManagement.Title.ChinaUnionPayCard')}` }}</text>
+                  </view>
+                </button>
               </view>
               <view class="bank-info bg-gray bg-opacity-05 card" v-for="(item, index) in unionpayCards" :key="item.id">
                 <view class="bank-header card-header">
@@ -192,10 +196,12 @@
                 <view class="h4">
                   {{ t('PersonalManagement.Title.BankWireTransfer') }}
                 </view>
-                <view class="add-wallet-btn" @click="addBank()" v-if="wireTransfers.length < 2">
-                  <text>+</text>
-                  <text>{{ `${t('Btn.New')}${t('PersonalManagement.Title.BankWireTransfer')}` }}</text>
-                </view>
+                <button type="button" class="btn btn-danger btn-shadow waves-effect" @click="addBank()" v-if="wireTransfers.length < 2">
+                  <view class="d-flex align-items-center">
+                    <cwg-icon name="crm-plus" :size="14" color="#fff" />
+                    <text>{{ `${t('Btn.New')}${t('PersonalManagement.Title.BankWireTransfer')}` }}</text>
+                  </view>
+                </button>
               </view>
               <view class="bank-info bg-gray bg-opacity-05 card" v-for="(item, index) in wireTransfers" :key="item.id">
                 <view class="bank-header card-header ">
@@ -289,10 +295,12 @@
                 <view class="h4">
                   {{ t('PersonalManagement.Label.CreditCard') }}
                 </view>
-                <view class="add-wallet-btn" @click="addBank()" v-if="creditCards.length < 2">
-                  <text>+</text>
-                  <text>{{ `${t('Btn.New')}${t('PersonalManagement.Label.CreditCard')}` }}</text>
-                </view>
+                <button type="button" class="btn btn-danger btn-shadow waves-effect" @click="addBank()" v-if="creditCards.length < 2">
+                  <view class="d-flex align-items-center">
+                    <cwg-icon name="crm-plus" :size="14" color="#fff" />
+                    <text>{{ `${t('Btn.New')}${t('PersonalManagement.Label.CreditCard')}` }}</text>
+                  </view>
+                </button>
               </view>
               <view class="bank-info bg-gray bg-opacity-05 card" v-for="(item, index) in creditCards" :key="item.id">
                 <view class="bank-header card-header">
@@ -790,7 +798,9 @@
 
 <style scoped lang="scss">
   @import "@/uni.scss";
-
+  .btn {
+    margin: 0;
+  }
   .user-form {
     margin-top: px2rpx(30);
   }

+ 19 - 10
pages/mine/components/FileManagementTab.vue

@@ -5,19 +5,25 @@
             <view/>
             <view class="content-title-btns">
 <!--              -->
-                <view v-if="!isSHowBtn.isSHowIdentity" class="btn-primary" @click="openAddFileDialog(1)">
-                    <cwg-icon icon="crm-plus" :size="16" color="#fff" />
-                    <text v-t="'PersonalManagement.Title.ProofOfIdentity'" />
+              <button v-if="!isSHowBtn.isSHowIdentity" type="button" class="btn btn-danger btn-shadow waves-effect" @click="openAddFileDialog(1)" >
+                <view class="d-flex align-items-center">
+                  <cwg-icon name="crm-plus" :size="14" color="#fff" />
+                  <text v-t="'PersonalManagement.Title.ProofOfIdentity'" />
                 </view>
-<!--              -->
-                <view v-if="!isSHowBtn.isSHowAddress" class="btn-primary" @click="openAddFileDialog(2)">
-                    <cwg-icon icon="crm-plus" :size="16" color="#fff" />
-                    <text v-t="'PersonalManagement.Title.ProofOfAddress'" />
+              </button>
+              <button v-if="!isSHowBtn.isSHowAddress" type="button" class="btn btn-danger btn-shadow waves-effect" @click="openAddFileDialog(2)" >
+                <view class="d-flex align-items-center">
+                  <cwg-icon name="crm-plus" :size="14" color="#fff" />
+                  <text v-t="'PersonalManagement.Title.ProofOfAddress'" />
                 </view>
-                <view class="btn-primary" @click="openAddFileDialog(3)">
-                    <cwg-icon icon="crm-plus" :size="16" color="#fff" />
-                    <text v-t="'PersonalManagement.Title.AttachedFile'" />
+              </button>
+              <button  type="button" class="btn btn-danger btn-shadow waves-effect" @click="openAddFileDialog(3)" >
+                <view class="d-flex align-items-center">
+                  <cwg-icon name="crm-plus" :size="14" color="#fff" />
+                  <text v-t="'PersonalManagement.Title.AttachedFile'" />
                 </view>
+              </button>
+<!--              -->
             </view>
         </view>
         <cwg-tabel ref="tableRef" :columns="columns" :api="customFileApi" :show-operation="false"
@@ -169,6 +175,9 @@ defineProps<Props>();
 
 <style scoped lang="scss">
 @import "@/uni.scss";
+.btn{
+  margin: 0;
+}
 
 .avatar {
     width: px2rpx(60);

+ 13 - 16
pages/mine/components/SecurityCenterTab.vue

@@ -44,8 +44,10 @@
                     </view>
                   </uni-col>
                   <uni-col :xs="24">
-                    <view class="btn btn-confirm mt-4" @click="passwordUpdate">{{ locale == 'es' ?
-                      'Actualizarcontraseña' : t('Btn.Application') }}</view>
+                    <button  type="button" class="btn btn-danger btn-shadow waves-effect mt-4" @click="passwordUpdate">
+                    {{ locale == 'es' ?
+                      'Actualizarcontraseña' : t('Btn.Application') }}
+                    </button>
                   </uni-col>
                 </uni-row>
               </uni-forms>
@@ -82,8 +84,10 @@
                     </view>
                   </uni-col>
                   <uni-col :xs="24">
-                    <view class="btn btn-confirm mt-4" @click="emailUpdate">{{ locale == 'es' ?
-                      'Actualizarcontraseña' : t('Btn.Application') }}</view>
+                    <button  type="button" class="btn btn-danger btn-shadow waves-effect mt-4" @click="emailUpdate">
+                      {{ locale == 'es' ?
+                      'Actualizarcontraseña' : t('Btn.Application') }}
+                    </button>
                   </uni-col>
                 </uni-row>
               </uni-forms>
@@ -272,16 +276,6 @@ onMounted(() => {
 
 .btn {
     width: 100%;
-    display: flex;
-    align-items: center;
-    justify-content: center;
-    padding: px2rpx(12) 0;
-    background-color: var(--color-error);
-    color: white;
-    border: none;
-    font-size: px2rpx(16);
-    cursor: pointer;
-    margin-bottom: px2rpx(24);
 }
 
 .notice-list {
@@ -313,14 +307,17 @@ onMounted(() => {
     .btn-code {
       width: 30%;
         margin-bottom: px2rpx(10);
-        padding: px2rpx(10) px2rpx(16);
+        //padding: px2rpx(10) px2rpx(16);
+      padding: 0;
         background-color: #102047;
         color: #fff;
       height: 3rem;
+      box-sizing: border-box;
+      line-height: 3rem;
       text-align: center;
       border-radius: 0 px2rpx(6) px2rpx(6) 0;
       cursor: pointer;
-      font-size: 14px;
+      font-size: px2rpx(16);
       flex-shrink: 0;
     }
 

+ 27 - 23
pages/mine/improveImmediately.vue

@@ -555,57 +555,57 @@
           <template v-if="currentStep === 4">
             <view class="btns">
               <view class="cwg-button two-btn">
-                <u-button class="btn-primary" type="primary" block @click="cancle">
+                <button class="btn btn-danger" type="primary" block @click="cancle">
                   {{ t('Btn.Cancel') }}
-                </u-button>
-                <u-button  block class=" btn-primary" type="primary" @click="goStep(3)">
+                </button>
+                <button  block class="btn btn-danger" type="primary" @click="goStep(3)">
                   {{ t('Btn.Last') }}
-                </u-button>
-                <u-button type="primary" class="btn-primary" block :loading="loadingStates.submit" @click="Submit">
+                </button>
+                <button type="primary" class="btn btn-danger" block :loading="loadingStates.submit" @click="Submit">
                   {{ t('Btn.Submit') }}
-                </u-button>
+                </button>
               </view>
             </view>
           </template>
           <template v-else-if="currentStep === 3">
             <view class="btns">
               <view class="cwg-button two-btn">
-                <u-button class="btn-primary" type="primary" block @click="cancle">
+                <button class="btn btn-danger" type="primary" block @click="cancle">
                   {{ t('Btn.Cancel') }}
-                </u-button>
-                <u-button  block class="prev-btn btn-primary" type="primary" @click="goStep(2)">
+                </button>
+                <button  block class="btn prev-btn btn-danger" type="primary" @click="goStep(2)">
                   {{ t('Btn.Last') }}
-                </u-button>
-                <u-button class="btn-primary" type="primary" block :loading="loadingStates.next" @click="goStep(4)">
+                </button>
+                <button class="btn btn-danger" type="primary" block :loading="loadingStates.next" @click="goStep(4)">
                   {{ t('Btn.Next') }}
-                </u-button>
+                </button>
               </view>
             </view>
           </template>
           <template v-else-if="currentStep === 2">
             <view class="btns">
               <view class="cwg-button two-btn">
-                <u-button class="btn-primary" type="primary" block @click="cancle">
+                <button class="btn btn-danger" type="primary" block @click="cancle">
                   {{ t('Btn.Cancel') }}
-                </u-button>
-                <u-button  block class="prev-btn btn-primary" type="primary" @click="goStep(1)">
+                </button>
+                <button  block class="btn prev-btn btn-danger" type="primary" @click="goStep(1)">
                   {{ t('Btn.Last') }}
-                </u-button>
-                <u-button class="btn-primary" type="primary" block :loading="loadingStates.next" @click="goStep(3)">
+                </button>
+                <button class="btn btn-danger" type="primary" block :loading="loadingStates.next" @click="goStep(3)">
                   {{ t('Btn.Next') }}
-                </u-button>
+                </button>
               </view>
             </view>
           </template>
           <template v-else-if="currentStep === 1">
             <view class="btns">
               <view class="cwg-button two-btn">
-                <u-button class="btn-primary" type="primary" block @click="cancle">
+                <button class="btn btn-danger" type="primary" block @click="cancle">
                   {{ t('Btn.Cancel') }}
-                </u-button>
-                <u-button class="btn-primary" type="primary" block :loading="loadingStates.next" @click="goStep(2)">
+                </button>
+                <button class="btn btn-danger" type="primary" block :loading="loadingStates.next" @click="goStep(2)">
                   {{ t('Btn.Next') }}
-                </u-button>
+                </button>
               </view>
             </view>
           </template>
@@ -615,7 +615,7 @@
     <view class="form-tab"></view>
   </cwg-page-wrapper>
   <!--离开弹出框-->
-  <uni-popup ref="dialogCheck" type="center" background-color="#fff">
+  <uni-popup ref="dialogCheck" type="center" background-color="#fff" borderRadius="8px 8px 8px 8px">
     <view class="dia-content" v-if="dialogCheck1">
       <view class="icon">
         <i class="iconfont iconjingshi"></i>
@@ -1472,6 +1472,10 @@ onUnmounted(() => {
 
 <style scoped lang="scss">
 @import "@/uni.scss";
+.btn{
+  margin: 0;
+  width: 100%;
+}
 
 .form-tab {
   height: px2rpx(100);

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

@@ -2082,6 +2082,7 @@ uni-content.collapsed {
         gap: px2rpx(8);
 
         :deep(uni-checkbox .uni-checkbox-input) {
+          margin-top: px2rpx(4);
             border-radius: px2rpx(4);
             width: px2rpx(18);
             height: px2rpx(18);

+ 2 - 2
static/scss/global/vu.css

@@ -761,8 +761,8 @@ progress {
   --bs-gutter-x: 1.5rem;
   --bs-gutter-y: 0;
   width: 100%;
-  padding-right: calc(var(--bs-gutter-x) * 0.5);
-  padding-left: calc(var(--bs-gutter-x) * 0.5);
+  /*padding-right: calc(var(--bs-gutter-x) * 0.5);*/
+  /*padding-left: calc(var(--bs-gutter-x) * 0.5);*/
   margin-right: auto;
   margin-left: auto;
 }

+ 4 - 0
uni.scss

@@ -84,4 +84,8 @@ $uni-font-size-paragraph: 15px;
 
 .uni-picker-container{
   z-index: 11201!important;
+}
+
+:deep(.toast__content){
+word-wrap: break-word!important;
 }

+ 3 - 3
uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.vue

@@ -40,16 +40,16 @@
 
 			<template v-if="type === 'password' && passwordIcon">
 				<!-- 开启密码时显示小眼睛 -->
-				<uni-icons v-if="isVal" class="content-clear-icon" :class="{ 'is-textarea-icon': type === 'textarea' }"
+				<uni-icons v-if="isVal" class="content-clear-icon cursor-pointer" :class="{ 'is-textarea-icon': type === 'textarea' }"
 					:type="showPassword ? 'eye-slash-filled' : 'eye-filled'" :size="22"
 					:color="focusShow ? primaryColor : '#c0c4cc'" @click="onEyes"></uni-icons>
 			</template>
 			<template v-if="suffixIcon">
-				<uni-icons v-if="suffixIcon" class="content-clear-icon" :type="suffixIcon" color="#c0c4cc"
+				<uni-icons v-if="suffixIcon" class="content-clear-icon cursor-pointer" :type="suffixIcon" color="#c0c4cc"
 					@click="onClickIcon('suffix')" size="22"></uni-icons>
 			</template>
 			<template v-else>
-				<uni-icons v-if="clearable && isVal && !disabled && type !== 'textarea'" class="content-clear-icon"
+				<uni-icons v-if="clearable && isVal && !disabled && type !== 'textarea'" class="content-clear-icon cursor-pointer"
 					:class="{ 'is-textarea-icon': type === 'textarea' }" type="clear" :size="clearSize"
 					:color="msg ? '#dd524d' : focusShow ? primaryColor : '#c0c4cc'" @click="onClear"></uni-icons>
 			</template>

+ 2 - 2
windows/top-window.vue

@@ -5,7 +5,7 @@
         @click="openLeftDrawer" />
       <image class="left-img" v-else src="/static/images/vu/logo-full-white.svg" mode="widthFix" alt="logo"
         @click="openLeftDrawer" />
-      <div class="cid" v-if="visible"  @click="copy(cId)">{{t('newSignin.item1')}} {{name}} - {{ cId}}</div>
+      <div class="cid" v-if="visible"  @click="copy(cId)">{{t('newSignin.item1')}} {{name?(name + ' - '):''}}{{ cId}}</div>
     </div>
     <div class="right" v-if="visible">
       <cwg-payment />
@@ -47,7 +47,7 @@ const cId = computed(() => {
 
 const name = computed(() => {
   const info = userStore.userInfo?.customInfo || {}
-  return `${info.firstName} ${info.lastName}`
+  return info.firstName&&info.lastName?`${info.firstName} ${info.lastName}`:''
 })
 
 onMounted(()=>{