ljc пре 1 недеља
родитељ
комит
b1bb121bac

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

@@ -24,14 +24,14 @@
                             <template v-else-if="field.type === 'daterange'">
                                 <uni-datetime-picker class="cursor-pointer" :start="dateLimit.start" :end="dateLimit.end"
                                     v-model="formData[field.key]" type="daterange"
-                                    :placeholder="field.placeholder || '请选择日期范围'" :startPlaceholder="t('placeholder.Start')" :endPlaceholder="t('placeholder.End')" @change="handleDateChange" />
+                                    :placeholder="field.placeholder || '请选择日期范围'" :startPlaceholder="t('placeholder.Start')" :endPlaceholder="t('placeholder.End')" @change="handleDateChange" :data-tooltip="field.placeholder" data-placement="top"/>
                             </template>
                             <template v-else-if="field.type === 'picker'">
                                 <uni-data-picker class="cursor-pointer" style="min-width: 100px" v-model="formData[field.key]"
                                     :localdata="field.options" :popup-title="field.popupTitle || t('State.All')"
                                     :map="field.map || { value: 'value', text: 'label' }"
                                     @change="(e) => field.onChange?.(e)"
-                                    @nodeclick="(node) => field.onNodeClick?.(node)" />
+                                    @nodeclick="(node) => field.onNodeClick?.(node)" :data-tooltip="field.placeholder" data-placement="top"/>
                             </template>
                             <template v-else-if="field.type === 'number'">
                                 <uni-easyinput v-model="formData[field.key]" type="number"

+ 4 - 1
components/cwg-file-picker-wrapper.vue

@@ -17,7 +17,7 @@
     <!-- 正常模式:宫格上传(完全对齐官方 upload-image 样式) -->
     <view v-else class="uni-file-picker__container">
       <view class="file-picker__box cursor-pointer" v-for="(item, index) in innerFileList" :key="index"
-        :style="typeof boxStyle === 'object' ? boxStyle : { cssText: boxStyle }">
+        :style="typeof boxStyle === 'object' ? boxStyle : { cssText: boxStyle }" :data-tooltip="t('vu.tooltip.t3')" data-placement="top">
         <view class="file-picker__box-content" :style="borderStyle">
           <!-- 图片 -->
           <image v-if="isImage(item)" class="file-image" :src="item.url || item.path" mode="aspectFill"
@@ -71,8 +71,11 @@
 <script setup>
 import { ref, watch, nextTick, computed } from 'vue'
 import config from '@/config'
+import { useI18n } from 'vue-i18n';
 import { userToken } from '@/composables/config'
 import copChooseFile from '@/uni_modules/cop-chooseFile/components/cop-chooseFile/cop-chooseFile.vue'
