diff --git a/internal/web/actions/default/dns/clusters/cluster.go b/internal/web/actions/default/dns/clusters/cluster.go index 86467f34..0fbc6100 100644 --- a/internal/web/actions/default/dns/clusters/cluster.go +++ b/internal/web/actions/default/dns/clusters/cluster.go @@ -5,6 +5,7 @@ import ( "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" "github.com/iwind/TeaGo/maps" + timeutil "github.com/iwind/TeaGo/utils/time" ) type ClusterAction struct { @@ -209,5 +210,60 @@ func (this *ClusterAction) RunGet(params struct { } this.Data["issues"] = issueMaps + // 当前正在执行的任务 + resp, err := this.RPC().DNSTaskRPC().FindAllDoingDNSTasks(this.AdminContext(), &pb.FindAllDoingDNSTasksRequest{ + NodeClusterId: params.ClusterId, + }) + if err != nil { + this.ErrorPage(err) + return + } + taskMaps := []maps.Map{} + for _, task := range resp.DnsTasks { + var clusterMap maps.Map = nil + var nodeMap maps.Map = nil + var serverMap maps.Map = nil + var domainMap maps.Map = nil + + if task.NodeCluster != nil { + clusterMap = maps.Map{ + "id": task.NodeCluster.Id, + "name": task.NodeCluster.Name, + } + } + if task.Node != nil { + nodeMap = maps.Map{ + "id": task.Node.Id, + "name": task.Node.Name, + } + } + if task.Server != nil { + serverMap = maps.Map{ + "id": task.Server.Id, + "name": task.Server.Name, + } + } + if task.DnsDomain != nil { + domainMap = maps.Map{ + "id": task.DnsDomain.Id, + "name": task.DnsDomain.Name, + } + } + + taskMaps = append(taskMaps, maps.Map{ + "id": task.Id, + "type": task.Type, + "isDone": task.IsDone, + "isOk": task.IsOk, + "error": task.Error, + "updatedTime": timeutil.FormatTime("Y-m-d H:i:s", task.UpdatedAt), + "cluster": clusterMap, + "node": nodeMap, + "server": serverMap, + "domain": domainMap, + }) + } + this.Data["tasks"] = taskMaps + this.Show() } diff --git a/web/public/js/components/common/links.js b/web/public/js/components/common/links.js index 33eee44b..f2ef8ad7 100644 --- a/web/public/js/components/common/links.js +++ b/web/public/js/components/common/links.js @@ -1,12 +1,12 @@ // 使用Icon的链接方式 Vue.component("link-icon", { - props: ["href", "title"], + props: ["href", "title", "target"], data: function () { return { vTitle: (this.title == null) ? "打开链接" : this.title } }, - template: ` ` + template: ` ` }) // 带有下划虚线的连接 diff --git a/web/views/@default/dns/clusters/cluster.html b/web/views/@default/dns/clusters/cluster.html index d9f0ae52..57723398 100644 --- a/web/views/@default/dns/clusters/cluster.html +++ b/web/views/@default/dns/clusters/cluster.html @@ -52,9 +52,49 @@ + +
+

正在执行的任务

+ + + + + + + + + + + + + + + + + +
对象任务状态触发时间
+ {{task.cluster.name}} + + + {{task.node.name}} + {{task.server.name}} + {{task.domain.name}} + + 集群 + 节点 + 服务 + 域名 + + {{task.error}} + 正在同步... + {{task.updatedTime}} + +
+
+
-

需要修复的问题

+

需要修复的问题

@@ -91,7 +131,7 @@

下面的DNS解析记录也可以手工在DNS服务商提供的管理平台添加。

-

节点DNS解析记录   ({{nodes.length}}个)

+

节点DNS解析记录   ({{nodes.length}}个)

暂时没有需要设置的DNS记录。

@@ -134,7 +174,7 @@
-

网站服务解析记录   ({{servers.length}}个)

+

网站服务解析记录   ({{servers.length}}个)

暂时没有需要设置的DNS记录。

diff --git a/web/views/@default/dns/clusters/cluster.js b/web/views/@default/dns/clusters/cluster.js index cd6f8412..2d8e23a7 100644 --- a/web/views/@default/dns/clusters/cluster.js +++ b/web/views/@default/dns/clusters/cluster.js @@ -40,4 +40,17 @@ Tea.context(function () { }) }) } + + this.deleteTask = function (taskId) { + let that = this + teaweb.confirm("确定要删除这个任务吗?", function () { + that.$post("/dns/tasks/delete") + .params({ + taskId: taskId + }) + .success(function () { + teaweb.reload() + }) + }) + } }) \ No newline at end of file diff --git a/web/views/@default/dns/tasks/listPopup.html b/web/views/@default/dns/tasks/listPopup.html index 42853296..b3f594a6 100644 --- a/web/views/@default/dns/tasks/listPopup.html +++ b/web/views/@default/dns/tasks/listPopup.html @@ -15,7 +15,9 @@
- {{task.cluster.name}} + {{task.cluster.name}} + + {{task.node.name}} {{task.server.name}} {{task.domain.name}}