Files
EdgeAdmin/web/views/@default/@layout.js

237 lines
4.7 KiB
JavaScript
Raw Normal View History

2020-07-22 22:19:39 +08:00
Tea.context(function () {
this.moreOptionsVisible = false
this.globalMessageBadge = 0
if (typeof this.leftMenuItemIsDisabled == "undefined") {
this.leftMenuItemIsDisabled = false
}
this.$delay(function () {
if (this.$refs.focus != null) {
this.$refs.focus.focus()
}
if (!window.IS_POPUP) {
// 检查消息
this.checkMessages()
// 检查集群节点同步
this.loadNodeTasks();
2021-01-27 22:59:46 +08:00
// 检查DNS同步
this.loadDNSTasks()
}
})
2021-07-12 10:21:17 +08:00
/**
* 切换模板
*/
this.changeTheme = function () {
this.$post("/ui/theme")
.success(function (resp) {
teaweb.successToast("界面风格已切换")
this.teaTheme = resp.data.theme
})
}
/**
* 左侧子菜单
*/
this.showSubMenu = function (menu) {
if (menu.alwaysActive) {
return
}
if (this.teaSubMenus.menus != null && this.teaSubMenus.menus.length > 0) {
this.teaSubMenus.menus.$each(function (k, v) {
if (menu.id == v.id) {
return
}
v.isActive = false
})
}
menu.isActive = !menu.isActive
};
/**
* 检查消息
*/
this.checkMessages = function () {
this.$post("/messages/badge")
.params({})
.success(function (resp) {
this.globalMessageBadge = resp.data.count
})
.done(function () {
let delay = 6000
if (this.globalMessageBadge > 0) {
delay = 30000
}
this.$delay(function () {
this.checkMessages()
}, delay)
})
}
this.checkMessagesOnce = function () {
this.$post("/messages/badge")
.params({})
.success(function (resp) {
this.globalMessageBadge = resp.data.count
})
}
this.showMessages = function () {
teaweb.popup("/messages", {
height: "24em",
width: "50em"
})
}
/**
* 底部伸展框
*/
this.showQQGroupQrcode = function () {
teaweb.popup("/about/qq", {
width: "21em",
2022-04-22 10:38:03 +08:00
height: "30em"
})
}
/**
* 弹窗中默认成功回调
*/
if (window.IS_POPUP === true) {
this.success = window.NotifyPopup
}
/**
* 节点同步任务
*/
this.doingNodeTasks = {
isDoing: false,
hasError: false,
isUpdated: false
}
this.loadNodeTasks = function () {
if (!Tea.Vue.teaCheckNodeTasks) {
return
}
this.$post("/clusters/tasks/check")
2023-01-07 19:34:40 +08:00
.params({
isDoing: this.doingNodeTasks.isDoing ? 1 : 0,
hasError: this.doingNodeTasks.hasError ? 1 : 0,
isUpdated: this.doingNodeTasks.isUpdated ? 1 : 0
})
.timeout(60)
.success(function (resp) {
this.doingNodeTasks.isDoing = resp.data.isDoing
this.doingNodeTasks.hasError = resp.data.hasError
this.doingNodeTasks.isUpdated = true
})
.done(function () {
this.$delay(function () {
this.loadNodeTasks()
2021-12-19 18:56:09 +08:00
}, 5000)
})
}
this.showNodeTasks = function () {
teaweb.popup("/clusters/tasks/listPopup", {
height: "24em",
2022-10-23 11:44:09 +08:00
width: "54em"
})
}
/**
* DNS同步任务
*/
this.doingDNSTasks = {
isDoing: false,
hasError: false,
isUpdated: false
}
this.loadDNSTasks = function () {
if (!Tea.Vue.teaCheckDNSTasks) {
return
}
this.$post("/dns/tasks/check")
2023-01-07 19:34:40 +08:00
.params({
isDoing: this.doingDNSTasks.isDoing ? 1 : 0,
hasError: this.doingDNSTasks.hasError ? 1 : 0,
isUpdated: this.doingDNSTasks.isUpdated ? 1 : 0
})
.timeout(60)
.success(function (resp) {
this.doingDNSTasks.isDoing = resp.data.isDoing
this.doingDNSTasks.hasError = resp.data.hasError
this.doingDNSTasks.isUpdated = true
})
.done(function () {
this.$delay(function () {
this.loadDNSTasks()
}, 3000)
})
}
this.showDNSTasks = function () {
teaweb.popup("/dns/tasks/listPopup", {
height: "24em",
2022-10-23 11:44:09 +08:00
width: "54em"
})
}
2020-07-22 22:19:39 +08:00
});
window.NotifySuccess = function (message, url, params) {
if (typeof (url) == "string" && url.length > 0) {
if (url[0] != "/") {
url = Tea.url(url, params);
}
}
return function () {
teaweb.success(message, function () {
window.location = url;
});
};
2020-07-22 22:19:39 +08:00
};
2020-09-06 16:19:34 +08:00
window.NotifyReloadSuccess = function (message) {
return function () {
teaweb.success(message, function () {
window.location.reload()
})
}
2020-09-06 16:19:34 +08:00
}
2020-07-22 22:19:39 +08:00
window.NotifyDelete = function (message, url, params) {
teaweb.confirm(message, function () {
Tea.Vue.$post(url)
.params(params)
.refresh();
});
2020-07-22 22:19:39 +08:00
};
window.NotifyPopup = function (resp) {
window.parent.teaweb.popupFinish(resp);
2020-07-22 22:19:39 +08:00
};
window.ChangePageSize = function (size) {
let url = window.location.toString();
url = url.replace(/page=\d+/g, "page=1")
if (url.indexOf("pageSize") > 0) {
url = url.replace(/pageSize=\d+/g, "pageSize=" + size)
} else {
if (url.indexOf("?") > 0) {
let anchorIndex = url.indexOf("#")
if (anchorIndex < 0) {
url += "&pageSize=" + size;
} else {
url = url.substring(0, anchorIndex) + "&pageSize=" + size + url.substr(anchorIndex);
}
} else {
url += "?pageSize=" + size;
}
}
window.location = url;
2020-07-22 22:19:39 +08:00
};