研发图纸文件管理系统-前端项目
he wei
2023-02-17 4a2f97341543fee54dbe65b3cb6eef64bf74ea2b
U 下载的修改
5个文件已修改
1个文件已添加
183 ■■■■ 已修改文件
src/assets/js/apis.js 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/components/filesTable.vue 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/resourceManage/components/feedbackDetails.vue 45 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/resourceManage/details/details.vue 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/resourceManage/materialsCenter/list.vue 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/resourceManage/product/details/details.vue 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/js/apis.js
New file
@@ -0,0 +1,14 @@
import axios from "@/assets/axios";
/**
 * 文件下载
 * @returns
 */
export const downLoadFileByFilePath = (filePath) => {
  return axios({
    method: "GET",
    url: "bomFeedbak/downLoadFileByFilePath",
    params: { filePath },
    responseType: "blob"
  })
}
src/pages/components/filesTable.vue
@@ -57,6 +57,7 @@
import getWebUrl from "@/assets/js/tools/getWebUrl";
import { dwgReview } from "@/pages/workplace/apis";
import { downloadLog } from "@/pages/system/logs/apis";
import { downLoadFileByFilePath } from "@/assets/js/apis";
import { updateAttachLock } from "@/pages/resourceManage/materialsCenter/apis";
import { updateProductLock } from "@/pages/resourceManage/product/details/apis";
import checkPermit from "@/assets/js/tools/checkPermit";
@@ -166,15 +167,25 @@
    },
    downloadLog(record) {
      const { parentModel, subModel, url } = record;
      const url1 = this.webUrl + url;
      let link = document.createElement("a");
      link.style.display = "none";
      link.href = url1;
      // link.download = fileName;
      document.body.appendChild(link);
      link.click();
      document.body.removeChild(link);
      downloadLog(parentModel, subModel);
      let reg = /(.*\\+)*(.*)$/;
      let fileName = url.match(reg)[2];
      downLoadFileByFilePath(url).then((res) => {
        let { data, status } = res;
        if (200 == status && data) {
          let url = window.URL.createObjectURL(data);
          let link = document.createElement("a");
          link.style.display = "none";
          link.href = url;
          link.download = fileName;
          document.body.appendChild(link);
          link.click();
          document.body.removeChild(link);
          window.URL.revokeObjectURL(url);
          downloadLog(parentModel, subModel);
        } else {
          this.$message.error("下载失败");
        }
      });
    },
    lock(obj) {
      this.currObj = obj;
src/pages/resourceManage/components/feedbackDetails.vue
@@ -34,8 +34,16 @@
      <a-col :span="6" class="label">相关附件</a-col>
      <a-col :span="18">
        <div class="content">
          <a-button v-if="FkData.file && viewable" class="btn" type="primary" @click="view">预览</a-button>
          <a-button v-if="FkData.file" class="btn" @click="download">下载</a-button>
          <a-button
            v-if="FkData.file && viewable"
            class="btn"
            type="primary"
            @click="view"
            >预览</a-button
          >
          <a-button v-if="FkData.file" class="btn" @click="download"
            >下载</a-button
          >
          <span v-else>无</span>
        </div>
      </a-col>
@@ -54,6 +62,8 @@
<script>
import getWebUrl from "@/assets/js/tools/getWebUrl";
import { dwgReview } from "@/pages/workplace/apis";
import { downLoadFileByFilePath } from "@/assets/js/apis";
export default {
  name: "",
  props: {
@@ -69,7 +79,7 @@
      gutter: 16,
      webUrl: getWebUrl(),
      previewVisible: false,
      imgUrl: '',
      imgUrl: "",
    };
  },
  components: {},
@@ -136,14 +146,27 @@
        });
    },
    download() {
      const url = this.webUrl + this.FkData.file;
      let link = document.createElement("a");
      link.style.display = "none";
      link.href = url;
      // link.download = fileName;
      document.body.appendChild(link);
      link.click();
      document.body.removeChild(link);
      let reg = /(.*\\+)*(.*)$/;
      let fileName = this.FkData.file.match(reg)[2];
      downLoadFileByFilePath(this.FkData.file).then((res) => {
        let { headers, data, status } = res;
        if (200 == status && data) {
          let url = window.URL.createObjectURL(data);
          // const matchRes = /filename=(.*)/.exec(headers["content-disposition"]);
          // const fileName = matchRes ? matchRes[1].trim() : "未知文件名.zip";
          let link = document.createElement("a");
          link.style.display = "none";
          link.href = url;
          link.download = fileName;
          document.body.appendChild(link);
          link.click();
          document.body.removeChild(link);
          window.URL.revokeObjectURL(url);
        } else {
          this.$message.error("下载失败");
        }
      });
    },
    handleCancel() {
      this.previewVisible = false;
src/pages/resourceManage/details/details.vue
@@ -113,6 +113,7 @@
import { dwgReview } from "@/pages/workplace/apis";
import { getInfo, getHistory } from "./apis";
import { downloadLog } from "@/pages/system/logs/apis";
import { downLoadFileByFilePath } from "@/assets/js/apis";
import { mapGetters } from "vuex";
export default {
  name: "",
@@ -177,15 +178,27 @@
    },
    downloadLog(record) {
      const { parentModel, subModel, dwgUrl } = record;
      const url = this.webUrl + dwgUrl;
      let link = document.createElement("a");
      link.style.display = "none";
      link.href = url;
      // link.download = fileName;
      document.body.appendChild(link);
      link.click();
      document.body.removeChild(link);
      downloadLog(parentModel, subModel);
      let reg = /(.*\\+)*(.*)$/;
      let fileName = dwgUrl.match(reg)[2];
      downLoadFileByFilePath(dwgUrl).then((res) => {
        let { data, status } = res;
        if (200 == status && data) {
          let url = window.URL.createObjectURL(data);
          let link = document.createElement("a");
          link.style.display = "none";
          link.href = url;
          link.download = fileName;
          document.body.appendChild(link);
          link.click();
          document.body.removeChild(link);
          window.URL.revokeObjectURL(url);
          downloadLog(parentModel, subModel);
        } else {
          this.$message.error("下载失败");
        }
      });
    },
  },
