From 1e9d669e8d4a6933b53e92ccfec42465e50f953d Mon Sep 17 00:00:00 2001 From: jingrow Date: Tue, 29 Jul 2025 23:27:30 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E5=99=A8=E8=AF=A6=E6=83=85?= =?UTF-8?q?=E9=A1=B5=E5=A2=9E=E5=8A=A0=E7=BB=AD=E8=B4=B9=E6=8C=89=E9=92=AE?= =?UTF-8?q?=E5=BC=B9=E7=AA=97=E5=8F=8A=E7=BB=AD=E8=B4=B9=E9=9D=A2=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src2/components/JsiteServerOverview.vue | 33 +- .../components/JsiteServerRenewalDialog.vue | 541 ++++++++++++++++++ 2 files changed, 553 insertions(+), 21 deletions(-) create mode 100644 dashboard/src2/components/JsiteServerRenewalDialog.vue diff --git a/dashboard/src2/components/JsiteServerOverview.vue b/dashboard/src2/components/JsiteServerOverview.vue index 321f8cc..bd4fdad 100644 --- a/dashboard/src2/components/JsiteServerOverview.vue +++ b/dashboard/src2/components/JsiteServerOverview.vue @@ -292,27 +292,13 @@ export default { return regionMap[region] || region; }, renewServer() { - const renewRequest = createResource({ - url: '/api/action/jcloud.api.aliyun_server_light.renew_aliyun_instance', - params: { - instance_id: this.$jsiteServer.pg.instance_id, - region_id: this.$jsiteServer.pg.region - }, - onSuccess: () => { - toast.success('续费请求已提交'); - }, - onError: (error) => { - toast.error(getToastErrorMessage(error)); - } - }); - toast.promise( - renewRequest.submit(), - { - loading: '正在处理续费请求...', - success: '续费请求已提交', - error: (e) => getToastErrorMessage(e), - }, - ); + const JsiteServerRenewalDialog = defineAsyncComponent(() => import('./JsiteServerRenewalDialog.vue')); + + renderDialog(h(JsiteServerRenewalDialog, { + server: this.server, + serverDoc: this.$jsiteServer.pg, + onSuccess: this.onRenewalSuccess + })); }, async restartServer() { if (!this.$jsiteServer.pg.instance_id) { @@ -501,6 +487,11 @@ export default { }); } }, + onRenewalSuccess(data) { + toast.success('服务器续费成功!'); + // 刷新服务器数据 + this.$jsiteServer.reload(); + }, }, computed: { serverInformation() { diff --git a/dashboard/src2/components/JsiteServerRenewalDialog.vue b/dashboard/src2/components/JsiteServerRenewalDialog.vue new file mode 100644 index 0000000..920f415 --- /dev/null +++ b/dashboard/src2/components/JsiteServerRenewalDialog.vue @@ -0,0 +1,541 @@ + + + + + \ No newline at end of file