You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
 
 
 
 
 
 

178 lines
3.8 KiB

import { BasicColumn, FormSchema, useRender } from '@/components/Table'
import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
export const columns: BasicColumn[] = [
{
title: '编号',
dataIndex: 'id',
width: 100
},
{
title: '配置名',
dataIndex: 'name',
width: 180
},
{
title: '存储器',
dataIndex: 'storage',
width: 100,
customRender: ({ text }) => {
return useRender.renderDict(text, DICT_TYPE.INFRA_FILE_STORAGE)
}
},
{
title: '主配置',
dataIndex: 'master',
width: 180,
customRender: ({ text }) => {
return useRender.renderDict(text, DICT_TYPE.INFRA_BOOLEAN_STRING)
}
},
{
title: '备注',
dataIndex: 'remark',
width: 180
},
{
title: '创建时间',
dataIndex: 'createTime',
width: 180,
customRender: ({ text }) => {
return useRender.renderDate(text)
}
}
]
export const searchFormSchema: FormSchema[] = [
{
label: '配置名',
field: 'name',
component: 'Input',
colProps: { span: 8 }
},
{
label: '存储器',
field: 'storage',
component: 'Select',
componentProps: {
options: getIntDictOptions(DICT_TYPE.INFRA_FILE_STORAGE)
},
colProps: { span: 8 }
},
{
label: '创建时间',
field: 'createTime',
component: 'RangePicker',
colProps: { span: 8 }
}
]
export const formSchema: FormSchema[] = [
{
label: '编号',
field: 'id',
show: false,
component: 'Input'
},
{
label: '配置名',
field: 'name',
required: true,
component: 'Input'
},
{
label: '存储器',
field: 'storage',
component: 'Select',
required: true,
dynamicDisabled: ({ values }) => !!values.id,
componentProps: {
options: getIntDictOptions(DICT_TYPE.INFRA_FILE_STORAGE)
}
},
{
label: '基础路径',
field: 'config.basePath',
required: true,
ifShow: ({ values }) => values.storage >= 10 && values.storage <= 12,
component: 'Input'
},
{
label: '主机地址',
field: 'config.host',
required: true,
ifShow: ({ values }) => values.storage >= 11 && values.storage <= 12,
component: 'Input'
},
{
label: '主机端口',
field: 'config.port',
required: true,
ifShow: ({ values }) => values.storage >= 11 && values.storage <= 12,
component: 'Input'
},
{
label: '用户名',
field: 'config.username',
required: true,
ifShow: ({ values }) => values.storage >= 11 && values.storage <= 12,
component: 'Input'
},
{
label: '密码',
field: 'config.password',
required: true,
ifShow: ({ values }) => values.storage >= 11 && values.storage <= 12,
component: 'Input'
},
{
label: '连接模式',
field: 'config.basePath',
required: true,
ifShow: ({ values }) => values.storage === 11,
component: 'Select',
componentProps: {
options: [
{ lable: '主动模式', key: 'Active', value: 'Active' },
{ lable: '被动模式', key: 'Passive', value: 'Passive' }
]
}
},
{
label: '节点地址',
field: 'config.endpoint',
required: true,
ifShow: ({ values }) => values.storage === 20,
component: 'Input'
},
{
label: '存储 bucket',
field: 'config.bucket',
required: true,
ifShow: ({ values }) => values.storage === 20,
component: 'Input'
},
{
label: 'accessKey',
field: 'config.accessKey',
ifShow: ({ values }) => values.storage === 20,
component: 'Input'
},
{
label: 'accessSecret',
field: 'config.accessSecret',
ifShow: ({ values }) => values.storage === 20,
component: 'Input'
},
{
label: '自定义域名',
field: 'config.domain',
required: true,
component: 'Input'
},
{
label: '备注',
field: 'remark',
component: 'InputTextArea'
}
]