Commit 47a6bdd9 by zhaochengxiang

字段编辑

parent 1812b954
......@@ -275,6 +275,10 @@ export function* getMetadataAttributes(payload) {
return yield call(metadataService.getAttributes, payload);
}
export function* batchUpdateAttributes(payload) {
return yield call(metadataService.batchUpdateAttributes, payload);
}
export function* exportMetadataAttributes(payload) {
return yield call(metadataService.exportAttributes, payload);
}
......
......@@ -24,6 +24,10 @@ export function getAttributes(payload) {
return PostJSON("/metadatarepo/rest/metadata/getByIdList", payload);
}
export function batchUpdateAttributes(payload) {
return PostJSON("/metadatarepo/rest/metadata/batchToUpdate", payload)
}
export function exportAttributes(payload) {
return callFetchRawByFormData('post', '/metadatarepo/rest/download/exportAssetInfo', payload)
}
......
......@@ -141,25 +141,14 @@ const AssetAction = (props) => {
dataIndex: 'cnName',
// width: 200,
ellipsis: true,
render: (text, _, index) => {
if (isMetadataEdit) {
return (
<Input size='small' allowClear value={text}
render: (text, _, index) => <MetadataColumnEditableItem
value={text}
isEdit={isMetadataEdit}
terms={terms}
onChange={(e) => {
setModifyMetadataColumnList(
produce(modifyMetadataColumnList, (draft) => {
if ((draft??[]).length > index) {
draft[index].cnName = e.target.value
}
})
)
onMetadataColumnEditableItemChange(e.target.value, 'cnName', index)
}}
/>
)
}
return highlightSearchContentByTerms(text||'', terms)
}
},
{
title: '是否有权限',
......@@ -180,19 +169,40 @@ const AssetAction = (props) => {
dataIndex: 'businessRules',
width: 240,
ellipsis: true,
render: (text, _) => highlightSearchContentByTerms(text||'', terms)
render: (text, _, index) => <MetadataColumnEditableItem
value={text}
isEdit={isMetadataEdit}
terms={terms}
onChange={(e) => {
onMetadataColumnEditableItemChange(e.target.value, 'businessRules', index)
}}
/>
},
{
title: '计量单位',
dataIndex: 'unitOfMeasurement',
ellipsis: true,
render: (text, _) => highlightSearchContentByTerms(text||'', terms)
render: (text, _, index) => <MetadataColumnEditableItem
value={text}
isEdit={isMetadataEdit}
terms={terms}
onChange={(e) => {
onMetadataColumnEditableItemChange(e.target.value, 'unitOfMeasurement', index)
}}
/>
},
{
title: '备注信息',
dataIndex: 'remarks',
ellipsis: true,
render: (text, _) => highlightSearchContentByTerms(text||'', terms)
render: (text, _, index) => <MetadataColumnEditableItem
value={text}
isEdit={isMetadataEdit}
terms={terms}
onChange={(e) => {
onMetadataColumnEditableItemChange(e.target.value, 'remarks', index)
}}
/>
},
{
title: '类型',
......@@ -542,8 +552,7 @@ const AssetAction = (props) => {
payload: {
data: ids,
params: {
// catalog: app?.env?.domainId||catalog||LocalStorage.get('assetsEnv'),
catalog: '1810295967'
catalog: app?.env?.domainId||catalog||LocalStorage.get('assetsEnv'),
}
},
callback: data => {
......@@ -593,6 +602,16 @@ const AssetAction = (props) => {
})
}
const onMetadataColumnEditableItemChange = (val, dataIndex, index) => {
setModifyMetadataColumnList(
produce(modifyMetadataColumnList, (draft) => {
if ((draft??[]).length > index) {
draft[index][`${dataIndex}`] = val
}
})
)
}
const onCancelButtonClick = () => {
setCurrentAction('detail');
getAsset();
......@@ -1161,6 +1180,39 @@ const AssetAction = (props) => {
<Space style={{ marginLeft: 'auto' }}>
{
(reference===AssetManageReference||(reference!==AssetDraftReference&&canEdit)) && <React.Fragment>
{
isMetadataEdit ? <React.Fragment>
<Button onClick={() => {
setMetadataEdit(false)
}}>
取消
</Button>
<Button onClick={() => {
setLoadingMetadataColumnList(true)
dispatch({
type: 'assetmanage.batchUpdateAttributes',
payload: {
data: modifyMetadataColumnList
},
callback: () => {
setLoadingMetadataColumnList(false)
setMetadataEdit(false)
getMetadataAttributes()
},
error: () => {
setLoadingMetadataColumnList(false)
}
})
}}>
保存
</Button>
</React.Fragment> : <Button onClick={() => {
setModifyMetadataColumnList(metadataColumnList)
setMetadataEdit(true)
}}>
编辑
</Button>
}
<Button
onClick={() => {
if (metadata?.metadataTableId) {
......@@ -1175,12 +1227,6 @@ const AssetAction = (props) => {
>
字段级维护
</Button>
<Button onClick={() => {
setModifyMetadataColumnList(metadataColumnList)
setMetadataEdit(true)
}}>
编辑
</Button>
</React.Fragment>
}
<Input size="middle"
......@@ -1287,3 +1333,18 @@ const CascaderItem = ({ value = null, data, onChange, ...restProps }) => {
/>
)
}
const MetadataColumnEditableItem = ({ value, isEdit, terms, onChange }) => {
return (
<React.Fragment>
{
isEdit ? <Input size='small'
value={value}
onChange={(e) => { onChange?.(e) }}
/> : <span>
{highlightSearchContentByTerms(value, terms)}
</span>
}
</React.Fragment>
)
}
\ No newline at end of file
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