+const { t, locale } = useI18n();
+
 // === Vue3 v-model 标准写法 + 多类型兼容 ===
 const props = defineProps({
   modelValue: {

+ 1 - 1
components/cwg-notice.vue

@@ -15,7 +15,7 @@
                         <view class="list-group list-group-hover list-group-smooth list-group-unlined">
                             <view
                                 class="list-group-item d-flex justify-content-between align-items-center cursor-pointer"
-                                v-for="item in list" :key="item.id" @click="goPages(item)">
+                                v-for="item in list" :key="item.id" @click="goPages(item)" :data-tooltip="t('vu.tooltip.t4',{pageName:t('vu.tooltip.t5')})" data-placement="top">
                                 <view class="ms-2 me-auto">
                                     <h6 class="mb-2 position-relative">{{ item.subject
                                         }} <view class="item-badge" v-if="item.read == 0">

+ 2 - 2
components/cwg-payment.vue

@@ -21,14 +21,14 @@
           </view>
           <view class="drawer-content">
             <view class="balance-amount">{{ formattedBalance }} USD</view>
-            <view class="cursor-pointer" @click="toPaymentHistory" :data-tooltip="t('wallet.pendingWithdraw1')">
+            <view class="cursor-pointer" @click="toPaymentHistory" :data-tooltip="t('wallet.pendingWithdraw1')" data-placement="top">
               <view class="account-number">${{ formattedPendingWithdrawAmount }}</view>
               <view class="account-type" v-t="'wallet.pendingWithdraw1'"></view>
             </view>
 
           </view>
           <view class="drawer-actions">
-            <button class="action-btn btn btn-outline-danger waves-effect waves-light" @click.stop="goPages(1)" v-t="'wallet.item6'"></button>
+            <button class="action-btn btn btn-outline-danger waves-effect waves-light cursor-pointer" @click.stop="goPages(1)" v-t="'wallet.item6'" :data-tooltip="t('wallet.item6')" data-placement="top"></button>
             <button class="action-btn btn btn-outline-danger waves-effect waves-light" @click.stop="goPages(2)" v-t="'wallet.item7'"></button>
           </view>
         </view>

+ 2 - 2
composables/useAccountOptions.js

@@ -56,8 +56,8 @@ export function useAccountOptions() {
 
     onMounted(() => {
       // console.log('hook useAccountOptions mounted')
-      console.log(loginOptions.value)
-        if (loginOptions.value && loginOptions.value.length > 0) {
+      // console.log(loginOptions?.length)
+        if (loginOptions && loginOptions?.length > 0) {
             isLoaded.value = true
             isSuccess.value = true
             return

+ 5 - 1
locale/cn.json

@@ -66,7 +66,11 @@
       "content": "是否切换系统?"
     },
     "tooltip": {
-      "t1": "选择时间"
+      "t1": "选择时间",
+      "t2": "复制",
+      "t3": "文件",
+      "t4": "跳转{pageName}页面",
+      "t5": "公告"
     }
   },
   "common": {

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

@@ -37,9 +37,9 @@
             </view>
             <view class="card-body p-3 pt-0">
                 <view class="text-left mb-3">
-                    <h5 class="fw-bold mb-3  cursor-pointer" @click="copy(account.accountNumber)"># {{
+                    <h5 class="fw-bold mb-3  cursor-pointer" :data-tooltip="t('vu.tooltip.t2')" data-placement="top" @click="copy(account.accountNumber)"># {{
                         account.accountNumber }}</h5>
-                    <h4 class="mb-2 cursor-pointer" @click="copy(account.fwq)">{{ account.fwq }}</h4>
+                    <h4 class="mb-2 cursor-pointer" :data-tooltip="t('vu.tooltip.t2')" :data-placement="top" @click="copy(account.fwq)">{{ account.fwq }}</h4>
                     <template v-for="(label, index) in account.labels" :key="index">
                         <text v-if="label" class="badge text-danger1 bg-danger-subtle mx-1 mb-1">{{ label }}</text>
                     </template>

+ 3 - 3
pages/login/index.vue

@@ -102,8 +102,8 @@
                   <text>{{ t('signin.forget') }}</text>
                 </navigator>
               </view>
-              <view class="cwg-button">
-                <button type="primary" class="" @click="submit">
+              <view class="cwg-button cursor-pointer" :data-tooltip="t('signin.login')" data-placement="top">
+                <button type="primary" class="" @click="submit" >
                   {{ t('signin.login') }}
                 </button>
               </view>
@@ -1317,7 +1317,7 @@ button {
 }
 
 .cwg-button {
-  padding: px2rpx(34) 0 !important;
+  margin: px2rpx(34) 0 !important;
 
   uni-button {
     border-radius: px2rpx(8)

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

@@ -2132,7 +2132,7 @@ uni-content.collapsed {
     line-height: px2rpx(20);
     padding: px2rpx(6);
     white-space: nowrap;
-    z-index: 999;
+    z-index: 9999;
     opacity: 0;
     visibility: hidden;
     transition: opacity 0.2s ease;

+ 1 - 1
uni_modules/uni-datetime-picker/components/uni-datetime-picker/time-picker.vue

@@ -1,5 +1,5 @@
 <template>
-	<view class="uni-datetime-picker cursor-pointer">
+	<view class="uni-datetime-picker cursor-pointer" :data-tooltip="t('vu.tooltip.t1')" data-placement="top">
 		<view @click="initTimePicker">
 			<slot>
 				<view class="uni-datetime-picker-timebox-pointer"