import React, { useEffect, useState } from 'react';
import { Modal, Input, Form, Row, Col } from 'antd';
const basicInfo = [{ name: '元数据名称:', key: 'name' },
{ name: '元数据代码:', key: 'code' },
{ name: '元数据类型:', key: 'type' },
{ name: '上下文路径:', key: 'path' },
{ name: '元数据详情:', key: 'description' }];
const BusinessDatabaseModal = (props) => {
const { onConfirm, onCancel, editData, metadataModels, resourceCatalogPath, businessType, isAdmin } = props;
const [form] = Form.useForm();
useEffect(() => {
}, []);
const handleOk = () => {
form.validateFields().then(values => {
if (onConfirm) {
onConfirm(values);
}
})
}
const validatorNull = (rule, value, getFieldValue, validateFields, label) => {
if (!value || !value.trim().length) {
return Promise.reject(new Error(`${label}不可空字符串`));
}
return Promise.resolve();
}
const renderBasicInfo = (databasesRecord) => {
let path = '/' + resourceCatalogPath.join('/');
let mapData = basicInfo;
if (businessType)
mapData = basicInfo.filter(bi => bi.key != 'code');
return
基本信息
{mapData.map(item => {
if (item.key != 'path')
return
{item.name}{
businessType && item.key === 'type' ? businessType :
databasesRecord[item.key] && databasesRecord[item.key].length > (item.key === 'description' ? 40 : 15) ?
databasesRecord[item.key].substring(0, (item.key === 'description' ? 40 : 15)) + '...' : databasesRecord[item.key]}
else
return
{item.name}{path && path.length > 15 ?
path.substring(0, 15) + '...' : path}
})}
属性
{metadataModels && metadataModels.filter(mm => mm.modelType === businessType ? businessType : '表').map(mm => {
let str = ''
if (databasesRecord.attributesParam && databasesRecord.attributesParam[mm.attributeCode]) {
str = databasesRecord.attributesParam[mm.attributeCode];
}
return
{mm.attributeName.length > 6 ? mm.attributeName.substring(0, 6) + '...' :
mm.attributeName}:
{str && str.length > 15 ? str.substring(0, 15) + '...' : str}
})
}
业务信息
}
return (
handleOk(null)}
onCancel={onCancel}>
{editData.record && editData.record.businessMetadata.length ?
renderBasicInfo(editData.record) : null
}
({
validator(_, value) { return validatorNull(_, value, getFieldValue, validateFields, item.name) }
})]}>
)}
)
}
export default BusinessDatabaseModal;