From 2ef91d906950f6fa25c2c6ae3623b40166250f23 Mon Sep 17 00:00:00 2001 From: wangxiang <1827945911@qq.com> Date: Thu, 29 Feb 2024 19:09:29 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E6=A8=A1=E6=9D=BF=E5=88=9D=E6=AD=A5?= =?UTF-8?q?=E8=AE=BE=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../devtools/template/TemplateModal.vue | 31 +++++++++++++------ .../system/devtools/template/template.data.ts | 1 + 2 files changed, 23 insertions(+), 9 deletions(-) diff --git a/src/views/system/devtools/template/TemplateModal.vue b/src/views/system/devtools/template/TemplateModal.vue index 64d0aa7..843553d 100644 --- a/src/views/system/devtools/template/TemplateModal.vue +++ b/src/views/system/devtools/template/TemplateModal.vue @@ -9,7 +9,7 @@ > - + 新增 编辑 @@ -29,7 +29,7 @@ - + 新增 编辑 @@ -42,7 +42,10 @@ @edit="handleRemoveTab" > - + @@ -69,6 +72,7 @@ type templateTypePartial = Partial; interface WindowState { tag: string; + childrenTabVisible: boolean; templateObjs: templateTypePartial[]; mainActiveKey: string; childActiveKey: string; @@ -77,10 +81,11 @@ const state = reactive({ tag: '', + childrenTabVisible: false, templateObjs: [], mainActiveKey: '', childActiveKey: '', - typeActiveKey: '' + typeActiveKey: '0' }); const mainTemplateObjs = computed(() => state.templateObjs.filter(item => item.isChild === '0')); @@ -108,6 +113,14 @@ await resetFields(); await clearValidate(); await setProps({ disabled: false }); + await updateSchema([ + { + field: 'type', + componentProps: { + onChange: (value: string) => (state.childrenTabVisible = value == '2') + } + } + ]); // 处理设置数据 state.tag = data._tag; const id = data.record?.id; @@ -135,14 +148,14 @@ function handleRemoveTab(targetKey: string) { let lastIndex = 0; - (state.typeActiveKey == '1' ? mainTemplateObjs : childTemplateObjs).value.forEach((item, i) => { + (state.typeActiveKey == '0' ? mainTemplateObjs : childTemplateObjs).value.forEach((item, i) => { if ((item.index || item.id) == targetKey) { lastIndex = i - 1; } }); state.templateObjs = state.templateObjs.filter(item => (item.index || item.id) != targetKey); // 当前选择需要删除的tab时候设置自动选择上一个tab - if (state.typeActiveKey == '1') { + if (state.typeActiveKey == '0') { if (mainTemplateObjs.value.length && state.mainActiveKey === targetKey) { if (lastIndex >= 0) { const mainTemplate = mainTemplateObjs.value[lastIndex]; @@ -166,11 +179,11 @@ } function handlePrompt({ name }) { - const index = state.templateObjs.findIndex(item => (item.index || item.id) == (state.typeActiveKey == '1' ? state.mainActiveKey : state.childActiveKey)); + const index = state.templateObjs.findIndex(item => (item.index || item.id) == (state.typeActiveKey == '0' ? state.mainActiveKey : state.childActiveKey)); let template: templateTypePartial = { name, contents: '', - isChild: state.typeActiveKey == '1' ? '0' : '1', + isChild: state.typeActiveKey, index: `t${Date.now()}` }; if (index != -1) { @@ -178,7 +191,7 @@ state.templateObjs.splice(index, 1, template); } else state.templateObjs.push(template); // 设置自动选择tab - if (state.typeActiveKey == '1'){ + if (state.typeActiveKey == '0'){ state.mainActiveKey = (template.index || template.id)!; } else state.childActiveKey = (template.index || template.id)!; } diff --git a/src/views/system/devtools/template/template.data.ts b/src/views/system/devtools/template/template.data.ts index cee7a05..36921d2 100644 --- a/src/views/system/devtools/template/template.data.ts +++ b/src/views/system/devtools/template/template.data.ts @@ -79,6 +79,7 @@ export const formSchema: FormSchema[] = [ label: '模板分类', component: 'Select', required: true, + defaultValue: '1', componentProps: { options: [ { label: '单表',value: '1' },