From 6578a4f083633efaa2c77123f7b5b91ef6880ebf Mon Sep 17 00:00:00 2001 From: caishi <1149225589@qq.com> Date: Mon, 8 Jun 2026 10:06:04 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B6=85=E7=AE=97=E4=BC=9A=E5=91=98-=E4=BA=BA?= =?UTF-8?q?=E5=91=98=E5=A4=AA=E5=A4=9A=E7=9A=84=E6=83=85=E5=86=B5=E4=B8=8B?= =?UTF-8?q?=E6=94=B9=E4=B8=BA=E5=B7=A6=E5=8F=B3=E7=82=B9=E5=87=BB=E8=BD=AE?= =?UTF-8?q?=E6=92=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Information/Component/memberList.jsx | 101 +++++++++++- src/forge/Information/Pages/custom/vip.jsx | 5 +- .../Pages/homepage/component/newsByNSCC.jsx | 6 +- .../Information/Pages/homepage/index.scss | 6 + src/forge/Information/img/right.png | Bin 0 -> 1018 bytes src/forge/Information/img/ringleft.png | Bin 0 -> 1018 bytes src/forge/Information/img/ringright.png | Bin 0 -> 1018 bytes src/forge/Information/index.scss | 146 ++++++++++++++++++ 8 files changed, 252 insertions(+), 12 deletions(-) create mode 100644 src/forge/Information/img/right.png create mode 100644 src/forge/Information/img/ringleft.png create mode 100644 src/forge/Information/img/ringright.png diff --git a/src/forge/Information/Component/memberList.jsx b/src/forge/Information/Component/memberList.jsx index 71c553325..e51129a94 100644 --- a/src/forge/Information/Component/memberList.jsx +++ b/src/forge/Information/Component/memberList.jsx @@ -1,16 +1,36 @@ -import React,{useCallback, useEffect,useState} from 'react'; +import React,{useCallback, useEffect,useState,useMemo,useRef} from 'react'; import { Link } from 'react-router-dom'; import { tempEnum } from '../tempInfo'; import Crown from '../img/crown.png'; import Nodata from '../../Nodata'; import nodata from '../img/nodata.png'; import { Input } from 'antd'; +import Slider from 'react-slick'; +import 'slick-carousel/slick/slick.css'; +import 'slick-carousel/slick/slick-theme.css'; +import Left from '../img/ringleft.png'; +import Right from '../img/ringright.png'; const { Search } = Input; function Member(props) { const { vipLists, temp , deptId , headIcon , hoverIcon } = props; const isUOS = deptId === "uos";//id===91:泛在的开发社区成员,定制 + const [ list , setList ] = useState(vipLists); + const sliderRef = useRef(null); + const [currentSlide, setCurrentSlide] = useState(0); + + // 将成员列表按每行8个进行分组 + const groupMembersByRow = (members) => { + if (!members || members.length === 0) return []; + const grouped = []; + for (let i = 0; i < members.length; i += 24) { + grouped.push(members.slice(i, i + 24)); + } + console.log(grouped); + + return grouped; + }; useEffect(()=>{ if(vipLists && vipLists.length > 0 ){ @@ -30,6 +50,51 @@ function Member(props) { setList(ele); } + const PrevArrow = (props) => { + const { onClick } = props; + const isDisabled = currentSlide === 0; + return ( + + + + ); + }; + + const NextArrow = (props) => { + const { onClick, currentSlide, slideCount } = props; + const isDisabled = currentSlide >= slideCount - 1; + return ( + + + + ); + }; + + const cateSetting={ + dots: false, + arrows: true, + infinite: false, + speed: 800, + slidesToShow: 1, + slidesToScroll: 1, + centerMode: false, + centerPadding: '0px', + autoplay: false, + autoplaySpeed: 5000, + pauseOnHover: true, + prevArrow: , + nextArrow: , + afterChange: (index) => { + setCurrentSlide(index); + }, + } + return(
{ @@ -60,13 +125,38 @@ function Member(props) { } { i.zoneMemberList && i.zoneMemberList.length > 0 ? -
    + (i.typeName.indexOf("社区成员")>-1 && !deptId ? +
    + 成员总览共{i.zoneMemberList.length}个 + + { + groupMembersByRow(i.zoneMemberList).map((row, rowIndex) => ( +
    +
    + {row.map((member, colIndex) => ( +
    +
    +
    + +
    +
    {member.name}
    +
    {member.memberLevel && {member.memberLevel} }
    +
    +
    + ))} +
    +
    + )) + } +
    +
    + :
      { i.zoneMemberList.map((j,key)=>{ return(
    • - { !(isUOS && i.id === 91) && } + { !(isUOS && i.id === 91) && }
      {j.name} @@ -81,10 +171,9 @@ function Member(props) { }) }
    - : - ( - temp === tempEnum.zone1 ? : ) + : + (temp === tempEnum.zone1 ? : ) }
) diff --git a/src/forge/Information/Pages/custom/vip.jsx b/src/forge/Information/Pages/custom/vip.jsx index f1af76b14..44a2b356c 100644 --- a/src/forge/Information/Pages/custom/vip.jsx +++ b/src/forge/Information/Pages/custom/vip.jsx @@ -27,8 +27,7 @@ function CustomVip(props){ const [ applyVisible , setApplyVisible ] = useState(false); const [ memberStatus , setMemberStatus] = useState(memberStatusEnum.notMember); const { id, showNotification, checkIfLogin, showLoginDialog, temp, sectionMemberTitle } = props; - const isNSCC = deptId === "NSCC"; - + useEffect(()=>{ let uuid = getUniqueIdentifier() let url = props.location.pathname @@ -50,7 +49,7 @@ function CustomVip(props){ function getLists(){ getVIPLists(id).then(response=>{ - if(response){ + if(response && response.data){ setVIPLists(response.data.rows); setIsSpin(false); } diff --git a/src/forge/Information/Pages/homepage/component/newsByNSCC.jsx b/src/forge/Information/Pages/homepage/component/newsByNSCC.jsx index 76d5b6335..33523a73b 100644 --- a/src/forge/Information/Pages/homepage/component/newsByNSCC.jsx +++ b/src/forge/Information/Pages/homepage/component/newsByNSCC.jsx @@ -115,10 +115,10 @@ function News(props) { } {/* 第二个顺序栏目 */} {secondDir &&
- - {window.scrollTo(0,450)}} className="font-18 font-bd">{secondDir.name} + {/* */} + {/* {window.scrollTo(0,450)}} className="font-18 font-bd">{secondDir.name} */} {docListBySecondDir.map(item=>{ - return
+ return

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

diff --git a/src/forge/Information/Pages/homepage/index.scss b/src/forge/Information/Pages/homepage/index.scss index d661a8acc..49ec7840a 100644 --- a/src/forge/Information/Pages/homepage/index.scss +++ b/src/forge/Information/Pages/homepage/index.scss @@ -894,6 +894,8 @@ background: linear-gradient(180deg,#f4f7ff 0%,#F6F8FD 100%), url('./image/bkImg6.png') top/contain no-repeat; background-blend-mode: multiply; padding: 30px 25px; + max-height:653px; + overflow-y: auto; } .docBySecondDir_NSCC{ background-image:linear-gradient(180deg,#f4f7ff 0%,#ffffff 100%); @@ -901,6 +903,10 @@ box-shadow:0px 0px 12px rgba(33, 73, 212, 0.06); padding: 16px 20px; transition: all 0.3s ease; + margin-bottom:15px; + &:last-child{ + margin-bottom:0px; + } a.font-14{ color: $primary-color; } diff --git a/src/forge/Information/img/right.png b/src/forge/Information/img/right.png new file mode 100644 index 0000000000000000000000000000000000000000..f5a134bd99983cd6430b8ea413460d3c91fa2f9d GIT binary patch literal 1018 zcmVPx&v`IukRCr$PoI8@#Fc5}+@me4yfPk1sQN>jVNZ}k*0Vx3q6h*Qp-~z;CB#?0i zGA_XE?9Pb#jpUU*w&jPW-F~QQ%Cj{)a_gJ!za_bC1Hopky#jzQ6CC-T%^$7%n@7I( z{%DNhdy(diIm*ebwe0_@gTUj^^AXg}!P*&PJjCSo4>h#XAZsllTnoG+x#58~T^M5s zD``s###&1l9!OF{Bb_nC2(tK8{5t$ZCYsOMiL|%34bx)RHMQYR|T-p`F24Yi}yhlCI<28)G(I zzSJ6w)02}4Lh(E(%x7(NrxlnPKg}-tUS;IFbfHx zGKYhZssb~o)ZEtN53*DNjN4D)I%tWF3(kB$rwnF^-jdIX!}U}SW}(_rt2H5*C1s*I zsmL=_21a<^au>ie0Dk~{b-VsrG%cUkcre^_k`mo_03J9JKLLDD1}76?4@PoF?jwNv zfs1H^ldYjVm|KF=|0e)mmpoJx9BYjEYusg1rfJFc6u>LRa5e-ZsV^aX&2Y8^!wY46 zjnTBiIVYI0=Pw%J>qxn0>|&+A2-ojImLr9m@ZWDq1OA?!o=uw@N*QI0{>vk~;Glz`ekKwSj4lP(~;-zN787k$k-nXxI#fc7#y2Cu5jq1n>2LiD zc`2!m=pwTG-&WxhcG@bG%2rG)TglvB90)SEDb^d(t9*BTgh3>t*N0xj0j-ZoX=1cK oSSRj5%zEpim|~NQDLuUFALdKAl9XFA6951J07*qoM6N<$f+*+Fp#T5? literal 0 HcmV?d00001 diff --git a/src/forge/Information/img/ringleft.png b/src/forge/Information/img/ringleft.png new file mode 100644 index 0000000000000000000000000000000000000000..e51738608fc1f9f9313d4d60276d249bc2454866 GIT binary patch literal 1018 zcmVPx&v`IukRCr$PoV%{nFc5}+bBCUe8h8PEXyFwosF0wcKtf2+K#jyhAS6l}9s-G1 z00Ba@6cp^a><;>KoE#^c#JSp&i=|ceXwSyuZ)g4)J5CG&HW4`kfG^`5`JOF3iv62M zzIN%+7{m8LT58NForws~f7U|av2T9_wY9Le#+Vf1;P&@5wA3IGA%t^|R}5~r<4woL z7{VH~4GKm?2qOhDsG**dF~kVyc&JVX0b@Pny!DWwZ0m9!0y-MPgL;9n8gjwvNSA?( z^&N)RVIK|Z490p1p>#gSSX7*>MmU}Hr_-QBgg~ezQ)twl!?uRD1|uSu6lh7?aqf&U zn>Jr+494oo#R)=5c~F=Sn(9s?Ff)MC8ctI%Qw*P~$Y~T-UN95Y6rY@U;naeeSoZP3 zD1Kg>tt!FTI)!38=SDFut#eAjSh1z9ctdUC)Hplelx3hXJ7DhI}{r*Iy$#Ks9{ww_Z2vqW#ns$zFOm4R8Pwp4133uZ}~ zs7flb43&UUTDQ=)y8x~M_ypir0O8B(niLEdoivFq?RpI0wuSK@%A*hM13DHu&F zaz!XK_78xEfxskls1(d)CFOq^6wYPd0QeFJj2L778GG53X*zbRg7Ox?=fK8o2u6dx zXo7O0Ga|wZWqieIgz^Z$9mfEMPYh2+Fmi-0r8o+n2 zwc-9DipJ1eUI4hM7)}BvM!II7F9F<83MWa|u?jrRaFPNq=9EAyoMcK6dlJb4lbWL` ztddD2cWTF8cF+cAqiLZ^3!IaMs-*tav)Ql;&MN>v0+lhjrOntn1A)mc zhSPI2ZTlb`);ZTLjGq9W1^|=4d}6~XRy|WSUc$K#;3|L*0KNqPlfU3*!Eis!+;>p< z*k;>7){FY5sB&9D)@>lCV5+x)*pP}bsr0${*q_&L99po}__vxV%}`@{Ota027L2yK zW-Ku6wzDoMq}pwOPJbRnbEq*qrrVZz2hJR`RKJ@nW(vm(h2w5?ufTdES4||(0M78Y z{<*v&U2f?szKz1i?W9pC6|I_BwhD85u_MS_rdV%CFZ1Q~5eA+JUmtqm2edvWrH;}1 oU>&~)G3%|5V)7LmQ+jyUe?eQcl385#F8}}l07*qoM6N<$g2nmH&Hw-a literal 0 HcmV?d00001 diff --git a/src/forge/Information/img/ringright.png b/src/forge/Information/img/ringright.png new file mode 100644 index 0000000000000000000000000000000000000000..f5a134bd99983cd6430b8ea413460d3c91fa2f9d GIT binary patch literal 1018 zcmVPx&v`IukRCr$PoI8@#Fc5}+@me4yfPk1sQN>jVNZ}k*0Vx3q6h*Qp-~z;CB#?0i zGA_XE?9Pb#jpUU*w&jPW-F~QQ%Cj{)a_gJ!za_bC1Hopky#jzQ6CC-T%^$7%n@7I( z{%DNhdy(diIm*ebwe0_@gTUj^^AXg}!P*&PJjCSo4>h#XAZsllTnoG+x#58~T^M5s zD``s###&1l9!OF{Bb_nC2(tK8{5t$ZCYsOMiL|%34bx)RHMQYR|T-p`F24Yi}yhlCI<28)G(I zzSJ6w)02}4Lh(E(%x7(NrxlnPKg}-tUS;IFbfHx zGKYhZssb~o)ZEtN53*DNjN4D)I%tWF3(kB$rwnF^-jdIX!}U}SW}(_rt2H5*C1s*I zsmL=_21a<^au>ie0Dk~{b-VsrG%cUkcre^_k`mo_03J9JKLLDD1}76?4@PoF?jwNv zfs1H^ldYjVm|KF=|0e)mmpoJx9BYjEYusg1rfJFc6u>LRa5e-ZsV^aX&2Y8^!wY46 zjnTBiIVYI0=Pw%J>qxn0>|&+A2-ojImLr9m@ZWDq1OA?!o=uw@N*QI0{>vk~;Glz`ekKwSj4lP(~;-zN787k$k-nXxI#fc7#y2Cu5jq1n>2LiD zc`2!m=pwTG-&WxhcG@bG%2rG)TglvB90)SEDb^d(t9*BTgh3>t*N0xj0j-ZoX=1cK oSSRj5%zEpim|~NQDLuUFALdKAl9XFA6951J07*qoM6N<$f+*+Fp#T5? literal 0 HcmV?d00001 diff --git a/src/forge/Information/index.scss b/src/forge/Information/index.scss index 741857448..f7ab7cf0c 100644 --- a/src/forge/Information/index.scss +++ b/src/forge/Information/index.scss @@ -2183,6 +2183,147 @@ } } } +.totalMemeber{ + font-family:Alibaba PuHuiTi; + font-weight:500; + color:#091221; + font-size:18px; + padding:30px 40px; + display: flex; + align-items: center; + line-height:25px; + span{ + padding:0 6px; + height:21px; + line-height:21px; + background:#f1ebff; + border-radius:4px; + margin-left:12px; + color:#7a45ec; + font-size:12px; + } +} + +.zoneMemberRow { + display: flex; + flex-wrap: wrap; + justify-content: flex-start; + align-items: flex-start; + padding:0 25px 30px; +} +.memeberSlider{ + position: relative; + .custom-prev-arrow,.custom-next-arrow{ + position:absolute; + right:45px; + top:-55px; + left:unset; + width: 30px; + height: 30px; + transform:rotate(-90deg); + display: flex; + align-items: center; + justify-content: center; + cursor:pointer; + i{ + font-size:30px!important; + color:rgba(9, 18, 33, 1); + } + &.arrow-disabled{ + i{ + color: #091221 !important; + opacity: 0.4; + } + cursor: not-allowed; + } + } + .custom-prev-arrow{ + right:105px; + transform:rotate(90deg); + } +} +.zoneMemberItem{ + padding-top:45px; + width:163px; + margin:15px; + position: relative; + &:hover{ + .zoneMI_box .zoneMI_img{ + a::before{ + animation: buttonBorderSpin 3s linear infinite forwards; + } + } + } + &::before,&::after{ + content:""; + position: absolute; + height: 117px; + left:-1px; + right: -1px; + bottom: -1px; + z-index:0; + border-radius:8px; + background:linear-gradient(180deg,rgba(219, 70, 255, 0.17) 0%,rgba(111, 85, 255, 0.17) 42.36%,rgba(70, 106, 255, 0.17) 100%); + } + &::after{ + height: 115px; + z-index: 1; + left:0; + right:0; + bottom:0; + background: #fff; + } + .zoneMI_box{ + height: 115px; + padding-bottom: 10px; + border-radius:8px; + display: flex; + flex-direction: column; + justify-content: flex-end; + position: relative; + align-items: center; + position: relative; + z-index: 10; + background:linear-gradient(313.05deg,#ffffff 19.33%,rgba(242, 246, 255, 0.08) 62.79%,rgba(133, 110, 250, 0.08) 97.93%); + .zoneMI_img{ + position: absolute; + left:50%; + margin-left:-45px; + top:-45px; + z-index:1000; + a{ + position: relative; + &::before{ + content:""; + position: absolute; + height: 94px; + width:94px; + left:-2px; + right: -2px; + bottom: -2px; + top: -2px; + z-index:0; + border-radius:50%; + background:linear-gradient(168.49deg,#466aff -0.45%,#e2e7ff 22.8%,#f3c9ff 42.17%,#ffffff 71.05%); + } + } + img{ + border-radius:50%; + position: relative; + z-index:2; + background: #fff; + } + } + .zoneMI_name{ + color:#091221; + font-size:18px; + font-family:alibaba; + height:25px; + line-height:25px; + } + } +} + .NSCC_source_box{ background-image: url('./img/source-bg.png'); background-size: 100% 100%; @@ -2388,4 +2529,9 @@ opacity: 1; transform: translateY(0px); } +} +@keyframes buttonBorderSpin { + 100% { + transform: rotate(360deg); + } } \ No newline at end of file