From 750c929506c248fdfbb12195ee6749844ab52932 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E7=A5=A5=E8=B6=85?= Date: Thu, 11 Jan 2024 18:40:29 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E6=89=B9=E9=87=8F=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E7=BD=91=E7=AB=99=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../actions/default/servers/deleteServers.go | 28 +++++++++++ internal/web/actions/default/servers/init.go | 1 + web/views/@default/servers/index.css | 6 +++ web/views/@default/servers/index.css.map | 2 +- web/views/@default/servers/index.html | 14 ++++-- web/views/@default/servers/index.js | 50 +++++++++++++++++++ web/views/@default/servers/index.less | 10 ++++ 7 files changed, 107 insertions(+), 4 deletions(-) create mode 100644 internal/web/actions/default/servers/deleteServers.go diff --git a/internal/web/actions/default/servers/deleteServers.go b/internal/web/actions/default/servers/deleteServers.go new file mode 100644 index 00000000..0cadead8 --- /dev/null +++ b/internal/web/actions/default/servers/deleteServers.go @@ -0,0 +1,28 @@ +// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . + +package servers + +import ( + "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" + "github.com/TeaOSLab/EdgeCommon/pkg/langs/codes" + "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" +) + +// DeleteServersAction 删除一组网站 +type DeleteServersAction struct { + actionutils.ParentAction +} + +func (this *DeleteServersAction) RunPost(params struct { + ServerIds []int64 +}) { + defer this.CreateLogInfo(codes.Server_LogDeleteServers) + + _, err := this.RPC().ServerRPC().DeleteServers(this.AdminContext(), &pb.DeleteServersRequest{ServerIds: params.ServerIds}) + if err != nil { + this.ErrorPage(err) + return + } + + this.Success() +} diff --git a/internal/web/actions/default/servers/init.go b/internal/web/actions/default/servers/init.go index b04513fa..fd233f4d 100644 --- a/internal/web/actions/default/servers/init.go +++ b/internal/web/actions/default/servers/init.go @@ -19,6 +19,7 @@ func init() { GetPost("/create", new(CreateAction)). GetPost("/update", new(UpdateAction)). Post("/nearby", new(NearbyAction)). + Post("/deleteServers", new(DeleteServersAction)). // GetPost("/addPortPopup", new(AddPortPopupAction)). diff --git a/web/views/@default/servers/index.css b/web/views/@default/servers/index.css index e00969d2..d765d71d 100644 --- a/web/views/@default/servers/index.css +++ b/web/views/@default/servers/index.css @@ -13,6 +13,12 @@ .node-logs-box::-webkit-scrollbar { width: 4px; } +.server-checkbox-td .checkbox { + opacity: 50%; +} +.server-checkbox-td .checkbox:hover { + opacity: 100%; +} .server-name-td { position: relative; } diff --git a/web/views/@default/servers/index.css.map b/web/views/@default/servers/index.css.map index a0931ebc..3fd78fcc 100644 --- a/web/views/@default/servers/index.css.map +++ b/web/views/@default/servers/index.css.map @@ -1 +1 @@ -{"version":3,"sources":["index.less"],"names":[],"mappings":"AAAA,GAAG,QACF,MAAK;EACJ,kBAAA;EACA,UAAA;EACA,UAAA;;AAJF,GAAG,QAOF;EACC,kBAAA;;AAIF;EACC,gBAAA;EACA,gBAAA;;AAGD,cAAc;EACb,UAAA;;AAGD;EACC,kBAAA;;AADD,eAGC,MAAK;EACJ,aAAA;EACA,kBAAA;EACA,UAAA;EACA,QAAA;EACA,gBAAA;;AAIF,eAAe,MACd,MAAK;EACJ,eAAA;;AAIF,eACC;EACC,gBAAA;;AAFF,eACC,IAGC;EACC,gBAAA;;AAKH,MACC,GAAE;EACD,UAAA","file":"index.css"} \ No newline at end of file +{"version":3,"sources":["index.less"],"names":[],"mappings":"AAAA,GAAG,QACF,MAAK;EACJ,kBAAA;EACA,UAAA;EACA,UAAA;;AAJF,GAAG,QAOF;EACC,kBAAA;;AAIF;EACC,gBAAA;EACA,gBAAA;;AAGD,cAAc;EACb,UAAA;;AAGD,mBACC;EACC,YAAA;;AAFF,mBAKC,UAAS;EACR,aAAA;;AAIF;EACC,kBAAA;;AADD,eAGC,MAAK;EACJ,aAAA;EACA,kBAAA;EACA,UAAA;EACA,QAAA;EACA,gBAAA;;AAIF,eAAe,MACd,MAAK;EACJ,eAAA;;AAIF,eACC;EACC,gBAAA;;AAFF,eACC,IAGC;EACC,gBAAA;;AAKH,MACC,GAAE;EACD,UAAA","file":"index.css"} \ No newline at end of file diff --git a/web/views/@default/servers/index.html b/web/views/@default/servers/index.html index cd850b0d..dba9bea6 100644 --- a/web/views/@default/servers/index.html +++ b/web/views/@default/servers/index.html @@ -39,12 +39,12 @@
-
- 检查域名解析 -
+
+ 检查域名解析 +
@@ -55,9 +55,16 @@

暂时还没有网站。

+
+
+     + +
+ + @@ -71,6 +78,7 @@ +
网站名称 所属用户 部署集群
{{server.name}}  
{{server.serverTypeName}} diff --git a/web/views/@default/servers/index.js b/web/views/@default/servers/index.js index 8f3622ed..1b4f3e5c 100644 --- a/web/views/@default/servers/index.js +++ b/web/views/@default/servers/index.js @@ -55,4 +55,54 @@ Tea.context(function () { this.showLatest = function () { this.latestVisible = !this.latestVisible } + + /** + * 全选 + */ + this.checkedServerIds = [] + this.changeAllChecked = function (checked) { + for (let checkbox of this.$refs.serverCheckboxes) { + if (checked) { + checkbox.check() + } else { + checkbox.uncheck() + } + } + this.updateCheckedServers() + } + + this.changeServerChecked = function () { + this.updateCheckedServers() + } + + this.updateCheckedServers = function () { + let serverIds = [] + for (let checkbox of this.$refs.serverCheckboxes) { + if (checkbox.isChecked()) { + serverIds.push(checkbox.vValue) + } + } + this.checkedServerIds = serverIds + } + + this.resetCheckedServers = function () { + this.$refs.allCheckedCheckboxes.uncheck() + for (let checkbox of this.$refs.serverCheckboxes) { + checkbox.uncheck() + } + this.updateCheckedServers() + } + + this.deleteServers = function () { + let that = this + teaweb.confirm("确定要删除所选的" + (this.checkedServerIds.length) + "个网站吗?", function () { + that.$post(".deleteServers") + .params({ + serverIds: this.checkedServerIds + }) + .success(function () { + teaweb.reload() + }) + }) + } }) \ No newline at end of file diff --git a/web/views/@default/servers/index.less b/web/views/@default/servers/index.less index edf89275..7261f612 100644 --- a/web/views/@default/servers/index.less +++ b/web/views/@default/servers/index.less @@ -19,6 +19,16 @@ width: 4px; } +.server-checkbox-td { + .checkbox { + opacity: 50%; + } + + .checkbox:hover { + opacity: 100%; + } +} + .server-name-td { position: relative;