石广澎
2023-10-20 4cb068fb1d51129be7199cbd83fb0ef1f97915e2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
import {Message} from 'element-ui'
import SettingIplatform from "../../public/static/config";
import axios from "axios";
import store from "@/store";
 
// Base Url
export function getBaseUrl() {
  return SettingIplatform.apiBaseURL
}
 
// Ftp Url
export function getFtpUrl() {
  return SettingIplatform.ftpUrl
}
 
// Ftp 下载地址
export function getDownUrl() {
  return getBaseUrl() + '/file/'
}
 
// Ftp 上传地址
export function getUploadUrl() {
  return getBaseUrl() + '/pc/fin/file/uploadMore'
}
 
// 预览文件
export function previewDoc(obj) {
  const routeUrl = this.$router.resolve({url: '/webOffice/preview'})
  let url = obj.url
  const wordLIst = ['doc', 'docm', 'docx', 'docxf', 'dot', 'dotm', 'dotx', 'epub', 'fodt', 'fb2', 'htm', 'html', 'mht', 'odt', 'oform', 'ott', 'oxps', 'pdf', 'rtf', 'txt', 'djvu', 'xml', 'xps', 'csv', 'fods', 'ods', 'ots', 'xls', 'xlsb', 'xlsm', 'xlsx', 'xlt', 'xltm', 'xltx', 'fodp', 'odp', 'otp', 'pot', 'potm', 'potx', 'pps', 'ppsm', 'ppsx', 'ppt', 'pptm', 'pptx']
  const arr = url.split('.')
  if (arr.length === 2) {
    if (wordLIst.includes(arr[arr.length - 1])) {
      if (obj.url.indexOf('http') !== 0) {
        url = SettingIplatform.ftpUrl + url
      }
      window.open(routeUrl.href + '?url=' + encodeURIComponent(url) + '&docName=' + encodeURIComponent(encodeURIComponent(obj.fileName)), '_blank')
    } else {
      Message.warning('文件格式不支持预览!')
    }
  }
}
 
// 下载文件
export function downLoad(obj) {
  let url = obj.url
  if (obj.url.indexOf('http') !== 0) {
    url = SettingIplatform.ftpUrl + obj.url
  }
  window.open(decodeURI(url))
  /* var doc = document.createElement('a')
  doc.href = url
  doc.download = filename
  doc.target = '_blank'
  doc.click()*/
  /* const loading = Loading.service({
    lock: true,
    text: '正在下载...',
    spinner: 'el-icon-loading',
    background: 'rgba(0, 0, 0, 0.7)'
  })
  download(obj.url, obj.name, null, loading)*/
}
 
// 上传文件
export function upLoadFile(formData) {
  const token = !store.getters.token ? sessionStorage.getItem('token') : store.getters.token;
  return new Promise((resolve, reject) => {
    axios.post(
      getUploadUrl(),
      formData,
      {
        headers: {
          'Authorization': token
        },
        dataType: 'json',
        crossDomain: true,
        processData: false,
        contentType: false,
      }
    ).then(res => {
      if (res.data.code === 1) {
        resolve(res.data.data)
      } else {
        reject()
      }
    }).catch(err => {
      reject(err)
    })
  })
}