scorpio 3 年之前
父節點
當前提交
52223bce37
共有 2 個文件被更改,包括 32 次插入7 次删除
  1. 21 4
      src/views/home/component/files_list.vue
  2. 11 3
      src/views/home/component/folder_list.vue

+ 21 - 4
src/views/home/component/files_list.vue

@@ -25,8 +25,8 @@
         <div class="flex flex-center" style="flex: 3">
           <main-button icon="View" title="详情" width="85" @click="View(item)"/>
           <main-button icon="Download" title="下载" width="85" @click="downFile(item)"/>
-          <main-button icon="UploadFilled" title="同步" width="85"/>
-          <main-button icon="Delete" title="删除" width="85" @click="removeFile(item)"/>
+<!--          <main-button icon="UploadFilled" title="同步" width="85"/>-->
+          <main-button icon="Delete" title="删除" width="85" v-if='item.del' @click="removeFile(item)"/>
         </div>
       </div>
     </div>
@@ -40,7 +40,9 @@
 
 <script>
 import mainButton from '../../../components/main-button.vue'
-import { bytesToSize } from '../../../utils/tools.js'
+import { bytesToSize } from '@/utils/tools.js'
+import { useStore } from '@/store/user.js'
+import permissionStore from '@/store/permission.js'
 
 export default {
   name: 'files_list',
@@ -58,15 +60,30 @@ export default {
         this.files.map(e => {
           if (e.volume === '') {
             e.size = 0
-            return
           }
           e.size = bytesToSize(e.volume)
+          if (this.user.info.type === 3) {
+            // 业主可以任意删除操作
+            e.del = true
+          } else {
+            // 服务商上传的文件可以自行删除
+            if (e.createUser === this.user.info.bladeUserId) {
+              e.del = true
+            } else {
+              e.del = false
+            }
+          }
           return e
         })
       },
       immediate: true
     }
   },
+  setup () {
+    const user = useStore()
+    const permission = permissionStore()
+    return { user, permission }
+  },
   data () {
     return {
       files: []

+ 11 - 3
src/views/home/component/folder_list.vue

@@ -71,13 +71,15 @@ import mainButton from '../../../components/main-button.vue'
 import uploadFile from '../../../components/upload-file.vue'
 import authorize from '@/views/home/component/authorize.vue'
 import permissionStore from '@/store/permission.js'
+import { useStore } from '@/store/user.js'
 
 export default {
   name: 'file_list',
   components: { mainButton, uploadFile, authorize },
   setup () {
     const permissions = permissionStore()
-    return { permissions }
+    const user = useStore()
+    return { permissions, user }
   },
   props: {
     folder: Array,
@@ -110,8 +112,12 @@ export default {
         ids: '',
         ownerId: '',
         projectId: ''
-      }
+      },
+      userInfo: null
     }
+  },
+  created () {
+
   },
   methods: {
     fileView (item) {
@@ -188,7 +194,9 @@ export default {
           this.show = false
           this.$bus.emit('reFolder')
           this.$message.success(res.msg)
-          this.sendMsg = true
+          if (this.user.info.type !== 3) {
+            this.sendMsg = true
+          }
         } else {
           this.show = false
           this.$message.error(res.msg)