diff --git a/internal/web/actions/default/api/node/logs.go b/internal/web/actions/default/api/node/logs.go index d10126be..274a1946 100644 --- a/internal/web/actions/default/api/node/logs.go +++ b/internal/web/actions/default/api/node/logs.go @@ -2,6 +2,7 @@ package node import ( "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" + "github.com/TeaOSLab/EdgeCommon/pkg/nodeconfigs" "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" "github.com/iwind/TeaGo/maps" timeutil "github.com/iwind/TeaGo/utils/time" @@ -18,7 +19,18 @@ func (this *LogsAction) Init() { func (this *LogsAction) RunGet(params struct { NodeId int64 + + DayFrom string + DayTo string + Keyword string + Level string }) { + this.Data["nodeId"] = params.NodeId + this.Data["dayFrom"] = params.DayFrom + this.Data["dayTo"] = params.DayTo + this.Data["keyword"] = params.Keyword + this.Data["level"] = params.Level + apiNodeResp, err := this.RPC().APINodeRPC().FindEnabledAPINode(this.AdminContext(), &pb.FindEnabledAPINodeRequest{NodeId: params.NodeId}) if err != nil { this.ErrorPage(err) @@ -36,8 +48,12 @@ func (this *LogsAction) RunGet(params struct { } countResp, err := this.RPC().NodeLogRPC().CountNodeLogs(this.AdminContext(), &pb.CountNodeLogsRequest{ - Role: "api", - NodeId: params.NodeId, + Role: nodeconfigs.NodeRoleAPI, + NodeId: params.NodeId, + DayFrom: params.DayFrom, + DayTo: params.DayTo, + Keyword: params.Keyword, + Level: params.Level, }) if err != nil { this.ErrorPage(err) @@ -47,8 +63,13 @@ func (this *LogsAction) RunGet(params struct { page := this.NewPage(count, 20) logsResp, err := this.RPC().NodeLogRPC().ListNodeLogs(this.AdminContext(), &pb.ListNodeLogsRequest{ - NodeId: params.NodeId, - Role: "api", + NodeId: params.NodeId, + Role: nodeconfigs.NodeRoleAPI, + DayFrom: params.DayFrom, + DayTo: params.DayTo, + Keyword: params.Keyword, + Level: params.Level, + Offset: page.Offset, Size: page.Size, }) diff --git a/internal/web/actions/default/clusters/index.go b/internal/web/actions/default/clusters/index.go index 3b4a6823..38abfb86 100644 --- a/internal/web/actions/default/clusters/index.go +++ b/internal/web/actions/default/clusters/index.go @@ -29,13 +29,7 @@ func (this *IndexAction) RunGet(params struct { this.Data["searchType"] = params.SearchType this.Data["isSearching"] = isSearching - // 搜索节点 - if params.SearchType == "node" && len(params.Keyword) > 0 { - this.searchNodes(params.Keyword) - return - } - - // 常用的节点 + // 常用的集群 latestClusterMaps := []maps.Map{} if !isSearching { clustersResp, err := this.RPC().NodeClusterRPC().FindLatestNodeClusters(this.AdminContext(), &pb.FindLatestNodeClustersRequest{Size: 6}) @@ -52,6 +46,12 @@ func (this *IndexAction) RunGet(params struct { } this.Data["latestClusters"] = latestClusterMaps + // 搜索节点 + if params.SearchType == "node" && len(params.Keyword) > 0 { + this.searchNodes(params.Keyword) + return + } + // 搜索集群 countResp, err := this.RPC().NodeClusterRPC().CountAllEnabledNodeClusters(this.AdminContext(), &pb.CountAllEnabledNodeClustersRequest{ Keyword: params.Keyword, diff --git a/internal/web/actions/default/settings/authority/nodes/node/init.go b/internal/web/actions/default/settings/authority/nodes/node/init.go index 489ebfbf..19bc63ef 100644 --- a/internal/web/actions/default/settings/authority/nodes/node/init.go +++ b/internal/web/actions/default/settings/authority/nodes/node/init.go @@ -17,6 +17,7 @@ func init() { // 节点相关 Helper(NewHelper()). Get("", new(IndexAction)). + Get("/logs", new(LogsAction)). GetPost("/update", new(UpdateAction)). Get("/install", new(InstallAction)). diff --git a/internal/web/actions/default/settings/authority/nodes/node/logs.go b/internal/web/actions/default/settings/authority/nodes/node/logs.go new file mode 100644 index 00000000..3ddc1bdb --- /dev/null +++ b/internal/web/actions/default/settings/authority/nodes/node/logs.go @@ -0,0 +1,92 @@ +package node + +import ( + "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" + "github.com/TeaOSLab/EdgeCommon/pkg/nodeconfigs" + "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" + "github.com/iwind/TeaGo/maps" + timeutil "github.com/iwind/TeaGo/utils/time" +) + +type LogsAction struct { + actionutils.ParentAction +} + +func (this *LogsAction) Init() { + this.Nav("", "node", "log") + this.SecondMenu("nodes") +} + +func (this *LogsAction) RunGet(params struct { + NodeId int64 + + DayFrom string + DayTo string + Keyword string + Level string +}) { + this.Data["nodeId"] = params.NodeId + this.Data["dayFrom"] = params.DayFrom + this.Data["dayTo"] = params.DayTo + this.Data["keyword"] = params.Keyword + this.Data["level"] = params.Level + + apiNodeResp, err := this.RPC().APINodeRPC().FindEnabledAPINode(this.AdminContext(), &pb.FindEnabledAPINodeRequest{NodeId: params.NodeId}) + if err != nil { + this.ErrorPage(err) + return + } + apiNode := apiNodeResp.Node + if apiNode == nil { + this.NotFound("apiNode", params.NodeId) + return + } + + this.Data["node"] = maps.Map{ + "id": apiNode.Id, + "name": apiNode.Name, + } + + countResp, err := this.RPC().NodeLogRPC().CountNodeLogs(this.AdminContext(), &pb.CountNodeLogsRequest{ + Role: nodeconfigs.NodeRoleAuthority, + NodeId: params.NodeId, + DayFrom: params.DayFrom, + DayTo: params.DayTo, + Keyword: params.Keyword, + Level: params.Level, + }) + if err != nil { + this.ErrorPage(err) + return + } + count := countResp.Count + page := this.NewPage(count, 20) + + logsResp, err := this.RPC().NodeLogRPC().ListNodeLogs(this.AdminContext(), &pb.ListNodeLogsRequest{ + NodeId: params.NodeId, + Role: nodeconfigs.NodeRoleAuthority, + DayFrom: params.DayFrom, + DayTo: params.DayTo, + Keyword: params.Keyword, + Level: params.Level, + + Offset: page.Offset, + Size: page.Size, + }) + + logs := []maps.Map{} + for _, log := range logsResp.NodeLogs { + logs = append(logs, maps.Map{ + "tag": log.Tag, + "description": log.Description, + "createdTime": timeutil.FormatTime("Y-m-d H:i:s", log.CreatedAt), + "level": log.Level, + "isToday": timeutil.FormatTime("Y-m-d", log.CreatedAt) == timeutil.Format("Y-m-d"), + }) + } + this.Data["logs"] = logs + + this.Data["page"] = page.AsHTML() + + this.Show() +} diff --git a/internal/web/actions/default/settings/monitor-nodes/node/init.go b/internal/web/actions/default/settings/monitor-nodes/node/init.go index 7b3800a5..90e88c6e 100644 --- a/internal/web/actions/default/settings/monitor-nodes/node/init.go +++ b/internal/web/actions/default/settings/monitor-nodes/node/init.go @@ -17,6 +17,7 @@ func init() { // 节点相关 Helper(NewHelper()). Get("", new(IndexAction)). + Get("/logs", new(LogsAction)). GetPost("/update", new(UpdateAction)). Get("/install", new(InstallAction)). diff --git a/internal/web/actions/default/settings/monitor-nodes/node/logs.go b/internal/web/actions/default/settings/monitor-nodes/node/logs.go new file mode 100644 index 00000000..838e8aaf --- /dev/null +++ b/internal/web/actions/default/settings/monitor-nodes/node/logs.go @@ -0,0 +1,92 @@ +package node + +import ( + "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" + "github.com/TeaOSLab/EdgeCommon/pkg/nodeconfigs" + "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" + "github.com/iwind/TeaGo/maps" + timeutil "github.com/iwind/TeaGo/utils/time" +) + +type LogsAction struct { + actionutils.ParentAction +} + +func (this *LogsAction) Init() { + this.Nav("", "node", "log") + this.SecondMenu("nodes") +} + +func (this *LogsAction) RunGet(params struct { + NodeId int64 + + DayFrom string + DayTo string + Keyword string + Level string +}) { + this.Data["nodeId"] = params.NodeId + this.Data["dayFrom"] = params.DayFrom + this.Data["dayTo"] = params.DayTo + this.Data["keyword"] = params.Keyword + this.Data["level"] = params.Level + + apiNodeResp, err := this.RPC().APINodeRPC().FindEnabledAPINode(this.AdminContext(), &pb.FindEnabledAPINodeRequest{NodeId: params.NodeId}) + if err != nil { + this.ErrorPage(err) + return + } + apiNode := apiNodeResp.Node + if apiNode == nil { + this.NotFound("apiNode", params.NodeId) + return + } + + this.Data["node"] = maps.Map{ + "id": apiNode.Id, + "name": apiNode.Name, + } + + countResp, err := this.RPC().NodeLogRPC().CountNodeLogs(this.AdminContext(), &pb.CountNodeLogsRequest{ + Role: nodeconfigs.NodeRoleMonitor, + NodeId: params.NodeId, + DayFrom: params.DayFrom, + DayTo: params.DayTo, + Keyword: params.Keyword, + Level: params.Level, + }) + if err != nil { + this.ErrorPage(err) + return + } + count := countResp.Count + page := this.NewPage(count, 20) + + logsResp, err := this.RPC().NodeLogRPC().ListNodeLogs(this.AdminContext(), &pb.ListNodeLogsRequest{ + NodeId: params.NodeId, + Role: nodeconfigs.NodeRoleMonitor, + DayFrom: params.DayFrom, + DayTo: params.DayTo, + Keyword: params.Keyword, + Level: params.Level, + + Offset: page.Offset, + Size: page.Size, + }) + + logs := []maps.Map{} + for _, log := range logsResp.NodeLogs { + logs = append(logs, maps.Map{ + "tag": log.Tag, + "description": log.Description, + "createdTime": timeutil.FormatTime("Y-m-d H:i:s", log.CreatedAt), + "level": log.Level, + "isToday": timeutil.FormatTime("Y-m-d", log.CreatedAt) == timeutil.Format("Y-m-d"), + }) + } + this.Data["logs"] = logs + + this.Data["page"] = page.AsHTML() + + this.Show() +} diff --git a/internal/web/actions/default/settings/user-nodes/node/init.go b/internal/web/actions/default/settings/user-nodes/node/init.go index 398b6293..c91fb4e5 100644 --- a/internal/web/actions/default/settings/user-nodes/node/init.go +++ b/internal/web/actions/default/settings/user-nodes/node/init.go @@ -21,6 +21,7 @@ func init() { // 节点相关 Helper(NewHelper()). Get("", new(IndexAction)). + Get("/logs", new(LogsAction)). GetPost("/update", new(UpdateAction)). Get("/install", new(InstallAction)). diff --git a/internal/web/actions/default/settings/user-nodes/node/logs.go b/internal/web/actions/default/settings/user-nodes/node/logs.go new file mode 100644 index 00000000..478b664a --- /dev/null +++ b/internal/web/actions/default/settings/user-nodes/node/logs.go @@ -0,0 +1,92 @@ +package node + +import ( + "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" + "github.com/TeaOSLab/EdgeCommon/pkg/nodeconfigs" + "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" + "github.com/iwind/TeaGo/maps" + timeutil "github.com/iwind/TeaGo/utils/time" +) + +type LogsAction struct { + actionutils.ParentAction +} + +func (this *LogsAction) Init() { + this.Nav("", "node", "log") + this.SecondMenu("nodes") +} + +func (this *LogsAction) RunGet(params struct { + NodeId int64 + + DayFrom string + DayTo string + Keyword string + Level string +}) { + this.Data["nodeId"] = params.NodeId + this.Data["dayFrom"] = params.DayFrom + this.Data["dayTo"] = params.DayTo + this.Data["keyword"] = params.Keyword + this.Data["level"] = params.Level + + apiNodeResp, err := this.RPC().APINodeRPC().FindEnabledAPINode(this.AdminContext(), &pb.FindEnabledAPINodeRequest{NodeId: params.NodeId}) + if err != nil { + this.ErrorPage(err) + return + } + apiNode := apiNodeResp.Node + if apiNode == nil { + this.NotFound("apiNode", params.NodeId) + return + } + + this.Data["node"] = maps.Map{ + "id": apiNode.Id, + "name": apiNode.Name, + } + + countResp, err := this.RPC().NodeLogRPC().CountNodeLogs(this.AdminContext(), &pb.CountNodeLogsRequest{ + Role: nodeconfigs.NodeRoleUser, + NodeId: params.NodeId, + DayFrom: params.DayFrom, + DayTo: params.DayTo, + Keyword: params.Keyword, + Level: params.Level, + }) + if err != nil { + this.ErrorPage(err) + return + } + count := countResp.Count + page := this.NewPage(count, 20) + + logsResp, err := this.RPC().NodeLogRPC().ListNodeLogs(this.AdminContext(), &pb.ListNodeLogsRequest{ + NodeId: params.NodeId, + Role: nodeconfigs.NodeRoleUser, + DayFrom: params.DayFrom, + DayTo: params.DayTo, + Keyword: params.Keyword, + Level: params.Level, + + Offset: page.Offset, + Size: page.Size, + }) + + logs := []maps.Map{} + for _, log := range logsResp.NodeLogs { + logs = append(logs, maps.Map{ + "tag": log.Tag, + "description": log.Description, + "createdTime": timeutil.FormatTime("Y-m-d H:i:s", log.CreatedAt), + "level": log.Level, + "isToday": timeutil.FormatTime("Y-m-d", log.CreatedAt) == timeutil.Format("Y-m-d"), + }) + } + this.Data["logs"] = logs + + this.Data["page"] = page.AsHTML() + + this.Show() +} diff --git a/web/public/js/components/common/node-log-row.js b/web/public/js/components/common/node-log-row.js new file mode 100644 index 00000000..e74671a1 --- /dev/null +++ b/web/public/js/components/common/node-log-row.js @@ -0,0 +1,12 @@ +Vue.component("node-log-row", { + props: ["v-log", "v-keyword"], + data: function () { + return { + log: this.vLog, + keyword: this.vKeyword + } + }, + template: `
+
[{{log.createdTime}}][{{log.createdTime}}][{{log.tag}}]{{log.description}}   共{{log.count}}条
+
` +}) \ No newline at end of file diff --git a/web/views/@default/@code_editor.html b/web/views/@default/@code_editor.html index 51e9075a..f422932c 100644 --- a/web/views/@default/@code_editor.html +++ b/web/views/@default/@code_editor.html @@ -1,4 +1,3 @@ - {$var "header"} diff --git a/web/views/@default/@datepicker.html b/web/views/@default/@datepicker.html new file mode 100644 index 00000000..7b45da2f --- /dev/null +++ b/web/views/@default/@datepicker.html @@ -0,0 +1,8 @@ +{$var "header"} + + + + + + +{$end} \ No newline at end of file diff --git a/web/views/@default/api/node/logs.html b/web/views/@default/api/node/logs.html index 8dc31d52..7f707a75 100644 --- a/web/views/@default/api/node/logs.html +++ b/web/views/@default/api/node/logs.html @@ -1,20 +1,50 @@ {$layout} +{$template "menu"} +{$template "/datepicker"} - {$template "menu"} +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+ +
+
-

暂时还没有日志。

+

暂时还没有日志。

- - - +
+ + - - - - - -
-
[{{log.createdTime}}][{{log.createdTime}}][{{log.tag}}]{{log.description}}
-
+ + + + + + + + -
\ No newline at end of file +
\ No newline at end of file diff --git a/web/views/@default/api/node/logs.js b/web/views/@default/api/node/logs.js new file mode 100644 index 00000000..29a90420 --- /dev/null +++ b/web/views/@default/api/node/logs.js @@ -0,0 +1,6 @@ +Tea.context(function () { + this.$delay(function () { + teaweb.datepicker("day-from-picker") + teaweb.datepicker("day-to-picker") + }) +}) \ No newline at end of file diff --git a/web/views/@default/clusters/cluster/node/logs.html b/web/views/@default/clusters/cluster/node/logs.html index 6f961893..d7a6ca07 100644 --- a/web/views/@default/clusters/cluster/node/logs.html +++ b/web/views/@default/clusters/cluster/node/logs.html @@ -1,14 +1,6 @@ {$layout} {$template "node_menu"} - -{$var "header"} - - - - - - -{$end} +{$template "/datepicker"}
@@ -50,7 +42,7 @@ -
[{{log.createdTime}}][{{log.createdTime}}][{{log.tag}}]{{log.description}}   共{{log.count}}条
+ diff --git a/web/views/@default/clusters/index.html b/web/views/@default/clusters/index.html index 44334896..a0477437 100644 --- a/web/views/@default/clusters/index.html +++ b/web/views/@default/clusters/index.html @@ -40,7 +40,7 @@ - {{cluster.name}} + {{cluster.name}} {{cluster.countAllNodes}} - @@ -55,7 +55,7 @@ - {{cluster.dnsName}}.{{cluster.dnsDomainName}}主域名 + {{cluster.dnsName}}.{{cluster.dnsDomainName}}主域名 - @@ -86,7 +86,7 @@ - {{node.name}} + {{node.name}}
集群:{{node.cluster.name}}
@@ -103,7 +103,7 @@ -
-
{{addr.ip}} +
{{addr.ip}} ({{addr.name}},不可访问 (不可访问)
diff --git a/web/views/@default/clusters/logs/index.html b/web/views/@default/clusters/logs/index.html index b72807de..1de3b983 100644 --- a/web/views/@default/clusters/logs/index.html +++ b/web/views/@default/clusters/logs/index.html @@ -1,14 +1,5 @@ {$layout} - -{$var "header"} - - - - - - -{$end} - +{$template "/datepicker"}
@@ -54,7 +45,7 @@ {{log.node.cluster.name}} {{log.node.name}} -
[{{log.createdTime}}][{{log.createdTime}}][{{log.tag}}]{{log.description}}   共{{log.count}}条
+ diff --git a/web/views/@default/log/index.html b/web/views/@default/log/index.html index 8534d347..e104642f 100644 --- a/web/views/@default/log/index.html +++ b/web/views/@default/log/index.html @@ -1,14 +1,6 @@ {$layout} {$template "menu"} - -{$var "header"} - - - - - - -{$end} +{$template "/datepicker"}
@@ -50,13 +42,13 @@ - +
{{log.createdTime}} | 用户  |  {{log.userName}} | {{log.ip}}| 用户  |  {{log.userName}} | {{log.ip}} | {{log.region}}   ...  {{log.action}}
{{log.description}}{{log.description}}
diff --git a/web/views/@default/ns/clusters/accessLogs/index.html b/web/views/@default/ns/clusters/accessLogs/index.html index dfe00524..5c5ee66f 100644 --- a/web/views/@default/ns/clusters/accessLogs/index.html +++ b/web/views/@default/ns/clusters/accessLogs/index.html @@ -1,13 +1,5 @@ {$layout} - -{$var "header"} - - - - - - -{$end} +{$template "/datepicker"}
diff --git a/web/views/@default/ns/clusters/cluster/node/logs.html b/web/views/@default/ns/clusters/cluster/node/logs.html index fb1afe08..c9e90089 100644 --- a/web/views/@default/ns/clusters/cluster/node/logs.html +++ b/web/views/@default/ns/clusters/cluster/node/logs.html @@ -1,14 +1,6 @@ {$layout} {$template "node_menu"} - -{$var "header"} - - - - - - -{$end} +{$template "/datepicker"} @@ -50,7 +42,7 @@ -
[{{log.createdTime}}][{{log.createdTime}}][{{log.tag}}]{{log.description}}   共{{log.count}}条
+ diff --git a/web/views/@default/ns/clusters/logs/index.html b/web/views/@default/ns/clusters/logs/index.html index 950b7712..7ddc77d2 100644 --- a/web/views/@default/ns/clusters/logs/index.html +++ b/web/views/@default/ns/clusters/logs/index.html @@ -1,13 +1,5 @@ {$layout} - -{$var "header"} - - - - - - -{$end} +{$template "/datepicker"}
@@ -54,7 +46,7 @@ {{log.node.cluster.name}} {{log.node.name}} -
[{{log.createdTime}}][{{log.createdTime}}][{{log.tag}}]{{log.description}}   共{{log.count}}条
+ diff --git a/web/views/@default/ns/index.html b/web/views/@default/ns/index.html index e0d33ac4..521831f2 100644 --- a/web/views/@default/ns/index.html +++ b/web/views/@default/ns/index.html @@ -17,7 +17,7 @@
- +
@@ -42,7 +42,7 @@ - {{domain.name}} + {{domain.name}} {{domain.cluster.name}} diff --git a/web/views/@default/servers/components/waf/log.html b/web/views/@default/servers/components/waf/log.html index ccb924a0..c590d696 100644 --- a/web/views/@default/servers/components/waf/log.html +++ b/web/views/@default/servers/components/waf/log.html @@ -1,14 +1,5 @@ {$layout} - -{$var "header"} - - - - - - -{$end} - +{$template "/datepicker"} {$template "waf_menu"} diff --git a/web/views/@default/servers/index.html b/web/views/@default/servers/index.html index 95afb4cb..5e928d63 100644 --- a/web/views/@default/servers/index.html +++ b/web/views/@default/servers/index.html @@ -73,7 +73,7 @@ - {{server.name}} + {{server.name}}
{{server.serverTypeName}}
@@ -85,8 +85,8 @@ {{server.cluster.name}} - {{server.serverNames[0].name}} - {{server.serverNames[0].subNames[0]}} + {{server.serverNames[0].name}} + {{server.serverNames[0].subNames[0]}} 等{{server.countServerNames}}个域名 - diff --git a/web/views/@default/servers/server/log/history.html b/web/views/@default/servers/server/log/history.html index 744b82f0..8e22136d 100644 --- a/web/views/@default/servers/server/log/history.html +++ b/web/views/@default/servers/server/log/history.html @@ -1,13 +1,5 @@ {$layout} - -{$var "header"} - - - - - - -{$end} +{$template "/datepicker"} {$template "/left_menu"} diff --git a/web/views/@default/settings/authority/nodes/node/@menu.html b/web/views/@default/settings/authority/nodes/node/@menu.html index 8afccb48..fdbf3bef 100644 --- a/web/views/@default/settings/authority/nodes/node/@menu.html +++ b/web/views/@default/settings/authority/nodes/node/@menu.html @@ -2,6 +2,7 @@ 节点列表 | "{{node.name}}"详情 + 运行日志 安装节点 修改节点 diff --git a/web/views/@default/settings/authority/nodes/node/logs.html b/web/views/@default/settings/authority/nodes/node/logs.html new file mode 100644 index 00000000..d94e8904 --- /dev/null +++ b/web/views/@default/settings/authority/nodes/node/logs.html @@ -0,0 +1,50 @@ +{$layout} +{$template "menu"} +{$template "/datepicker"} + +
+ + +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+ +
+ + +

暂时还没有日志。

+ + + + + + + + + + +
+ +
+ +
\ No newline at end of file diff --git a/web/views/@default/settings/authority/nodes/node/logs.js b/web/views/@default/settings/authority/nodes/node/logs.js new file mode 100644 index 00000000..29a90420 --- /dev/null +++ b/web/views/@default/settings/authority/nodes/node/logs.js @@ -0,0 +1,6 @@ +Tea.context(function () { + this.$delay(function () { + teaweb.datepicker("day-from-picker") + teaweb.datepicker("day-to-picker") + }) +}) \ No newline at end of file diff --git a/web/views/@default/settings/monitor-nodes/node/@menu.html b/web/views/@default/settings/monitor-nodes/node/@menu.html index 395e1b5d..c0546ed4 100644 --- a/web/views/@default/settings/monitor-nodes/node/@menu.html +++ b/web/views/@default/settings/monitor-nodes/node/@menu.html @@ -2,6 +2,7 @@ 节点列表 | "{{node.name}}"详情 + 运行日志 安装节点 修改节点 diff --git a/web/views/@default/settings/monitor-nodes/node/logs.html b/web/views/@default/settings/monitor-nodes/node/logs.html new file mode 100644 index 00000000..8c7371f1 --- /dev/null +++ b/web/views/@default/settings/monitor-nodes/node/logs.html @@ -0,0 +1,50 @@ +{$layout} +{$template "menu"} +{$template "/datepicker"} + +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+ +
+
+ +

暂时还没有日志。

+ + + + + + + + + + +
+ +
+ +
\ No newline at end of file diff --git a/web/views/@default/settings/monitor-nodes/node/logs.js b/web/views/@default/settings/monitor-nodes/node/logs.js new file mode 100644 index 00000000..29a90420 --- /dev/null +++ b/web/views/@default/settings/monitor-nodes/node/logs.js @@ -0,0 +1,6 @@ +Tea.context(function () { + this.$delay(function () { + teaweb.datepicker("day-from-picker") + teaweb.datepicker("day-to-picker") + }) +}) \ No newline at end of file diff --git a/web/views/@default/settings/user-nodes/node/@menu.html b/web/views/@default/settings/user-nodes/node/@menu.html index 121ea2c7..7a8b1e4f 100644 --- a/web/views/@default/settings/user-nodes/node/@menu.html +++ b/web/views/@default/settings/user-nodes/node/@menu.html @@ -2,6 +2,7 @@ 节点列表 | "{{node.name}}"详情 + 运行日志 安装节点 修改节点 diff --git a/web/views/@default/settings/user-nodes/node/logs.html b/web/views/@default/settings/user-nodes/node/logs.html new file mode 100644 index 00000000..79634e52 --- /dev/null +++ b/web/views/@default/settings/user-nodes/node/logs.html @@ -0,0 +1,50 @@ +{$layout} +{$template "menu"} +{$template "/datepicker"} + +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+ +
+
+ +

暂时还没有日志。

+ + + + + + + + + + +
+ +
+ +
\ No newline at end of file diff --git a/web/views/@default/settings/user-nodes/node/logs.js b/web/views/@default/settings/user-nodes/node/logs.js new file mode 100644 index 00000000..29a90420 --- /dev/null +++ b/web/views/@default/settings/user-nodes/node/logs.js @@ -0,0 +1,6 @@ +Tea.context(function () { + this.$delay(function () { + teaweb.datepicker("day-from-picker") + teaweb.datepicker("day-to-picker") + }) +}) \ No newline at end of file