Browse Source

修改bug,手指,加载状态,头像,发送频繁消息

“yueshang” 1 year ago
parent
commit
40c97f5998

+ 1 - 1
src/store/modules/websocket.js

@@ -58,7 +58,7 @@ const useWebsoctStore = defineStore('websoct', {
       })
     },
     sendMessage(message) {
-      if(this.lastSendTime>0 && (new Date().getTime()- this.lastSendTime)<4000){
+      if(this.lastSendTime>0 && (new Date().getTime()- this.lastSendTime)<1000){
         return new Promise((resolve, reject) => {
             ElMessage({ message: "消息发送频率太快", type: "error" });
             reject('发送频率太快')

+ 2 - 0
src/views/collect/index.vue

@@ -206,6 +206,7 @@
                 @click.right="fileRight($event, item)"
                 v-for="item in folderArr"
                 :key="item"
+                style="cursor: pointer;"
               >
                 <img
                   class="big_file_img"
@@ -236,6 +237,7 @@
                 @click.right="fileRight($event, item)"
                 v-for="item in fileArr"
                 :key="item"
+                style="cursor: pointer;"
               >
                 <img
                   class="big_file_img"

+ 36 - 10
src/views/department/MyFile.vue

@@ -45,10 +45,10 @@
                                     v-if="item.encryptLevel"
                                 > 
                                 <template #content> 安全级别: {{ item.encryptLevel == 'L1'?'敏感':(item.encryptLevel == 'L2'?'涉密':(item.encryptLevel == 'L3'?'机密':'绝密')) }} </template>
-                                <img :src="item.dirType=='1'?ordinaryList:fileStyle" style="width: 72px;height: 72px;">
+                                <img :src="item.dirType=='1'?ordinaryList:fileStyle" style="width: 72px;height: 72px;" class="shouzhi">
                               </el-tooltip>
 
-                              <img :src="item.dirType=='1'?ordinaryList:fileStyle" style="width: 72px;height: 72px;" v-else>
+                              <img :src="item.dirType=='1'?ordinaryList:fileStyle" class="shouzhi" style="width: 72px;height: 72px;" v-else>
                                 <el-tooltip
                                   class="box-item tool-tip"
                                   effect="dark"
@@ -56,7 +56,7 @@
                                > <template #content> <span>{{ item.dirName }}</span></template>
                                <p class="ellipsis-text shouzhi">{{ item.dirName }}</p>
                                </el-tooltip>
-                                <img class="levelImg" v-if="item.isEncrypt === 'Y'" :src="getLevelImg(item.encryptLevel)" alt="">
+                                <img class="levelImg shouzhi" v-if="item.isEncrypt === 'Y'" :src="getLevelImg(item.encryptLevel)" alt="">
                             </div>
                             </div>
                         </template>
@@ -332,8 +332,13 @@
             </div>
             <!-- 文件上传 -->
             <div>
-                <el-dialog v-model="uploadModal" title="文件上传" width="30%">
-                    <el-upload class="upload-demo" :file-list="fileArr"  drag :http-request="onSuccess" multiple>
+                <el-dialog v-model="uploadModal" title="文件上传" width="30%" @close="closeUpload">
+                    <el-upload class="upload-demo" :file-list="fileArr"  drag :http-request="onSuccess" multiple
+                    :on-remove="handleRemove"  
+                    element-loading-text="上传中..."
+                    element-loading-background="rgba(255, 255, 255, 0.8)"
+                    v-loading="loadingUpload" 
+                    >
                         <el-icon class="el-icon--upload"><upload-filled /></el-icon>
                         <div class="el-upload__text">拖入或<em>点击上传</em></div>
                         <template #tip>
@@ -342,7 +347,7 @@
                     </el-upload>
                     <template #footer>
                         <span class="dialog-footer">
-                            <el-button @click="uploadModal = false">取消</el-button>
+                            <el-button  @click="closeUpload">取消</el-button>
                             <el-button type="primary" @click="sureUpload">确认</el-button>
                         </span>
                     </template>
@@ -651,6 +656,7 @@ export default {
         const tableTotal = ref(0)//表格数据总数
         const spaceName = ref()
         const isDept = ref(false)// 是否管理员
+        const loadingUpload = ref(false);//文件上传加载
         //控制宫格展示
         const isList = ref(false); //控制显示方式
         const changeShow = (fileGrids) => {
@@ -972,6 +978,7 @@ export default {
         }
         // 确认上传
         function sureUpload() {
+            loadingUpload.value = true;
             if (fileArr.value.length > 0) {
                 for (var i = 1; i <= fileArr.value.length; i++) {
                     myfile.uploadFile({
@@ -986,17 +993,32 @@ export default {
                             })
                             refreshFile()
                             uploadModal.value = false
+                            loadingUpload.value = false;
                             fileArr.value = []
                         }
-                    }).catch(err=>{
-                        console.log('UPerr',err);
+                    }).catch(err => {
+                            loadingUpload.value = false;
+                            fileArr.value = []
                     })
                 }
+            } else {
+                    loadingUpload.value = false;
+                    return ElMessage({ message: "请选择文件", type: "error" })
             }
         }
         function onSuccess(files, val) {
             fileArr.value.push(files.file)
         }
+                //关闭文件上传
+        const closeUpload =() =>{
+          uploadModal.value = false;
+          fileArr.value = [];
+          loadingUpload.value = false
+        }
+        // 移除上传的某些文件
+        const handleRemove = (file,rawFile) => {
+            fileArr.value = [...rawFile]
+        }
         // 筛选后缀图片
         function getImage(file) {
             if (file === '.txt') {
@@ -1875,7 +1897,11 @@ export default {
             upFolderData,
             setTablelevel,
             levelList,
-            getLevelList
+            getLevelList,
+            closeUpload,
+            handleRemove,
+            loadingUpload
+
         }
     },
     watch: {
@@ -2145,7 +2171,7 @@ p {
     line-height: 30px;
     margin: 5px auto;
     font-size: 13px;
-
+    cursor: pointer;
     // display: flex;
     // align-items: center;
     // position: relative;

+ 4 - 4
src/views/department/components/PalaceGridFile.vue

@@ -7,7 +7,7 @@
                 <div class="flexBox" @contextmenu="rightClick(item, $event)">
                     <!-- 图片 -->
                     <div class="imgBox">
-                        <img :src="getImage(item.fileType)" alt="" style="vertical-align: middle;">
+                        <img :src="getImage(item.fileType)" alt="" style="vertical-align: middle;cursor: pointer;">
                     </div>
                     <!-- 名称 -->
                     <div class="nameBox">
@@ -23,7 +23,7 @@
             </template>
             <div class="setCli" v-if="cliCC" :style="{ left: xz + 'px', top: (yz - 330) + 'px' }">
                 <template v-for="(item, index) in filterMouseCli()" :key="index">
-                    <p @click="chooseSet(item, index, 1)" class="chooseSet">
+                    <p @click="chooseSet(item, index, 1)" class="chooseSet" style="cursor: pointer;">
                         <img :src="item.img" alt="">
                         {{ item.name }}
                         <span v-if="item.name == '协作' ? true : false"
@@ -33,11 +33,11 @@
             </div>
             <div class="setCli1" v-if="anyP" :style="{ left: xz + 155 + 'px', top: yz - 50 + 'px' }">
                 <p @click="chooseSet1(0)" class="chooseSet">
-                    <img src="../../../assets/images/user.png" alt="">
+                    <img src="../../../assets/images/user.png" alt="" style="cursor: pointer;">
                     选择人员
                 </p>
                 <p class="chooseSet" @click="goLock">
-                    <img src="../../../assets/images/archiveTray.png" alt="">
+                    <img src="../../../assets/images/archiveTray.png" alt="" style="cursor: pointer;">
                     归档
                 </p>
             </div>

+ 5 - 5
src/views/department/components/PlaceGridFolder.vue

@@ -9,7 +9,7 @@
                         <!-- 图片 -->
                         <div class="imgBox">
                             <img :src="item.dirType=='1'?ordinaryList:fileBox"
-                              alt="" style="vertical-align: middle;">
+                              alt="" style="vertical-align: middle;cursor: pointer;">
                         </div>
                         <!-- 名称 -->
                         <div class="nameBox">
@@ -26,16 +26,16 @@
                 <!-- 右键唤出的菜单 -->
                 <div class="rightList" v-if="folderVisible"
                     :style="{ left: folderleft + 30 + 'px', top: foldertop - 50 + 'px' }">
-                    <div class="menu_item" @click="fatherOpen(null, null)">
-                        <img src="@/assets/images/trash.png" alt="" />
+                    <div class="menu_item" @click="fatherOpen(null, null)" style="cursor: pointer;">
+                        <img src="@/assets/images/trash.png" alt="" style="vertical-align: middle;margin-right: 5px;"/>
                         <span>打开</span>
                     </div>
                     <div class="menu_item" @click="fatherRest(null, null)">
-                        <img src="@/assets/images/textbox.png" alt="" />
+                        <img src="@/assets/images/textbox.png" alt="" style="vertical-align: middle;margin-right: 5px;"/>
                         <span>重命名</span>
                     </div>
                     <div class="menu_item" @click="fatherCollect">
-                        <img src="@/assets/images/collect.png" alt="" />
+                        <img src="@/assets/images/collect.png" alt="" style="vertical-align: middle;margin-right: 5px;"/>
                         <span>收藏</span>
                     </div>
                 </div>

+ 2 - 2
src/views/liveChat/index.vue

@@ -545,6 +545,7 @@ onMounted(() => {
         <el-icon
           size="24"
           color="#505870"
+          class="shouzhi"
           @click="clickNewPerson"
           style="margin-right: 8px"
           ><Plus
@@ -742,7 +743,6 @@ onMounted(() => {
                 >
                   <div>
                     <!-- 左侧侧聊天头像 -->
-                    <!-- {{ record }}{{ useUserStore().uid  }} -->
                     <img
                       :src="wangzhi + record.fromAvatar"
                       class="head-sculpture"
@@ -755,7 +755,7 @@ onMounted(() => {
                       :src="wangzhi + record.toAvatar"
                       class="head-sculpture"
                       :onerror="headError(index,record)"
-                      v-if="
+                      v-else-if="
                         useUserStore().uid != record.toId && record.toAvatar
                       "
                     />

+ 5 - 6
src/views/myfile/MyFile.vue

@@ -7,7 +7,7 @@
 
                     <div class="spaceName">{{ spaceName }}</div>
                     <div>
-                        <el-icon @click="createNewMenu(1, true)" color="#505870" size="24">
+                        <el-icon @click="createNewMenu(1, true)" color="#505870" size="24" class="shouzhi">
                             <Plus />
                         </el-icon>
                         <!-- @click="createNewFile" -->
@@ -47,8 +47,8 @@
                                                 == 'L2' ? '涉密' : (item.encryptLevel == 'L3' ? '机密' : '绝密')) }}</span>
                                         </template>
                                         <img src="../../assets/images/fileStyle.png"
-                                            style="width: 72px;height: 72px;"></el-tooltip>
-                                    <img src="../../assets/images/fileStyle.png" style="width: 72px;height: 72px;" v-else>
+                                            style="width: 72px;height: 72px;" class="shouzhi"></el-tooltip>
+                                    <img src="../../assets/images/fileStyle.png" style="width: 72px;height: 72px;" v-else class="shouzhi">
                                     <el-tooltip class="box-item tool-tip" effect="dark" placement="top-start"> <template
                                             #content> <span>{{ item.dirName }}</span></template>
                                         <p class="ellipsis-text shouzhi">{{ item.dirName }}</p>
@@ -364,8 +364,6 @@
                 <el-dialog v-model="uploadModal" title="文件上传" width="30%" @close="closeUpload">
                     <el-upload class="upload-demo" :file-list="fileArr"  drag :http-request="onSuccess" multiple :on-remove="handleRemove"  
                     element-loading-text="上传中..."
-                    :element-loading-spinner="svg"
-                    element-loading-svg-view-box="-10, -10, 50, 50"
                     element-loading-background="rgba(255, 255, 255, 0.8)"
                     v-loading="loadingUpload" >
                         <el-icon class="el-icon--upload"><upload-filled /></el-icon>
@@ -1165,6 +1163,7 @@ export default {
                         })
                     }
                 } else {
+                    loadingUpload.value = false;
                     return ElMessage({ message: "请选择文件", type: "error" })
                 }
             }
@@ -2316,7 +2315,7 @@ p {
     line-height: 30px;
     margin: 5px auto;
     font-size: 13px;
-
+    cursor: pointer;
     // display: flex;
     // align-items: center;
     // position: relative;

+ 5 - 5
src/views/myfile/components/PalaceGridFile.vue

@@ -7,7 +7,7 @@
                 <div class="flexBox" @contextmenu="rightClick(item, $event)">
                     <!-- 图片 -->
                     <div class="imgBox">
-                        <img :src="getImage(item.fileType)" alt="" style="vertical-align: middle;">
+                        <img :src="getImage(item.fileType)" alt="" style="vertical-align: middle;cursor: pointer;">
                     </div>
                     <!-- 名称 -->
                     <div class="nameBox">
@@ -23,21 +23,21 @@
             </template>
             <div class="setCli" v-if="cliCC" :style="{ left: xz + 'px', top: (yz - 330) + 'px' }">
                 <template v-for="(item, index) in filterMouseCli()" :key="index">
-                    <p @click="chooseSet(item, index, 1)" class="chooseSet">
+                    <p @click="chooseSet(item, index, 1)" class="chooseSet" style="cursor: pointer;">
                         <img :src="item.img" alt="">
-                        {{ item.name }}
+                        <span>{{ item.name }}</span>
                         <span v-if="item.name == '协作' ? true : false"
                             style="color: #7084B4;float: right;position: relative;" class="arrow">></span>
                     </p>
                 </template>
             </div>
             <div class="setCli1" v-if="anyP" :style="{ left: xz + 155 + 'px', top: yz - 50 + 'px' }">
-                <p @click="chooseSet1(0)" class="chooseSet">
+                <p @click="chooseSet1(0)" class="chooseSet" style="cursor: pointer;">
                     <img src="../../../assets/images/user.png" alt="">
                     选择人员
                 </p>
                 <p class="chooseSet" @click="goLock">
-                    <img src="../../../assets/images/archiveTray.png" alt="">
+                    <img src="../../../assets/images/archiveTray.png" alt="" style="cursor: pointer;">
                     归档
                 </p>
             </div>

+ 5 - 5
src/views/myfile/components/PlaceGridFolder.vue

@@ -8,7 +8,7 @@
                     <div class="flexBox" @contextmenu="rightClick(item, index, $event)" @click="folderClickGrid(item)">
                         <!-- 图片 -->
                         <div class="imgBox">
-                            <img src="../../../assets/images/folderBig.png" alt="" style="vertical-align: middle;">
+                            <img src="../../../assets/images/folderBig.png" alt="" style="vertical-align: middle;cursor: pointer;">
                         </div>
                         <!-- 名称 -->
                         <div class="nameBox">
@@ -25,12 +25,12 @@
                 <!-- 右键唤出的菜单 -->
                 <div class="rightList" v-if="folderVisible"
                     :style="{ left: folderleft + 30 + 'px', top: foldertop - 50 + 'px' }">
-                    <div class="menu_item" @click="fatherRest(null, null)">
-                        <img src="@/assets/images/textbox.png" alt="" />
+                    <div class="menu_item" @click="fatherRest(null, null)" style="cursor: pointer;">
+                        <img src="@/assets/images/textbox.png" alt="" style="vertical-align: middle;margin-right: 5px;"/>
                         <span>重命名</span>
                     </div>
-                    <div class="menu_item" @click="fatherCollect">
-                        <img src="@/assets/images/collect.png" alt="" />
+                    <div class="menu_item" @click="fatherCollect"  style="cursor: pointer;">
+                        <img src="@/assets/images/collect.png" alt="" style="vertical-align: middle;margin-right: 5px;"/>
                         <span>收藏</span>
                     </div>
                 </div>

+ 34 - 10
src/views/publicment/MyFile.vue

@@ -45,8 +45,8 @@
                                     v-if="item.encryptLevel"
                                 > 
                                 <template #content> 安全级别: {{ item.encryptLevel == 'L1'?'敏感':(item.encryptLevel == 'L2'?'涉密':(item.encryptLevel == 'L3'?'机密':'绝密')) }} </template>
-                                <img :src="item.dirType=='1'?ordinaryList:fileStyle" style="width: 72px;height: 72px;"></el-tooltip>
-                                <img :src="item.dirType=='1'?ordinaryList:fileStyle" style="width: 72px;height: 72px;" v-else>
+                                <img :src="item.dirType=='1'?ordinaryList:fileStyle" style="width: 72px;height: 72px;" class="shouzhi"></el-tooltip>
+                                <img :src="item.dirType=='1'?ordinaryList:fileStyle" style="width: 72px;height: 72px;" class="shouzhi" v-else>
                                 <el-tooltip
                                   class="box-item tool-tip"
                                   effect="dark"
@@ -54,7 +54,7 @@
                                > <template #content> <span>{{ item.dirName }}</span></template>
                                <p class="ellipsis-text shouzhi">{{ item.dirName }}</p>
                                </el-tooltip>
-                                <img class="levelImg" v-if="item.isEncrypt === 'Y'" :src="getLevelImg(item.encryptLevel)" alt="">
+                                <img class="levelImg shouzhi" v-if="item.isEncrypt === 'Y'" :src="getLevelImg(item.encryptLevel)" alt="">
                             </div>
                             </div>
                         </template>
@@ -285,7 +285,7 @@
                         </el-collapse>
                         <div :class="{'setCli':!noMenuItem}" v-if="cliCC" :style="{ left: xz + 'px', top: yz -100 + 'px' }">
                             <template v-for="(item, index) in filterMouseCli()" :key="index">
-                                <p @click="chooseSet(item, index, 1)" v-if="!noMenuItem" class="chooseSet">
+                                <p @click="chooseSet(item, index, 1)" v-if="!noMenuItem" class="chooseSet" style="cursor: pointer;">
                                     <img :src="item.img" alt="">
                                     {{ item.name }}
                                     <span v-if="item.name == '在线编辑' || item.name == '协作' ? true : false"
@@ -329,8 +329,12 @@
             </div>
             <!-- 文件上传 -->
             <div>
-                <el-dialog v-model="uploadModal" title="文件上传" width="30%">
-                    <el-upload class="upload-demo" :file-list="fileArr"  drag :http-request="onSuccess" multiple>
+                <el-dialog v-model="uploadModal" title="文件上传" width="30%" @close="closeUpload">
+                    <el-upload class="upload-demo" :file-list="fileArr"  drag :http-request="onSuccess" multiple
+                    :on-remove="handleRemove"  
+                    element-loading-text="上传中..."
+                    element-loading-background="rgba(255, 255, 255, 0.8)"
+                    v-loading="loadingUpload"  >
                         <el-icon class="el-icon--upload"><upload-filled /></el-icon>
                         <div class="el-upload__text">拖入或<em>点击上传</em></div>
                         <template #tip>
@@ -339,7 +343,7 @@
                     </el-upload>
                     <template #footer>
                         <span class="dialog-footer">
-                            <el-button @click="uploadModal = false">取消</el-button>
+                            <el-button @click="closeUpload">取消</el-button>
                             <el-button type="primary" @click="sureUpload">确认</el-button>
                         </span>
                     </template>
@@ -508,6 +512,7 @@ export default {
         const router = useRouter(); //注册路由
         const route = useRoute(); //注册路由
         const fileUserTreeData = reactive({ data: {} });
+        const loadingUpload = ref(false);//文件上传加载
         let fileList = ref()
         let menuList = ref([
             {
@@ -982,6 +987,7 @@ export default {
         }
         // 确认上传
         function sureUpload() {
+            loadingUpload.value = true;
             if (fileArr.value.length > 0) {
                 for (var i = 1; i <= fileArr.value.length; i++) {
                     myfile.uploadFile({
@@ -996,16 +1002,30 @@ export default {
                             })
                              refreshFile()
                             uploadModal.value = false
+                            loadingUpload.value = false;
                             fileArr.value = []
                         }
-                    }).catch(err=>{
-                        // console.log('UPerr',err);
+                    }).catch(err => {
+                            loadingUpload.value = false;
+                            fileArr.value = []
                     })
                 }
+            } else {
+                    loadingUpload.value = false;
+                    return ElMessage({ message: "请选择文件", type: "error" })
             }
         }
         function onSuccess(files, val) {
             fileArr.value.push(files.file)
+        }        //关闭文件上传
+        const closeUpload =() =>{
+            uploadModal.value = false;
+            fileArr.value = [];
+            loadingUpload.value = false
+        }
+        // 移除上传的某些文件
+        const handleRemove = (file,rawFile) => {
+            fileArr.value = [...rawFile]
         }
         // 筛选后缀图片
         function getImage(file) {
@@ -1892,7 +1912,10 @@ export default {
             upFolderData,
             setTablelevel,
             levelList,
-            getLevelList
+            getLevelList,
+             closeUpload,
+            handleRemove,
+            loadingUpload
         }
     },
     watch: {
@@ -2154,6 +2177,7 @@ p {
     line-height: 30px;
     margin: 5px auto;
     font-size: 13px;
+    cursor: pointer;
 
     // display: flex;
     // align-items: center;

+ 5 - 5
src/views/publicment/components/PalaceGridFile.vue

@@ -7,7 +7,7 @@
                 <div class="flexBox" @contextmenu="rightClick(item, $event)">
                     <!-- 图片 -->
                     <div class="imgBox">
-                        <img :src="getImage(item.fileType)" alt="" style="vertical-align: middle;">
+                        <img :src="getImage(item.fileType)" alt="" style="vertical-align: middle;cursor: pointer;">
                     </div>
                     <!-- 名称 -->
                     <div class="nameBox">
@@ -22,8 +22,8 @@
                 </div>
             </template>
             <div class="setCli" v-if="cliCC" :style="{ left: xz + 'px', top: (yz - 330) + 'px' }">
-                <template v-for="(item, index) in filterMouseCli()">
-                    <p @click="chooseSet(item, index, 1)" class="chooseSet">
+                <template v-for="(item, index) in filterMouseCli()" :key="index">
+                    <p @click="chooseSet(item, index, 1)" class="chooseSet"  style="cursor: pointer;">
                         <img :src="item.img" alt="">
                         {{ item.name }}
                         <span v-if="item.name == '协作' ? true : false"
@@ -33,11 +33,11 @@
             </div>
             <div class="setCli1" v-if="anyP" :style="{ left: xz + 155 + 'px', top: yz - 50 + 'px' }">
                 <p @click="chooseSet1(0)" class="chooseSet">
-                    <img src="../../../assets/images/user.png" alt="">
+                    <img src="../../../assets/images/user.png" alt="" style="cursor: pointer;">
                     选择人员
                 </p>
                 <p class="chooseSet" @click="goLock">
-                    <img src="../../../assets/images/archiveTray.png" alt="">
+                    <img src="../../../assets/images/archiveTray.png" alt="" style="cursor: pointer;">
                     归档
                 </p>
             </div>

+ 7 - 7
src/views/publicment/components/PlaceGridFolder.vue

@@ -9,7 +9,7 @@
                         <!-- 图片 -->
                         <div class="imgBox">
                             <img :src="item.dirType=='1'?ordinaryList:fileBox"
-                              alt="" style="vertical-align: middle;">
+                              alt="" style="vertical-align: middle;cursor: pointer;">
                         </div>
                         <!-- 名称 -->
                         <div class="nameBox">
@@ -26,16 +26,16 @@
                 <!-- 右键唤出的菜单 -->
                 <div class="rightList" v-if="folderVisible"
                     :style="{ left: folderleft + 30 + 'px', top: foldertop - 50 + 'px' }">
-                    <div class="menu_item" @click="fatherOpen(null, null)">
-                        <img src="@/assets/images/trash.png" alt="" />
+                    <div class="menu_item" @click="fatherOpen(null, null)" style="cursor: pointer;">
+                        <img src="@/assets/images/trash.png" alt="" style="vertical-align: middle;margin-right: 5px;"/>
                         <span>打开</span>
                     </div>
-                    <div class="menu_item" @click="fatherRest(null, null)">
-                        <img src="@/assets/images/textbox.png" alt="" />
+                    <div class="menu_item" @click="fatherRest(null, null)" style="cursor: pointer;">
+                        <img src="@/assets/images/textbox.png" alt="" style="vertical-align: middle;margin-right: 5px;"/>
                         <span>重命名</span>
                     </div>
-                    <div class="menu_item" @click="fatherCollect">
-                        <img src="@/assets/images/collect.png" alt="" />
+                    <div class="menu_item" @click="fatherCollect" style="cursor: pointer;">
+                        <img src="@/assets/images/collect.png" alt="" style="vertical-align: middle;margin-right: 5px;"/>
                         <span>收藏</span>
                     </div>
                 </div>