mirror of
https://github.com/continew-org/continew-admin-ui.git
synced 2025-09-07 20:57:08 +08:00
refactor(system/storage): 修改存储配置时,保持Secret Key为空将不更改
This commit is contained in:
@@ -199,9 +199,17 @@ const updateValue = (value: any, field: string) => {
|
|||||||
emit('update:modelValue', Object.assign(props.modelValue, { [field]: value }))
|
emit('update:modelValue', Object.assign(props.modelValue, { [field]: value }))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 必填项 */
|
||||||
|
const isRequired = (item: ColumnItem) => {
|
||||||
|
if (typeof item.required === 'boolean') return item.required
|
||||||
|
if (typeof item.required === 'function') {
|
||||||
|
return item.required(props.modelValue)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/** 表单项校验规则 */
|
/** 表单项校验规则 */
|
||||||
const getFormItemRules = (item: ColumnItem) => {
|
const getFormItemRules = (item: ColumnItem) => {
|
||||||
if (item.required) {
|
if (isRequired(item)) {
|
||||||
const defaultProps = getComponentBindProps(item)
|
const defaultProps = getComponentBindProps(item)
|
||||||
return [{ required: true, message: defaultProps.placeholder || `请输入${item.label}` }, ...(Array.isArray(item.rules) ? item.rules : [])]
|
return [{ required: true, message: defaultProps.placeholder || `请输入${item.label}` }, ...(Array.isArray(item.rules) ? item.rules : [])]
|
||||||
}
|
}
|
||||||
|
@@ -203,8 +203,8 @@ export interface ColumnItem<F = any> {
|
|||||||
props?: ColumnItemProps
|
props?: ColumnItemProps
|
||||||
gridItemProps?: A.GridItemProps
|
gridItemProps?: A.GridItemProps
|
||||||
formItemProps?: Omit<A.FormItemInstance['$props'], 'label' | 'field'> // a-form-item的props
|
formItemProps?: Omit<A.FormItemInstance['$props'], 'label' | 'field'> // a-form-item的props
|
||||||
required?: boolean // 是否必填
|
|
||||||
rules?: A.FormItemInstance['$props']['rules'] // 表单校验规则
|
rules?: A.FormItemInstance['$props']['rules'] // 表单校验规则
|
||||||
|
required?: ColumnItemHide<F> // 是否必填
|
||||||
hide?: ColumnItemHide<F> // 是否隐藏
|
hide?: ColumnItemHide<F> // 是否隐藏
|
||||||
show?: ColumnItemShow<F> // 是否显示(优先级比hide高)
|
show?: ColumnItemShow<F> // 是否显示(优先级比hide高)
|
||||||
disabled?: ColumnItemDisabled<F> // 是否禁用
|
disabled?: ColumnItemDisabled<F> // 是否禁用
|
||||||
|
@@ -8,7 +8,14 @@
|
|||||||
@before-ok="save"
|
@before-ok="save"
|
||||||
@close="reset"
|
@close="reset"
|
||||||
>
|
>
|
||||||
<GiForm ref="formRef" v-model="form" :columns="columns" />
|
<GiForm ref="formRef" v-model="form" :columns="columns">
|
||||||
|
<template #secretKey>
|
||||||
|
<a-input
|
||||||
|
v-model="form.secretKey"
|
||||||
|
:placeholder="isUpdate ? '保持 Secret Key 为空将不更改' : '请输入 Secret Key'"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
</GiForm>
|
||||||
</a-modal>
|
</a-modal>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -77,7 +84,7 @@ const columns: ColumnItem[] = reactive([
|
|||||||
field: 'secretKey',
|
field: 'secretKey',
|
||||||
type: 'input',
|
type: 'input',
|
||||||
span: 24,
|
span: 24,
|
||||||
required: true,
|
required: () => !isUpdate.value,
|
||||||
show: () => form.type === 2,
|
show: () => form.type === 2,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -165,7 +172,7 @@ const save = async () => {
|
|||||||
if (isUpdate.value) {
|
if (isUpdate.value) {
|
||||||
await updateStorage({
|
await updateStorage({
|
||||||
...form,
|
...form,
|
||||||
secretKey: form.type === 2 && !form.secretKey.includes('*') ? encryptByRsa(form.secretKey) || '' : null,
|
secretKey: form.type === 2 && form.secretKey ? encryptByRsa(form.secretKey) || '' : null,
|
||||||
}, dataId.value)
|
}, dataId.value)
|
||||||
Message.success('修改成功')
|
Message.success('修改成功')
|
||||||
} else {
|
} else {
|
||||||
|
Reference in New Issue
Block a user