唐耀东
2022-10-12 901be26b0491501afe8eb145392a8d8c307f0138
src/views/basics/template/index.vue
@@ -1,11 +1,24 @@
<template>
  <div class="app-container">
    <!--    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">-->
    <!--      <el-form-item>-->
    <!--        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>-->
    <!--        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>-->
    <!--      </el-form-item>-->
    <!--    </el-form>-->
  <div class="app-container"
       v-loading.fullscreen.lock="downLoading"
       element-loading-text="下载中"
       element-loading-spinner="el-icon-loading"
       element-loading-background="rgba(0, 0, 0, 0.8)">
        <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
          <el-form-item label="模板名称" prop="templateName">
            <el-input
              v-model="queryParams.templateName"
              placeholder="请输入模板名称"
              clearable
              size="small"
              @keyup.enter.native="handleQuery"
            />
          </el-form-item>
          <el-form-item>
            <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
          </el-form-item>
        </el-form>
    <el-row :gutter="10" class="mb8">
      <el-col :span="1.5">
@@ -66,7 +79,10 @@
      </el-table-column>
      <el-table-column label="模板" align="left" prop="templateName">
        <template slot-scope="scope">
          <el-link v-if="scope.row.fileUrl" type="primary" :href="scope.row.fileUrl" target="_blank">
<!--          <el-link v-if="scope.row.fileUrl"  type="primary" :href="scope.row.fileUrl" target="_blank">-->
<!--            {{ scope.row.templateName }}-->
<!--          </el-link>-->
          <el-link v-if="scope.row.fileUrl"  type="primary"  @click="uploadFile(scope.row)">
            {{ scope.row.templateName }}
          </el-link>
          <el-link v-else type="primary">{{ scope.row.templateName }}</el-link>
@@ -142,7 +158,7 @@
          </el-date-picker>
        </el-form-item>
        <el-form-item label="附件">
          <minio-upload v-model="form.fileUrl" :limit="1" :fileType="[`pdf`, 'xls', 'xlsx', 'ppt', 'pptx']"></minio-upload>
          <minio-upload v-model="form.fileUrl" :limit="1" :fileType="[`pdf`, 'xls', 'xlsx', 'ppt', 'pptx','doc','docx']"></minio-upload>
        </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer">
@@ -158,7 +174,7 @@
      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
        <el-form-item label="附件">
          <!--          <fileUpload v-model="form.fileUrl" :limit="1" :fileType="[`pdf`]"/>-->
          <minio-upload v-model="form.fileUrl" :limit="1" :fileType="[`pdf`, 'xls', 'xlsx', 'ppt', 'pptx']"></minio-upload>
          <minio-upload v-model="form.fileUrl" :limit="1" :fileType="['xls', 'xlsx', 'ppt', 'pptx','doc','docx']"></minio-upload>
        </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer">
@@ -173,6 +189,7 @@
import {listTemplate, getTemplate, delTemplate, addTemplate, updateTemplate} from "@/api/oa/template";
import minioUpload from '@/components/FileUpload/minio'
export default {
  name: "Template",
  components: {minioUpload},
@@ -182,6 +199,7 @@
      buttonLoading: false,
      // 遮罩层
      loading: true,
      downLoading: false,
      // 选中数组
      ids: [],
      // 非单个禁用
@@ -202,6 +220,7 @@
      queryParams: {
        pageNum: 1,
        pageSize: 10,
        templateName: undefined,
      },
      // 表单参数
      form: {},
@@ -348,7 +367,16 @@
        this.uploadFlag = true;
        this.title = "上传附件";
      });
    }
    },
    uploadFile(item){
      console.log(item)
      if (!item) {
        return;
      }
      this.downLoading = true;
      this.downFile(item.fileUrl, item.templateName);
      this.downLoading = false;
    },
  }
};
</script>