From 9d24e20a5bea097c1c28ae5b7ac11137b14cddd1 Mon Sep 17 00:00:00 2001 From: hailinxiao Date: Tue, 29 Nov 2022 22:01:12 +0800 Subject: [PATCH 1/2] =?UTF-8?q?feature:=20dialog,sideslider=20=E5=85=B3?= =?UTF-8?q?=E9=97=AD=E5=89=8D=E7=A1=AE=E8=AE=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/client/src/common/leave-confirm.js | 34 +++++++++ lib/client/src/components/lc-dialog/index.vue | 59 +++++++++++++++ lib/client/src/components/lc-form/index.vue | 66 +++++++++++++++++ lib/client/src/components/lc-form/item.vue | 21 ++++++ .../src/components/lc-sideslider/index.vue | 71 +++++++++++++++++++ .../forms/edit-market-func-sideslider.vue | 46 ++++++------ .../methods/forms/form-items/api-data.vue | 8 +-- .../methods/forms/form-items/code.vue | 8 +-- .../methods/forms/form-items/detail.vue | 38 +++++----- .../methods/forms/form-items/group.vue | 8 +-- .../methods/forms/form-items/market-token.vue | 8 +-- .../methods/forms/form-items/market.vue | 8 +-- .../methods/forms/form-items/name.vue | 8 +-- .../methods/forms/form-items/project.vue | 8 +-- .../methods/forms/form-items/summary.vue | 8 +-- .../methods/forms/form-items/token.vue | 8 +-- lib/client/src/main.js | 10 +++ .../system/components/template-dialog.vue | 38 ++++++---- .../src/views/system/project-manage/index.vue | 69 +++++++++++------- 19 files changed, 405 insertions(+), 119 deletions(-) create mode 100644 lib/client/src/common/leave-confirm.js create mode 100644 lib/client/src/components/lc-dialog/index.vue create mode 100644 lib/client/src/components/lc-form/index.vue create mode 100644 lib/client/src/components/lc-form/item.vue create mode 100644 lib/client/src/components/lc-sideslider/index.vue diff --git a/lib/client/src/common/leave-confirm.js b/lib/client/src/common/leave-confirm.js new file mode 100644 index 000000000..4255c6ae6 --- /dev/null +++ b/lib/client/src/common/leave-confirm.js @@ -0,0 +1,34 @@ + +import Vue from 'vue' + +/** + * @desc 页面编辑状态未保存离开确认 + * @param { String } message + * @returns { Promise } + */ +export const leaveConfirm = (message = '离开将会导致未保存信息丢失') => { + if (!window.leaveConfirm || window.leaveConfirm === 'dialog') { + return Promise.resolve(true) + } + const vm = new Vue() + const h = vm.$createElement + return new Promise((resolve, reject) => { + vm.$bkInfo({ + title: '确认离开当前页?', + subHeader: h('p', { + style: { + color: '#63656e', + fontSize: '14px', + textAlign: 'center' + } + }, message), + confirmFn: () => { + window.leaveConfirm = false + resolve(true) + }, + cancelFn: () => { + reject(Error('cancel')) + } + }) + }) +} diff --git a/lib/client/src/components/lc-dialog/index.vue b/lib/client/src/components/lc-dialog/index.vue new file mode 100644 index 000000000..c71b780a2 --- /dev/null +++ b/lib/client/src/components/lc-dialog/index.vue @@ -0,0 +1,59 @@ + + diff --git a/lib/client/src/components/lc-form/index.vue b/lib/client/src/components/lc-form/index.vue new file mode 100644 index 000000000..ff654f844 --- /dev/null +++ b/lib/client/src/components/lc-form/index.vue @@ -0,0 +1,66 @@ + + diff --git a/lib/client/src/components/lc-form/item.vue b/lib/client/src/components/lc-form/item.vue new file mode 100644 index 000000000..87758b42d --- /dev/null +++ b/lib/client/src/components/lc-form/item.vue @@ -0,0 +1,21 @@ + + + diff --git a/lib/client/src/components/lc-sideslider/index.vue b/lib/client/src/components/lc-sideslider/index.vue new file mode 100644 index 000000000..b04897a35 --- /dev/null +++ b/lib/client/src/components/lc-sideslider/index.vue @@ -0,0 +1,71 @@ + + diff --git a/lib/client/src/components/methods/forms/edit-market-func-sideslider.vue b/lib/client/src/components/methods/forms/edit-market-func-sideslider.vue index 1339249c8..f418bb738 100644 --- a/lib/client/src/components/methods/forms/edit-market-func-sideslider.vue +++ b/lib/client/src/components/methods/forms/edit-market-func-sideslider.vue @@ -1,11 +1,10 @@