Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
W
web-ci-test
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
test-ci
web-ci-test
Commits
a13e0911
提交
a13e0911
authored
5月 20, 2023
作者:
翁进城
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
案列文章与新闻文章开发
上级
25b7de12
隐藏空白字符变更
内嵌
并排
正在显示
9 个修改的文件
包含
234 行增加
和
39 行删除
+234
-39
[id].page.tsx
pages/projectInfo/caseArticle/[id].page.tsx
+8
-1
index.tsx
pages/projectInfo/components/bids/index.tsx
+3
-0
index.tsx
pages/projectInfo/components/cases/index.tsx
+37
-31
index.tsx
pages/projectInfo/components/news/index.tsx
+6
-1
index.tsx
pages/projectInfo/components/requirements/index.tsx
+8
-6
[id].page.tsx
pages/projectInfo/newsArticle/[id].page.tsx
+107
-0
index.tsx
pages/projectInfo/newsArticle/api/index.tsx
+23
-0
bk.png
pages/projectInfo/newsArticle/assets/bk.png
+0
-0
index.module.scss
pages/projectInfo/newsArticle/index.module.scss
+42
-0
没有找到文件。
pages/projectInfo/caseArticle/[id].page.tsx
浏览文件 @
a13e0911
...
@@ -67,7 +67,14 @@ export default function CaseArticle() {
...
@@ -67,7 +67,14 @@ export default function CaseArticle() {
<
Col
span=
{
24
}
>
<
Col
span=
{
24
}
>
{
newsList
.
map
(
item
=>
{
{
newsList
.
map
(
item
=>
{
return
(
return
(
<
Row
justify=
"space-between"
align=
"middle"
>
<
Row
justify=
"space-between"
align=
"middle"
style=
{
{
cursor
:
"pointer"
}
}
onClick=
{
()
=>
{
router
.
push
(
"/projectInfo/newsArticle/"
+
item
.
id
);
}
}
>
<
Col
<
Col
className=
{
`${styles.font3} ${styles.ellipse2}`
}
className=
{
`${styles.font3} ${styles.ellipse2}`
}
style=
{
{
width
:
217
,
padding
:
"13px 0 17px 20px"
}
}
style=
{
{
width
:
217
,
padding
:
"13px 0 17px 20px"
}
}
...
...
pages/projectInfo/components/bids/index.tsx
浏览文件 @
a13e0911
...
@@ -19,6 +19,9 @@ export default function Bids() {
...
@@ -19,6 +19,9 @@ export default function Bids() {
},
[
pageParams
]);
},
[
pageParams
]);
useEffect
(()
=>
{
useEffect
(()
=>
{
if
(
!
abort
)
{
return
;
}
api
api
.
listNewTenderInfo
(
.
listNewTenderInfo
(
{
{
...
...
pages/projectInfo/components/cases/index.tsx
浏览文件 @
a13e0911
...
@@ -14,46 +14,52 @@ const list = [
...
@@ -14,46 +14,52 @@ const list = [
];
];
export
default
function
Cases
()
{
export
default
function
Cases
()
{
const
[
list
,
setList
]
=
useState
<
Array
<
Item
>>
([]);
const
[
list
,
setList
]
=
useState
<
Array
<
Item
>>
([]);
const
[
pageParams
,
setPageParams
]
=
useState
({
const
[
pageParams
,
setPageParams
]
=
useState
({
pageNo
:
1
,
pageNo
:
1
,
pageSize
:
5
,
pageSize
:
5
,
});
});
const
[
count
,
setCount
]
=
useState
(
0
);
const
[
count
,
setCount
]
=
useState
(
0
);
const
[
abort
,
setAbort
]
=
useState
<
AbortController
|
null
>
(
null
);
const
[
abort
,
setAbort
]
=
useState
<
AbortController
|
null
>
(
null
);
const
Router
=
useRouter
();
const
Router
=
useRouter
();
useEffect
(()
=>
{
useEffect
(()
=>
{
//中断前一次请求
//中断前一次请求
abort
?.
abort
();
abort
?.
abort
();
setAbort
(
new
AbortController
());
setAbort
(
new
AbortController
());
},
[
pageParams
]);
},
[
pageParams
]);
useEffect
(()
=>
{
if
(
!
abort
)
{
return
;
}
api
.
listCasePage
(
{
...
pageParams
,
},
{
signal
:
abort
?.
signal
,
}
)
.
then
((
res
)
=>
{
setList
(
res
.
result
?.
list
||
[]);
setCount
(
res
.
result
?.
totalCount
||
0
);
});
},
[
abort
]);
useEffect
(()
=>
{
api
.
listCasePage
(
{
...
pageParams
,
},
{
signal
:
abort
?.
signal
,
}
)
.
then
((
res
)
=>
{
setList
(
res
.
result
?.
list
||
[]);
setCount
(
res
.
result
?.
totalCount
||
0
);
});
},
[
abort
]);
return
(
return
(
<
div
className=
{
styles
.
casas
}
>
<
div
className=
{
styles
.
casas
}
>
{
list
.
map
((
item
)
=>
{
{
list
.
map
((
item
)
=>
{
return
(
return
(
<
div
className=
{
styles
.
item
}
key=
{
item
.
id
}
>
<
div
className=
{
styles
.
item
}
key=
{
item
.
id
}
>
<
div
className=
{
styles
.
info
}
>
<
div
className=
{
styles
.
info
}
>
<
div
className=
{
styles
.
title
}
>
{
item
.
news
Title
}
</
div
>
<
div
className=
{
styles
.
title
}
>
{
item
.
case
Title
}
</
div
>
</
div
>
</
div
>
<
Button
className=
{
styles
.
btn
}
onClick=
{
()
=>
Router
.
push
(
'projectInfo/caseArticle/'
+
item
.
id
)
}
>
<
Button
className=
{
styles
.
btn
}
onClick=
{
()
=>
Router
.
push
(
"/projectInfo/caseArticle/"
+
item
.
id
)
}
>
查看案例
查看案例
</
Button
>
</
Button
>
</
div
>
</
div
>
...
...
pages/projectInfo/components/news/index.tsx
浏览文件 @
a13e0911
...
@@ -4,6 +4,7 @@ import styles from "./index.module.scss";
...
@@ -4,6 +4,7 @@ import styles from "./index.module.scss";
import
Image
from
"next/image"
;
import
Image
from
"next/image"
;
import
{
useState
,
useEffect
}
from
"react"
;
import
{
useState
,
useEffect
}
from
"react"
;
import
api
,
{
Item
}
from
"./api"
;
import
api
,
{
Item
}
from
"./api"
;
import
{
useRouter
}
from
"next/router"
;
export
default
function
News
()
{
export
default
function
News
()
{
const
[
list
,
setList
]
=
useState
<
Array
<
Item
>>
([]);
const
[
list
,
setList
]
=
useState
<
Array
<
Item
>>
([]);
...
@@ -13,6 +14,7 @@ export default function News() {
...
@@ -13,6 +14,7 @@ export default function News() {
});
});
const
[
count
,
setCount
]
=
useState
(
0
);
const
[
count
,
setCount
]
=
useState
(
0
);
const
[
abort
,
setAbort
]
=
useState
<
AbortController
|
null
>
(
null
);
const
[
abort
,
setAbort
]
=
useState
<
AbortController
|
null
>
(
null
);
const
router
=
useRouter
();
useEffect
(()
=>
{
useEffect
(()
=>
{
//中断前一次请求
//中断前一次请求
...
@@ -21,6 +23,9 @@ export default function News() {
...
@@ -21,6 +23,9 @@ export default function News() {
},
[
pageParams
]);
},
[
pageParams
]);
useEffect
(()
=>
{
useEffect
(()
=>
{
if
(
!
abort
)
{
return
;
}
api
api
.
listNewsPage
(
.
listNewsPage
(
{
{
...
@@ -41,7 +46,7 @@ export default function News() {
...
@@ -41,7 +46,7 @@ export default function News() {
<
Col
className=
{
styles
.
new
}
>
<
Col
className=
{
styles
.
new
}
>
{
list
.
map
((
item
)
=>
{
{
list
.
map
((
item
)
=>
{
return
(
return
(
<
div
className=
{
styles
.
item
}
key=
{
item
.
id
}
>
<
div
className=
{
styles
.
item
}
key=
{
item
.
id
}
onClick=
{
()
=>
router
.
push
(
'/projectInfo/newsArticle/'
+
item
.
id
)
}
>
<
Image
<
Image
className=
{
styles
.
logo
}
className=
{
styles
.
logo
}
src=
{
item
.
surfaceImg
}
src=
{
item
.
surfaceImg
}
...
...
pages/projectInfo/components/requirements/index.tsx
浏览文件 @
a13e0911
import
React
,
{
useState
,
useEffect
}
from
'react'
;
import
React
,
{
useState
,
useEffect
}
from
"react"
;
import
api
,
{
Item
}
from
"./api"
;
import
api
,
{
Item
}
from
"./api"
;
import
styles
from
'./index.module.scss'
;
import
styles
from
"./index.module.scss"
;
export
default
function
Requirements
(){
export
default
function
Requirements
()
{
const
[
list
,
setList
]
=
useState
<
Array
<
Item
>>
([]);
const
[
list
,
setList
]
=
useState
<
Array
<
Item
>>
([]);
const
[
pageParams
,
setPageParams
]
=
useState
({
const
[
pageParams
,
setPageParams
]
=
useState
({
pageNo
:
1
,
pageNo
:
1
,
...
@@ -18,6 +18,9 @@ export default function Requirements(){
...
@@ -18,6 +18,9 @@ export default function Requirements(){
},
[
pageParams
]);
},
[
pageParams
]);
useEffect
(()
=>
{
useEffect
(()
=>
{
if
(
!
abort
)
{
return
;
}
api
api
.
listPublishPage
(
.
listPublishPage
(
{
{
...
@@ -35,7 +38,7 @@ export default function Requirements(){
...
@@ -35,7 +38,7 @@ export default function Requirements(){
return
(
return
(
<
div
className=
{
styles
.
requirements
}
>
<
div
className=
{
styles
.
requirements
}
>
{
list
.
map
(
item
=>
{
{
list
.
map
(
(
item
)
=>
{
return
(
return
(
<
div
<
div
className=
{
`${styles.item} ${!item.solved && styles.noResolve}`
}
className=
{
`${styles.item} ${!item.solved && styles.noResolve}`
}
...
@@ -53,4 +56,4 @@ export default function Requirements(){
...
@@ -53,4 +56,4 @@ export default function Requirements(){
})
}
})
}
</
div
>
</
div
>
);
);
}
}
\ No newline at end of file
pages/projectInfo/newsArticle/[id].page.tsx
0 → 100644
浏览文件 @
a13e0911
import
{
RightOutlined
}
from
"@ant-design/icons"
;
import
{
Col
,
Row
,
Space
,
Image
}
from
"antd"
;
import
{
useRouter
}
from
"next/router"
;
import
{
useEffect
,
useState
}
from
"react"
;
import
errImg
from
"~/assets/errImg"
;
import
Layout
from
"~/components/layout"
;
import
newsApi
,
{
Item
}
from
"../components/news/api"
;
import
api
,
{
DetailsResp
}
from
"./api"
;
import
styles
from
"./index.module.scss"
;
export
default
function
CaseArticle
()
{
const
router
=
useRouter
();
const
[
data
,
setData
]
=
useState
<
DetailsResp
|
null
>
(
null
);
const
[
newsList
,
setNewList
]
=
useState
<
Item
[]
>
([]);
//获取案例详情
useEffect
(()
=>
{
const
id
=
Number
(
router
.
query
.
id
);
if
(
id
)
{
api
.
details
({
id
,
})
.
then
((
res
)
=>
{
setData
(
res
.
result
||
null
);
});
}
},
[
router
]);
//获取新闻列表
useEffect
(()
=>
{
newsApi
.
listNewsPage
({
pageNo
:
1
,
pageSize
:
5
,
})
.
then
((
res
)
=>
{
setNewList
(
res
.
result
?.
list
||
[]);
});
});
return
(
<
Layout
layoutStyle=
{
{
backgroundColor
:
"#fff"
}
}
>
<
div
style=
{
{
paddingTop
:
29
}
}
>
<
Row
justify=
"space-between"
>
<
Col
flex=
"auto"
>
<
div
className=
{
styles
.
font1
}
>
{
data
?.
newsTitle
}
</
div
>
<
div
className=
{
styles
.
font2
}
style=
{
{
marginTop
:
18
,
marginBottom
:
41
}
}
>
{
data
?.
createTime
}
·
{
data
?.
newsAuthor
}
</
div
>
<
div
dangerouslySetInnerHTML=
{
{
__html
:
data
?.
newsContents
||
""
}
}
></
div
>
</
Col
>
<
Col
>
<
div
className=
{
styles
.
newsBox
}
>
<
Row
className=
{
styles
.
font4
}
align=
"middle"
style=
{
{
paddingTop
:
24
,
paddingLeft
:
24
}
}
>
行业新闻
<
RightOutlined
style=
{
{
fontSize
:
16
,
marginLeft
:
15
}
}
/>
</
Row
>
<
Row
gutter=
{
10
}
style=
{
{
marginTop
:
18
}
}
>
<
Col
span=
{
24
}
>
{
newsList
.
map
((
item
)
=>
{
return
(
<
Row
justify=
"space-between"
align=
"middle"
style=
{
{
cursor
:
"pointer"
}
}
onClick=
{
()
=>
{
router
.
push
(
"/projectInfo/newsArticle/"
+
item
.
id
);
}
}
>
<
Col
className=
{
`${styles.font3} ${styles.ellipse2}`
}
style=
{
{
width
:
217
,
padding
:
"13px 0 17px 20px"
}
}
>
{
item
.
newsTitle
}
</
Col
>
<
Col
style=
{
{
paddingRight
:
16
}
}
>
<
Image
src=
{
item
.
surfaceImg
}
width=
{
90
}
height=
{
60
}
preview=
{
false
}
fallback=
{
errImg
}
style=
{
{
borderRadius
:
6
}
}
></
Image
>
</
Col
>
</
Row
>
);
})
}
</
Col
>
</
Row
>
</
div
>
</
Col
>
</
Row
>
</
div
>
</
Layout
>
);
}
pages/projectInfo/newsArticle/api/index.tsx
0 → 100644
浏览文件 @
a13e0911
import
request
,
{
Response
}
from
"~/api/request"
;
export
interface
DetailsParams
{
id
:
number
;
}
export
interface
DetailsResp
{
id
:
number
;
newsTitle
?:
string
;
newsAuthor
?:
string
;
userAccountId
?:
number
;
surfaceImg
?:
string
;
newsContents
?:
string
;
createTime
?:
string
;
updateTime
?:
string
;
}
export
default
{
//案例详情
details
(
params
:
DetailsParams
):
Promise
<
Response
<
DetailsResp
>>
{
return
request
(
"/release/industry-news/details"
,
"get"
,
params
);
},
};
pages/projectInfo/newsArticle/assets/bk.png
0 → 100644
浏览文件 @
a13e0911
7.9 KB
pages/projectInfo/newsArticle/index.module.scss
0 → 100644
浏览文件 @
a13e0911
@import
"~/styles/mixins.scss"
;
.font1
{
font-size
:
36px
;
font-family
:
MicrosoftYaHeiUI-Bold
,
MicrosoftYaHeiUI
;
font-weight
:
bold
;
color
:
#000000
;
line-height
:
50px
;
}
.font2
{
font-size
:
12px
;
font-family
:
MicrosoftYaHei
;
color
:
#333333
;
line-height
:
16px
;
}
.font3
{
font-size
:
16px
;
font-family
:
MicrosoftYaHei
;
color
:
#323232
;
line-height
:
21px
;
}
.font4
{
font-size
:
20px
;
font-family
:
MicrosoftYaHeiUI-Bold
,
MicrosoftYaHeiUI
;
font-weight
:
bold
;
color
:
#000000
;
line-height
:
25px
;
}
.newsBox
{
width
:
384px
;
height
:
491px
;
background-image
:
url("./assets/bk.png")
;
background-size
:
100%
100%
;
}
.ellipse2
{
@include
ellipsis
(
2
);
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论