Ver código fonte

文件浏览

2213980799@qq.com 1 ano atrás
pai
commit
72f986d4b8

+ 18 - 15
src/components/addDoc/browse.vue

@@ -35,21 +35,24 @@ export default {
     },
     setFileUrl(row) {
       let file = row.storagePath[0];
-      let url = sessionStorage.filePath + file.storePath;
-      const fileExt = file.name.substr(file.name.lastIndexOf('.') + 1);
-      this.fileType = getFileType().includes(fileExt) ? 2 : 1;
-      if (this.fileType == 2) {
-        this.fileUrl =
-          '/fm/' +
-          (['dxf', 'dwg'].includes(fileExt) ? '2DViewer' : '3DViewer') +
-          '/view.html?url=' +
-          sessionStorage.filePath +
-          '/' +
-          row.outputNdsFiles;
-      } else {
-        this.fileUrl = '/kkfile/onlinePreview?url=' + btoa(url);
-        // 'http://192.168.1.107:18082/kkfile/onlinePreview?url=' + btoa(url);
-      }
+      let fileNames=file.storePath.split('/')
+      let url = window.location.origin+'/api/main/file/getFile?objectName='+file.storePath+'&fullfilename='+fileNames[fileNames.length-1]
+      this.fileUrl = '/kkfile/onlinePreview?url=' + btoa(url);
+      
+      // const fileExt = file.name.substr(file.name.lastIndexOf('.') + 1);
+      // this.fileType = getFileType().includes(fileExt) ? 2 : 1;
+      // if (this.fileType == 2) {
+      //   this.fileUrl =
+      //     '/fm/' +
+      //     (['dxf', 'dwg'].includes(fileExt) ? '2DViewer' : '3DViewer') +
+      //     '/view.html?url=' +
+      //     sessionStorage.filePath +
+      //     '/' +
+      //     row.outputNdsFiles;
+      // } else {
+      //   this.fileUrl = '/kkfile/onlinePreview?url=' + btoa(url);
+      //   // 'http://192.168.1.107:18082/kkfile/onlinePreview?url=' + btoa(url);
+      // }
     }
   }
 };

+ 4 - 6
src/components/addDoc/file-table-listTemplate.vue

@@ -11,8 +11,8 @@
       :selection.sync="selection"
       :toolbar="false"
     >
-         <!-- 操作列 -->
-         <template v-slot:action="{ row }">
+      <!-- 操作列 -->
+      <template v-slot:action="{ row }">
         <el-link
           type="primary"
           :underline="false"
@@ -21,11 +21,9 @@
         >
           浏览
         </el-link>
-
       </template>
     </ele-pro-table>
-    <browse  ref="browseRef"></browse>
-
+    <browse ref="browseRef"></browse>
   </div>
 </template>
 
@@ -41,7 +39,7 @@ export default {
       type: Object,
       default: () => {}
     },
-   
+
     disabledTableList: {
       //已选择列表
       default: () => []

+ 77 - 0
src/components/addDoc/index.vue

@@ -0,0 +1,77 @@
+<template>
+  <div>
+    <el-badge :value="value.length" class="item">
+      <el-button
+        icon="el-icon-plus"
+        v-if="type != 'view'"
+        type="primary"
+        @click="handleUpload"
+      >
+        上传</el-button
+      >
+      <el-button
+        icon="el-icon-view"
+        v-else
+        type="primary"
+        @click="handleUpload"
+      >
+        查看</el-button
+      >
+    </el-badge>
+
+    <file-upload @success="getFiles" ref="fileUploadRef"></file-upload>
+  </div>
+</template>
+  
+  <script>
+import fileUpload from './main.vue';
+
+export default {
+  name: 'index',
+  components: { fileUpload },
+  model: {
+    prop: 'value',
+    event: 'updateVal'
+  },
+  props: {
+    type: {
+      type: String,
+      default: ''
+    },
+    value: {
+      type: Array,
+      default: () => {
+        return [];
+      }
+    }
+  },
+  data() {
+    return {
+      selectVal: ''
+    };
+  },
+  watch: {
+    value: {
+      handler(newVal) {
+        console.log(newVal, '=======');
+        this.selectVal = newVal || [];
+      },
+      immediate: true
+    }
+  },
+  created() {},
+  methods: {
+    handleUpload() {
+      this.$refs.fileUploadRef.open(this.selectVal, this.type);
+    },
+    getFiles(val = []) {
+      this.$emit('updateVal', val);
+    }
+  }
+};
+</script>
+  
+  
+  <style scoped lang="scss">
+</style>
+  

+ 1 - 1
src/components/addDoc/main.vue

@@ -161,7 +161,7 @@ export default {
   created() {},
 
   methods: {
-    open(fileId, type) {
+    open(fileId, type) { //查看详情:view 新增:add
       this.showEditFlag = true;
       this.fileId = fileId || [];
       if (type) {

+ 1 - 1
src/components/addDoc/util.js

@@ -3,7 +3,7 @@ const userId = store.state.user.info.userId
 const userName = store.state.user.info.name
 export function isPower(data = {}, power, selection = []) {
 
-    if (power == 'add'&&data.userAuthority.length==0) { //文件夹默认开放新增权限
+    if (power == 'add' && data.userAuthority.length == 0) { //文件夹默认开放新增权限
         return true
     }
     if (!data?.id && selection.length == 0) {

+ 8 - 7
src/views/bpm/handleTask/components/contractBook/detailDialog.vue

@@ -95,9 +95,10 @@
             {{ form.settlementModeName }}
           </el-form-item>
           <el-form-item prop="contractFile" label="合同附件:">
-            <el-badge :value="form.fileId.length" class="item">
+            <fileMain v-model="form.fileId" type="view"></fileMain>
+            <!-- <el-badge :value="form?.fileId.length" class="item">
               <el-button type="primary" @click="fileOpen">查看附件</el-button>
-            </el-badge>
+            </el-badge> -->
           </el-form-item>
         </el-col>
       </el-row>
@@ -249,7 +250,7 @@
       row-key="id"
     >
     </ele-pro-table>
-    <fileMain ref="fileMainRef"></fileMain>
+    <!-- <fileMain ref="fileMainRef"></fileMain> -->
   </div>
 </template>
 
@@ -259,7 +260,7 @@ import { getFile } from '@/api/system/file';
 import dictMixins from '@/mixins/dictMixins';
 import { copyObj } from '@/utils/util';
 import inventoryTabledetail from './inventoryTabledetail.vue';
-import fileMain from '@/components/addDoc/main';
+import fileMain from '@/components/addDoc/index';
 
 export default {
   mixins: [dictMixins],
@@ -472,9 +473,9 @@ export default {
     //   this.detailId = row.id;
     // },
     //文件上传
-    fileOpen() {
-      this.$refs.fileMainRef.open(this.form.fileId, 'view');
-    },
+    // fileOpen() {
+    //   this.$refs.fileMainRef.open(this.form.fileId, 'view');
+    // },
     cancel() {
       this.$nextTick(() => {
         // 关闭后,销毁所有的表单数据