From 7e07d6e781f195995b27b82b4df66c3ffa391501 Mon Sep 17 00:00:00 2001
From: zhaowei <zhaowei>
Date: 星期五, 17 一月 2025 09:49:25 +0800
Subject: [PATCH] 1、产品结构树页面完成文档生命周期相关功能,待后续开发至文档版本列表时继续完善与生命周期功能的关联 2、删除导出文档或NC程序功能

---
 src/api/manage.js |  107 +++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 74 insertions(+), 33 deletions(-)

diff --git a/src/api/manage.js b/src/api/manage.js
index f242f5c..dc790e6 100644
--- a/src/api/manage.js
+++ b/src/api/manage.js
@@ -13,52 +13,52 @@
 export default api
 
 //post
-export function postAction(url,parameter) {
-  let sign = signMd5Utils.getSign(url, parameter);
+export function postAction(url, parameter) {
+  let sign = signMd5Utils.getSign(url, parameter)
   //灏嗙鍚嶅拰鏃堕棿鎴筹紝娣诲姞鍦ㄨ姹傛帴鍙� Header
   // update-begin--author:taoyan---date:20220421--for: VUEN-410銆愮鍚嶆敼閫犮�� X-TIMESTAMP鐗垫壇
-  let signHeader = {"X-Sign": sign,"X-TIMESTAMP": signMd5Utils.getTimestamp()};
+  let signHeader = { 'X-Sign': sign, 'X-TIMESTAMP': signMd5Utils.getTimestamp() }
   // update-end--author:taoyan---date:20220421--for: VUEN-410銆愮鍚嶆敼閫犮�� X-TIMESTAMP鐗垫壇
 
   return axios({
     url: url,
-    method:'post' ,
+    method: 'post',
     data: parameter,
     headers: signHeader
   })
 }
 
 //post method= {post | put}
-export function httpAction(url,parameter,method) {
-  let sign = signMd5Utils.getSign(url, parameter);
+export function httpAction(url, parameter, method) {
+  let sign = signMd5Utils.getSign(url, parameter)
   //灏嗙鍚嶅拰鏃堕棿鎴筹紝娣诲姞鍦ㄨ姹傛帴鍙� Header
   // update-begin--author:taoyan---date:20220421--for: VUEN-410銆愮鍚嶆敼閫犮�� X-TIMESTAMP鐗垫壇
-  let signHeader = {"X-Sign": sign,"X-TIMESTAMP": signMd5Utils.getTimestamp()};
+  let signHeader = { 'X-Sign': sign, 'X-TIMESTAMP': signMd5Utils.getTimestamp() }
   // update-end--author:taoyan---date:20220421--for: VUEN-410銆愮鍚嶆敼閫犮�� X-TIMESTAMP鐗垫壇
 
   return axios({
     url: url,
-    method:method ,
+    method: method,
     data: parameter,
     headers: signHeader
   })
 }
 
 //put
-export function putAction(url,parameter) {
+export function putAction(url, parameter) {
   return axios({
     url: url,
-    method:'put',
+    method: 'put',
     data: parameter
   })
 }
 
 //get
-export function getAction(url,parameter) {
-  let sign = signMd5Utils.getSign(url, parameter);
+export function getAction(url, parameter) {
+  let sign = signMd5Utils.getSign(url, parameter)
   //灏嗙鍚嶅拰鏃堕棿鎴筹紝娣诲姞鍦ㄨ姹傛帴鍙� Header
   // update-begin--author:taoyan---date:20220421--for: VUEN-410銆愮鍚嶆敼閫犮�� X-TIMESTAMP鐗垫壇
-  let signHeader = {"X-Sign": sign,"X-TIMESTAMP": signMd5Utils.getTimestamp()};
+  let signHeader = { 'X-Sign': sign, 'X-TIMESTAMP': signMd5Utils.getTimestamp() }
   // update-end--author:taoyan---date:20220421--for: VUEN-410銆愮鍚嶆敼閫犮�� X-TIMESTAMP鐗垫壇
 
   return axios({
@@ -70,7 +70,7 @@
 }
 
 //deleteAction
-export function deleteAction(url,parameter) {
+export function deleteAction(url, parameter) {
   return axios({
     url: url,
     method: 'delete',
@@ -113,9 +113,9 @@
   // url = url + '?' + query;
   return axios({
     url: url,
-    method:'put',
+    method: 'put',
     data: parameter,
-    params:params
+    params: params
   })
 }
 
@@ -143,15 +143,15 @@
  * @param parameter
  * @returns {*}
  */
-export function downFile(url,parameter, method='get'){
-  if(method=='get'){
+export function downFile(url, parameter, method = 'get') {
+  if (method == 'get') {
     return axios({
       url: url,
       params: parameter,
-      method: method ,
+      method: method,
       responseType: 'blob'
     })
-  }else{
+  } else {
     return axios({
       url: url,
       method: method,
@@ -192,19 +192,60 @@
 }
 
 /**
+ * 涓嬭浇鏂囦欢
+ * @param url 鏂囦欢璺緞
+ * @param fileName 鏂囦欢鍚�
+ * @returns {*}
+ */
+export function requestGetDownLoad(url, fileName) {
+  return new Promise((resolve, reject) => {
+    axios({
+      method: 'GET',
+      url: url,
+      headers: {
+        'Access-Control-Expose-Headers': 'content-disposition'
+      },
+      responseType: 'blob' //浜岃繘鍒舵祦
+    }).then(data => {
+      if (data.type === 'application/json') {
+        let reader = new FileReader()
+        reader.readAsText(data, 'utf-8')
+        reader.onload = (e) => {
+          JSON.parse(reader.result)
+          resolve(JSON.parse(reader.result))
+        }
+      } else {
+        let blob = new Blob([data])
+        if (window.navigator.msSaveOrOpenBlob) {
+          navigator.msSaveBlob(blob, fileName)
+        } else {
+          let a = document.createElement('a')
+          a.download = fileName
+          a.href = window.URL.createObjectURL(blob)
+          a.click()
+          resolve({ success: true })
+        }
+      }
+    }).catch(error => {
+      reject(error)
+    })
+  })
+}
+
+/**
  * 鏂囦欢涓婁紶 鐢ㄤ簬瀵屾枃鏈笂浼犲浘鐗�
  * @param url
  * @param parameter
  * @returns {*}
  */
-export function uploadAction(url,parameter){
+export function uploadAction(url, parameter) {
   return axios({
     url: url,
     data: parameter,
-    method:'post' ,
+    method: 'post',
     headers: {
-      'Content-Type': 'multipart/form-data',  // 鏂囦欢涓婁紶
-    },
+      'Content-Type': 'multipart/form-data'  // 鏂囦欢涓婁紶
+    }
   })
 }
 
@@ -214,17 +255,17 @@
  * @param subStr
  * @returns {*}
  */
-export function getFileAccessHttpUrl(avatar,subStr) {
-  if(!subStr) subStr = 'http'
+export function getFileAccessHttpUrl(avatar, subStr) {
+  if (!subStr) subStr = 'http'
   try {
-    if(avatar && avatar.startsWith(subStr)){
-      return avatar;
-    }else{
-      if(avatar &&銆�avatar.length>0 && avatar.indexOf('[')==-1){
-        return window._CONFIG['staticDomainURL'] + "/" + avatar;
+    if (avatar && avatar.startsWith(subStr)) {
+      return avatar
+    } else {
+      if (avatar && avatar.length > 0 && avatar.indexOf('[') == -1) {
+        return window._CONFIG['staticDomainURL'] + '/' + avatar
       }
     }
-  }catch(err){
-   return;
+  } catch (err) {
+    return
   }
 }

--
Gitblit v1.9.3