Commit 45990b72 by fanyj

tijiao

parent e2f05077
......@@ -73,6 +73,11 @@ const AssetAction = React.forwardRef(function (props, ref) {
const [loadingSaveAsDraft, setLoadingSaveAsDraft] = React.useState(false)
const [needSaveAsDraft, setNeedSaveAsDraft] = React.useState()
const [selectData,setSelectData] = useState({
metadataId:'',
metadataPath:''
})
const app = useContext(AppContext);
const uploadRef = useRef(undefined);
const [columnForm] = Form.useForm()
......@@ -81,6 +86,12 @@ const AssetAction = React.forwardRef(function (props, ref) {
const [form] = Form.useForm();
useEffect(()=>{
console.log(assets)
if(assets?.metadataId)
setSelectData({metadataId:assets.metadataId,metadataPath:assets.metadataPath})
},[assets])
React.useImperativeHandle(ref, () => ({
validate: async () => {
// await form.validateFields();
......@@ -623,7 +634,7 @@ const AssetAction = React.forwardRef(function (props, ref) {
if (reference === AssetDraftReference) {
let data = action==='add' ? { elements: newElements } : { ...assets, elements: newElements }
data = {...data, businessRelations: relationAssetsRef.current?.assets, businessColumns: modifyMetadataColumnList}
data = {...data,...selectData ,businessRelations: relationAssetsRef.current?.assets, businessColumns: modifyMetadataColumnList}
dispatch({
type: 'assetmanage.updateDraft',
......@@ -647,13 +658,13 @@ const AssetAction = React.forwardRef(function (props, ref) {
} else {
let params = {
dirId,
metadataId: metadataId??'',
metadataId: selectData.metadataId??'',
operation: 'change',
}
let data = action==='add' ? { elements: newElements } : { ...assets, elements: newElements }
data = {...data, businessRelations: relationAssetsRef.current?.assets, businessColumns: modifyMetadataColumnList}
data = {...data,...selectData, businessRelations: relationAssetsRef.current?.assets, businessColumns: modifyMetadataColumnList}
dispatch({
type: needSaveAsDraft?'assetmanage.saveAsDraft':'assetmanage.addOrUpdateDataAsset',
......@@ -951,7 +962,8 @@ const AssetAction = React.forwardRef(function (props, ref) {
</Spin>
<MatchMetaInfo
item={assets} reference={reference} AssetDraftReference={AssetDraftReference} getAsset={getAsset}
dirId={dirId} metadataId={metadataId} needSaveAsDraft={needSaveAsDraft}
dirId={dirId} metadataId={metadataId} needSaveAsDraft={needSaveAsDraft} currentAction={currentAction}
selectData={selectData} setSelectData={setSelectData}
/>
<div>
<div style={{display:'flex',justifyContent:'space-between',alignItems:'center',gap:10}}>
......
import React, { useState } from "react"
import {Divider,Descriptions,Tooltip,Drawer, Space, Button} from "antd"
import {Divider,Descriptions,Tooltip,Drawer, Space, Button, message} from "antd"
import {SettingOutlined} from "@ant-design/icons"
import { useGetModalInfoAndAction } from "../../../../hooks/common"
import SelectMeta from "@/view/meta/selectmeta/SelectMeta"
import { pageUtil } from "@/utils"
import { dispatch } from '../../../../model';
import { highlightSearchContentByTerms, showMessage, paginate, isPostAsset } from '../../../../util';
import { showMessage } from '../../../../util';
const MatchMetaInfo:React.FC<any>=(props)=>{
const {item,reference,AssetDraftReference,getAsset,dirId,metadataId,needSaveAsDraft} = props
const {item,reference,AssetDraftReference,getAsset,dirId,currentAction,needSaveAsDraft,selectData,setSelectData} = props
const selectmodal = useGetModalInfoAndAction()
const bodyheight = pageUtil.getBodyHeight()
const [selectData,setSelectData] = useState({
const [tempdata,setTempData] = useState({
metadataId:'',
metadataPath:''
})
const [confirmLoading,setConfirmLoading] = useState(false)
const openSelect=()=>{
......@@ -39,56 +40,18 @@ const MatchMetaInfo:React.FC<any>=(props)=>{
// } catch (error) {
// console.log(error)
// }
setSelectData({metadataId:data._id,metadataPath:temp.join('/')})
setTempData({metadataId:data._id,metadataPath:temp.join('/')})
}
console.log(tempdata)
const saveItem=()=>{
if(selectData.metadataId){
setConfirmLoading(true);
if(reference===AssetDraftReference){
dispatch({
type: 'assetmanage.updateDraft',
payload: {
params: {
isAdmin: true,
},
data:{...item,...selectData},
},
callback: () => {
setConfirmLoading(false);
getAsset?.();
showMessage("success","修改成功");
selectmodal.cancelModal()
},
error: () => {
setConfirmLoading(false);
}
})
}else{
let params = {
dirId,
metadataId: selectData.metadataId??'',
operation: 'change',
}
dispatch({
type: needSaveAsDraft?'assetmanage.saveAsDraft':'assetmanage.addOrUpdateDataAsset',
payload: {
params,
data:{...item,...selectData},
},
callback: () => {
setConfirmLoading(false);
getAsset?.();
showMessage("success","修改成功");
selectmodal.cancelModal()
},
error: () => {
setConfirmLoading(false);
}
})
}
if(tempdata.metadataId){
setSelectData?.(tempdata)
selectmodal.cancelModal()
}else{
message.info("请选择元数据")
}
}
return(
......@@ -101,11 +64,11 @@ const MatchMetaInfo:React.FC<any>=(props)=>{
>
<div className='flex' style={{ alignItems: 'center' }}>
<div style={{ flex: 1 }}>
{item?.metadataPath}
{selectData?.metadataPath}
</div>
<div style={{ flex: '0 0 auto', marginLeft: 10, width: 16 }}>
<Tooltip placement="left" title={'关联元数据'}>
<SettingOutlined onClick={openSelect} style={{ fontSize: 16,cursor:'pointer' }} />
{currentAction!=='detail'&&<SettingOutlined onClick={openSelect} style={{ fontSize: 16,cursor:'pointer' }} />}
</Tooltip>
</div>
</div>
......
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