ljc 1 settimana fa
parent
commit
49f517a056

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

@@ -16,28 +16,28 @@
 
     <!-- 正常模式:宫格上传(完全对齐官方 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 }" :data-tooltip="t('vu.tooltip.t3')" data-placement="top">
-        <view class="file-picker__box-content" :style="borderStyle">
+      <view class="file-picker__box" v-for="(item, index) in innerFileList" :key="index"
+        :style="typeof boxStyle === 'object' ? boxStyle : { cssText: boxStyle }" >
+        <view class="file-picker__box-content " :style="borderStyle" >
           <!-- 图片 -->
-          <image v-if="isImage(item)" class="file-image" :src="item.url || item.path" mode="aspectFill"
+          <image v-if="isImage(item)" class="file-image cursor-pointer" :data-tooltip="tooltipText(item)" :src="item.url || item.path" mode="aspectFill"
             :style="imgStyle" @click.stop="previewFile(item, index)" />
 
           <!-- 视频 → 显示第一帧 + 播放图标 -->
-          <view v-else-if="isVideo(item)" class="file-cover video-box" @click.stop="previewFile(item, index)">
+          <view v-else-if="isVideo(item)" class="file-cover video-box cursor-pointer" :data-tooltip="tooltipText(item)" @click.stop="previewFile(item, index)">
             <image :src="item.url || item.path" class="file-image" mode="aspectFill" :style="imgStyle" />
             <view class="video-play-icon">▶</view>
           </view>
 
           <!-- 其他文件(PDF/Word/Excel) -->
-          <view v-else class="file-cover file-box" :class="getFileClass(item.name)"
+          <view v-else class="file-cover file-box cursor-pointer" :data-tooltip="tooltipText(item)" :class="getFileClass(item.name)"
             @click.stop="previewFile(item, index)">
             <text class="file-big-icon">{{ getFileIcon(item.name) }}</text>
             <text class="file-ext-name">{{ getFileExt(item.name) }}</text>
           </view>
 
           <!-- 删除 -->
-          <view v-if="delIcon" class="icon-del-box" @click.stop="deleteFile(index)">
+          <view v-if="delIcon" class="icon-del-box cursor-pointer" :data-tooltip="t('vu.tooltip.t17')" @click.stop="deleteFile(index)">
             <view class="icon-del"></view>
             <view class="icon-del rotate"></view>
           </view>
@@ -181,7 +181,9 @@ const boxStyle = computed(() => {
   }
   return 'width:33.3%;height:0;'
 })
-
+const tooltipText = (file)=>{
+  return (props.disablePreview || file.status === 'uploading' || file.status === 'error')?'':t('vu.tooltip.t16')
+}
 // ==============================================
 // 统一格式化函数(修复递归核心)
 // ==============================================

+ 3 - 1
locale/cn.json

@@ -83,7 +83,9 @@
       "t12": "显示",
       "t13": "查看条款和条件",
       "t14": "切换筛选",
-      "t15": "数据详情"
+      "t15": "数据详情",
+      "t16": "预览",
+      "t17": "删除"
     }
   },
   "common": {

+ 1 - 1
pages/analytics/analystViews.vue

@@ -15,7 +15,7 @@
                         <view class="nav nav-underline card-header-tabs" id="myTab" role="tablist">
                             <view class="nav-item" v-for="item in tabsConfig" :key="item">
                                 <view class="nav-link cursor-pointer" @click="activeTab = item.value"
-                                    :class="{ 'active': item.value == activeTab }">{{
+                                    :class="{ 'active': item.value == activeTab }" :data-tooltip="item.text">{{
                                         item.text }}</view>
                             </view>
                         </view>

+ 1 - 1
pages/login/index.vue

@@ -168,7 +168,7 @@
                               :placeholder="t('newSignup.item10')">
                             </uni-easyinput>
                           </view>
-                          <view class="btn-code cursor-pointer" :data-tooltip="getCodeString" data-placement="top" @click="(!isAgeValid || !formData.birthDate) ? '' : handleGetCode()">
+                          <view class="btn-code" @click="(!isAgeValid || !formData.birthDate) ? '' : handleGetCode()">
                             {{ getCodeString }}
                           </view>
                         </view>

+ 1 - 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')}} {{name?(name + ' - '):''}}{{ cId}}</div>
+      <div class="cid cursor-pointer" v-if="visible"  @click="copy(cId)" :data-tooltip="`${t('vu.tooltip.t2')}-${cId}`">{{t('newSignin.item1')}} {{name?(name + ' - '):''}}{{ cId}}</div>
     </div>
     <div class="right" v-if="visible">
       <cwg-download />