Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
A
admin
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
iuav
admin
Commits
4c3d7a85
提交
4c3d7a85
authored
6月 25, 2023
作者:
龚洪江
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
功能:行业新闻联调
上级
27f5c2ac
隐藏空白字符变更
内嵌
并排
正在显示
7 个修改的文件
包含
384 行增加
和
39 行删除
+384
-39
resourceManageType.ts
src/api/interface/resourceManageType.ts
+60
-1
resourceManageAPI.ts
src/api/modules/resourceManageAPI.ts
+16
-0
index.tsx
...nage/industryNews/components/addOrEditNewsModal/index.tsx
+126
-15
index.scss
...anage/industryNews/components/previewNewsModal/index.scss
+17
-0
index.tsx
...Manage/industryNews/components/previewNewsModal/index.tsx
+41
-4
index.tsx
src/pages/resourceManage/industryNews/index.tsx
+116
-15
index.tsx
src/pages/resourceManage/requirementsGathering/index.tsx
+8
-4
没有找到文件。
src/api/interface/resourceManageType.ts
浏览文件 @
4c3d7a85
...
...
@@ -3,7 +3,14 @@ import { InterFunction, InterItemFunction, InterListFunction } from '~/api/inter
//需求列表
export
type
listPublishPageType
=
InterItemFunction
<
{
requirementTypeId
?:
number
;
keyword
?:
string
},
any
{
id
:
number
;
publishName
:
string
;
publishPhone
:
string
;
requireDescription
:
string
;
requirementTypeId
:
number
;
requirementTypeName
:
string
;
}[]
>
;
//需求类型列表
export
type
requirementsListType
=
InterFunction
<
any
,
{
id
:
number
;
typeName
:
string
}[]
>
;
...
...
@@ -30,3 +37,55 @@ export type releaseTenderNewsAdd = InterFunction<any, any>;
export
type
releaseTenderNewsUpdate
=
InterFunction
<
any
,
any
>
;
// 删除招标快讯
export
type
releaseTenderNewsDelete
=
InterFunction
<
{
id
:
number
},
any
>
;
//行业新闻-列表
export
type
industryNewsListType
=
InterItemFunction
<
{
newsTitle
?:
string
},
{
id
:
number
;
createTime
:
string
;
newsAuthor
:
string
;
newsContents
:
string
;
newsTitle
:
string
;
origin
:
string
;
surfaceImg
:
string
;
}[]
>
;
//行业新闻-新增
export
type
addIndustryNewsType
=
InterFunction
<
{
newsAuthor
:
string
;
newsContents
?:
string
;
newsTitle
:
string
;
origin
:
string
;
surfaceImg
:
string
;
},
any
>
;
//行业新闻-编辑
export
type
editIndustryNews
=
InterFunction
<
{
newsAuthor
:
string
;
newsContents
?:
string
;
newsTitle
:
string
;
origin
:
string
;
surfaceImg
:
string
;
id
?:
number
;
},
any
>
;
//行业新闻-删除
// export type deleteIndustryNewsType = InterFunction<>;
//行业新闻-详情
export
type
industryNewsDetailType
=
InterFunction
<
{
id
:
number
},
{
id
:
number
;
createTime
:
string
;
newsAuthor
:
string
;
newsContents
:
string
;
newsTitle
:
string
;
origin
:
string
;
surfaceImg
:
string
;
}
>
;
src/api/modules/resourceManageAPI.ts
浏览文件 @
4c3d7a85
...
...
@@ -5,6 +5,10 @@ import {
releaseTenderNewsAdd
,
releaseTenderNewsDelete
,
releaseTenderNewsUpdate
,
addIndustryNewsType
,
industryNewsListType
,
editIndustryNews
,
industryNewsDetailType
,
}
from
'~/api/interface/resourceManageType'
;
import
axios
from
'../request'
;
...
...
@@ -31,4 +35,16 @@ export class ResourceManageAPI {
// 删除招标快讯
static
releaseTenderNewsDelete
:
releaseTenderNewsDelete
=
(
params
)
=>
axios
.
delete
(
`/release/tender/news/
${
params
?.
id
}
`);
// 行业新闻-新增
static addIndustryNews: addIndustryNewsType = (data) =>
axios.post('/release/industry-news/insertIndustryNews', data);
// 行业新闻-列表
static getIndustryNewsList: industryNewsListType = (data) =>
axios.post('/release/industry-news/backgroundListNewsPage', data);
// 行业新闻-编辑
static editIndustryNews: editIndustryNews = (data) =>
axios.post('/release/industry-news/upDateIndustryNews', data);
// 行业新闻-详情
static getIndustryNewsDetail: industryNewsDetailType = (params) =>
axios.get('/release/industry-news/details', { params });
}
src/pages/resourceManage/industryNews/components/addOrEditNewsModal/index.tsx
浏览文件 @
4c3d7a85
import
{
FC
,
useState
}
from
'react'
;
import
{
Form
,
Input
,
Modal
,
ModalProps
}
from
'antd'
;
import
{
FC
,
use
Effect
,
use
State
}
from
'react'
;
import
{
Form
,
Input
,
message
,
Modal
,
ModalProps
}
from
'antd'
;
import
{
Uploader
}
from
'~/components/uploader'
;
import
{
UploadOutlined
}
from
'@ant-design/icons'
;
import
RichText
from
'~/components/richText'
;
import
{
InterDataType
,
InterReqType
}
from
'~/api/interface'
;
import
{
addIndustryNewsType
,
industryNewsListType
}
from
'~/api/interface/resourceManageType'
;
import
{
ResourceManageAPI
}
from
'~/api'
;
const
AddOrEditNewsModal
:
FC
<
ModalProps
>
=
({
open
,
onCancel
})
=>
{
//行业新闻返回类型
type
industryNewsType
=
InterDataType
<
industryNewsListType
>
[
'list'
];
//新增请求类型
type
addNewsParameters
=
InterReqType
<
addIndustryNewsType
>
;
interface
selfProps
{
handleOk
:
()
=>
void
;
onCancel
:
()
=>
void
;
currentIndustryNews
?:
industryNewsType
[
0
];
}
const
AddOrEditNewsModal
:
FC
<
ModalProps
&
selfProps
>
=
({
open
,
onCancel
,
handleOk
,
currentIndustryNews
,
})
=>
{
const
[
form
]
=
Form
.
useForm
<
addNewsParameters
>
();
const
[
richTextValue
,
setRichTextValue
]
=
useState
<
string
>
(
''
);
const
richTextChange
=
()
=>
{};
//封面图文件
const
[
surfaceImgList
,
setSurfaceImgList
]
=
useState
<
{
id
:
number
;
name
:
string
;
uid
:
number
;
url
:
string
;
}[]
>
([]);
const
richTextChange
=
(
html
?:
string
)
=>
{
form
.
setFieldValue
(
'newsContents'
,
html
||
undefined
);
};
//封面图-上传成功
const
uploadSuccess
=
(
fileList
:
{
id
:
number
;
name
:
string
;
uid
:
number
;
url
:
string
;
}[],
)
=>
{
setSurfaceImgList
(
fileList
);
form
.
setFieldValue
(
'surfaceImg'
,
fileList
[
0
].
url
);
};
//提交-新增或编辑行业新闻
const
addOrEditModalOk
=
()
=>
{
form
.
validateFields
().
then
((
value
:
any
)
=>
{
ResourceManageAPI
[
currentIndustryNews
?
'editIndustryNews'
:
'addIndustryNews'
]({
...
value
,
id
:
currentIndustryNews
?
currentIndustryNews
.
id
:
undefined
,
}).
then
(({
code
})
=>
{
if
(
code
===
'200'
)
{
message
.
success
(
currentIndustryNews
?
'编辑成功'
:
'新增成功'
);
handleOk
();
}
});
});
};
const
addOrEditModalCancel
=
()
=>
{
form
.
resetFields
();
setSurfaceImgList
([]);
setRichTextValue
(
''
);
onCancel
();
};
useEffect
(()
=>
{
if
(
currentIndustryNews
)
{
form
.
setFieldsValue
({
newsTitle
:
currentIndustryNews
.
newsTitle
,
origin
:
currentIndustryNews
.
origin
,
newsAuthor
:
currentIndustryNews
.
newsAuthor
,
surfaceImg
:
currentIndustryNews
.
surfaceImg
,
newsContents
:
currentIndustryNews
.
newsContents
||
undefined
,
});
setSurfaceImgList
([
{
id
:
Math
.
random
(),
name
:
'surfaceImg'
,
uid
:
Math
.
random
(),
url
:
currentIndustryNews
.
surfaceImg
,
},
]);
setRichTextValue
(
currentIndustryNews
.
newsContents
||
''
);
}
},
[
currentIndustryNews
]);
return
(
<
Modal
open=
{
open
}
onCancel=
{
onCancel
}
title=
'新建'
width=
{
800
}
>
<
Form
labelCol=
{
{
span
:
4
}
}
wrapperCol=
{
{
span
:
16
}
}
>
<
Form
.
Item
label=
'文章标题'
>
<
Input
placeholder=
'请输入文章标题'
/>
<
Modal
open=
{
open
}
onCancel=
{
addOrEditModalCancel
}
onOk=
{
addOrEditModalOk
}
title=
{
currentIndustryNews
?
'编辑'
:
'新建'
}
width=
{
800
}
>
<
Form
labelCol=
{
{
span
:
4
}
}
wrapperCol=
{
{
span
:
16
}
}
form=
{
form
}
>
<
Form
.
Item
label=
'文章标题'
name=
'newsTitle'
rules=
{
[{
required
:
true
,
message
:
'请输入文章标题'
}]
}
>
<
Input
placeholder=
'请输入文章标题'
maxLength=
{
30
}
/>
</
Form
.
Item
>
<
Form
.
Item
label=
'文章来源'
>
<
Input
placeholder=
'请输入文章来源'
/>
<
Form
.
Item
label=
'文章来源'
name=
'origin'
rules=
{
[{
required
:
true
,
message
:
'请输入文章来源'
}]
}
>
<
Input
placeholder=
'请输入文章来源'
maxLength=
{
30
}
/>
</
Form
.
Item
>
<
Form
.
Item
label=
'作者'
>
<
Input
placeholder=
'请输入文章作者'
/>
<
Form
.
Item
label=
'作者'
name=
'newsAuthor'
rules=
{
[{
required
:
true
,
message
:
'请输入文章作者'
}]
}
>
<
Input
placeholder=
'请输入文章作者'
maxLength=
{
30
}
/>
</
Form
.
Item
>
<
Form
.
Item
label=
'封面图'
>
<
Uploader
fileUpload
listType=
'picture-card'
>
<
Form
.
Item
label=
'封面图'
name=
'surfaceImg'
rules=
{
[{
required
:
true
,
message
:
'请上传封面图'
}]
}
>
<
Uploader
fileUpload
listType=
'picture-card'
onChange=
{
uploadSuccess
}
defaultFileList=
{
surfaceImgList
}
fileType=
{
[
'image/png'
,
'image/jpeg'
,
'image/jpg'
,
'image/gif'
,
'image/bmp'
]
}
>
<
UploadOutlined
/>
</
Uploader
>
</
Form
.
Item
>
<
Form
.
Item
label=
'主题内容'
>
<
Form
.
Item
label=
'主题内容'
name=
'newsContents'
>
<
RichText
onChange=
{
richTextChange
}
value=
{
richTextValue
}
/>
</
Form
.
Item
>
</
Form
>
</
Modal
>
);
};
export
default
AddOrEditNewsModal
;
src/pages/resourceManage/industryNews/components/previewNewsModal/index.scss
0 → 100644
浏览文件 @
4c3d7a85
.industry-news-detail
{
width
:
600px
;
margin
:
0
auto
;
&
-title
{
font-weight
:
500
;
font-size
:
18px
;
color
:
#000
;
text-align
:
center
;
line-height
:
50px
;
}
&
-img
{
text-align
:
center
;
}
&
-content
{
margin-top
:
10px
;
}
}
src/pages/resourceManage/industryNews/components/previewNewsModal/index.tsx
浏览文件 @
4c3d7a85
import
{
FC
}
from
'react'
;
import
{
Modal
,
ModalProps
}
from
'antd'
;
import
{
FC
,
useEffect
,
useRef
,
useState
}
from
'react'
;
import
{
Image
,
Modal
,
ModalProps
}
from
'antd'
;
import
{
InterDataType
}
from
'~/api/interface'
;
import
{
industryNewsDetailType
,
industryNewsListType
}
from
'~/api/interface/resourceManageType'
;
import
{
ResourceManageAPI
}
from
'~/api'
;
import
'./index.scss'
;
const
PreviewNewsModal
:
FC
<
ModalProps
>
=
({
open
,
onCancel
})
=>
{
return
<
Modal
open=
{
open
}
onCancel=
{
onCancel
}
title=
'预览'
></
Modal
>;
//行业新闻返回类型
type
industryNewsType
=
InterDataType
<
industryNewsListType
>
[
'list'
];
//行业新闻详情返回类型
type
detailType
=
InterDataType
<
industryNewsDetailType
>
;
interface
selfProps
{
currentIndustryNews
?:
industryNewsType
[
0
];
}
const
PreviewNewsModal
:
FC
<
ModalProps
&
selfProps
>
=
({
open
,
onCancel
,
currentIndustryNews
})
=>
{
const
newsContentsRef
=
useRef
<
any
>
();
//行业新闻详情
const
[
industryNewsDetail
,
setIndustryNewsDetail
]
=
useState
<
detailType
>
();
//获取行业详情
const
getIndustryNewsDetail
=
(
id
:
number
)
=>
{
ResourceManageAPI
.
getIndustryNewsDetail
({
id
}).
then
(({
result
})
=>
{
setIndustryNewsDetail
(
result
);
newsContentsRef
.
current
.
innerHTML
=
result
.
newsContents
;
});
};
useEffect
(()
=>
{
if
(
currentIndustryNews
)
{
getIndustryNewsDetail
(
currentIndustryNews
.
id
);
}
},
[
currentIndustryNews
]);
return
(
<
Modal
open=
{
open
}
onCancel=
{
onCancel
}
title=
'预览'
width=
{
800
}
footer=
{
null
}
>
<
div
className=
'industry-news-detail'
>
<
div
className=
'industry-news-detail-title'
>
{
industryNewsDetail
?.
newsTitle
}
</
div
>
<
div
className=
'industry-news-detail-img'
>
<
Image
src=
{
industryNewsDetail
?.
surfaceImg
}
height=
{
200
}
width=
{
600
}
/>
</
div
>
<
div
className=
'industry-news-detail-content'
ref=
{
newsContentsRef
}
></
div
>
</
div
>
</
Modal
>
);
};
export
default
PreviewNewsModal
;
src/pages/resourceManage/industryNews/index.tsx
浏览文件 @
4c3d7a85
import
SearchBox
,
{
searchColumns
}
from
'~/components/search-box'
;
import
{
Button
,
Table
}
from
'antd'
;
import
{
Button
,
Image
,
Modal
,
Table
}
from
'antd'
;
import
{
PlusOutlined
}
from
'@ant-design/icons'
;
import
{
ColumnsType
}
from
'antd/es/table'
;
import
AddOrEditNewsModal
from
'./components/addOrEditNewsModal'
;
import
PreviewNewsModal
from
'./components/previewNewsModal'
;
import
{
useState
}
from
'react'
;
import
{
useEffect
,
useState
}
from
'react'
;
import
{
ResourceManageAPI
}
from
'~/api'
;
import
{
InterDataType
,
InterReqListType
,
PaginationProps
}
from
'~/api/interface'
;
import
{
industryNewsListType
}
from
'~/api/interface/resourceManageType'
;
//行业新闻返回类型
type
industryNewsType
=
InterDataType
<
industryNewsListType
>
[
'list'
];
//行业新闻列表参数类型
type
industryNewsParameters
=
InterReqListType
<
industryNewsListType
>
;
const
IndustryNews
=
()
=>
{
const
searchColumnsData
:
searchColumns
[]
=
[
{
label
:
'文章名称'
,
type
:
'input'
,
name
:
''
,
name
:
'
newsTitle
'
,
placeholder
:
'请输入文章名称'
,
},
];
const
tableColumns
:
ColumnsType
<
any
>
=
[
const
tableColumns
:
ColumnsType
<
industryNewsType
[
0
]
>
=
[
{
title
:
'序号'
,
align
:
'center'
,
render
:
(
_text
:
string
,
_record
,
index
:
number
)
=>
(
pagination
.
pageNo
-
1
)
*
pagination
.
pageSize
+
index
+
1
,
},
{
title
:
'文章名称'
,
align
:
'center'
,
dataIndex
:
'newsTitle'
,
},
{
title
:
'发布时间'
,
align
:
'center'
,
dataIndex
:
'createTime'
,
},
{
title
:
'来源'
,
align
:
'center'
,
dataIndex
:
'origin'
,
},
{
title
:
'作者'
,
align
:
'center'
,
dataIndex
:
'newsAuthor'
,
},
{
title
:
'封图片'
,
align
:
'center'
,
dataIndex
:
'surfaceImg'
,
render
:
(
text
:
string
)
=>
<
Image
src=
{
text
}
width=
{
50
}
height=
{
50
}
/>,
},
{
title
:
'操作'
,
align
:
'center'
,
render
:
()
=>
(
render
:
(
_text
:
string
,
record
)
=>
(
<>
<
Button
type=
'link'
>
编辑
</
Button
>
<
Button
type=
'link'
onClick=
{
previewClick
}
>
<
Button
type=
'link'
onClick=
{
()
=>
addOrEditIndustryNewsClick
(
record
)
}
>
编辑
</
Button
>
<
Button
type=
'link'
onClick=
{
()
=>
previewClick
(
record
)
}
>
预览
</
Button
>
<
Button
type=
'link'
danger
>
<
Button
type=
'link'
danger
onClick=
{
()
=>
deleteIndustryNews
(
record
)
}
>
删除
</
Button
>
</>
),
},
];
const
[
tableData
,
setTableData
]
=
useState
<
any
>
([{
id
:
1
}]);
const
[
tableData
,
setTableData
]
=
useState
<
industryNewsType
>
([]);
const
[
loading
,
setLoading
]
=
useState
<
boolean
>
(
false
);
const
[
currentIndustryNews
,
setCurrentIndustryNews
]
=
useState
<
industryNewsType
[
0
]
>
();
const
[
addOrEditNewsModalShow
,
setAddOrEditNewsModalShow
]
=
useState
<
boolean
>
(
false
);
const
[
previewNewsModalShow
,
setPreviewNewsModalShow
]
=
useState
<
boolean
>
(
false
);
const
[
query
,
setQuery
]
=
useState
<
industryNewsParameters
>
();
const
[
pagination
,
setPagination
]
=
useState
<
PaginationProps
&
{
totalCount
:
number
}
>
({
pageNo
:
1
,
pageSize
:
10
,
totalCount
:
0
,
});
const
addOrEditIndustryNewsClick
=
()
=>
{
//获取行业新闻-列表
const
getIndustryNewsList
=
(
query
?:
industryNewsParameters
)
=>
{
setLoading
(
true
);
ResourceManageAPI
.
getIndustryNewsList
({
pageNo
:
pagination
.
pageNo
,
pageSize
:
pagination
.
pageSize
,
...
query
,
}).
then
(({
result
})
=>
{
setLoading
(
false
);
setTableData
(
result
.
list
||
[]);
pagination
.
totalCount
=
result
.
totalCount
;
setPagination
(
pagination
);
});
};
//分页
const
paginationChange
=
(
pageNo
:
number
,
pageSize
:
number
)
=>
{
pagination
.
pageNo
=
pageNo
;
pagination
.
pageSize
=
pageSize
;
getIndustryNewsList
(
query
);
};
//筛选
const
searchSuccessEvent
=
(
value
?:
industryNewsParameters
)
=>
{
pagination
.
pageNo
=
1
;
pagination
.
pageSize
=
10
;
setQuery
(
value
);
getIndustryNewsList
(
value
);
};
//新增、编辑
const
addOrEditIndustryNewsClick
=
(
record
?:
industryNewsType
[
0
])
=>
{
setCurrentIndustryNews
(
record
?
{
...
record
}
:
undefined
);
setAddOrEditNewsModalShow
(
true
);
};
const
addOrEditNewsModalCancel
=
()
=>
{
setAddOrEditNewsModalShow
(
false
);
};
const
previewClick
=
()
=>
{
const
addOrEditNewsModalOk
=
()
=>
{
getIndustryNewsList
();
setAddOrEditNewsModalShow
(
false
);
};
//预览
const
previewClick
=
(
record
:
industryNewsType
[
0
])
=>
{
setCurrentIndustryNews
({
...
record
});
setPreviewNewsModalShow
(
true
);
};
const
previewNewsModalCancel
=
()
=>
{
setPreviewNewsModalShow
(
false
);
};
//删除
const
deleteIndustryNews
=
(
record
:
industryNewsType
[
0
])
=>
{
Modal
.
confirm
({
title
:
'行业新闻删除'
,
content
:
'确认删除该行业新闻?'
,
onOk
:
()
=>
{},
});
};
useEffect
(()
=>
{
getIndustryNewsList
();
},
[]);
return
(
<
div
className=
'industry-news'
>
<
SearchBox
search=
{
searchColumnsData
}
child=
{
<
Button
type=
'primary'
icon=
{
<
PlusOutlined
/>
}
onClick=
{
addOrEditIndustryNewsClick
}
>
<
Button
type=
'primary'
icon=
{
<
PlusOutlined
/>
}
onClick=
{
()
=>
addOrEditIndustryNewsClick
()
}
>
新建
</
Button
>
}
searchData=
{
searchSuccessEvent
}
/>
<
Table
bordered
columns=
{
tableColumns
}
dataSource=
{
tableData
}
loading=
{
loading
}
rowKey=
'id'
pagination=
{
{
total
:
pagination
.
totalCount
,
pageSize
:
pagination
.
pageSize
,
current
:
pagination
.
pageNo
,
showSizeChanger
:
true
,
showQuickJumper
:
true
,
onChange
:
(
page
:
number
,
pageSize
:
number
)
=>
paginationChange
(
page
,
pageSize
),
showTotal
:
(
total
,
range
)
=>
`当前 ${range[0]}-${range[1]} 条记录 / 共 ${total} 条数据`
,
}
}
/>
<
AddOrEditNewsModal
open=
{
addOrEditNewsModalShow
}
onCancel=
{
addOrEditNewsModalCancel
}
handleOk=
{
addOrEditNewsModalOk
}
currentIndustryNews=
{
currentIndustryNews
}
/>
<
PreviewNewsModal
open=
{
previewNewsModalShow
}
onCancel=
{
previewNewsModalCancel
}
currentIndustryNews=
{
currentIndustryNews
}
/>
<
Table
bordered
columns=
{
tableColumns
}
dataSource=
{
tableData
}
/>
<
AddOrEditNewsModal
open=
{
addOrEditNewsModalShow
}
onCancel=
{
addOrEditNewsModalCancel
}
/>
<
PreviewNewsModal
open=
{
previewNewsModalShow
}
onCancel=
{
previewNewsModalCancel
}
/>
</
div
>
);
};
...
...
src/pages/resourceManage/requirementsGathering/index.tsx
浏览文件 @
4c3d7a85
...
...
@@ -3,10 +3,12 @@ import { useEffect, useState } from 'react';
import
{
Button
,
Table
,
Tooltip
}
from
'antd'
;
import
{
ColumnsType
}
from
'antd/es/table'
;
import
{
ResourceManageAPI
}
from
'~/api'
;
import
{
InterReqType
,
PaginationProps
}
from
'~/api/interface'
;
import
{
Inter
DataType
,
Inter
ReqType
,
PaginationProps
}
from
'~/api/interface'
;
import
'./index.scss'
;
import
{
listPublishPageType
}
from
'~/api/interface/resourceManageType'
;
//需求列表返回类型
type
requirementsType
=
InterDataType
<
listPublishPageType
>
[
'list'
];
type
requirementsParameter
=
Omit
<
InterReqType
<
listPublishPageType
>
,
'pageSize'
|
'pageNo'
>
;
const
RequirementsGathering
=
()
=>
{
...
...
@@ -25,7 +27,7 @@ const RequirementsGathering = () => {
name
:
'keyword'
,
},
]);
const
tableColumn
:
ColumnsType
<
any
>
=
[
const
tableColumn
:
ColumnsType
<
requirementsType
[
0
]
>
=
[
{
title
:
'需求类型'
,
align
:
'center'
,
...
...
@@ -58,13 +60,15 @@ const RequirementsGathering = () => {
align
:
'center'
,
render
:
()
=>
(
<>
<
Button
type=
'link'
>
强制删除
</
Button
>
<
Button
type=
'link'
danger
>
强制删除
</
Button
>
<
Button
type=
'link'
>
联系客户
</
Button
>
</>
),
},
];
const
[
tableData
,
setTableData
]
=
useState
<
any
>
([{
id
:
1
}
]);
const
[
tableData
,
setTableData
]
=
useState
<
requirementsType
>
([
]);
const
[
pagination
,
setPagination
]
=
useState
<
PaginationProps
&
{
totalCount
:
number
}
>
({
pageNo
:
1
,
pageSize
:
10
,
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论