Commit 11105d8e by zhaochengxiang

岗位

parent 7278b225
......@@ -3,6 +3,7 @@ import { Modal, Form, Space, Button, Spin } from 'antd';
import { showMessage } from '../../../../util';
import { dispatch } from '../../../../model';
import AssetAction from './AssetAction';
import { getTemplateType } from '../../../../util/axios';
const AddAssetModel = (props) => {
const { onCancel, visible, nodeId } = props;
......@@ -48,9 +49,9 @@ const AddAssetModel = (props) => {
payload: {
params: {
dirId: nodeId,
operation: 'change',
operation: 'release',
},
data: { elements: newElements }
data: { elements: newElements, templateType: getTemplateType() }
},
callback: () => {
showMessage("success","新增成功");
......
......@@ -7,8 +7,7 @@ import SelectResource from './select-resource'
import { dispatch } from '../../../../model';
import { AssetDraftReference } from '../../../../util/constant'
const FC = (props) => {
const { item, reference, action } = props
const FC = React.forwardRef(function ({ item, reference, action }, ref) {
const [activeKey, setActiveKey] = React.useState('asset')
const [keyword, setKeyword] = React.useState()
const [pagination, setPagination] = React.useState({
......@@ -28,11 +27,22 @@ const FC = (props) => {
const [modal, contextHolder] = Modal.useModal()
// React.useImperativeHandle(ref, () => ({
// selectedRows
// }), [selectedRows])
React.useEffect(() => {
getRelatedAssets()
getRelatedServices()
}, [])
React.useEffect(() => {
if (item) {
setAssets(item?.postAssets)
setServices(item?.postServices)
}
}, [item])
const [tableData, total] = React.useMemo(() => {
let newTableData = (activeKey==='asset')?[...assets??[]]:[...services??[]]
if (keyword) {
......@@ -42,7 +52,28 @@ const FC = (props) => {
return [paginate(newTableData, pagination.pageNum, pagination.pageSize), (newTableData??[]).length]
}, [activeKey, assets, services, keyword, pagination])
const cols = [
const assetCols = [
{
title: '序号',
dataIndex: 'index',
width:60,
render:(_, __, index)=> ((pagination.pageNum-1)*pagination.pageSize+index+1)
},
{
title: '路径',
dataIndex: 'path',
},
{
title: '资产编码',
dataIndex: 'relatedAssetCode',
},
{
title: '名称',
dataIndex: 'name',
},
]
const seriveCols = [
{
title: '序号',
dataIndex: 'index',
......@@ -55,7 +86,7 @@ const FC = (props) => {
},
{
title: '数据服务资产编号',
dataIndex: 'code',
dataIndex: 'relatedServiceCode',
},
{
title: '数据服务名称',
......@@ -131,11 +162,15 @@ const FC = (props) => {
if (data) {
if (activeKey === 'asset') {
setAssets(prevAssets => {
return [...prevAssets??[], ...data]
const filterData = (data??[]).filter(item => (prevAssets??[]).map(_item => _item.relatedAssetId).indexOf(item.relatedAssetId)===-1)
return [...prevAssets??[], ...filterData]
})
} else if (activeKey === 'service') {
setServices(prevServices => {
return [...prevServices??[], ...data]
const filterData = (data??[]).filter(item => (prevServices??[]).map(_item => _item.relatedServiceId).indexOf(item.relatedServiceId)===-1)
return [...prevServices??[], ...filterData]
})
}
}
......@@ -149,15 +184,15 @@ const FC = (props) => {
</Tabs>
<div style={{ display: 'flex', justifyContent: 'space-between' }}>
{
action === 'edit' && <Space>
action === 'edit' ? <Space>
<Button onClick={onEditClick}>编辑</Button>
<Tooltip title={(selectedRows??[]).length===0?(activeKey==='asset'?'请先选择资产':'请先选择服务'):''}>
<Button disabled={(selectedRows??[]).length===0} onClick={onDeleteClick}>删除</Button>
</Tooltip>
</Space>
</Space> : <div />
}
<Input size="middle"
placeholder={activeKey==='service'?'搜索服务名称':''}
placeholder={activeKey==='asset'?'搜索资产名称':'搜索服务名称'}
value={keyword}
bordered={true} allowClear
style={{ width: 200 }}
......@@ -170,7 +205,7 @@ const FC = (props) => {
<Table
rowKey='id'
loading={loadingAssets||loadingServices}
columns={cols}
columns={activeKey==='asset'?assetCols:seriveCols}
dataSource={tableData??[]}
pagination={false}
rowSelection={{
......@@ -202,6 +237,6 @@ const FC = (props) => {
{contextHolder}
</div>
)
}
})
export default FC
\ 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