diff --git a/internal/data/container_compose.go b/internal/data/container_compose.go index 1340e551..7d452a57 100644 --- a/internal/data/container_compose.go +++ b/internal/data/container_compose.go @@ -161,6 +161,9 @@ func (r *containerComposeRepo) Down(name string) error { // Remove 删除编排 func (r *containerComposeRepo) Remove(name string) error { + if err := r.Down(name); err != nil { + return err + } dir := filepath.Join(app.Root, "server", "compose", name) return os.RemoveAll(dir) } diff --git a/web/src/views/container/ComposeView.vue b/web/src/views/container/ComposeView.vue index 6de53d85..618b4e9d 100644 --- a/web/src/views/container/ComposeView.vue +++ b/web/src/views/container/ComposeView.vue @@ -57,7 +57,7 @@ const columns: any = [ { title: $gettext('Status'), key: 'status', - width: 150, + width: 300, resizable: true, ellipsis: { tooltip: true } }, @@ -165,10 +165,18 @@ const columns: any = [ NPopconfirm, { onPositiveClick: () => { - useRequest(container.composeDown(row.name)).onSuccess(() => { - refresh() - window.$message.success($gettext('Stop successful')) + const messageReactive = window.$message.loading($gettext('Stopping...'), { + duration: 0 }) + useRequest(container.composeDown(row.name)) + .onSuccess(() => { + refresh() + forcePush.value = false + window.$message.success($gettext('Stop successful')) + }) + .onComplete(() => { + messageReactive?.destroy() + }) } }, { @@ -290,7 +298,7 @@ onMounted(() => { striped remote :loading="loading" - :scroll-x="1000" + :scroll-x="1100" :data="data" :columns="columns" :row-key="(row: any) => row.name"