From ca420bd9c09b51a404ade3e0106257725df727be Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期三, 01 十一月 2023 11:32:28 +0800
Subject: [PATCH] 整合代码

---
 Source/UBCS-WEB/src/components/file/main.vue |   87 ++++++++++++++++++++++++++++++-------------
 1 files changed, 60 insertions(+), 27 deletions(-)

diff --git a/Source/UBCS-WEB/src/components/file/main.vue b/Source/UBCS-WEB/src/components/file/main.vue
index 9e5a099..8444c92 100644
--- a/Source/UBCS-WEB/src/components/file/main.vue
+++ b/Source/UBCS-WEB/src/components/file/main.vue
@@ -1,21 +1,22 @@
 <template>
   <basic-container>
     <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               :page.sync="page"
-               :before-open="beforeOpen"
-               :permission="permissionList"
-               v-model="form"
-               ref="crud"
-               @row-del="rowDel"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
+      :table-loading="loading"
+      :data="data"
+      :page.sync="page"
+      :before-open="beforeOpen"
+      :permission="permissionList"
+      v-model="form"
+      ref="crud"
+      @row-del="rowDel"
+      @search-change="searchChange"
+      @search-reset="searchReset"
+      @selection-change="selectionChange"
+      @row-click="selectedRowClick"
+      @current-change="currentChange"
+      @size-change="sizeChange"
+      @refresh-change="refreshChange"
+      @on-load="onLoad">
       <template slot="menuLeft">
         <el-button v-if="hasUpload" type="primary"
                    size="small"
@@ -63,17 +64,18 @@
 <script>
 import {getList, getFile,upload,update, remove,download} from "@/api/resource/file";
 import {mapGetters} from "vuex";
-import {dateFormat} from "@/util/date";
 import {validatenull} from "@/util/validate";
+import func from "@/util/func";
 
 export default {
-  props: ["options","visible"],
+  props: ["options","visible","ownbizOid"],
   data() {
     return {
       form: {},
       query: {},
       params:{},
       loading: false,
+      hasPage:this.options.hasPage||false,
       page: {
         pageSize: 10,
         currentPage: 1,
@@ -86,10 +88,10 @@
       hasDel:validatenull(this.options.hasDel) ? true :this.options.hasDel,
       hasDownload:validatenull(this.options.hasDownload) ? true :this.options.hasDownload,
       option: {
-        height:(this.options.tableHeight?this.options.tableHeight:'auto'),
+        height:(this.options.tableHeight?this.options.tableHeight:'400'),
         calcHeight: 30,
         tip: false,
-        searchShow: true,
+        searchShow: false,
         searchMenuSpan: 6,
         border: true,
         index: true,
@@ -188,6 +190,7 @@
           prop: 'attachFile',
           type: 'upload',
           dragFile: true,
+          showFileList:false,
           accept: this.options.uploadAccept || 'file',
           loadText: '鏂囦欢涓婁紶涓紝璇风◢绛�',
           span: 24,
@@ -230,6 +233,12 @@
   },
   mounted() {
 
+  },
+  watch:{
+    ownbizOid(val){
+      this.setParams()
+      this.refreshChange()
+    }
   },
   methods: {
     setFormItem(){
@@ -311,9 +320,9 @@
     setParams() {
       var queryMap = {
         currentButtonKey: 'VIEW',
-        ownbizOid:this.options.ownbizOid || "share",
-        ownBtmName:this.options.ownbizBtm || "share",
-        fileDocClassify: this.options.fileDocClassify|| "ADMIN_SHARE",
+        ownbizOid: this.options.ownbizOid || "share",
+        ownBtmName: this.options.ownbizBtm || "share",
+        fileDocClassify: this.options.fileDocClassify || "ADMIN_SHARE",
         fileDocClassifyName: this.options.fileDocClassifyName || "绠$悊鍛樺叡浜枃浠�"
       };
       if (this.options.where) {
@@ -329,6 +338,12 @@
       }
       this.page.pageSize = this.options.pageObject.limit;
       this.page.currentPage = this.options.pageObject.page;
+
+      this.attachOption.column[1].data.ownbizOid = this.options.ownbizOid || "share";
+      this.attachOption.column[1].data.ownBtmName = this.options.ownbizBtm || "share";
+      this.attachOption.column[1].data.fileDocClassify = this.options.fileDocClassify || "ADMIN_SHARE";
+      this.attachOption.column[1].data.fileDocClassifyName = this.options.fileDocClassifyName || "绠$悊鍛樺叡浜枃浠�"
+
     },
     handleUpload() {
       this.attachOption.column[1].data.fileOid='';
@@ -363,15 +378,26 @@
     },
     handleDownload(row) {
       //window.open(`${row.link}`);
+      let data=new FormData();
       if(row && row.oid){
-        download(row.oid)
+        data.append('fileOids',row.oid)
+        this.downloadFile(data);
       }else{
         if (this.selectionList.length === 0) {
           this.$message.warning("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�");
           return;
         }
-        download(this.oids);
+        data.append('fileOids',this.oids)
+        this.downloadFile(data);
       }
+    },
+    downloadFile(data){
+      download(data).then(res=>{
+        // console.log(res);
+        if(res){
+          func.downloadFileByBlobHandler(res);
+        }
+      });
     },
     rowDel(row) {
       this.$confirm("纭畾灏嗛�夋嫨鏂囦欢鍒犻櫎?", {
@@ -380,7 +406,7 @@
         type: "warning"
       })
         .then(() => {
-          return remove(row.oid,row.oid);
+          return remove([row.oid]);
         })
         .then(() => {
           this.onLoad(this.page);
@@ -401,7 +427,7 @@
         type: "warning"
       })
         .then(() => {
-          return remove(this.oids,this.oids);
+          return remove(this.oids.split(','));
         })
         .then(() => {
           this.onLoad(this.page);
@@ -432,6 +458,13 @@
     },
     selectionChange(list) {
       this.selectionList = list;
+      this.$refs.crud.setCurrentRow(this.selectionList[list.length-1]);
+    },
+    selectedRowClick(row){
+      this.selectionList = row;
+      this.$refs.crud.toggleSelection();
+      this.$refs.crud.setCurrentRow(row);
+      this.$refs.crud.toggleRowSelection(row); //閫変腑褰撳墠琛�
     },
     selectionClear() {
       this.selectionList = [];
@@ -444,7 +477,7 @@
       this.page.pageSize = pageSize;
     },
     refreshChange() {
-      this.onLoad(this.page, this.query);
+      this.onLoad(this.page);
     },
     onLoad(page, params={}) {
       this.loading = true;

--
Gitblit v1.9.3