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 }))
|
||||
}
|
||||
|
||||
/** 必填项 */
|
||||
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) => {
|
||||
if (item.required) {
|
||||
if (isRequired(item)) {
|
||||
const defaultProps = getComponentBindProps(item)
|
||||
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
|
||||
gridItemProps?: A.GridItemProps
|
||||
formItemProps?: Omit<A.FormItemInstance['$props'], 'label' | 'field'> // a-form-item的props
|
||||
required?: boolean // 是否必填
|
||||
rules?: A.FormItemInstance['$props']['rules'] // 表单校验规则
|
||||
required?: ColumnItemHide<F> // 是否必填
|
||||
hide?: ColumnItemHide<F> // 是否隐藏
|
||||
show?: ColumnItemShow<F> // 是否显示(优先级比hide高)
|
||||
disabled?: ColumnItemDisabled<F> // 是否禁用
|
||||
|
@@ -8,7 +8,14 @@
|
||||
@before-ok="save"
|
||||
@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>
|
||||
</template>
|
||||
|
||||
@@ -77,7 +84,7 @@ const columns: ColumnItem[] = reactive([
|
||||
field: 'secretKey',
|
||||
type: 'input',
|
||||
span: 24,
|
||||
required: true,
|
||||
required: () => !isUpdate.value,
|
||||
show: () => form.type === 2,
|
||||
},
|
||||
{
|
||||
@@ -165,7 +172,7 @@ const save = async () => {
|
||||
if (isUpdate.value) {
|
||||
await updateStorage({
|
||||
...form,
|
||||
secretKey: form.type === 2 && !form.secretKey.includes('*') ? encryptByRsa(form.secretKey) || '' : null,
|
||||
secretKey: form.type === 2 && form.secretKey ? encryptByRsa(form.secretKey) || '' : null,
|
||||
}, dataId.value)
|
||||
Message.success('修改成功')
|
||||
} else {
|
||||
|
Reference in New Issue
Block a user