diff --git a/jero-web/src/api/manage.js b/jero-web/src/api/manage.js index 74e813452..0fa20c2c9 100644 --- a/jero-web/src/api/manage.js +++ b/jero-web/src/api/manage.js @@ -1,6 +1,25 @@ import Vue from 'vue' import { axios } from '@/utils/request' +import JLoadingOne from '../components/jero/JLoadingOne' +const showDrawer = {} + +const DrawerConstructor = Vue.extend(JLoadingOne) +let currentMsg +const initInstance = () => { + currentMsg = new DrawerConstructor({}) + document.body.appendChild(currentMsg.$mount().$el) +} +let index = { + showDrawer(options) { + if (!currentMsg) { + initInstance() + } + if (typeof options === 'object') { + Object.assign(currentMsg, options) + } + } +} const api = { user: '/mock/api/user', role: '/mock/api/role', @@ -12,34 +31,34 @@ const api = { export default api //post -export function postAction(url,parameter) { +export function postAction(url, parameter) { return axios({ url: url, - method:'post' , + method: 'post', data: parameter }) } //post method= {post | put} -export function httpAction(url,parameter,method) { +export function httpAction(url, parameter, method) { return axios({ url: url, - method:method , + method: method, data: parameter }) } //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) { +export function getAction(url, parameter) { return axios({ url: url, method: 'get', @@ -48,7 +67,7 @@ export function getAction(url,parameter) { } //deleteAction -export function deleteAction(url,parameter) { +export function deleteAction(url, parameter) { return axios({ url: url, method: 'delete', @@ -104,11 +123,11 @@ export function saveService(parameter) { * @param parameter * @returns {*} */ -export function downFile(url,parameter){ +export function downFile(url, parameter) { return axios({ url: url, params: parameter, - method:'get' , + method: 'get', responseType: 'blob' }) } @@ -120,7 +139,19 @@ export function downFile(url,parameter){ * @param parameter * @returns {*} */ -export function downloadFile(url, fileName, parameter,callback) { +export function downloadFile(url, fileName, parameter, callback) { + let langCn = localStorage.language +// 默认中文 + let isTrue + if (langCn == 'en-us') { + isTrue = true + } else if (langCn == 'zh-cn') { + isTrue = false + } + index.showDrawer({ + loading: true, + isTrue: isTrue + }) return downFile(url, parameter).then((data) => { if (!data || data.size === 0) { Vue.prototype['$message'].warning('文件下载失败') @@ -139,6 +170,10 @@ export function downloadFile(url, fileName, parameter,callback) { document.body.removeChild(link) //下载完成移除元素 window.URL.revokeObjectURL(url) //释放掉blob对象 } + index.showDrawer({ + loading: false, + isTrue: isTrue + }) callback && callback() }) } @@ -149,14 +184,14 @@ export function downloadFile(url, fileName, parameter,callback) { * @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' // 文件上传 + } }) } @@ -166,17 +201,17 @@ export function uploadAction(url,parameter){ * @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 } }