合并代码

This commit is contained in:
谢思 2022-03-26 09:07:03 +08:00
commit 4e98b32950
20 changed files with 887 additions and 88 deletions

View File

@ -39,6 +39,14 @@ const Refer = Loadable({
loader: () => import('./qz2022/refer'),
loading: Loading,
})
const Chat = Loadable({
loader: () => import('./qz2022/chat'),
loading: Loading,
})
const Statistics = Loadable({
loader: () => import('./qz2022/statistics'),
loading: Loading,
})
const Management = Loadable({
loader: () => import('./qz2022/management'),
loading: Loading,
@ -152,6 +160,18 @@ const Qz2022 = (props) => {
() => (<Refer {...props}/>)
}
></Route>
{/* 交流互动 */}
<Route path="/competition/qz2022/chat"
render={
() => (<Chat {...props} />)
}
></Route>
{/* 数据统计 */}
<Route path="/competition/qz2022/statistics"
render={
() => (<Statistics {...props} />)
}
></Route>
{/* 后台管理-报名列表 */}
<Route path="/competition/qz2022/management/applys"
render={

View File

@ -107,7 +107,7 @@ console.log('members', members);
{ max: 32, message: '超出限制长度32位字符请重新编辑' }],
<Input placeholder="请输入职务" onBlur={()=>{verify("org_job")}}/>
)}
{qzDetail && qzDetail.is_local && helper('军衔',
{qzDetail && qzDetail.is_local && helper('JXJXJX',
'org_rank',
[{ required: true, message: "请正确输入报名信息" },
{ max: 32, message: '超出限制长度32位字符请重新编辑' }],
@ -151,7 +151,7 @@ console.log('members', members);
<div><span>参赛单位 : </span></div>
<div className="info-right"><span>参赛团队负责人姓名 : </span></div>
<div><span>职务 : </span></div>
<div className="info-right"><span>军衔 : </span></div>
<div className="info-right"><span>JXJXJX : </span></div>
<div><span>赛区 : </span></div>
<div className="info-right"><span>赛项 : </span></div>
<div><span>课题来源 : </span></div>

View File

@ -0,0 +1,33 @@
import React from "react";
import chatSvg from "../image/chat.svg";
import btn from "../image/btn-right.png";
import './index.scss';
import '../../index.scss';
function Chat({ form, showNotification, match, history }) {
return (
<div className="chat qz_main clearfix">
<img className="chat-left" src={chatSvg} ></img>
<div className="chat-words">
<div className="chat-tit">交流互动</div>
<div className="chat-content">
<p>集萃群智体会</p>
<p>与论坛成员交流比赛经验分享参赛心得</p>
<p>汇聚赛事资讯</p>
<p>助您第一时间解读竞赛动态把握赛事脉搏</p>
</div>
<div className="chat-btn">
<span className="detail1">了解详情</span>
<img
className="iconPlay1"
src={btn}
/>
</div>
</div>
</div>
)
}
export default Chat;

View File

@ -0,0 +1,61 @@
.chat {
margin: 9rem auto;
padding: 0 1.5rem;
background: #fff;
.chat-left {
float: left;
position: relative;
top: -5rem;
width: 56.6%;
box-shadow: 0px 3px 8px rgba(219, 227, 255, 0.7) inset;
margin-bottom: -3.5rem;
padding: 1.25rem;
}
.chat-words {
display: inline-block;
padding: 1.5rem;
}
.chat-tit {
display: inline-block;
font-weight: 700;
color: #2e3341;
font-size: 1.25rem;
line-height: 1rem;
&::after {
content: "";
display: inline-block;
width: 100%;
height: 1px;
background-color: #2e5bfe;
}
}
.chat-conten {
font-size: 1rem;
line-height: 1.625rem;
}
.chat-btn {
margin-top:1.5rem;
width: 9.5rem;
height: 2.5rem;
display: flex;
justify-content: space-between;
align-items: center;
border: 2px solid #2e5bfe;
background-color: #2e5bfe;
}
.detail1 {
white-space: nowrap;
color: #ffffff;
font-size: 1rem;
font-weight: 400;
margin-left:1em;
}
.iconPlay1 {
height: 100%;
}
}

View File

@ -87,7 +87,7 @@ class EditableTable extends React.Component {
editable: true,
},
{
title: '军衔',
title: 'JXJXJX',
dataIndex: 'militaryRank',
editable: true,
},

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -0,0 +1,356 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="642" height="310" viewBox="0 0 642 310">
<defs>
<linearGradient id="linear-gradient" x1="0.157" x2="1.061" y2="1.231" gradientUnits="objectBoundingBox">
<stop offset="0" stop-color="#f0f7ff"/>
<stop offset="1" stop-color="#c4d1ff"/>
</linearGradient>
<linearGradient id="linear-gradient-2" x1="0.259" y1="0.024" x2="0.5" y2="1" gradientUnits="objectBoundingBox">
<stop offset="0" stop-color="#b3c5ff"/>
<stop offset="0.444" stop-color="#cddcff"/>
<stop offset="1" stop-color="#b2c4ff"/>
</linearGradient>
<clipPath id="clip-path">
<rect id="矩形_100" data-name="矩形 100" width="144" height="120" transform="translate(512 635)" fill="#fff" stroke="#707070" stroke-width="1"/>
</clipPath>
<linearGradient id="linear-gradient-3" x1="0.259" y1="0.024" x2="0.5" y2="1" gradientUnits="objectBoundingBox">
<stop offset="0" stop-color="#d0dfff"/>
<stop offset="0.407" stop-color="#cddcff"/>
<stop offset="1" stop-color="#cad7ff"/>
</linearGradient>
<linearGradient id="linear-gradient-5" x2="1" gradientUnits="objectBoundingBox">
<stop offset="0" stop-color="#d8e1ff" stop-opacity="0.349"/>
<stop offset="0.523" stop-color="#d8e1ff"/>
<stop offset="1" stop-color="#d8e1ff" stop-opacity="0.31"/>
</linearGradient>
<linearGradient id="linear-gradient-14" x1="1.143" y1="3.609" x2="0.02" y2="4.216" gradientUnits="objectBoundingBox">
<stop offset="0" stop-color="#d8e1ff" stop-opacity="0.071"/>
<stop offset="0.49" stop-color="#e2e8ff"/>
<stop offset="1" stop-color="#d8e1ff" stop-opacity="0.11"/>
</linearGradient>
<filter id="椭圆_20" x="384.242" y="38" width="240" height="240" filterUnits="userSpaceOnUse">
<feOffset dy="3" input="SourceAlpha"/>
<feGaussianBlur stdDeviation="6" result="blur"/>
<feFlood flood-color="#2e5bfe" flood-opacity="0.22"/>
<feComposite operator="in" in2="blur"/>
<feComposite in="SourceGraphic"/>
</filter>
<filter id="路径_113" x="492.932" y="151.501" width="85.514" height="75.414" filterUnits="userSpaceOnUse">
<feOffset dy="3" input="SourceAlpha"/>
<feGaussianBlur stdDeviation="3" result="blur-2"/>
<feFlood flood-color="#75a3fd" flood-opacity="0.51"/>
<feComposite operator="in" in2="blur-2"/>
</filter>
<filter id="路径_112" x="428.501" y="108.276" width="116.535" height="98.442" filterUnits="userSpaceOnUse">
<feOffset dy="3" input="SourceAlpha"/>
<feGaussianBlur stdDeviation="3" result="blur-3"/>
<feFlood flood-color="#75a3fd" flood-opacity="0.51"/>
<feComposite operator="in" in2="blur-3"/>
</filter>
<filter id="路径_107">
<feOffset dy="3" input="SourceAlpha"/>
<feGaussianBlur stdDeviation="3" result="blur-4"/>
<feFlood flood-color="#2e5bfe" flood-opacity="0.51" result="color"/>
<feComposite operator="out" in="SourceGraphic" in2="blur-4"/>
<feComposite operator="in" in="color"/>
<feComposite operator="in" in2="SourceGraphic"/>
</filter>
<filter id="路径_108" x="434.558" y="129.225" width="75.067" height="45.931" filterUnits="userSpaceOnUse">
<feOffset dy="3" input="SourceAlpha"/>
<feGaussianBlur stdDeviation="3" result="blur-5"/>
<feFlood flood-color="#2578f1"/>
<feComposite operator="in" in2="blur-5"/>
<feComposite in="SourceGraphic"/>
</filter>
<linearGradient id="linear-gradient-36" x1="0.108" x2="0.893" y2="1" gradientUnits="objectBoundingBox">
<stop offset="0" stop-color="#97dcfd"/>
<stop offset="1" stop-color="#72a0fd"/>
</linearGradient>
<filter id="矩形_101" x="542.242" y="59" width="61" height="73" filterUnits="userSpaceOnUse">
<feOffset dy="3" input="SourceAlpha"/>
<feGaussianBlur stdDeviation="3" result="blur-6"/>
<feFlood flood-color="#75a3fd" flood-opacity="0.51"/>
<feComposite operator="in" in2="blur-6"/>
<feComposite in="SourceGraphic"/>
</filter>
<filter id="矩形_101-2" x="542.242" y="59" width="61" height="73" filterUnits="userSpaceOnUse">
<feOffset dy="3" input="SourceAlpha"/>
<feGaussianBlur stdDeviation="3" result="blur-7"/>
<feFlood flood-color="#e7fdfe" result="color-2"/>
<feComposite operator="out" in="SourceGraphic" in2="blur-7"/>
<feComposite operator="in" in="color-2"/>
<feComposite operator="in" in2="SourceGraphic"/>
</filter>
<filter id="矩形_102" x="550.742" y="70.5" width="30" height="28" filterUnits="userSpaceOnUse">
<feOffset dy="3" input="SourceAlpha"/>
<feGaussianBlur stdDeviation="1.5" result="blur-8"/>
<feFlood flood-color="#75a6fd" flood-opacity="0.639"/>
<feComposite operator="in" in2="blur-8"/>
<feComposite in="SourceGraphic"/>
</filter>
<filter id="矩形_102-2" x="550.742" y="70.5" width="30" height="28" filterUnits="userSpaceOnUse">
<feOffset dy="3" input="SourceAlpha"/>
<feGaussianBlur stdDeviation="3" result="blur-9"/>
<feFlood flood-color="#fff" flood-opacity="0.588" result="color-3"/>
<feComposite operator="out" in="SourceGraphic" in2="blur-9"/>
<feComposite operator="in" in="color-3"/>
<feComposite operator="in" in2="SourceGraphic"/>
</filter>
<filter id="矩形_103" x="546.242" y="91" width="53" height="22" filterUnits="userSpaceOnUse">
<feOffset dy="3" input="SourceAlpha"/>
<feGaussianBlur stdDeviation="3" result="blur-10"/>
<feFlood flood-color="#75a6fd" flood-opacity="0.161"/>
<feComposite operator="in" in2="blur-10"/>
<feComposite in="SourceGraphic"/>
</filter>
<filter id="矩形_103-2" x="546.242" y="91" width="53" height="22" filterUnits="userSpaceOnUse">
<feOffset dy="3" input="SourceAlpha"/>
<feGaussianBlur stdDeviation="3" result="blur-11"/>
<feFlood flood-color="#d6ffff" result="color-4"/>
<feComposite operator="out" in="SourceGraphic" in2="blur-11"/>
<feComposite operator="in" in="color-4"/>
<feComposite operator="in" in2="SourceGraphic"/>
</filter>
<filter id="矩形_104" x="546.242" y="99" width="43" height="22" filterUnits="userSpaceOnUse">
<feOffset dy="3" input="SourceAlpha"/>
<feGaussianBlur stdDeviation="3" result="blur-12"/>
<feFlood flood-color="#75a6fd" flood-opacity="0.161"/>
<feComposite operator="in" in2="blur-12"/>
<feComposite in="SourceGraphic"/>
</filter>
<filter id="矩形_104-2" x="546.242" y="99" width="43" height="22" filterUnits="userSpaceOnUse">
<feOffset dy="3" input="SourceAlpha"/>
<feGaussianBlur stdDeviation="3" result="blur-13"/>
<feFlood flood-color="#d6ffff" result="color-5"/>
<feComposite operator="out" in="SourceGraphic" in2="blur-13"/>
<feComposite operator="in" in="color-5"/>
<feComposite operator="in" in2="SourceGraphic"/>
</filter>
<linearGradient id="linear-gradient-37" x1="0.5" x2="0.5" y2="1" gradientUnits="objectBoundingBox">
<stop offset="0" stop-color="#6d91fc"/>
<stop offset="0.059" stop-color="#6e94fc"/>
<stop offset="1" stop-color="#81c2fd"/>
</linearGradient>
<filter id="路径_83" x="397.601" y="182.115" width="73.281" height="74.885" filterUnits="userSpaceOnUse">
<feOffset dy="3" input="SourceAlpha"/>
<feGaussianBlur stdDeviation="3" result="blur-14"/>
<feFlood flood-color="#75a3fd" flood-opacity="0.51"/>
<feComposite operator="in" in2="blur-14"/>
<feComposite in="SourceGraphic"/>
</filter>
<filter id="路径_83-2" x="397.601" y="182.115" width="73.281" height="74.885" filterUnits="userSpaceOnUse">
<feOffset dy="3" input="SourceAlpha"/>
<feGaussianBlur stdDeviation="1.5" result="blur-15"/>
<feFlood flood-color="#c9f5fe" result="color-6"/>
<feComposite operator="out" in="SourceGraphic" in2="blur-15"/>
<feComposite operator="in" in="color-6"/>
<feComposite operator="in" in2="SourceGraphic"/>
</filter>
<linearGradient id="linear-gradient-38" x1="0.285" y1="0.136" x2="0.851" y2="1" gradientUnits="objectBoundingBox">
<stop offset="0" stop-color="#ccfafe"/>
<stop offset="1" stop-color="#80d5fd"/>
</linearGradient>
<filter id="路径_84" x="425.242" y="205.889" width="49.222" height="37.111" filterUnits="userSpaceOnUse">
<feOffset dy="3" input="SourceAlpha"/>
<feGaussianBlur stdDeviation="3" result="blur-16"/>
<feFlood flood-color="#5a92ff"/>
<feComposite operator="in" in2="blur-16"/>
<feComposite in="SourceGraphic"/>
</filter>
<filter id="路径_84-2" x="425.242" y="205.889" width="49.222" height="37.111" filterUnits="userSpaceOnUse">
<feOffset dy="1" input="SourceAlpha"/>
<feGaussianBlur stdDeviation="3" result="blur-17"/>
<feFlood flood-color="#fff" flood-opacity="0.961" result="color-7"/>
<feComposite operator="out" in="SourceGraphic" in2="blur-17"/>
<feComposite operator="in" in="color-7"/>
<feComposite operator="in" in2="SourceGraphic"/>
</filter>
<linearGradient id="linear-gradient-39" x1="0.5" x2="0.5" y2="1" gradientUnits="objectBoundingBox">
<stop offset="0" stop-color="#6d91fc"/>
<stop offset="1" stop-color="#81c2fd"/>
</linearGradient>
<filter id="路径_85" x="421.32" y="188.807" width="54.096" height="51.89" filterUnits="userSpaceOnUse">
<feOffset dy="3" input="SourceAlpha"/>
<feGaussianBlur stdDeviation="3" result="blur-18"/>
<feFlood flood-color="#75a3fd" flood-opacity="0.51"/>
<feComposite operator="in" in2="blur-18"/>
<feComposite in="SourceGraphic"/>
</filter>
<filter id="路径_85-2" x="421.32" y="188.807" width="54.096" height="51.89" filterUnits="userSpaceOnUse">
<feOffset dy="3" input="SourceAlpha"/>
<feGaussianBlur stdDeviation="1.5" result="blur-19"/>
<feFlood flood-color="#c9f5fe" result="color-8"/>
<feComposite operator="out" in="SourceGraphic" in2="blur-19"/>
<feComposite operator="in" in="color-8"/>
<feComposite operator="in" in2="SourceGraphic"/>
</filter>
<linearGradient id="linear-gradient-40" x1="0.285" y1="0.136" x2="0.851" y2="1" gradientUnits="objectBoundingBox">
<stop offset="0" stop-color="#feffc9"/>
<stop offset="1" stop-color="#fffccb"/>
</linearGradient>
<filter id="路径_86" x="417.152" y="179.277" width="45.404" height="53.446" filterUnits="userSpaceOnUse">
<feOffset dy="3" input="SourceAlpha"/>
<feGaussianBlur stdDeviation="3" result="blur-20"/>
<feFlood flood-color="#5a92ff"/>
<feComposite operator="in" in2="blur-20"/>
<feComposite in="SourceGraphic"/>
</filter>
<filter id="路径_86-2" x="417.152" y="179.277" width="45.404" height="53.446" filterUnits="userSpaceOnUse">
<feOffset dy="1" input="SourceAlpha"/>
<feGaussianBlur stdDeviation="1.5" result="blur-21"/>
<feFlood flood-color="#fff" flood-opacity="0.961" result="color-9"/>
<feComposite operator="out" in="SourceGraphic" in2="blur-21"/>
<feComposite operator="in" in="color-9"/>
<feComposite operator="in" in2="SourceGraphic"/>
</filter>
</defs>
<g id="banner" transform="translate(-408.758 -635)">
<rect id="矩形_95" data-name="矩形 95" width="642" height="310" transform="translate(408.758 635)" fill="url(#linear-gradient)"/>
<circle id="椭圆_18" data-name="椭圆 18" cx="37.5" cy="37.5" r="37.5" transform="translate(525 862)" fill="url(#linear-gradient-2)"/>
<g id="蒙版组_46" data-name="蒙版组 46" clip-path="url(#clip-path)">
<circle id="椭圆_17" data-name="椭圆 17" cx="68" cy="68" r="68" transform="translate(517 610)" fill="url(#linear-gradient-3)"/>
</g>
<circle id="椭圆_19" data-name="椭圆 19" cx="27.5" cy="27.5" r="27.5" transform="translate(811 868)" fill="url(#linear-gradient-2)"/>
<path id="路径_81" data-name="路径 81" d="M0,0H642V248H0Z" transform="translate(408.758 663)" fill="#fff"/>
<g id="组_330" data-name="组 330">
<path id="直线_13" data-name="直线 13" d="M640.053.5H0v-1H640.053Z" transform="translate(408.758 709.5)" fill="url(#linear-gradient-5)"/>
<path id="直线_23" data-name="直线 23" d="M640.053.5H0v-1H640.053Z" transform="translate(408.758 680.5)" fill="url(#linear-gradient-5)"/>
<path id="直线_20" data-name="直线 20" d="M640.053.5H0v-1H640.053Z" transform="translate(409.758 824.5)" fill="url(#linear-gradient-5)"/>
<path id="直线_15" data-name="直线 15" d="M640.053.5H0v-1H640.053Z" transform="translate(408.758 767.5)" fill="url(#linear-gradient-5)"/>
<path id="直线_17" data-name="直线 17" d="M640.053.5H0v-1H640.053Z" transform="translate(409.758 882.5)" fill="url(#linear-gradient-5)"/>
<path id="直线_14" data-name="直线 14" d="M640.053.5H0v-1H640.053Z" transform="translate(408.758 737.5)" fill="url(#linear-gradient-5)"/>
<path id="直线_19" data-name="直线 19" d="M640.053.5H0v-1H640.053Z" transform="translate(409.758 852.5)" fill="url(#linear-gradient-5)"/>
<path id="直线_16" data-name="直线 16" d="M640.053.5H0v-1H640.053Z" transform="translate(408.758 795.5)" fill="url(#linear-gradient-5)"/>
</g>
<path id="直线_18" data-name="直线 18" d="M640.053.5H0v-1H640.053Z" transform="translate(409.758 910.5)" fill="url(#linear-gradient-5)"/>
<g id="组_331" data-name="组 331">
<path id="直线_13-2" data-name="直线 13" d="M243.576.5H0v-1H243.576Z" transform="translate(696.258 664.742) rotate(90)" fill="url(#linear-gradient-14)"/>
<path id="直线_23-2" data-name="直线 23" d="M243.576.5H0v-1H243.576Z" transform="translate(725.258 664.742) rotate(90)" fill="url(#linear-gradient-14)"/>
<path id="直线_20-2" data-name="直线 20" d="M243.576.5H0v-1H243.576Z" transform="translate(581.258 665.742) rotate(90)" fill="url(#linear-gradient-14)"/>
<path id="直线_15-2" data-name="直线 15" d="M243.576.5H0v-1H243.576Z" transform="translate(638.258 664.742) rotate(90)" fill="url(#linear-gradient-14)"/>
<path id="直线_17-2" data-name="直线 17" d="M243.576.5H0v-1H243.576Z" transform="translate(523.258 665.742) rotate(90)" fill="url(#linear-gradient-14)"/>
<path id="直线_14-2" data-name="直线 14" d="M243.576.5H0v-1H243.576Z" transform="translate(668.258 664.742) rotate(90)" fill="url(#linear-gradient-14)"/>
<path id="直线_19-2" data-name="直线 19" d="M243.576.5H0v-1H243.576Z" transform="translate(553.258 665.742) rotate(90)" fill="url(#linear-gradient-14)"/>
<path id="直线_16-2" data-name="直线 16" d="M243.576.5H0v-1H243.576Z" transform="translate(610.258 664.742) rotate(90)" fill="url(#linear-gradient-14)"/>
<path id="直线_18-2" data-name="直线 18" d="M243.576.5H0v-1H243.576Z" transform="translate(495.258 665.742) rotate(90)" fill="url(#linear-gradient-14)"/>
<path id="直线_21" data-name="直线 21" d="M243.576.5H0v-1H243.576Z" transform="translate(467.258 664.742) rotate(90)" fill="url(#linear-gradient-14)"/>
<path id="直线_22" data-name="直线 22" d="M243.576.5H0v-1H243.576Z" transform="translate(437.258 665.742) rotate(90)" fill="url(#linear-gradient-14)"/>
<path id="直线_13-3" data-name="直线 13" d="M244.711.5H0v-1H244.711Z" transform="translate(1012.258 663) rotate(90)" fill="url(#linear-gradient-14)"/>
<path id="直线_24" data-name="直线 24" d="M244.711.5H0v-1H244.711Z" transform="translate(1038.258 664) rotate(90)" fill="url(#linear-gradient-14)"/>
<path id="直线_20-3" data-name="直线 20" d="M244.711.5H0v-1H244.711Z" transform="translate(897.258 664) rotate(90)" fill="url(#linear-gradient-14)"/>
<path id="直线_15-3" data-name="直线 15" d="M244.711.5H0v-1H244.711Z" transform="translate(954.258 663) rotate(90)" fill="url(#linear-gradient-14)"/>
<path id="直线_17-3" data-name="直线 17" d="M244.711.5H0v-1H244.711Z" transform="translate(839.258 664) rotate(90)" fill="url(#linear-gradient-14)"/>
<path id="直线_14-3" data-name="直线 14" d="M244.711.5H0v-1H244.711Z" transform="translate(984.258 663) rotate(90)" fill="url(#linear-gradient-14)"/>
<path id="直线_19-3" data-name="直线 19" d="M244.711.5H0v-1H244.711Z" transform="translate(869.258 664) rotate(90)" fill="url(#linear-gradient-14)"/>
<path id="直线_16-3" data-name="直线 16" d="M244.711.5H0v-1H244.711Z" transform="translate(926.258 663) rotate(90)" fill="url(#linear-gradient-14)"/>
<path id="直线_18-3" data-name="直线 18" d="M244.711.5H0v-1H244.711Z" transform="translate(811.258 664) rotate(90)" fill="url(#linear-gradient-14)"/>
<path id="直线_21-2" data-name="直线 21" d="M244.711.5H0v-1H244.711Z" transform="translate(783.258 663) rotate(90)" fill="url(#linear-gradient-14)"/>
<path id="直线_22-2" data-name="直线 22" d="M244.711.5H0v-1H244.711Z" transform="translate(753.258 664) rotate(90)" fill="url(#linear-gradient-14)"/>
</g>
<text id="了解详情" transform="translate(448 760)" fill="#3d7dd2" font-size="42" font-family="PingFang SC Heavy, PingFang SC"><tspan x="0" y="0">论坛交流</tspan></text>
<text id="了解详情-2" data-name="了解详情" transform="translate(479 875)" fill="#3d7dd2" font-size="16" font-family="PingFang SC Bold, PingFang SC"><tspan x="0" y="0">第一时间:掌握竞赛资讯</tspan></text>
<text id="了解详情-3" data-name="了解详情" transform="translate(448 819)" fill="#3d7dd2" font-size="42" font-family="PingFang SC Heavy, PingFang SC"><tspan x="0" y="0">助您解读赛事动态</tspan></text>
<path id="路径_82" data-name="路径 82" d="M0,0H91.631" transform="translate(453.758 839)" fill="none" stroke="#2e5bfe" stroke-width="1"/>
<g id="组_332" data-name="组 332" transform="translate(-44 479)">
<path id="多边形_7" data-name="多边形 7" d="M8,0l8,13H0Z" transform="translate(514 383) rotate(90)" fill="#bad5fe"/>
<path id="多边形_6" data-name="多边形 6" d="M6.5,0,13,11H0Z" transform="translate(505 384) rotate(90)" fill="#89b6fe"/>
</g>
<g transform="matrix(1, 0, 0, 1, 408.76, 635)" filter="url(#椭圆_20)">
<g id="椭圆_20-2" data-name="椭圆 20" transform="translate(402.24 53)" fill="#c9defe" stroke="#fff" stroke-width="8">
<circle cx="102" cy="102" r="102" stroke="none"/>
<circle cx="102" cy="102" r="98" fill="none"/>
</g>
</g>
<g id="论坛资讯" transform="translate(787.3 633.945)">
<path id="路径_103" data-name="路径 103" d="M238.166,413.013h-55.6a2.885,2.885,0,1,0,0,5.69h55.6a2.885,2.885,0,1,0,0-5.69Z" transform="translate(-108.604 -263.544)"/>
<g transform="matrix(1, 0, 0, 1, -378.54, 1.05)" filter="url(#路径_113)">
<path id="路径_113-2" data-name="路径 113" d="M594.962,479.573l-54.569,1.552a6.293,6.293,0,0,0-6.207,6.207v36.207a6.293,6.293,0,0,0,6.207,6.207h20.431l.517,4.655,5.172,2.328a3.2,3.2,0,0,0,3.621-.776l6.207-6.207h17.586c3.362,0,7.759-2.845,7.759-6.207V487.332c.259-3.362-3.362-7.759-6.724-7.759Z" transform="translate(-32.25 -322.07)" fill="#fff"/>
</g>
<path id="路径_104" data-name="路径 104" d="M594.962,479.573l-54.569,1.552a6.293,6.293,0,0,0-6.207,6.207v36.207a6.293,6.293,0,0,0,6.207,6.207h20.431l.517,4.655,5.172,2.328a3.2,3.2,0,0,0,3.621-.776l6.207-6.207h17.586c3.362,0,7.759-2.845,7.759-6.207V487.332c.259-3.362-3.362-7.759-6.724-7.759Z" transform="translate(-409.796 -320.017)" fill="#fff"/>
<path id="路径_105" data-name="路径 105" d="M552.658,479.573H496.02a6.293,6.293,0,0,0-6.207,6.207v35.69a6.293,6.293,0,0,0,6.207,6.207h20.431l6.207,6.207a2.36,2.36,0,0,0,3.1,0l6.207-6.207h20.69a6.293,6.293,0,0,0,6.207-6.207V485.78A6.474,6.474,0,0,0,552.658,479.573Z" transform="translate(-372.147 -320.017)" fill="#ffa13a"/>
<g transform="matrix(1, 0, 0, 1, -378.54, 1.05)" filter="url(#路径_112)">
<path id="路径_112-2" data-name="路径 112" d="M189.3,187.733l-78.1,2.069A8.721,8.721,0,0,0,102.4,198.6V249.8a8.721,8.721,0,0,0,8.793,8.793h29.483l2.845,6.983,4.138,2.069a6.78,6.78,0,0,0,7.241-1.293l7.759-8.017h29.483a8.721,8.721,0,0,0,8.793-8.793V198.6c0-4.914-6.724-10.862-11.638-10.862Z" transform="translate(335.1 -73.46)" fill="#fff"/>
</g>
<path id="路径_106" data-name="路径 106" d="M189.3,187.733l-78.1,2.069A8.721,8.721,0,0,0,102.4,198.6V249.8a8.721,8.721,0,0,0,8.793,8.793h29.483l2.845,6.983,4.138,2.069a6.78,6.78,0,0,0,7.241-1.293l7.759-8.017h29.483a8.721,8.721,0,0,0,8.793-8.793V198.6c0-4.914-6.724-10.862-11.638-10.862Z" transform="translate(-43.442 -72.402)" fill="#fff" stroke="rgba(255,255,255,0.48)" stroke-width="0.5"/>
<g data-type="innerShadowGroup">
<path id="路径_107-2" data-name="路径 107" d="M140.942,187.733H59.993a8.721,8.721,0,0,0-8.793,8.793v51.207a8.721,8.721,0,0,0,8.793,8.793H89.476l7.759,8.017a4.527,4.527,0,0,0,6.466,0l7.759-8.017h29.483a8.721,8.721,0,0,0,8.793-8.793V196.526a8.721,8.721,0,0,0-8.793-8.793Z" transform="translate(0 -72.402)" fill="#3889ff"/>
<g transform="matrix(1, 0, 0, 1, -378.54, 1.05)" filter="url(#路径_107)">
<path id="路径_107-3" data-name="路径 107" d="M140.942,187.733H59.993a8.721,8.721,0,0,0-8.793,8.793v51.207a8.721,8.721,0,0,0,8.793,8.793H89.476l7.759,8.017a4.527,4.527,0,0,0,6.466,0l7.759-8.017h29.483a8.721,8.721,0,0,0,8.793-8.793V196.526a8.721,8.721,0,0,0-8.793-8.793Z" transform="translate(378.54 -73.46)" fill="#fff"/>
</g>
</g>
<g transform="matrix(1, 0, 0, 1, -378.54, 1.05)" filter="url(#路径_108)">
<path id="路径_108-2" data-name="路径 108" d="M142.518,331.663a7.221,7.221,0,0,1,6.983-5.69h26.121a5.97,5.97,0,0,1,5.948,5.69,5.74,5.74,0,0,1-5.69,5.69H147.432a4.457,4.457,0,0,1-4.914-5.69Zm0,15.259a5.773,5.773,0,0,1,5.431-4.655h46.293a5.292,5.292,0,0,1,5.172,4.655v1.293a5.165,5.165,0,0,1-5.172,5.69H147.173a4.558,4.558,0,0,1-4.655-5.69Z" transform="translate(301.19 -190.75)" fill="#dae9ff"/>
</g>
<path id="路径_109" data-name="路径 109" d="M115.588,325.973H143a4.655,4.655,0,1,1,0,9.31H115.588a4.636,4.636,0,0,1-4.655-4.655A4.808,4.808,0,0,1,115.588,325.973Zm0,16.293h45.776a4.655,4.655,0,1,1,0,9.31H115.588a4.636,4.636,0,0,1-4.655-4.655A4.808,4.808,0,0,1,115.588,342.266Z" transform="translate(-50.681 -189.693)" fill="#fff"/>
<path id="路径_110" data-name="路径 110" d="M819.2,114.038A11.638,11.638,0,1,0,830.838,102.4,11.638,11.638,0,0,0,819.2,114.038Z" transform="translate(-651.62)" fill="#ffd6c2"/>
<path id="路径_111" data-name="路径 111" d="M785.067,114.038A11.638,11.638,0,1,0,796.705,102.4,11.638,11.638,0,0,0,785.067,114.038Z" transform="translate(-622.659)" fill="#ffa13a"/>
</g>
<g id="组_333" data-name="组 333" transform="translate(2 352)">
<g data-type="innerShadowGroup">
<g transform="matrix(1, 0, 0, 1, 406.76, 283)" filter="url(#矩形_101)">
<rect id="矩形_101-3" data-name="矩形 101" width="43" height="55" rx="4" transform="translate(551.24 65)" fill="url(#linear-gradient-36)"/>
</g>
<g transform="matrix(1, 0, 0, 1, 406.76, 283)" filter="url(#矩形_101-2)">
<rect id="矩形_101-4" data-name="矩形 101" width="43" height="55" rx="4" transform="translate(551.24 65)" fill="#fff"/>
</g>
</g>
<g data-type="innerShadowGroup">
<g transform="matrix(1, 0, 0, 1, 406.76, 283)" filter="url(#矩形_102)">
<rect id="矩形_102-3" data-name="矩形 102" width="21" height="19" rx="4" transform="translate(555.24 72)" fill="#fffccb"/>
</g>
<g transform="matrix(1, 0, 0, 1, 406.76, 283)" filter="url(#矩形_102-2)">
<rect id="矩形_102-4" data-name="矩形 102" width="21" height="19" rx="4" transform="translate(555.24 72)" fill="#fff"/>
</g>
</g>
<g data-type="innerShadowGroup">
<g transform="matrix(1, 0, 0, 1, 406.76, 283)" filter="url(#矩形_103)">
<rect id="矩形_103-3" data-name="矩形 103" width="35" height="4" rx="2" transform="translate(555.24 97)" fill="#fff"/>
</g>
<g transform="matrix(1, 0, 0, 1, 406.76, 283)" filter="url(#矩形_103-2)">
<rect id="矩形_103-4" data-name="矩形 103" width="35" height="4" rx="2" transform="translate(555.24 97)" fill="#fff"/>
</g>
</g>
<g data-type="innerShadowGroup">
<g transform="matrix(1, 0, 0, 1, 406.76, 283)" filter="url(#矩形_104)">
<rect id="矩形_104-3" data-name="矩形 104" width="25" height="4" rx="2" transform="translate(555.24 105)" fill="#fff"/>
</g>
<g transform="matrix(1, 0, 0, 1, 406.76, 283)" filter="url(#矩形_104-2)">
<rect id="矩形_104-4" data-name="矩形 104" width="25" height="4" rx="2" transform="translate(555.24 105)" fill="#fff"/>
</g>
</g>
</g>
<g id="组_334" data-name="组 334">
<g data-type="innerShadowGroup">
<g transform="matrix(1, 0, 0, 1, 408.76, 635)" filter="url(#路径_83)">
<path id="路径_83-3" data-name="路径 83" d="M-2601.7,18462.221l2.125-27.836s-30.173,2.762-29.961,27.836c.212.213-3.187,22.734,24.436,28.686.213.213,18.062,3.611,30.811-15.512Z" transform="translate(3036.17 -18246.27)" fill="url(#linear-gradient-37)"/>
</g>
<g transform="matrix(1, 0, 0, 1, 408.76, 635)" filter="url(#路径_83-2)">
<path id="路径_83-4" data-name="路径 83" d="M-2601.7,18462.221l2.125-27.836s-30.173,2.762-29.961,27.836c.212.213-3.187,22.734,24.436,28.686.213.213,18.062,3.611,30.811-15.512Z" transform="translate(3036.17 -18246.27)" fill="#fff"/>
</g>
</g>
<g data-type="innerShadowGroup">
<g transform="matrix(1, 0, 0, 1, 408.76, 635)" filter="url(#路径_84)">
<path id="路径_84-3" data-name="路径 84" d="M-2599.014,18464.551l28.038,12.322s5.532-10.436,2.012-19.111C-2569.215,18457.887-2599.014,18464.551-2599.014,18464.551Z" transform="translate(3033.26 -18245.87)" fill="url(#linear-gradient-38)"/>
</g>
<g transform="matrix(1, 0, 0, 1, 408.76, 635)" filter="url(#路径_84-2)">
<path id="路径_84-4" data-name="路径 84" d="M-2599.014,18464.551l28.038,12.322s5.532-10.436,2.012-19.111C-2569.215,18457.887-2599.014,18464.551-2599.014,18464.551Z" transform="translate(3033.26 -18245.87)" fill="#fff"/>
</g>
</g>
<g data-type="innerShadowGroup">
<g transform="matrix(1, 0, 0, 1, 408.76, 635)" filter="url(#路径_85)">
<path id="路径_85-3" data-name="路径 85" d="M-2598.29,18464.58l27.9,12.564s4.947-10.707,1.426-19.383C-2569.215,18457.887-2598.29,18464.58-2598.29,18464.58Z" transform="matrix(0.8, -0.6, 0.6, 0.8, -8602.75, -16091.5)" fill="url(#linear-gradient-39)"/>
</g>
<g transform="matrix(1, 0, 0, 1, 408.76, 635)" filter="url(#路径_85-2)">
<path id="路径_85-4" data-name="路径 85" d="M-2598.29,18464.58l27.9,12.564s4.947-10.707,1.426-19.383C-2569.215,18457.887-2598.29,18464.58-2598.29,18464.58Z" transform="matrix(0.8, -0.6, 0.6, 0.8, -8602.75, -16091.5)" fill="#fff"/>
</g>
</g>
<g data-type="innerShadowGroup">
<g transform="matrix(1, 0, 0, 1, 408.76, 635)" filter="url(#路径_86)">
<path id="路径_86-3" data-name="路径 86" d="M-2599.014,18464.551l28.038,12.322s5.532-10.436,2.012-19.111C-2569.215,18457.887-2599.014,18464.551-2599.014,18464.551Z" transform="translate(-16465.21 -7666.84) rotate(-73)" fill="url(#linear-gradient-40)"/>
</g>
<g transform="matrix(1, 0, 0, 1, 408.76, 635)" filter="url(#路径_86-2)">
<path id="路径_86-4" data-name="路径 86" d="M-2599.014,18464.551l28.038,12.322s5.532-10.436,2.012-19.111C-2569.215,18457.887-2599.014,18464.551-2599.014,18464.551Z" transform="translate(-16465.21 -7666.84) rotate(-73)" fill="#fff"/>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

View File

@ -1,112 +1,118 @@
// 启智2022主页样式
.qz_banner{
.qz_banner {
width: 100%;
}
.qz2022 {
font-size: 1rem;
.qz2022Menu {
// width: 1200px;
// margin: 0 auto;
height: 2.25rem;
position: relative;
display: flex;
justify-content: space-between;
a{color:#2e3341;}
li.active{
a {
color: #2e3341;
transition:all .2s;
}
li.active {
background-color: #fafafa;
a{
font-weight:700;
color:#2e5bfe;
font-size:1.125rem;
a {
font-weight: 700;
color: #2e5bfe;
font-size: 1.125rem;
}
}
li.active::before{
li.active::before {
position: absolute;
top: 55px;
width: 70px;
content: '';
top: calc(2.25rem + 20px);
width: 4.375rem;
content: "";
height: 2px;
background: #4154f1;
}
}
.menu_border {
height: 1px;
background-image: linear-gradient(90deg,#ffffff 0%,#373f5e 43.51%,#373f5e 54.81%,#ffffff 100%
background-image: linear-gradient(
90deg,
#ffffff 0%,
#373f5e 43.51%,
#373f5e 54.81%,
#ffffff 100%
);
}
.qzCont{
.qzCont {
min-height: 35vh;
border-radius:4px;
// box-shadow:0px 3px 12px #ecf0ff;
}
}
.qz_manage{
top: 510px !important;
.ant-dropdown-menu-item > a{
color: #333;
&:hover{color:#4154f1 !important;}
.qz_manage {
top: 510px !important;
.ant-dropdown-menu-item > a {
color: #333;
&:hover {
color: #4154f1 !important;
}
}
}
.qz_manage:after,.qz_manage .after{
content: '';
display:block;
width:0;
height:0;
overflow:hidden;
font-size: 0;
line-height: 0;
border:9px;
border-style:dashed dashed solid dashed;
border-color:transparent transparent #fff transparent;
position:absolute;
left: 51px;
top: -16px;
.qz_manage:after,
.qz_manage .after {
content: "";
display: block;
width: 0;
height: 0;
overflow: hidden;
font-size: 0;
line-height: 0;
border: 9px;
border-style: dashed dashed solid dashed;
border-color: transparent transparent #fff transparent;
position: absolute;
left: 51px;
top: -16px;
}
// 公共样式
.qz_main{
.qz_main {
width: 1200px;
min-width: 62.5vw;
max-width: 98vw;
margin: 0 auto;
}
// 按钮样式
.but_2e5{
border: none;
background-color:#2e5bfe;
padding: 0 14px;
height: 36px;
border-radius: 4px;
span{
color: #fff;
}
&:hover, &:focus{
background-color: #2e5bfe;
opacity: 0.9;
}
.but_2e5 {
border: none;
background-color: #2e5bfe;
padding: 0 14px;
height: 36px;
border-radius: 4px;
span {
color: #fff;
}
&:hover,
&:focus {
background-color: #2e5bfe;
opacity: 0.9;
}
}
@media screen and (max-width: 1200px) {
.qz_main{
.qz_main {
width: 98vw;
}
}
html{
html {
font-size: 16px;
}
@media screen and (min-width: 1921px) {
html{
font-size: calc(100% + (100vw - 1921px) / 250 );
html {
font-size: calc(100% + (100vw - 1921px) / 250);
}
}
@media screen and (min-width: 2880px) {
html{
font-size: calc(125% + (100vw - 2880px) / 400 );
html {
font-size: calc(125% + (100vw - 2880px) / 400);
}
}

View File

@ -15,10 +15,10 @@ function Introduce({ form, showNotification, match, history }) {
return (
<div className="introduce">
<div className="introduce-content clearfix">
<div className="introduce-video"><video src="http://111.8.36.180:8000/preview/93579e3f4bc0ba33075a905c08c79322_1648171321186.mp4" autoPlay controls></video></div>
<div className="introduce-video"><video src="http://111.8.36.180:8000/preview/93579e3f4bc0ba33075a905c08c79322_1648197024501.mp4" autoPlay controls></video></div>
<div className="introduce-info">
<h3 className="info-tit">启智2022作战概念·事需求创新大赛</h3>
<h3 className="info-tit">启智2022作战概念·事需求创新大赛</h3>
{/* <div className="info-content"> */}
<p className="content-item">创客以用户创新为核心理念是面向知识社会
的创新2.0模式在设计与制造领域的典型体现

View File

@ -4,37 +4,59 @@
background-image: url("../image/introduce.png");
background-size: 100% 100.5%;
.introduce-content{
width:62.5% ;
.introduce-content {
width: 62.5%;
height: 100%;
margin:0 auto;
padding:5% 2.5%;
margin: 0 auto;
padding: 5% 2% 5% 2.5%;
box-sizing: border-box;
}
.introduce-video {
width: 61.6%;
height: 80%;
margin-right: 2.2%;
float: left;
video{
max-width: 100%;
max-height: 100%;
video {
max-width: 100%;
max-height: 100%;
}
}
.introduce-info{
display: flex;
flex-direction: column;
justify-content: space-around;
min-height: 75%;
.introduce-info {
display: flex;
flex-direction: column;
justify-content: space-around;
min-width: 35%;
min-height: 75%;
}
.info-tit{
.info-tit {
font-family: PingFang SC;
font-weight: 700;
color: #2e3341;
font-size: 1.25rem;
letter-spacing: 0.1rem;
}
.content-item{
text-indent: 2em;
.content-item {
font-size: 1rem;
line-height: 2em;
text-indent: 2em;
}
@media screen and (max-width: 1700px) {
.info-tit {
line-height: 1.5;
}
.content-item {
line-height: 1.5;
}
}
@media screen and (max-width: 1400px) {
.info-tit {
font-size: 1rem;
}
.content-item {
font-size: .9rem;
}
}
}

View File

@ -40,7 +40,7 @@ function Introduce({ form, showNotification, match, history:{location:{pathname}
key: 'reviewEndOn',
},
{
title: '军衔',
title: 'JXJXJX',
dataIndex: 'surplus',
key: 'surplus',
},

View File

@ -25,7 +25,7 @@ function NoticeDetail({ form, showNotification, match, history }) {
</div>
<div className="notice_title _1818 font-18">启智2022大赛即将开始报名!</div>
<div className="notice_time">发布时间: 2021年3月31日</div>
<div className="_1818">启智 2022 创意征集行动军委联合参谋部科学技术委员会联合举办军事科学院航天科技集团协手创办的大型竞赛现竞赛已临近报名阶段报名安排如下:</div>
<div className="_1818">启智 2022 创意征集行动JWJWJWJWJWJWJW联合参谋部科学技术委员会联合举办JSJSJS科学院航天科技集团协手创办的大型竞赛现竞赛已临近报名阶段报名安排如下:</div>
<div className="_1818 notice_small_title">报名时间</div>
<div className="_1818">2022年4月1日~2022年4月30日</div>

View File

@ -19,7 +19,7 @@ function Notice({ form, showNotification, match, history }) {
<Link to={"/competition/qz2022/notice/1"}>
<div className="qz_notice_cont">
<div className="notCont_head">启智2022大赛即将开始报名!</div>
<div className="font-15">启智 2022 创意征集行动军委联合参谋部科学技术委员会联合举办军事科学院航天科技集团协手创办的大型竞赛现竞赛已临近报名阶段报名安排如下...</div>
<div className="font-15">启智 2022 创意征集行动JWJWJWJWJWJWJW联合参谋部科学技术委员会联合举办JSJSJS科学院航天科技集团协手创办的大型竞赛现竞赛已临近报名阶段报名安排如下...</div>
<p>2022-03-31</p>
</div>
</Link>

View File

@ -2,13 +2,13 @@
// 赛项*必填项placeholder请选择赛项下拉列表选择选项为战略方向作战领域前沿技术
// 赛区配置
export const competitionArea = [
{ value: '0', title: "陆军分赛区"},
{ value: '1', title: "海军分赛区"},
{ value: '2', title: "空军分赛区"},
{ value: '3', title: "火箭军分赛区"},
{ value: '0', title: "LJLJLJ分赛区"},
{ value: '1', title: "HJHJHJ分赛区"},
{ value: '2', title: "KJKJKJ分赛区"},
{ value: '3', title: "HJHJHJJHJJHJJ分赛区"},
{ value: '4', title: "战略支援部队分赛区"},
{ value: '5', title: "联勤保障分赛区"},
{ value: '6', title: "武军部队分赛区"}
{ value: '6', title: "WJWJWJ部队分赛区"}
];
// 赛项配置
export const competitionType = [

View File

@ -0,0 +1,152 @@
import React, { useEffect } from 'react';
import * as echarts from 'echarts';
let fontSizeText = 16;
let clientWidth = document.body.clientWidth;
if (clientWidth < 1000) {
fontSizeText = 16
} else if (clientWidth >= 1000 && clientWidth <= 2000) {
fontSizeText = 14 + (clientWidth - 1000) / 500;
} else if (clientWidth > 2000) {
fontSizeText = 16 + (clientWidth - 2000) / 500;
} else if (clientWidth > 3000) {
fontSizeText = 18 + (clientWidth - 3000) / 2000;
}
let fontSizeTitle = 1.25 * fontSizeText;
export default ({ id,className, title, xData, yData }) => {
useEffect(() => {
let newEchartBar = document.getElementById(id) && echarts.init(document.getElementById(id));
let textColor = "#7988a5";
let normalColor = "#e8e8ed";
let option = {
grid: {
left: "3%",
top: "15%",
right: "8%",
bottom: 0,
containLabel: true
},
title: {
text: title,
fontSize: fontSizeTitle,
position: 'inside',
textStyle: {
color: textColor
}
},
tooltip: {
trigger: "axis",
axisPointer: {
type: "shadow",
textStyle: {
color: "#fff"
}
},
},
xAxis: [{
type: "category",
data: xData,
axisPointer: {
type: "shadow"
},
axisLabel: {
textStyle: {
color: textColor,
fontSize: .75 * fontSizeText
},
interval: 0,
rotate: 40
},
axisLine: {
lineStyle: {
color: normalColor
}
},
axisTick: {
show: false
},
splitLine: {
show: false
}
}],
yAxis: [{
type: "value",
minInterval: 1,
nameTextStyle: {
color: textColor,
fontSize: fontSizeText
},
axisLabel: {
formatter: "{value}",
textStyle: {
color: textColor,
fontSize: fontSizeText
}
},
axisLine: {
lineStyle: {
color: normalColor
}
},
axisTick: {
show: false
},
splitLine: {
lineStyle: {
color: normalColor
}
},
}],
series: [{
type: "bar",
data: yData,
barWidth: "60%",
itemStyle: {
normal: {
color: {
type: "linear",
x: 0,
y: 0,
x2: 0,
y2: 1,
colorStops: [{
offset: 0,
color: "#deeefe"
},
{
offset: 1,
color: "#2c8bff"
}
],
globalCoord: false
}
}
},
label: {
show: true,
// position: ['-20%', -1.2 * fontSizeText],
position: "top",
// color: "#2c8bff",
color: '#555',
fontSize: fontSizeText,
formatter: function (params) {
// var percent = 0;
// percent = ((params.value / allStaff.num) * 100).toFixed(0);
return params.value || ''
// + '\n' + percent + '%';
},
}
}]
};
newEchartBar && newEchartBar.setOption(option);
}, [id, title, xData, yData])
return (
<div id={id} key={id} className={className} style={{minHeight:"20vh"}}>
</div>
)
}

View File

@ -0,0 +1,104 @@
import React, { useEffect } from 'react';
import * as echarts from 'echarts';
let fontSizeText = 16;
let clientWidth = document.body.clientWidth;
if (clientWidth < 1000) {
fontSizeText = 16
} else if (clientWidth >= 1000 && clientWidth <= 2000) {
fontSizeText = 14 + (clientWidth - 1000) / 500;
} else if (clientWidth > 2000) {
fontSizeText = 16 + (clientWidth - 2000) / 500;
} else if (clientWidth > 3000) {
fontSizeText = 18 + (clientWidth - 3000) / 2000;
}
let fontSizeTitle = 1.25 * fontSizeText;
export default ({ id,className, title, xData, yData }) => {
useEffect(() => {
let newEchartBar = document.getElementById(id) && echarts.init(document.getElementById(id));
let textColor = "#7988a5";
let normalColor = "#e8e8ed";
let option = {
color: ["#FC4567", "#2F8DF4", "#C25EC4"],
title: {
text: "",
// left: "center",
// top: "50%",
// textStyle: {
// fontSize: 22,
// color: textColor,
// fontWeight: "normal",
// },
},
tooltip: {
trigger: "item",
},
legend: {
orient: "vertical",
right: 20,
top: 20,
},
series: [
{
type: "pie",
roseType: "radius",
radius: ["30%", "60%"],
data: [
{
value: 220,
name: "战略方向",
},
{
value: 120,
name: "前沿技术",
},
{
value: 189,
name: "作战领域",
},
],
label: {
normal: {
formatter: "{font|{c}}\n{hr|}\n{font|{d}%}",
rich: {
font: {
fontSize: 20,
padding: [5, 0],
color: "#fff",
},
hr: {
height: 0,
borderWidth: 1,
width: "100%",
borderColor: "#fff",
},
},
},
},
labelLine: {
lineStyle: {
color: "#fff",
},
},
emphasis: {
itemStyle: {
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: "rgba(0,0,0,0.5)",
},
},
},
],
};
newEchartBar && newEchartBar.setOption(option);
}, [id, title, xData, yData])
return (
<div id={id} key={id} className={className} style={{minHeight:"20vh"}}>
</div>
)
}

View File

@ -0,0 +1,34 @@
import React from "react";
import './index.scss';
import '../../index.scss';
// import EchartBar from './EchartBar';
import EchartPie from './EchartPie';
function Statistics({ form, showNotification, match, history }) {
return (
<div className="statistics qz_main ">
<div className="statistics-words">
<div className="num-item sum">
<div className="num-data">竞赛总报名数</div>
<div className="num-tit">竞赛总报名数</div>
</div>
</div>
{/* <div className="echart"> */}
<EchartPie
id="network"
className="echart-box"
/>
{/* <EchartBar
id="newAddedProjects"
className="echart-box"
title="新项目统计"
xData={monthArr}
yData={newAddedProjects}
/> */}
{/* </div> */}
</div>
)
}
export default Statistics;

View File

@ -0,0 +1,11 @@
.statistics {
display: flex;
.statistics-words {
width: 16.25%;
margin-right: 1rem;
}
.echart-box {
width: 50vw;
}
}