Commit d6589d5f by zhaochengxiang

资产要素使用英文标识

parent 348636d6
...@@ -39,10 +39,10 @@ export const routes = [ ...@@ -39,10 +39,10 @@ export const routes = [
name: 'asset-browse', name: 'asset-browse',
text: '资产浏览' text: '资产浏览'
}, },
// { {
// name: 'asset-recycle', name: 'asset-recycle',
// text: '未挂载资产', text: '未挂载资产',
// }, },
// { // {
// name: 'msd-define', // name: 'msd-define',
// text: '主数据定义' // text: '主数据定义'
......
...@@ -1023,7 +1023,7 @@ const AssetAction = (props) => { ...@@ -1023,7 +1023,7 @@ const AssetAction = (props) => {
) )
} }
if (element.name==='数据关键用户' || element.name?.toLowerCase()==='业务数据owner' || element.name?.toLowerCase()==='it责任人') { if (element.enName==='dataKeyUser' || element.enName==='businessDepartmentOwner' || element.enName==='itResponsiblePerson') {
return <SelectUser return <SelectUser
type='edit' type='edit'
loading={loadingUsers} loading={loadingUsers}
...@@ -1032,7 +1032,7 @@ const AssetAction = (props) => { ...@@ -1032,7 +1032,7 @@ const AssetAction = (props) => {
/> />
} }
if (element.name==='业务责任部门' || element.name?.toLowerCase()==='it责任部门') { if (element.enName==='businessResponsibleDepartment' || element.enName==='itResponsibleDepartment') {
return <SelectFilter return <SelectFilter
loading={loadingDepartments} loading={loadingDepartments}
data={departments} data={departments}
...@@ -1122,7 +1122,7 @@ const AssetAction = (props) => { ...@@ -1122,7 +1122,7 @@ const AssetAction = (props) => {
return <IndexCode value={item.value||''} terms={terms} publishedValue={publishedItem?.value} />; return <IndexCode value={item.value||''} terms={terms} publishedValue={publishedItem?.value} />;
} }
if (item.name==='数据关键用户' || item.name?.toLowerCase()==='业务数据owner' || item.name?.toLowerCase()==='it责任人' || item.name==='创建人' || item.name==='更新人') { if (item.enName==='dataKeyUser' || item.enName==='businessDepartmentOwner' || item.enName==='itResponsiblePerson' || item.enName==='creator' || item.enName==='updater') {
return <SelectUser return <SelectUser
type='detail' type='detail'
users={users} users={users}
...@@ -1212,25 +1212,54 @@ const AssetAction = (props) => { ...@@ -1212,25 +1212,54 @@ const AssetAction = (props) => {
} else if (changedValues.hasOwnProperty('主题域')) { } else if (changedValues.hasOwnProperty('主题域')) {
setCurrentBussinessDomain(changedValues['主题域']); setCurrentBussinessDomain(changedValues['主题域']);
form.setFieldsValue({'业务对象': ''}); form.setFieldsValue({'业务对象': ''});
} else if (changedValues.hasOwnProperty('数据关键用户')) { }
if (changedValues['数据关键用户']) {
const index = (users||[]).findIndex(item => item.pernr === changedValues['数据关键用户']); for (const name in changedValues) {
if (index !== -1) { const index = (elements??[]).findIndex(item => item.name === name)
form.setFieldsValue({'数据关键用户姓名': users[index].nachn, '数据关键用户部门': users[index].org3TXT}); if (index!==-1) {
if (elements[index].enName === 'dataKeyUser') {
const index1 = (users||[]).findIndex(item => item.pernr === changedValues[name]);
if (index1 !== -1) {
const index2 = (elements??[]).findIndex(item => item.enName === 'dataKeyUserName')
if (index2 !== -1) {
form.setFieldsValue({[elements[index2].name]: users[index].nachn})
}
const index3 = (elements??[]).findIndex(item => item.enName === 'dataKeyUserDepartment')
if (index3 !== -1) {
form.setFieldsValue({[elements[index3].name]: users[index].org3TXT})
}
}
} }
}
} else if (changedValues.hasOwnProperty('业务数据Owner')) { if (elements[index].enName === 'businessDepartmentOwner') {
if (changedValues['业务数据Owner']) { const index1 = (users||[]).findIndex(item => item.pernr === changedValues[name]);
const index = (users||[]).findIndex(item => item.pernr === changedValues['业务数据Owner']); if (index1 !== -1) {
if (index !== -1) { const index2 = (elements??[]).findIndex(item => item.enName === 'businessDepartmentOwnerName')
form.setFieldsValue({'业务数据Owner姓名': users[index].nachn, '业务责任部门': users[index].org3TXT}); if (index2 !== -1) {
form.setFieldsValue({[elements[index2].name]: users[index].nachn})
}
const index3 = (elements??[]).findIndex(item => item.enName === 'businessResponsibleDepartment')
if (index3 !== -1) {
form.setFieldsValue({[elements[index3].name]: users[index].org3TXT})
}
}
} }
}
} else if (changedValues.hasOwnProperty('IT责任人')) { if (elements[index].enName === 'itResponsiblePerson') {
if (changedValues['IT责任人']) { const index1 = (users||[]).findIndex(item => item.pernr === changedValues[name]);
const index = (users||[]).findIndex(item => item.pernr === changedValues['IT责任人']); if (index1 !== -1) {
if (index !== -1) { const index2 = (elements??[]).findIndex(item => item.enName === 'itResponsiblePersonName')
form.setFieldsValue({'IT责任人姓名': users[index].nachn, 'IT责任部门': users[index].org3TXT}); if (index2 !== -1) {
form.setFieldsValue({[elements[index2].name]: users[index].nachn})
}
const index3 = (elements??[]).findIndex(item => item.enName === 'itResponsibleDepartment')
if (index3 !== -1) {
form.setFieldsValue({[elements[index3].name]: users[index].org3TXT})
}
}
} }
} }
} }
......
import React, { useEffect, useState } from "react";
import { Spin, Descriptions, Divider } from "antd";
import MetadataInfo from './MetadataInfo';
import { highlightSearchContentByTerms } from '../../../../util';
import { dispatch } from '../../../../model';
import IndexCode from './IndexCode';
import SelectUser from '../../Model/Component/SelectUsers';
const AssetDetail = (props)=>{
const { id, dirId, terms, reference = '' } = props;
const [ asset, setAsset ] = useState('');
const [ types, setTypes ] = useState([]);
const [ loading, setLoading ] = useState(false);
const [ users, setUsers ] = useState([]);
useEffect(() => {
if ((id||'') !== '') {
// getUserElements();
getUsers();
getAsset([]);
}
//eslint-disable-next-line react-hooks/exhaustive-deps
}, [ id ])
const getUserElements = () => {
setLoading(true);
dispatch({
type: 'assetmanage.listUserElements',
callback: data => {
getAsset(data||[]);
},
error: () => {
setLoading(false);
}
})
}
const getUsers = () => {
dispatch({
type: 'pds.getOwners',
callback: (data) => {
setUsers(data);
}
})
}
const getAsset = (userElements) => {
setLoading(true);
dispatch({
type: 'assetmanage.getDataAssetDetail',
payload: {
dataAssetId: id,
dirId: dirId||'',
checkPermission: true
},
callback: data => {
setLoading(false);
// const userElementIds = [];
// (userElements||[]).forEach(element => {
// userElementIds.push(element?.id);
// })
// const filterElements = (data?.elements||[]).filter(element => userElementIds.indexOf(element?.id) !== -1);
// data = { ...data, elements: filterElements }
setAsset(data);
const _types = [];
(data?.elements||[]).forEach(element => {
if (_types.indexOf(element.type) === -1) {
_types.push(element.type);
}
})
setTypes(_types);
},
error: () => {
setLoading(false);
}
})
}
const elementItemComponent = (item) => {
if (item.name === '资产项') {
return <MetadataInfo config={false} value={item.value||''} terms={terms} />;
}
if (item.name === '指标标准编码') {
return <IndexCode value={item.value||''} terms={terms} />;
}
if (item.name==='数据关键用户' || item.name==='业务部门负责人' || item.name?.toLowerCase()==='it责任人' || item.name==='创建人' || item.name==='更新人') {
return <SelectUser
type='detail'
users={users}
value={item.value||''}
/>
}
return <span className='text-color'>{highlightSearchContentByTerms(item.value||'', terms)}</span>;
}
return(
<Spin spinning={loading}>
{
((dirId||'')!=='') && <React.Fragment>
<Descriptions column={2}>
<Descriptions.Item label='路径'>
{asset.currentPath||''}
</Descriptions.Item>
</Descriptions>
<Divider style={{ margin: '10px 0' }} />
</React.Fragment>
}
{
(types||[]).map((type, index) => {
const _currentValues = (asset.elements||[]).filter(element => element.type===type);
return (
<div key={index}>
<div className='flex' style={{ alignItems: 'center', padding: (reference==='full-search'&&index===0)?'0 0 15px':'15px 0' }}>
<div style={{ width: 3, height: 14, backgroundColor: '#0069AC', marginRight: 5 }} />
<span style={{ fontWeight: 'bold', color: '#464646' }}>{type||''}</span>
</div>
<Descriptions column={2}>
{
(_currentValues||[]).map((item, index) => {
return (
<Descriptions.Item label={item.name||''} key={index}>
{ elementItemComponent(item) }
</Descriptions.Item>
);
})
}
</Descriptions>
<Divider style={{ margin: '10px 0' }} />
</div>
)
})
}
</Spin>
)
}
export default AssetDetail;
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment