Commit 52d5c1d6 by zhaochengxiang

非结构化字段

parent 1e8a3a93
...@@ -420,4 +420,8 @@ export function* fillRelationDisplayInfo(payload) { ...@@ -420,4 +420,8 @@ export function* fillRelationDisplayInfo(payload) {
export function* getBusinessColumns(payload) { export function* getBusinessColumns(payload) {
return yield call(service.getBusinessColumns, payload); return yield call(service.getBusinessColumns, payload);
}
export function* saveBusinessColumns(payload) {
return yield call(service.saveBusinessColumns, payload);
} }
\ No newline at end of file
...@@ -427,4 +427,8 @@ export function fillRelationDisplayInfo(payload) { ...@@ -427,4 +427,8 @@ export function fillRelationDisplayInfo(payload) {
export function getBusinessColumns(payload) { export function getBusinessColumns(payload) {
return GetJSON("/dataassetmanagertest/dataAssetColumnApi/listBusinessColumnsByDataAssetId", payload) return GetJSON("/dataassetmanagertest/dataAssetColumnApi/listBusinessColumnsByDataAssetId", payload)
}
export function saveBusinessColumns(payload) {
return PostJSON("/dataassetmanagertest/dataAssetColumnApi/saveBusinessColumnsByDataAssetId", payload)
} }
\ No newline at end of file
...@@ -71,21 +71,38 @@ const AssetAction = (props) => { ...@@ -71,21 +71,38 @@ const AssetAction = (props) => {
const app = useContext(AppContext); const app = useContext(AppContext);
const uploadRef = useRef(undefined); const uploadRef = useRef(undefined);
const [columnForm] = Form.useForm()
const relationAssetsRef = useRef(); const relationAssetsRef = useRef();
const businessCols = [ const businessCols = [
{ {
title: '英文名称', title: <span>
<span style={{
marginRight: 4,
color: '#ff4d4f',
}}>*</span>
英文名称
</span>,
dataIndex: 'enName', dataIndex: 'enName',
ellipsis: true, ellipsis: true,
render: (text, _, index) => <MetadataColumnEditableItem render: (text, record, index) => {
value={text} columnForm?.setFieldsValue({ [`column${index}`]: text })
isEdit={isMetadataEdit} return (
terms={terms} <Form.Item name={`column${index}`}
onChange={(e) => { rules={[{ required: true, message: '请填写英文名称!' }]}
onMetadataColumnEditableItemChange(e.target.value, 'enName', index) style={{ marginBottom: 0 }}
}} >
/> <MetadataColumnEditableItem
value={text}
isEdit={isMetadataEdit}
terms={terms}
onChange={(e) => {
onMetadataColumnEditableItemChange(e.target.value, 'enName', index)
}}
/>
</Form.Item>
)
}
}, },
{ {
title: '中文名称', title: '中文名称',
...@@ -149,6 +166,10 @@ const AssetAction = (props) => { ...@@ -149,6 +166,10 @@ const AssetAction = (props) => {
}, [assets]) }, [assets])
useEffect(() => { useEffect(() => {
getMetadataAttributes()
}, [assets])
useEffect(() => {
if (permissionId) { if (permissionId) {
getPermission(); getPermission();
} }
...@@ -382,8 +403,6 @@ const AssetAction = (props) => { ...@@ -382,8 +403,6 @@ const AssetAction = (props) => {
const metadataIndex = data?.elements?.findIndex(item => item.name === '资产项'); const metadataIndex = data?.elements?.findIndex(item => item.name === '资产项');
getMetadataAttributes();
setElements(data?.elements||[]); setElements(data?.elements||[]);
onElementsChange && onElementsChange(data?.elements||[]); onElementsChange && onElementsChange(data?.elements||[]);
...@@ -876,27 +895,44 @@ const AssetAction = (props) => { ...@@ -876,27 +895,44 @@ const AssetAction = (props) => {
}}> }}>
取消 取消
</Button> </Button>
<Button onClick={() => { <Button onClick={ async () => {
if ((modifyMetadataColumnList??[]).length === 0) { try {
setMetadataEdit(false) await columnForm?.validateFields()
return setModifyMetadataColumnList(prev => {
return [{
}, ...prev]
})
} catch (errInfo) {
} }
}}>
新增
</Button>
<Button onClick={async () => {
try {
await columnForm?.validateFields()
setLoadingMetadataColumnList(true)
dispatch({
type: 'assetmanage.saveBusinessColumns',
payload: {
params: {
dataAssetId: assets?.id,
},
data: modifyMetadataColumnList,
},
callback: () => {
setLoadingMetadataColumnList(false)
setMetadataEdit(false)
getMetadataAttributes()
},
error: () => {
setLoadingMetadataColumnList(false)
}
})
} catch (errInfo) {
setLoadingMetadataColumnList(true) }
dispatch({
type: 'assetmanage.batchUpdateAttributes',
payload: {
data: modifyMetadataColumnList
},
callback: () => {
setLoadingMetadataColumnList(false)
setMetadataEdit(false)
getMetadataAttributes()
},
error: () => {
setLoadingMetadataColumnList(false)
}
})
}}> }}>
保存 保存
</Button> </Button>
...@@ -910,29 +946,31 @@ const AssetAction = (props) => { ...@@ -910,29 +946,31 @@ const AssetAction = (props) => {
</React.Fragment> </React.Fragment>
} }
</Space> </Space>
<Table <Form form={columnForm}>
className='mt-3' <Table
loading={loadingMetadataColumnList} className='mt-3'
columns={businessCols??[]} loading={loadingMetadataColumnList}
rowKey='_id' columns={businessCols??[]}
dataSource={tableData||[]} rowKey='_id'
pagination={{ dataSource={tableData||[]}
position: ['bottomLeft'], pagination={{
size: 'small', position: ['bottomLeft'],
total: (metadataColumnList||[]).length, size: 'small',
showTotal: (total) => `${total}`, total: (metadataColumnList||[]).length,
showSizeChanger: true, showTotal: (total) => `${total}`,
current: pageNum, showSizeChanger: true,
pageSize, current: pageNum,
onChange: (_pageNum, _pageSize) => { pageSize,
setPagination({ pageNum: _pageNum||1, pageSize: _pageSize || 20 }); onChange: (_pageNum, _pageSize) => {
}, setPagination({ pageNum: _pageNum||1, pageSize: _pageSize || 20 });
onShowSizeChange: (_pageNum, _pageSize) => { },
setPagination({ pageNum: _pageNum||1, pageSize: _pageSize || 20 }); onShowSizeChange: (_pageNum, _pageSize) => {
}, setPagination({ pageNum: _pageNum||1, pageSize: _pageSize || 20 });
}} },
/> }}
/>
</Form>
<div> <div>
<Divider orientation='left'>关联资产</Divider> <Divider orientation='left'>关联资产</Divider>
......
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