ljc hace 3 semanas
padre
commit
7ebcc43ce7

+ 1 - 1
components/cwg-link.vue

@@ -96,7 +96,7 @@ const startDownload = () => {
 
 <style scoped>
 .pdf-link {
-  width: 100%;
+  //width: 100%;
   display: inline-block;
   cursor: pointer;
 }

+ 8 - 6
components/cwg-payment.vue

@@ -23,12 +23,12 @@
             <view class="balance-amount">{{ formattedBalance }} USD</view>
             <view @click="toPaymentHistory">
               <view class="account-number">${{ formattedPendingWithdrawAmount }}</view>
-              <view class="account-type" v-t="'wallet.pendingWithdraw'"></view>
+              <view class="account-type" v-t="'wallet.pendingWithdraw1'"></view>
             </view>
 
           </view>
           <view class="drawer-actions">
-            <button class="action-btn" @click.stop="goPages(1)" v-t="'wallet.item6'"></button>
+            <button class=" action-btn" @click.stop="goPages(1)" v-t="'wallet.item6'"></button>
             <button class="action-btn" @click.stop="goPages(2)" v-t="'wallet.item7'"></button>
           </view>
         </view>
@@ -339,6 +339,7 @@ onUnmounted(() => {
 
     .drawer-content {
       padding: px2rpx(20) px2rpx(16);
+      cursor: pointer;
 
       .balance-amount {
         font-size: px2rpx(18);
@@ -349,13 +350,13 @@ onUnmounted(() => {
 
       .account-type {
         font-size: px2rpx(13);
-        color: var(--bs-heading-color);
+        color: var(--cwg-placeholder-color);
         margin-bottom: px2rpx(4);
       }
 
       .account-number {
         font-size: px2rpx(13);
-        color: var(--bs-heading-color);
+        color: var(--cwg-placeholder-color);
       }
     }
 
@@ -368,10 +369,11 @@ onUnmounted(() => {
         flex: 1;
         height: px2rpx(36);
         line-height: px2rpx(36);
-        background-color: rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important;
+        background-color: #f5f5f5;
+        border: 1px solid #97A1C0;
         color: var(--bs-heading-color);
         font-size: px2rpx(13);
-        border-radius: px2rpx(4);
+        border-radius: px2rpx(6);
         margin: 0;
 
         &::after {

+ 2 - 1
locale/cn.json

@@ -3242,7 +3242,8 @@
     "item74": "恭喜您获得",
     "item75": "奖金,已发放至您的钱包中。",
     "item76": "感谢您的参与",
-    "pendingWithdraw": "处理中出金金额"
+    "pendingWithdraw": "处理中出金金额",
+    "pendingWithdraw1": "提款处理中金额"
   },
   "blockchain": {
     "item1": "子账户",

+ 2 - 1
locale/en.json

@@ -3216,7 +3216,8 @@
     "item74": "Congratulations on receiving the ",
     "item75": "bonus, which has been distributed to your wallet.",
     "item76": "Thank you for your participation",
-    "pendingWithdraw": "Pending Withdrawal Amount"
+    "pendingWithdraw": "Pending Withdrawal Amount",
+    "pendingWithdraw1": "Amount in withdrawal processing"
   },
   "blockchain": {
     "item1": "Subaccount",

+ 3 - 0
pages/common/download.vue

@@ -1106,4 +1106,7 @@ onMounted(async () => {
     width: px2rpx(200) !important;
     height: px2rpx(200) !important;
 }
+:deep(.pdf-link){
+  width: 100%;
+}
 </style>

+ 8 - 1
pages/common/notice.vue

@@ -9,7 +9,7 @@
             <cwg-tabel ref="tableRef" :columns="columns" :mobilePrimaryFields="mobilePrimaryFields"
                 :queryParams="search" :api="listApi" @go-pages="goPages" :isPages="true">
                 <template #status="{ row }">
-                    <text class="cwg-cursor">{{readOptions.find(item => item.value === row.read)?.text}}</text>
+                    <text class="status-tag" :class="getStatusColor(row.read)">{{readOptions.find(item => item.value === row.read)?.text}}</text>
                 </template>
             </cwg-tabel>
         </view>
@@ -96,6 +96,13 @@ const mobilePrimaryFields = ref([
     },
 ])
 
+const getStatusColor = (value) => {
+  const classMap=  {
+    0: 'status-pending',
+    1: 'status-success',
+  }
+  return classMap[value] || ''
+}
 const goPages = (e) => {
     router.push({
         path: '/pages/analytics/detail',

+ 9 - 6
pages/customer/components/digitalPayConfirmPopup.vue

@@ -33,10 +33,10 @@
                     <cwg-file-picker-wrapper v-model="imageUrl" :limit="1" :editable="true" :fileMediatype="'all'"
                         :imageWidth="142" :imageHeight="142" uploadUrl="/common/upload" :baseUrl="Host80" />
                 </view>
-                <view class="digital-pay-upload-wrap">
+                <view class="digital-pay-upload-wrap mt-3">
                     <view class="digital-pay-upload__label" v-t="'Custom.Deposit.HashCode'">
                     </view>
-                    <uni-easyinput :placeholder="t('Custom.Deposit.HashCodePlaceholder')" v-model.trim="hashCode"></uni-easyinput>
+                    <uni-easyinput :customStyle="customStyle" :placeholder="t('Custom.Deposit.HashCodePlaceholder')" v-model.trim="hashCode"></uni-easyinput>
                 </view>
             </view>
         </view>
@@ -133,7 +133,7 @@ const close = () => { visible.value = false; imageUrl.value = "";hashCode.value
 
     .digital-pay-field__label {
         display: block;
-        font-size: px2rpx(14);
+        font-size: px2rpx(16);
         font-weight: bold;
         margin-bottom: px2rpx(8);
         line-height: 1.4;
@@ -141,7 +141,7 @@ const close = () => { visible.value = false; imageUrl.value = "";hashCode.value
     }
 
     .digital-pay-field__value {
-        font-size: px2rpx(14);
+        font-size: px2rpx(16);
         line-height: 1.55;
         word-break: break-all;
         overflow-wrap: anywhere;
@@ -160,7 +160,7 @@ const close = () => { visible.value = false; imageUrl.value = "";hashCode.value
         padding: 0;
         border: none;
         background: transparent;
-        font-size: px2rpx(14);
+        font-size: px2rpx(16);
         color: var(--bs-emphasis-color);
         line-height: 1.6;
     }
@@ -196,10 +196,13 @@ const close = () => { visible.value = false; imageUrl.value = "";hashCode.value
 
     .digital-pay-upload-wrap {
         margin-top: 0;
+      :deep(.uni-easyinput__content){
+        height: px2rpx(43);
+      }
     }
 
     .digital-pay-upload__label {
-        font-size: px2rpx(14);
+        font-size: px2rpx(16);
         font-weight: bold;
         margin-bottom: px2rpx(10);
         line-height: 1.4;

+ 9 - 6
pages/customer/dashboard.vue

@@ -100,7 +100,7 @@
         </uni-row>
       </uni-col>
       <uni-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
-        <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
+        <uni-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12" style="height: 100%">
           <view class="chart-box crm-border-radius">
             <view class="chart-title">
               <uni-row>
@@ -958,7 +958,7 @@
     font-size: px2rpx(16);
     color: #fff;
     padding: px2rpx(10) px2rpx(20);
-    border-radius: px2rpx(24);
+    border-radius: px2rpx(8);
     margin: 0;
   }
 
@@ -983,6 +983,7 @@
     background: var(--color-white);
     border-radius: 8px;
     padding: px2rpx(16);
+    height: 100%;
     box-shadow: 0 px2rpx(4) px2rpx(12) rgba(0, 0, 0, 0.2);
   }
   .mh{
@@ -1062,13 +1063,15 @@
     margin-left: px2rpx(10);
     color: #666;
     margin-bottom: px2rpx(10);
-    height: px2rpx(35);
-    width: px2rpx(110);
-    line-height: px2rpx(35)!important;
+    height: px2rpx(48);
+    width: px2rpx(100);
+    font-size: px2rpx(16);
+    line-height: px2rpx(48)!important;
   }
 
   .chart-container {
-    height: px2rpx(300);
+    margin-top: px2rpx(20);
+    height: px2rpx(350);
   }
 
   .popup-content .form {

+ 3 - 1
pages/customer/withdrawal-select.vue

@@ -1862,7 +1862,9 @@ onMounted(() => {
 
 <style lang="scss" scoped>
 @import "@/uni.scss";
-
+.card-header{
+  border: none;
+}
 .custom-withdraw {
 
   .box {

+ 7 - 3
pages/login/index.vue

@@ -1043,11 +1043,11 @@ const handleChatIconClick = () => {
       height: calc(100vh - 120px);
       display: flex;
       flex-direction: column;
-      justify-content: center;
+      //justify-content: center;
       padding: 0 10%;
 
       .company {
-        padding: px2rpx(10) 0 px2rpx(20) 0;
+        padding: px2rpx(20) 0 px2rpx(40) 0;
         position: relative;
         align-items: center !important;
       }
@@ -1413,11 +1413,15 @@ button {
   line-height: 20px;
   color: #000;
   font-size: px2rpx(14);
+:deep(.pdf-link){
+  width: auto;
 
+}
   .desc-link {
-    display: inline-block;
+    display: inline-block!important;
     color: #e61f1e;
     text-decoration: underline;
+
   }
 }
 </style>

+ 1 - 0
pages/mine/components/FileManagementTab.vue

@@ -192,6 +192,7 @@ defineProps<Props>();
             color: white;
             padding: 0 px2rpx(10);
             border: none;
+          border-radius: px2rpx(6);
             font-size: px2rpx(14);
             text-align: center;
             cursor: pointer;

+ 190 - 80
pages/mine/components/SecurityCenterTab.vue

@@ -1,87 +1,98 @@
 <template>
     <view class="user-form crm-form">
+      <view class="card">
+        <view class="bank-menu card-header">
+          <view v-for="item in types" :key="item.key" class="bank-menu-item"
+                :class="{ active: selectedType === item.key }" @click="selectedType = item.key">
+            <!--                        <image class="bank-icon" :src="item.icon" mode="widthFix" />-->
+            <text>{{ item.label }}</text>
+          </view>
+        </view>
         <uni-row class="demo-uni-row uni-row1" :gutter="20">
-            <uni-col :xs="24" :sm="24" :md="24" :lg="12" :xl="12" >
-              <view class="card bg-body p-3">
-                <view class="content-title">
-                    <view v-t="'PersonalManagement.Title.CustomerZonePasswordChange'"></view>
-                </view>
-                <hr>
-                <uni-forms :model="passwordInfo" labelWidth="200" label-position="top">
-                    <uni-row class="demo-uni-row">
-                        <uni-col :xs="24">
-                            <uni-forms-item :label="t('PersonalManagement.Label.OldPassword')">
-                                <uni-easyinput :clearable="false" v-model="passwordInfo.oldPassword"
-                                    :placeholder="locale == 'es' ? 'Introduzca el nombre de la red' : t('placeholder.input')" />
-                            </uni-forms-item>
-                        </uni-col>
-                        <uni-col :xs="24">
-                            <uni-forms-item :label="t('PersonalManagement.Label.NewPassword')">
-                                <uni-easyinput :clearable="false" v-model="passwordInfo.newPassword"
-                                    :placeholder="locale == 'es' ? 'Introduzca nueva contraseña' : t('placeholder.input')" />
-                            </uni-forms-item>
-                        </uni-col>
-                        <uni-col :xs="24">
-                            <uni-forms-item :label="t('PersonalManagement.Label.NewPasswordConfirmation')">
-                                <uni-easyinput :clearable="false" v-model="passwordInfo.checkPass"
-                                    :placeholder="locale == 'es' ? 'Introduzca nueva contraseña' : t('placeholder.input')" />
-                            </uni-forms-item>
-                        </uni-col>
-                        <uni-col :xs="24">
-                            <view class="notice-list">
-                                <view v-for="(item, index) in noticeItems" :key="index"
-                                    :class="['notice-item', item.valid ? 'isOK' : '']">
-                                    {{ item.label }}
-                                </view>
-                            </view>
-                        </uni-col>
-                        <uni-col :xs="24">
-                            <view class="btn btn-confirm mt-4" @click="passwordUpdate">{{ locale == 'es' ?
-                                'Actualizarcontraseña' : t('Btn.Application') }}</view>
-                        </uni-col>
-                    </uni-row>
-                </uni-forms>
+          <uni-col v-show="selectedType == 1" :xs="24" :sm="24" :md="24" :lg="12" :xl="12" :offset="6">
+            <view class=" p-3">
+              <view class="content-title">
+                <view v-t="'PersonalManagement.Title.CustomerZonePasswordChange'"></view>
               </view>
-            </uni-col>
-            <uni-col :xs="24" :sm="24" :md="24" :lg="12" :xl="12">
-              <view class="card bg-body p-3">
-                <view class="content-title">
-                    <view v-t="'PersonalManagement.Title.EmailChange'"></view>
-                </view>
-                <hr>
-                <uni-forms :model="emailInfo" labelWidth="200" label-position="top">
-                    <uni-row class="demo-uni-row">
-                        <uni-col :xs="24">
-                            <uni-forms-item :label="t('PersonalManagement.Label.OldEmail')">
-                                <uni-easyinput :clearable="false" v-model="emailInfo.oldEmail"
-                                    :placeholder="t('placeholder.input')" />
-                            </uni-forms-item>
-                        </uni-col>
-                        <uni-col :xs="24">
-                            <uni-forms-item :label="t('PersonalManagement.Label.NewEmail')">
-                                <uni-easyinput :clearable="false" v-model="emailInfo.email"
-                                    :placeholder="t('placeholder.input')" />
-                            </uni-forms-item>
-                        </uni-col>
-                        <uni-col :xs="24">
-                            <view class="email-code">
-                                <uni-forms-item :label="t('PersonalManagement.Label.MailboxVerificationCode')"
-                                    class="email-code-item">
-                                    <uni-easyinput :clearable="false" v-model="emailInfo.emailCode"
-                                        :placeholder="locale == 'es' ? 'Código de 6 dígitos' : t('placeholder.input')" />
-                                </uni-forms-item>
-                                <view class="btn btn-code" @click="handleGetCode">{{ getCodeString }}</view>
-                            </view>
-                        </uni-col>
-                        <uni-col :xs="24">
-                            <view class="btn btn-confirm mt-4" @click="emailUpdate">{{ locale == 'es' ?
-                                'Actualizarcontraseña' : t('Btn.Application') }}</view>
-                        </uni-col>
-                    </uni-row>
-                </uni-forms>
+              <hr>
+              <uni-forms :model="passwordInfo" labelWidth="200" label-position="top">
+                <uni-row class="demo-uni-row">
+                  <uni-col :xs="24">
+                    <uni-forms-item :label="t('PersonalManagement.Label.OldPassword')">
+                      <uni-easyinput :clearable="false" v-model="passwordInfo.oldPassword"
+                                     :placeholder="locale == 'es' ? 'Introduzca el nombre de la red' : t('placeholder.input')" />
+                    </uni-forms-item>
+                  </uni-col>
+                  <uni-col :xs="24">
+                    <uni-forms-item :label="t('PersonalManagement.Label.NewPassword')">
+                      <uni-easyinput :clearable="false" v-model="passwordInfo.newPassword"
+                                     :placeholder="locale == 'es' ? 'Introduzca nueva contraseña' : t('placeholder.input')" />
+                    </uni-forms-item>
+                  </uni-col>
+                  <uni-col :xs="24">
+                    <uni-forms-item :label="t('PersonalManagement.Label.NewPasswordConfirmation')">
+                      <uni-easyinput :clearable="false" v-model="passwordInfo.checkPass"
+                                     :placeholder="locale == 'es' ? 'Introduzca nueva contraseña' : t('placeholder.input')" />
+                    </uni-forms-item>
+                  </uni-col>
+                  <uni-col :xs="24">
+                    <view class="notice-list">
+                      <view v-for="(item, index) in noticeItems" :key="index"
+                            :class="['notice-item', item.valid ? 'isOK' : '']">
+                        {{ item.label }}
+                      </view>
+                    </view>
+                  </uni-col>
+                  <uni-col :xs="24">
+                    <view class="btn btn-confirm mt-4" @click="passwordUpdate">{{ locale == 'es' ?
+                      'Actualizarcontraseña' : t('Btn.Application') }}</view>
+                  </uni-col>
+                </uni-row>
+              </uni-forms>
+            </view>
+          </uni-col>
+          <uni-col v-show="selectedType == 2" :xs="24" :sm="24" :md="24" :lg="12" :xl="12" :offset="6">
+            <view class=" p-3">
+              <view class="content-title">
+                <view v-t="'PersonalManagement.Title.EmailChange'"></view>
               </view>
-            </uni-col>
+              <hr>
+              <uni-forms :model="emailInfo" labelWidth="200" label-position="top">
+                <uni-row class="demo-uni-row">
+                  <uni-col :xs="24">
+                    <uni-forms-item :label="t('PersonalManagement.Label.OldEmail')">
+                      <uni-easyinput :clearable="false" v-model="emailInfo.oldEmail"
+                                     :placeholder="t('placeholder.input')" />
+                    </uni-forms-item>
+                  </uni-col>
+                  <uni-col :xs="24">
+                    <uni-forms-item :label="t('PersonalManagement.Label.NewEmail')">
+                      <uni-easyinput :clearable="false" v-model="emailInfo.email"
+                                     :placeholder="t('placeholder.input')" />
+                    </uni-forms-item>
+                  </uni-col>
+                  <uni-col :xs="24">
+                    <view class="email-code">
+                      <uni-forms-item :label="t('PersonalManagement.Label.MailboxVerificationCode')"
+                                      class="email-code-item">
+                        <uni-easyinput :clearable="false" v-model="emailInfo.emailCode"
+                                       :placeholder="locale == 'es' ? 'Código de 6 dígitos' : t('placeholder.input')" />
+                      </uni-forms-item>
+                      <view class="btn btn-code" @click="handleGetCode">{{ getCodeString }}</view>
+                    </view>
+                  </uni-col>
+                  <uni-col :xs="24">
+                    <view class="btn btn-confirm mt-4" @click="emailUpdate">{{ locale == 'es' ?
+                      'Actualizarcontraseña' : t('Btn.Application') }}</view>
+                  </uni-col>
+                </uni-row>
+              </uni-forms>
+            </view>
+          </uni-col>
         </uni-row>
+      </view>
+
+
     </view>
 </template>
 
@@ -114,6 +125,16 @@ const passwordInfo = ref({
 const emailInfo = ref({
     email: '',
 });
+const selectedType = ref(1)
+const types = computed(() => {
+  return [
+      { key: '1', label: t('PersonalManagement.Title.CustomerZonePasswordChange') },
+      {
+        key: '2',
+        label: t('PersonalManagement.Title.EmailChange'),
+      },
+  ]
+})
 const rule1 = computed(() => {
     if (!passwordInfo.value.newPassword) {
         return false;
@@ -292,7 +313,7 @@ onMounted(() => {
     :deep(.email-code-item) {
         flex: 1;
       .uni-easyinput__content{
-        border-radius: px2rpx(8) 0 0 px2rpx(8);
+        border-radius: px2rpx(6) 0 0 px2rpx(6);
       }
     }
 
@@ -304,11 +325,100 @@ onMounted(() => {
         color: #fff;
       height: 3rem;
       text-align: center;
-      border-radius: 0 25px 25px 0;
+      border-radius: 0 px2rpx(6) px2rpx(6) 0;
       cursor: pointer;
       font-size: 14px;
       flex-shrink: 0;
     }
 
 }
+  .bank-menu {
+    background: #fff;
+    overflow: hidden;
+
+    .bank-menu-item {
+      display: flex;
+      align-items: center;
+      gap: px2rpx(12);
+      padding: px2rpx(10) px2rpx(16);
+      cursor: pointer;
+      border: 1px solid #f3f4f6;
+      font-size: px2rpx(16);
+      font-weight: 500;
+      color: #1f2937;
+      transition: all 0.3s;
+      height: px2rpx(50);
+      border-radius: px2rpx(8);
+      margin-bottom: px2rpx(8);
+
+      .bank-icon {
+        width: px2rpx(50);
+      }
+
+      &.active {
+        background: #ea2027;
+        color: var(--bs-emphasis-color);
+        border-radius: px2rpx(0);
+      }
+
+      &:hover {
+        background: #f9fafb;
+      }
+
+      &.active:hover {
+        background: #d11920;
+      }
+    }
+  }
+  .bank-menu {
+    // background: #fff;
+    display: flex;
+    flex-wrap: wrap;
+    overflow: hidden;
+
+    &.card-header {
+      padding: px2rpx(10) px2rpx(20);
+    }
+
+    .bank-menu-item {
+      flex: 1;
+      min-width: px2rpx(260);
+      display: flex;
+      align-items: center;
+      justify-content: center;
+      //gap: px2rpx(12);
+      padding: 0 px2rpx(16);
+      cursor: pointer;
+      font-size: px2rpx(16);
+      font-weight: bold;
+      color: var(--bs-emphasis-color);
+      transition: all 0.3s;
+      height: px2rpx(36);
+      border-radius: px2rpx(8);
+
+      .bank-icon {
+        width: px2rpx(50);
+      }
+
+      &.active {
+        background: #f5f5f5;
+        color: #000;
+        border-radius: px2rpx(8);
+
+        &:hover {
+          background: var(--bs-link-hover-color-rgb);
+          color: #333;
+        }
+      }
+
+      &:hover {
+        background: #f5f5f5;
+        color: #333;
+      }
+
+      &.active:hover {
+        background: #f5f5f5;
+      }
+    }
+  }
 </style>

+ 1 - 1
windows/left-window.vue

@@ -20,7 +20,7 @@
       </view>
     </view>
     <view class="menu fixed">
-      <view class="menu-item btn-danger btn btn-app-nav btn-danger btn-shadow mb-2 w-100 waves-effect ib-box btn-mode"
+      <view class="menu-item btn-outline-danger btn  btn-danger btn-shadow mb-2 w-100 waves-effect ib-box btn-mode"
         @click="setMode('customer')" v-if="mode !== 'customer'">
         <cwg-icon name="crm-trade" :size="20" color="#000" />
         <view class="menu-label" v-t="'Home.msg.Custom'" />

+ 6 - 1
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')}} {{ cId}}</div>
+      <div class="cid" v-if="visible"  @click="copy(cId)">{{t('newSignin.item1')}} {{name}} - {{ cId}}</div>
     </div>
     <div class="right" v-if="visible">
       <cwg-payment />
@@ -45,6 +45,11 @@ const cId = computed(() => {
   return info.cId || info.id || '--'
 })
 
+const name = computed(() => {
+  const info = userStore.userInfo?.customInfo || {}
+  return `${info.firstName} ${info.lastName}`
+})
+
 onMounted(()=>{
   uni.$emit('updateSystemList','top')
 })