From f3f18bd5a14459f010c77689cad0db36f6f6aa34 Mon Sep 17 00:00:00 2001 From: Wh1te Date: Mon, 12 Oct 2020 22:30:45 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=88=A0=E9=99=A4=E4=B8=BB=E9=A2=98?= =?UTF-8?q?=E6=97=B6=E5=8F=AF=E9=80=89=E6=98=AF=E5=90=A6=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=20(#262)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/theme.js | 5 +++- src/views/interface/ThemeList.vue | 49 ++++++++++++++++++++++--------- 2 files changed, 39 insertions(+), 15 deletions(-) diff --git a/src/api/theme.js b/src/api/theme.js index 8a62ca4c..73d51c38 100644 --- a/src/api/theme.js +++ b/src/api/theme.js @@ -61,9 +61,12 @@ themeApi.update = themeId => { }) } -themeApi.delete = key => { +themeApi.delete = (key, deleteSettings) => { return service({ url: `${baseUrl}/${key}`, + params: { + deleteSettings: deleteSettings + }, method: 'delete' }) } diff --git a/src/views/interface/ThemeList.vue b/src/views/interface/ThemeList.vue index 9e8c9fd6..bff64c34 100644 --- a/src/views/interface/ThemeList.vue +++ b/src/views/interface/ThemeList.vue @@ -90,7 +90,7 @@ + +

确定删除【{{ themeDeleteModal.selected.name }}】主题?

+ + 同时删除主题配置 + +
@@ -340,6 +355,12 @@ export default { selected: {}, }, + themeDeleteModal: { + visible: false, + deleteSettings: false, + selected: {} + }, + themeSettingDrawer: { visible: false, selected: {}, @@ -368,11 +389,13 @@ export default { this.themeSettingDrawer.visible = false this.installModal.visible = false this.localUpdateModel.visible = false + this.themeDeleteModal.visible = false }, beforeRouteLeave(to, from, next) { this.themeSettingDrawer.visible = false this.installModal.visible = false this.localUpdateModel.visible = false + this.themeDeleteModal.visible = false next() }, methods: { @@ -399,8 +422,9 @@ export default { this.handleListThemes() }) }, - handleDeleteTheme(themeId) { - themeApi.delete(themeId).finally(() => { + handleDeleteTheme(themeId, deleteSettings) { + themeApi.delete(themeId, deleteSettings).finally(() => { + this.themeDeleteModal.visible = false this.handleListThemes() }) }, @@ -488,17 +512,9 @@ export default { this.themeSettingDrawer.selected = theme this.themeSettingDrawer.visible = true }, - handleConfirmDelete(item) { - const _this = this - this.$confirm({ - title: '提示', - maskClosable: true, - content: '确定删除【' + item.name + '】主题?', - onOk() { - _this.handleDeleteTheme(item.id) - }, - onCancel() {}, - }) + handleOpenThemeDeleteModal(item) { + this.themeDeleteModal.visible = true + this.themeDeleteModal.selected = item }, handleConfirmRemoteUpdate(item) { const _this = this @@ -540,6 +556,11 @@ export default { this.themeSettingDrawer.visible = false this.themeSettingDrawer.selected = {} }, + onThemeDeleteModalClose() { + this.themeDeleteModal.visible = false + this.themeDeleteModal.deleteSettings = false + this.themeDeleteModal.selected = {} + } }, }