162 lines
2.4 KiB
JavaScript
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();
|
||
|
|
|
||
|
|
}
|