diff --git a/src/components/message.js b/src/components/message.js new file mode 100644 index 0000000..2488311 --- /dev/null +++ b/src/components/message.js @@ -0,0 +1,22 @@ +/**重置message,防止重复点击重复弹出message弹框 */ +import { Message } from "element-ui"; + +let messageInstance = null; +const resetMessage = (options) => { + if (messageInstance) { + messageInstance.close(); + } + messageInstance = Message(options); +}; +["error", "success", "info", "warning"].forEach((type) => { + resetMessage[type] = (options) => { + if (typeof options === "string") { + options = { + message: options, + }; + } + options.type = type; + return resetMessage(options); + }; +}); +export const message = resetMessage; diff --git a/src/main.js b/src/main.js index c4e29e3..3cbdfcb 100644 --- a/src/main.js +++ b/src/main.js @@ -6,6 +6,9 @@ import store from "./store"; //引入element-ui import ElementUI from "element-ui"; import "element-ui/lib/theme-chalk/index.css"; + +import { message } from "./components/message.js"; +Vue.prototype.$message = message; Vue.use(ElementUI, { size: "small", }); @@ -48,6 +51,19 @@ new Vue({ render: (h) => h(App), }).$mount("#app"); +Vue.directive("debounce", { + inserted(el, binding, vnode) { + let timer = {}; + el.addEventListener("click", () => { + if (timer) { + clearTimeout(timer); + } + timer = setTimeout(() => { + binding.value(); + }, 2000); + }); + }, +}); //使用钩子函数对路由进行权限跳转 router.beforeEach((to, from, next) => { document.title = `${to.meta.title} | 视频监控可视化平台`; diff --git a/src/utils/api/index.js b/src/utils/api/index.js index a8c5ea9..57fdcee 100644 --- a/src/utils/api/index.js +++ b/src/utils/api/index.js @@ -42,7 +42,9 @@ export function getDeviceList(data) { url: "/api/getTerminalStatus", method: "post", data, - headers:{ 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8' } + headers: { + "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8", + }, }); } //获取最新装置信息 @@ -301,7 +303,9 @@ export function resetTerminalApi(data) { url: "/api/resetTerminal", method: "post", data, - headers:{ 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8' } + headers: { + "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8", + }, }); } diff --git a/src/views/realTimeMonitor/components/infoDialog.vue b/src/views/realTimeMonitor/components/infoDialog.vue index 771769c..e835b58 100644 --- a/src/views/realTimeMonitor/components/infoDialog.vue +++ b/src/views/realTimeMonitor/components/infoDialog.vue @@ -52,7 +52,7 @@