From 58feabeb0f84dc3e52ed2e4638f786cf331f7fa4 Mon Sep 17 00:00:00 2001 From: luofann Date: Tue, 29 Aug 2023 20:34:29 +0800 Subject: [PATCH] =?UTF-8?q?bugfix:=20=E4=BF=AE=E5=A4=8D=E5=9B=BD=E5=AF=86?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E7=9A=84=E4=BD=93=E9=AA=8C=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/common/RenderForm/FormItem.vue | 13 +++++++++---- .../components/common/RenderForm/RenderForm.vue | 1 + .../common/RenderForm/tags/TagPassword.vue | 14 ++++++++++++-- 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/frontend/desktop/src/components/common/RenderForm/FormItem.vue b/frontend/desktop/src/components/common/RenderForm/FormItem.vue index 92a8f2a1f5..79a4af4316 100644 --- a/frontend/desktop/src/components/common/RenderForm/FormItem.vue +++ b/frontend/desktop/src/components/common/RenderForm/FormItem.vue @@ -348,11 +348,15 @@ defaultValueFormat = this.getDefaultValueFormat() } - const isTypeValid = Array.isArray(defaultValueFormat.type) - ? defaultValueFormat.type.indexOf(valueType) > -1 - : defaultValueFormat.type === valueType + const defaultValueType = Array.isArray(defaultValueFormat.type) ? defaultValueFormat.type : [defaultValueFormat.type] - if (isTypeValid) { + // 处理非密码框表单使用密码变量时,需要展示******的场景 + // 非密码框且值类型包含string的表单,如果当前value为Object类型,且type值为password_value时,展示值为****** + if (this.scheme.type !== 'password' && defaultValueType.includes('String') && checkDataType(val) === 'Object' && val.type === 'password_value') { + return '******' + } + + if (defaultValueType.includes(valueType)) { formValue = tools.deepClone(val) } else { formValue = tools.deepClone(defaultValueFormat.value) @@ -468,6 +472,7 @@ valueFormat = { type: ['String', 'Object'], value: { + type: 'password_value', tag: 'value', value: '' } diff --git a/frontend/desktop/src/components/common/RenderForm/RenderForm.vue b/frontend/desktop/src/components/common/RenderForm/RenderForm.vue index 07aff3fa97..e988a08b98 100644 --- a/frontend/desktop/src/components/common/RenderForm/RenderForm.vue +++ b/frontend/desktop/src/components/common/RenderForm/RenderForm.vue @@ -292,6 +292,7 @@ break case 'password': val = { + type: 'password_value', tag: 'value', value: '' } diff --git a/frontend/desktop/src/components/common/RenderForm/tags/TagPassword.vue b/frontend/desktop/src/components/common/RenderForm/tags/TagPassword.vue index 1feb32b464..936b10307d 100644 --- a/frontend/desktop/src/components/common/RenderForm/tags/TagPassword.vue +++ b/frontend/desktop/src/components/common/RenderForm/tags/TagPassword.vue @@ -12,7 +12,14 @@ - + {{validateInfo.message}} @@ -90,6 +99,7 @@ data () { return { localVal: { + type: 'password_value', tag: 'value', value: '' },