Commit 45990b72 by fanyj

tijiao

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