src/pages/resourceManage/materialsCenter/list.vue
@@ -182,6 +182,7 @@
import EditLink from "./editLink";
import SubmitForm from "./SubmitForm";
import FilesTable from "@/pages/components/filesTable";
import { downLoadFileByFilePath } from "@/assets/js/apis";
import getWebUrl from "@/assets/js/tools/getWebUrl";
import {
@@ -619,14 +620,27 @@
    downloadLog(record) {
      const { parentModel, subModel, dwgUrl } = record;
      const url = this.webUrl + dwgUrl;
      let link = document.createElement("a");
      link.style.display = "none";
      link.href = url;
      // link.download = fileName;
      document.body.appendChild(link);
      link.click();
      document.body.removeChild(link);
      downloadLog(parentModel, subModel);
      let reg = /(.*\\+)*(.*)$/;
      let fileName = dwgUrl.match(reg)[2];
      downLoadFileByFilePath(dwgUrl).then((res) => {
        let { data, status } = res;
        if (200 == status && data) {
          let url = window.URL.createObjectURL(data);
          let link = document.createElement("a");
          link.style.display = "none";
          link.href = url;
          link.download = fileName;
          document.body.appendChild(link);
          link.click();
          document.body.removeChild(link);
          window.URL.revokeObjectURL(url);
          downloadLog(parentModel, subModel);
        } else {
          this.$message.error("下载失败");
        }
      });
    },
    activeFN() {
      this.resize();
src/pages/resourceManage/product/details/details.vue
@@ -353,6 +353,7 @@
import { setpHistoryEnable, getLockedList, getLogList } from "../apis";
import { dwgReview } from "@/pages/workplace/apis";
import { downloadLog } from "@/pages/system/logs/apis";
import { downLoadFileByFilePath } from "@/assets/js/apis";
import { mapGetters } from "vuex";
import createWs from "@/assets/js/websocket";
@@ -818,16 +819,29 @@
    downloadLog(record) {
      const { parentCode, subModel, dwgUrl, fileUrl: softwareUrl } = record;
      const url = softwareUrl
        ? this.webUrl + softwareUrl
        : this.webUrl + dwgUrl;
      let link = document.createElement("a");
      link.style.display = "none";
      link.href = url;
      // link.download = fileName;
      document.body.appendChild(link);
      link.click();
      document.body.removeChild(link);
      downloadLog(parentCode, subModel);
        ? softwareUrl
        : dwgUrl;
      let reg = /(.*\\+)*(.*)$/;
      let fileName = url.match(reg)[2];
      downLoadFileByFilePath(url).then((res) => {
        let { data, status } = res;
        if (200 == status && data) {
          let url = window.URL.createObjectURL(data);
          let link = document.createElement("a");
          link.style.display = "none";
          link.href = url;
          link.download = fileName;
          document.body.appendChild(link);
          link.click();
          document.body.removeChild(link);
          window.URL.revokeObjectURL(url);
          downloadLog(parentCode, subModel);
        } else {
          this.$message.error("下载失败");
        }
      });
    },
    // action 检查后要执行的动作
    checkLock(action) {