Files
APP/utils/MsgPops.js

162 lines
2.4 KiB
JavaScript

var MsgType = {
error: "error",
succ: "succ",
warn: "warn"
}
var time = null;
// 显示成功
export const MsgSuccess = (msg, btnTxt, ev) => {
if (!ev) {
return null;
}
if (!ev.$refs.msgPop) {
return null;
}
let option = ev.$refs.msgPop.showMsg(msg, btnTxt, MsgType.succ);
createClear(ev);
return option;
}
//显示失败
export const MsgError = (msg, btnTxt, ev) => {
if (!ev) {
return null;
}
if (!ev.$refs.msgPop) {
return null;
}
let option = ev.$refs.msgPop.showMsg(msg, btnTxt, MsgType.error);
createClear(ev);
return option;
}
//显示警告
export const MsgWarning = (msg, btnTxt, ev, isClear) => {
if (!ev) {
return null;
}
if (!ev.$refs.msgPop) {
return null;
}
let option = ev.$refs.msgPop.showMsg(msg, btnTxt, MsgType.warn);
if (isClear === undefined || isClear) {
createClear(ev);
}
return option;
}
// 隐藏loading
export const MsgClose = (options, ev) => {
if (!ev) {
return;
}
if (!ev.$refs.msgPop) {
return;
}
if (typeof(options) == 'string') {
options = {
key: options
}
}
ev.$refs.msgPop.closePop(options);
}
export const showPop = (options, ev, isClear) => {
if (!ev) {
return null;
}
if (!ev.$refs.msgPop) {
return null;
}
let option = ev.$refs.msgPop.showPop(options);
if (isClear === undefined || isClear) {
createClear(ev);
}
return option;
}
const createClear = (ev) => {
let cnt = getPops(ev);
if (cnt >= 5) {
clearTimeout(time);
time = setTimeout(() => {
let key = new Date().getTime();
showPop({
key: key,
message: "消息太多, 是否全部关闭",
iconUrl: "/static/images/6155/DeviceDetail/uploadErr.png",
borderColor: "#e034344d",
buttonBgColor: "#E03434",
buttonText: '全部关闭',
buttonTextColor: '#232323de',
showCancel: true,
buttonCancelText: "取消",
cancelCallback: () => {
MsgClose(key, ev);
},
okCallback: function() {
MsgClear(ev);
}
}, ev, false);
}, 500);
}
}
//获取当前弹窗数量
export const getPops = (ev) => {
if (!ev) {
return null;
}
if (!ev.$refs.msgPop) {
return null;
}
return ev.$refs.msgPop.getPops();
}
//清空所有弹窗
export const MsgClear = (ev) => {
if (!ev) {
return null;
}
if (!ev.$refs.msgPop) {
return null;
}
return ev.$refs.msgPop.clearPops();
}