Commit f6b1dd92 by fanyj

tijiao

parent d74e855d
import request from "@/utils/request"
import qs from "qs"
import config from "@/commons"
const {api:{asset}} =config
declare global {
interface Navigator {
msSaveBlob?: (blob: any, defaultName?: string) => boolean
}
}
class AssetsActionManageService{
async getCompareInfo(payload:any,autotip=false){
let result = await request({ url: `${asset}/dataAssetApi/compareBusinessColumnAndMetadataColumn`, method: "post", data:qs.stringify(payload) },autotip).then(data=>{
return data;
}).catch(error=>{
return error
})
return result;
}
}
export default new AssetsActionManageService()
import metaManageService from "./metaManageService"
import metaAdminManageService from "./metaAdminManageService"
import metaUserManageService from "./metaUserManageService"
import assetsActionManageService from "./assetsActionManageService"
export {
metaManageService,
metaAdminManageService,
metaUserManageService
metaUserManageService,
assetsActionManageService
}
\ No newline at end of file
......@@ -525,6 +525,7 @@ const AssetAction = React.forwardRef(function (props, ref) {
setMetadataId(data?.metadataId||'');
const _attributes = Array.from(new Set((data?.elements??[]).map(item => item.type)))
console.log('assets',data)
setAssetParams({ assets: data, attributes: _attributes });
if ((_attributes??[]).length > 0) {
......
import { Drawer } from "antd"
import React from "react"
import AssetsMetaCompare from "./AssetsMetaCompare"
const AssetsCompareModal:React.FC<any>=(props)=>{
const {visible,onCancel} = props
const {visible,onCancel,item} = props
return(
<Drawer
......@@ -12,7 +15,7 @@ const AssetsCompareModal:React.FC<any>=(props)=>{
width={'80%'}
onClose={onCancel}
>
<AssetsMetaCompare item={item} />
</Drawer>
)
}
......
import React,{useState} from "react"
import {Spin} from "antd"
import { useGetMetaAssetsCompareInfo } from "../hooks"
import VersionCompareTable from './VersionCompareTable';
import './VersionCompare.less';
const AssetsMetaCompare:React.FC<any>=(props)=>{
const {item} = props
console.log(item)
const [selectedColumnTitles, setSelectedColumnTitles] = useState()
const {compareloading,comparedata} = useGetMetaAssetsCompareInfo({dataAssetId:item.id})
return(
<Spin spinning={compareloading}>
<div className='flex model-version-compare'>
<div style={{ flex: 1, borderRight: '1px solid #EFEFEF', paddingRight: 10, overflow: 'hidden'}}>
<VersionCompareTable
data={comparedata}
title="资源字段"
columntype="assets"
selectedColumnTitles={selectedColumnTitles}
onFilterChange={(val) => setSelectedColumnTitles(val)}
/>
</div>
<div style={{ flex: 1, paddingLeft: 10, overflow: 'hidden'}}>
<VersionCompareTable
data={comparedata}
title={"元数据字段"}
columntype="meta"
selectedColumnTitles={selectedColumnTitles}
onFilterChange={(val) => setSelectedColumnTitles(val)}
direction='right'
/>
</div>
</div>
</Spin>
)
}
export default AssetsMetaCompare
\ No newline at end of file
......@@ -28,17 +28,17 @@ const MatchMetaInfo:React.FC<any>=(props)=>{
const paths = data.namePathList;
let temp = [...paths];
temp.shift();
let system:any = null;
try {
let sys = data.sysList
system = Number(sys[0])
let systemmsg = systemmap[system]
let owner = systemmsg.catalogInfo;
let templist = [owner.catalogName,systemmsg.scopeName]
temp = [...templist,...temp]
} catch (error) {
console.log(error)
}
// let system:any = null;
// try {
// let sys = data.sysList
// system = Number(sys[0])
// let systemmsg = systemmap[system]
// let owner = systemmsg.catalogInfo;
// let templist = [owner.catalogName,systemmsg.scopeName]
// temp = [...templist,...temp]
// } catch (error) {
// console.log(error)
// }
setSelectData({metadataId:data._id,metadataPath:temp.join('/')})
}
......@@ -67,7 +67,7 @@ const MatchMetaInfo:React.FC<any>=(props)=>{
}else{
let params = {
dirId,
metadataId: metadataId??'',
metadataId: selectData.metadataId??'',
operation: 'change',
}
dispatch({
......@@ -87,62 +87,6 @@ const MatchMetaInfo:React.FC<any>=(props)=>{
}
})
}
// if (reference === AssetDraftReference) {
// let data = action==='add' ? { elements: newElements } : { ...assets, elements: newElements }
// data = {...data, businessRelations: relationAssetsRef.current?.assets, businessColumns: modifyMetadataColumnList}
// dispatch({
// type: 'assetmanage.updateDraft',
// payload: {
// params: {
// isAdmin: true,
// },
// data,
// },
// callback: () => {
// setConfirmLoading(false);
// setCurrentAction('detail');
// getAsset();
// showMessage("success",(action==='add')?"新增成功":"修改成功");
// onChange && onChange();
// },
// error: () => {
// setConfirmLoading(false);
// }
// })
// } else {
// let params = {
// dirId,
// metadataId: metadataId??'',
// operation: 'change',
// }
// let data = action==='add' ? { elements: newElements } : { ...assets, elements: newElements }
// data = {...data, businessRelations: relationAssetsRef.current?.assets, businessColumns: modifyMetadataColumnList}
// dispatch({
// type: needSaveAsDraft?'assetmanage.saveAsDraft':'assetmanage.addOrUpdateDataAsset',
// payload: {
// params,
// data,
// },
// callback: () => {
// setConfirmLoading(false);
// setCurrentAction('detail');
// getAsset();
// showMessage("success",(action==='add')?"新增成功":"修改成功");
// onChange && onChange();
// },
// error: () => {
// setConfirmLoading(false);
// }
// })
// }
// } catch (errInfo) {
// console.log('Validate Failed:', errInfo);
// showMessage('warn', '请完成资源必填项')
// }
}
}
......
......@@ -185,6 +185,7 @@ const VersionCompare = (props) => {
export default VersionCompare;
export const CompareDetail = ({ data, showIndex=true }) => {
console.log('showdata',data)
const [selectedColumnTitles, setSelectedColumnTitles] = React.useState()
return (
......
......@@ -8,7 +8,7 @@ const { Title } = Typography;
export const defaultColumnTitles = ['序号', '中文名称', '英文名称', '类型', '业务含义'];
const VersionCompareTable = (props) => {
const { data, direction = 'left', selectedColumnTitles = defaultColumnTitles, onFilterChange } = props;
const { data, direction = 'left', selectedColumnTitles = defaultColumnTitles, onFilterChange,title='数据表结构',columntype='' } = props;
const [columns, setColumns] = React.useState()
React.useEffect(() => {
......@@ -59,7 +59,11 @@ const VersionCompareTable = (props) => {
const tableData = React.useMemo(() => {
const newTableData = [];
let columnValue = (direction==='left') ? data?.left?.columnValue : data?.right?.columnValue;
if(columntype==='assets'){
columnValue = data.leftValue?.columnValue
}else if(columntype==='meta'){
columnValue = data.rightValue?.columnValue
}
for (const item of columnValue??[]) {
let newItem = {};
for (const [index, _item] of item.entries()) {
......@@ -75,7 +79,7 @@ const VersionCompareTable = (props) => {
<div>
<div className='my-3'>
<Typography>
<Title level={5}>数据表结构</Title>
<Title level={5}>{title}</Title>
</Typography>
</div>
<Table
......
import { assetsActionManageService } from "@/services"
import { httpUtil } from "@/utils"
import { useSetState } from "ahooks"
import {useEffect} from "react"
interface p1{
dataAssetId:string
}
export const useGetMetaAssetsCompareInfo=(props:p1)=>{
const {dataAssetId} = props
const [state,setState] = useSetState({
compareloading:false,
comparedata:{},
columns:[],
defaultSelect:[],
sourceList:[],
targetList:[]
})
useEffect(()=>{
const getTableInfo=async()=>{
setState({compareloading:true})
const result:any = await assetsActionManageService.getCompareInfo({dataAssetId})
if(httpUtil.checkSuccess(result,1)){
setState({comparedata:result.data,compareloading:false})
}else{
httpUtil.showError(result,1)
setState({comparedata:{},compareloading:false})
}
}
if(dataAssetId)
getTableInfo()
},[dataAssetId])
return state
}
\ No newline at end of file
export * from "./Compare"
\ No newline at end of file
......@@ -24,7 +24,9 @@ const SelectMeta:React.FC<any>=(dprops)=>{
const app = useContext(AppContext)
const {env,hostParams:{systemmap}} = app
const {env,hostParams} = app
const systemmap = hostParams?.systemmap||{}
const currentDomain = useMemo(()=>{
if(env){
......
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