Commit df7b6659 by zhaochengxiang

资产详情授权

parent fd140c55
......@@ -92,7 +92,7 @@ export class App extends React.Component {
setGlobalState,
onGlobalStateChange
}}>
<AssetAction reference={AssetBrowseReference} id={id} action='detail' terms={terms} readonly={true} />
<AssetAction reference={AssetBrowseReference} id={id} permissionId={hostParams?.permissionId} action='detail' terms={terms} readonly={true} />
{/* <AssetDetail
reference='full-search'
id={id}
......
......@@ -319,3 +319,7 @@ export function* importIndicator(payload) {
export function* importIndicatorLog(payload) {
return yield call(service.importIndicatorLog, payload);
}
export function* getPermission(payload) {
return yield call(service.getPermission, payload);
}
\ No newline at end of file
......@@ -303,3 +303,7 @@ export function importIndicator(payload) {
export function importIndicatorLog(payload) {
return GetJSON('/standard/indicator/importLog', payload);
}
export function getPermission(payload) {
return GetJSON("/dataassetmanager/permissionApi/getPermissionDetail", payload);
}
\ No newline at end of file
......@@ -25,7 +25,7 @@ import AttributeMaintain from './AttributeMaintain';
import './AssetAction.less';
const AssetAction = (props) => {
const { id, dirId, action, terms, onChange, reference, form, onMetadataChange, onElementsChange, readonly = false } = props;
const { id, dirId, action, terms, onChange, reference, form, onMetadataChange, onElementsChange, readonly = false, permissionId } = props;
const [ currentAction, setCurrentAction ] = useState(action);
const [ assetParams, setAssetParams ] = useState({ assets: {}, attributes: [], attributesFoldMap: {} });
......@@ -63,6 +63,7 @@ const AssetAction = (props) => {
const [ pagination, setPagination ] = useState({ pageNum: 1, pageSize: 20 });
const { pageNum, pageSize } = pagination;
const [modal, contextHolder] = Modal.useModal();
const [permissions, setPermissions] = useState(undefined);
const app = useContext(AppContext);
const uploadRef = useRef(undefined);
......@@ -92,6 +93,20 @@ const AssetAction = (props) => {
ellipsis: true,
},
{
title: '是否授权',
dataIndex: 'permission',
width: 200,
ellipsis: true,
render: (_, record) => {
const index = (permissions||[]).findIndex(item => item.columnMetadataId===record._id);
if (index!==-1) {
return permissions[index].visible === 'Y' ? '是':'否';
}
return '否';
}
},
{
title: '业务规则',
dataIndex: 'businessRules',
width: 240,
......@@ -210,6 +225,12 @@ const AssetAction = (props) => {
//eslint-disable-next-line react-hooks/exhaustive-deps
}, [id, dirId])
useEffect(() => {
if (permissionId) {
getPermission();
}
}, [permissionId, app?.env])
const domains = useMemo(() => {
if (currentDomainGroup && treeDataMap) {
return treeDataMap[currentDomainGroup];
......@@ -251,6 +272,19 @@ const AssetAction = (props) => {
return [];
}, [metadataColumnList, standardList, pagination])
const getPermission = () => {
dispatch({
type: 'assetmanage.getPermission',
payload: {
permissionId,
env: app?.env
},
callback: data => {
setPermissions(data.columnPermissions);
}
});
}
const getAssetPaths = () => {
dispatch({
type: 'assetmanage.getAssetPaths',
......@@ -1031,7 +1065,7 @@ const AssetAction = (props) => {
<Table
className='mt-2'
loading={loadingMetadataColumnList}
columns={columns}
columns={permissionId?columns:columns.filter(item => item.dataIndex !== 'permission')}
rowKey='_id'
dataSource={tableData||[]}
pagination={{
......
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