diff --git a/src/main.js b/src/main.js index de08d3b22..92ed78f53 100644 --- a/src/main.js +++ b/src/main.js @@ -46,7 +46,6 @@ Vue.use(require('vue-moment'), { moment }) -// logger import VueLogger from 'vuejs-logger' import loggerOptions from './utils/logger' Vue.use(VueLogger, loggerOptions) @@ -55,14 +54,14 @@ import ECharts from 'vue-echarts' Vue.component('echarts', ECharts) import service from '@/utils/request' +Vue.prototype.$axios = service -// lodash -// import _ from 'lodash' window._ = require('lodash') // Vue.set(Vue.prototype, '_', _) -// if the table component cannot access `this.$axios`, it cannot send request -Vue.prototype.$axios = service +import { Message } from '@/utils/Message' +Vue.prototype.$message = Message + // 注册全局事件总线 Vue.prototype.$eventBus = new Vue() new Vue({ diff --git a/src/utils/Message.js b/src/utils/Message.js new file mode 100644 index 000000000..af44719d1 --- /dev/null +++ b/src/utils/Message.js @@ -0,0 +1,20 @@ +// 重置message,防止重复点击重复弹出message弹框 +import { Message as elMessage } from 'element-ui' + +let messageDom = null +const Message = (options) => { + // 判断弹窗是否已存在, 若存在则关闭 + if (messageDom) messageDom.close() + messageDom = elMessage(options) +} + +const typeArray = ['success', 'error', 'warning', 'info'] +typeArray.forEach(type => { + Message[type] = options => { + if (typeof options === 'string') options = { message: options } + options.type = type + return Message(options) + } +}) + +export { Message } diff --git a/src/utils/request.js b/src/utils/request.js index aa3c8513e..02eb30c37 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -3,7 +3,8 @@ import i18n from '@/i18n/i18n' import { getTokenFromCookie } from '@/utils/auth' import { getErrorResponseMsg } from '@/utils/common' import { refreshSessionIdAge } from '@/api/users' -import { Message, MessageBox } from 'element-ui' +import { MessageBox } from 'element-ui' +import { Message } from '@/utils/Message' import store from '@/store' import axiosRetry from 'axios-retry' import router from '@/router' diff --git a/src/utils/startup.js b/src/utils/startup.js index 0d71be11e..25e5f84ed 100644 --- a/src/utils/startup.js +++ b/src/utils/startup.js @@ -3,7 +3,7 @@ import store from '@/store' import router, { resetRouter } from '@/router' import Vue from 'vue' import VueCookie from 'vue-cookie' -import { Message } from 'element-ui' +import { Message } from '@/utils/Message' import orgUtil from '@/utils/org' import orgs from '@/api/orgs' import { getPropView, isViewHasOrgs } from '@/utils/jms'