diff --git a/src/forge/Information/Pages/JCC/homePage.jsx b/src/forge/Information/Pages/JCC/homePage.jsx index 999876ee7..8faf02091 100644 --- a/src/forge/Information/Pages/JCC/homePage.jsx +++ b/src/forge/Information/Pages/JCC/homePage.jsx @@ -141,7 +141,7 @@ function HeaderPageJCC(props){ { data.introductionImage && - + } } diff --git a/src/forge/Information/Pages/headerPage.jsx b/src/forge/Information/Pages/headerPage.jsx index cc21f1535..654fa1dc7 100644 --- a/src/forge/Information/Pages/headerPage.jsx +++ b/src/forge/Information/Pages/headerPage.jsx @@ -79,8 +79,8 @@ function HeaderPage(props){

{ - data.introductionImage && - + data.introductionImage && + } } diff --git a/src/forge/Information/Pages/headerPagebyCCF.jsx b/src/forge/Information/Pages/headerPagebyCCF.jsx index d73326d70..6aec57866 100644 --- a/src/forge/Information/Pages/headerPagebyCCF.jsx +++ b/src/forge/Information/Pages/headerPagebyCCF.jsx @@ -237,7 +237,7 @@ function HeaderPageCCF(props) { { data.introductionImage && - + } } diff --git a/src/forge/Information/Pages/homepage/component/introduction.jsx b/src/forge/Information/Pages/homepage/component/introduction.jsx index ff6aacb97..d41150424 100644 --- a/src/forge/Information/Pages/homepage/component/introduction.jsx +++ b/src/forge/Information/Pages/homepage/component/introduction.jsx @@ -1,6 +1,7 @@ import React , { useEffect, useState } from 'react'; import { getZoneStatistics } from '../../../api'; import '../index.scss'; +import { Carousel } from 'antd'; // 专区简介,文字在左,图在右 // statistics: 是否展示统计区域 @@ -28,9 +29,13 @@ function Introduction({data, statistics=true}) { {firstTitle} ABOUT US -
- {introductionImage && } - {introductionContent && } +
+ {introductionImage && + {introductionImage.split(",").map((item, index) => { + return ; + })} + } + {introductionContent && }
{statistics &&
{Object.keys(label).map(item=>{ diff --git a/src/forge/Information/Pages/homepage/component/news.jsx b/src/forge/Information/Pages/homepage/component/news.jsx index 065868d5d..83da8459e 100644 --- a/src/forge/Information/Pages/homepage/component/news.jsx +++ b/src/forge/Information/Pages/homepage/component/news.jsx @@ -131,7 +131,7 @@ function News({data, subTitle, firstDirIntro, secondDirIntro}) { {/* 第一个顺序栏目 */} {firstDir &&

- {firstDir.name} + {window.scrollTo(0,450)}}>{firstDir.name} {window.scrollTo(0,450)}}>更多

{firstDirIntro}
@@ -147,7 +147,9 @@ function News({data, subTitle, firstDirIntro, secondDirIntro}) {
-

{secondDir.name}

+

+ {window.scrollTo(0,450)}}>{secondDir.name} +

{secondDirIntro}

@@ -164,7 +166,7 @@ function News({data, subTitle, firstDirIntro, secondDirIntro}) {
} - {dirs && !!dirs.length &&
+ {dirs && !!dirs.length &&
{renderItems()}
}
diff --git a/src/forge/Information/Pages/homepage/component/project.jsx b/src/forge/Information/Pages/homepage/component/project.jsx index 5ce2c275e..e3b6cf8c1 100644 --- a/src/forge/Information/Pages/homepage/component/project.jsx +++ b/src/forge/Information/Pages/homepage/component/project.jsx @@ -3,6 +3,43 @@ import '../index.scss'; import { getProjectListByScore, getProjectsTypeLists } from '../../../api'; import { Carousel, Divider, Spin } from 'antd'; import Nodata from '../../../../Nodata'; +import Slider from 'react-slick'; + +export function TypeCarousel({pageSize=4, list=[], typeId, onClick}) { + const setting = { + prevArrow: , + nextArrow: , + afterChange: (currentSlide)=>{onClick(list[currentSlide*pageSize].id)} + } + const pages = [] + for (let i = 0; i < Math.ceil(list.length / pageSize); i++) { + const start = i * pageSize; + const end = start + pageSize; + pages.push(list.slice(start, end)); + } + return + {pages.map((page, index)=>{ + return
+
+ {page.map((item, i) => { + const order = index*pageSize+i + return
{ onClick(item.id) }}> + {/* 项目 */} + + {/* 专项项目 */} + + {order < 9 ? `0${order+1}` : order+1} + + + + {item.name} +
+ })} +
+
+ })} +
+} function Project({ data, subTitle }) { const { id, homepageProjectTitle } = data || {}; @@ -15,7 +52,10 @@ function Project({ data, subTitle }) { const pages = []; useEffect(() => { - id && getProjectsTypeLists(id).then(result => { + id && getProjectsTypeLists(id, { + pageNum: 1, + pageSize: 100, + }).then(result => { if (result) { const rows = result.data.rows; rows[0] && setTypeId(rows[0].id) @@ -52,19 +92,12 @@ function Project({ data, subTitle }) {

{homepageProjectTitle}

{subTitle}

-
- {typeList.slice(0, 3).map((item, index) => { - return
{ setTypeId(item.id); setPage(1) }}> - - {item.name} -
- })} -
+ {setTypeId(id); setPage(1)}}/> {setLoading(true);setPage(current+1)}}> {pages.map((page1, index) => (
-
+
{lists.map((i, index) => { const { extra: { commitCount, contributorsCount, lastWeekScore, scoreChange } } = i || {} const order = page >= 2 ? (page-1)*6+index+1 : index+1; diff --git a/src/forge/Information/Pages/homepage/component/specialProjects.jsx b/src/forge/Information/Pages/homepage/component/specialProjects.jsx index 3947f4132..f3a491954 100644 --- a/src/forge/Information/Pages/homepage/component/specialProjects.jsx +++ b/src/forge/Information/Pages/homepage/component/specialProjects.jsx @@ -3,6 +3,7 @@ import { getSpecialProjectDetail, getSpecialProjectList, getSpecialProjectTypeLi import { Col, Divider, Row, Tag } from 'antd'; import Nodata from '../../../../Nodata'; import '../index.scss'; +import { TypeCarousel } from './project'; function SpecialProjects({data, subTitle}) { const {key, homepageSpecialProjectTitle, id} = data || {}; @@ -15,7 +16,7 @@ function SpecialProjects({data, subTitle}) { useEffect(()=>{ id && getSpecialProjectTypeList(id, { pageNum: 1, - pageSize: 4, + pageSize: 100, }).then(res=>{ if(res){ const rows = res.data.rows; @@ -120,13 +121,13 @@ function SpecialProjects({data, subTitle}) { currentRow.push(
handleItemClick(item.id)} > {index+1}
{item.name}
-
摘要:{item.description}
-

{item.projectLeader}

+
摘要:{item.description}
+

{item.projectLeader}

); @@ -171,18 +172,7 @@ function SpecialProjects({data, subTitle}) {

{homepageSpecialProjectTitle}

{subTitle}

-
- {typeList.map((item, index)=>{ - return
{setTypeId(item.id)}}> - - {index < 9 ? `0${index+1}` : index+1} - - - - {item.name} -
- })} -
+ {setTypeId(id);}}/>
{renderItems()}
{!projectList.length && }
diff --git a/src/forge/Information/Pages/homepage/image/left.png b/src/forge/Information/Pages/homepage/image/left.png new file mode 100644 index 000000000..b41f9df80 Binary files /dev/null and b/src/forge/Information/Pages/homepage/image/left.png differ diff --git a/src/forge/Information/Pages/homepage/image/proType4.png b/src/forge/Information/Pages/homepage/image/proType4.png new file mode 100644 index 000000000..c2002889f Binary files /dev/null and b/src/forge/Information/Pages/homepage/image/proType4.png differ diff --git a/src/forge/Information/Pages/homepage/image/proType4_active.png b/src/forge/Information/Pages/homepage/image/proType4_active.png new file mode 100644 index 000000000..d805f4572 Binary files /dev/null and b/src/forge/Information/Pages/homepage/image/proType4_active.png differ diff --git a/src/forge/Information/Pages/homepage/image/proType5.png b/src/forge/Information/Pages/homepage/image/proType5.png new file mode 100644 index 000000000..2eabb70ca Binary files /dev/null and b/src/forge/Information/Pages/homepage/image/proType5.png differ diff --git a/src/forge/Information/Pages/homepage/image/proType5_active.png b/src/forge/Information/Pages/homepage/image/proType5_active.png new file mode 100644 index 000000000..2e291efe0 Binary files /dev/null and b/src/forge/Information/Pages/homepage/image/proType5_active.png differ diff --git a/src/forge/Information/Pages/homepage/image/right.png b/src/forge/Information/Pages/homepage/image/right.png new file mode 100644 index 000000000..14e5bbac1 Binary files /dev/null and b/src/forge/Information/Pages/homepage/image/right.png differ diff --git a/src/forge/Information/Pages/homepage/index.scss b/src/forge/Information/Pages/homepage/index.scss index db0855268..84235dd24 100644 --- a/src/forge/Information/Pages/homepage/index.scss +++ b/src/forge/Information/Pages/homepage/index.scss @@ -65,6 +65,20 @@ color: #D9D9D9; } } + .intro_1_carousel{ + width: 526px; + float: right; + margin-left: 35px; + .slick-dots li button:before{ + font-size: 10px; + top: -12px; + } + } + .intro_image{ + width: 526px; + height: 272px; + object-fit: scale-down; + } } .news_1_bg{ background-image: url('./image/new1.png'); @@ -186,7 +200,7 @@ } } .project_1_bg .proTypeBox, .specialProjects_1_bg .proTypeBox{ - width: 280px; + min-width: 275px; height: 63px; background: #F5F6F7; border-radius: 8px; @@ -207,6 +221,12 @@ .icon2{ background-image: url('./image/proType3_active.png'); } + .icon3{ + background-image: url('./image/proType4_active.png'); + } + .icon4{ + background-image: url('./image/proType5_active.png'); + } .s_p_order_1, .s_p_order>img{ display: none; } @@ -225,7 +245,7 @@ background-image: url('./image/s_project7.png'); } } - .icon1, .s_p_order_icon, .icon0, .icon2{ + .s_p_order_icon, .p_1_icon{ width: 22px; height: 22px; background-size: 100% 100%; @@ -239,12 +259,30 @@ background-image: url('./image/proType2.png'); } .icon2{ - width: 25px; - height: 19px; + height: 18px; background-image: url('./image/proType3.png'); } + .icon3{ + width: 24px; + height: 24px; + background-image: url('./image/proType4.png'); + } + .icon4{ + background-image: url('./image/proType5.png'); + } } +.project_1_bg .proTypeBox{ + min-width:200px; + .s_p_order{ + display: none; + } +} +.specialProjects_1_bg .proTypeBox{ + .p_1_icon{ + display: none; + } +} .source_1_bg{ background-color: white; background-image: url('./image/source1.png'); @@ -350,6 +388,7 @@ margin: 0 0 35px 0 !important; } .s_p_detail{ + flex-direction: column; flex: 0 0 calc(33.333% - 20px); background: #FFFFFF; box-shadow: 0px 0px 10px 1px rgba(28,48,175,0.08);