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 }
{[{ name: '信息资源名称', key: 'resourceName' }, { name: '信息资源摘要', key: 'resourceAbstract' }, { name: '信息资源提供方', key: 'resourceProvider' }, { name: '信息资源分类', key: 'resourceCategory' }, { name: '信息资源标识符', key: 'resourceId' }, { name: '元数据标识符', key: 'metadataId' }].map(item => ({ validator(_, value) { return validatorNull(_, value, getFieldValue, validateFields, item.name) } })]}> )}
) } export default BusinessDatabaseModal;