lihang
2023-07-13 7ce592bb5a5b9e0dc78786e727f042b95ebc81c8
Source/UBCS-WEB/src/components/file/main.vue
@@ -7,6 +7,7 @@
               :before-open="beforeOpen"
               :permission="permissionList"
               v-model="form"
               :height="options.height || 200"
               ref="crud"
               @row-del="rowDel"
               @search-change="searchChange"
@@ -67,13 +68,14 @@
import {validatenull} from "@/util/validate";
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,
@@ -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='';
@@ -353,28 +368,27 @@
      done();
    },
    uploadAfter(res, done, loading, column) {
      if(res.success){
        this.attachBox = false;
        this.$message.success('文件上传成功')
      }else{
        this.$message.error(res.msg);
      }
      this.attachBox = false;
      this.$message.success('文件上传成功')
      this.refreshChange();
      done();
    },
    uploadError(error, column) {
      this.$message.error('上传文件出现了异常')
      this.$message.error(error || '上传文件出现了异常')
    },
    handleDownload(row) {
      //window.open(`${row.link}`);
      let data=new FormData();
      if(row && row.oid){
        download(row.oid)
        data.append('fileOids',row.oid)
        download(data)
      }else{
        if (this.selectionList.length === 0) {
          this.$message.warning("请选择至少一条数据");
          return;
        }
        download(this.oids);
        data.append('fileOids',this.oids)
        download(data);
      }
    },
    rowDel(row) {
@@ -384,7 +398,7 @@
        type: "warning"
      })
        .then(() => {
          return remove(row.oid);
          return remove([row.oid]);
        })
        .then(() => {
          this.onLoad(this.page);
@@ -405,7 +419,7 @@
        type: "warning"
      })
        .then(() => {
          return remove(this.oids);
          return remove(this.oids.split(','));
        })
        .then(() => {
          this.onLoad(this.page);
@@ -448,7 +462,7 @@
      this.page.pageSize = pageSize;
    },
    refreshChange() {
      this.onLoad(this.page, this.query);
      this.onLoad(this.page);
    },
    onLoad(page, params={}) {
      this.loading = true;
@@ -461,7 +475,7 @@
      getList(page.currentPage, page.pageSize, Object.assign(params,this.params, query,this.query)).then(res => {
        const data = res.data.data;
        this.page.total = data.total;
        if(data && data.records.length>0 && this.options.fileDocClassifyCombox){
        if(this.options.fileDocClassifyCombox){
          this.data = data.records.map(item => {
            if(validatenull(item.fileDocClassifyName)&& !validatenull(item.fileDocClassify)){
              item.fileDocClassifyName = this.options.fileDocClassifyCombox[item.fileDocClassify] || '';
@@ -470,8 +484,10 @@
              ...item
            }
          })
        }else{
          this.data = data.records;
        }
        //this.data = data.records;
        this.loading = false;
        this.selectionClear();
      }).catch(error=>{