From a9cb22374dac81191d3e4e34bebd9838b8a9e772 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E7=AB=A5=E5=B4=87?= Date: Fri, 25 Mar 2022 16:35:47 +0800 Subject: [PATCH] =?UTF-8?q?S=E6=9F=90M=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/military/qz2022.js | 26 +++ src/military/qz2022/apply/index.jsx | 12 +- src/military/qz2022/editTable/index.jsx | 2 +- src/military/qz2022/introduce/index.jsx | 4 +- src/military/qz2022/management/index.jsx | 2 +- src/military/qz2022/notice/detail.jsx | 2 +- src/military/qz2022/notice/index.jsx | 2 +- src/military/qz2022/static.js | 10 +- .../qz2022/statistics/EchartBar/index.jsx | 152 ++++++++++++++++++ src/military/qz2022/statistics/index.jsx | 30 ++++ src/military/qz2022/statistics/index.scss | 61 +++++++ 11 files changed, 286 insertions(+), 17 deletions(-) create mode 100644 src/military/qz2022/statistics/EchartBar/index.jsx create mode 100644 src/military/qz2022/statistics/index.jsx create mode 100644 src/military/qz2022/statistics/index.scss diff --git a/src/military/qz2022.js b/src/military/qz2022.js index 2608cef87..e01d6007c 100644 --- a/src/military/qz2022.js +++ b/src/military/qz2022.js @@ -34,6 +34,17 @@ const Apply = Loadable({ loader: () => import('./qz2022/apply'), loading: Loading, }) +<<<<<<< HEAD +======= +const Chat = Loadable({ + loader: () => import('./qz2022/chat'), + loading: Loading, +}) +const Statistics = Loadable({ + loader: () => import('./qz2022/statistics'), + loading: Loading, +}) +>>>>>>> 91839339 (S某M修改) const Management = Loadable({ loader: () => import('./qz2022/management'), loading: Loading, @@ -131,6 +142,21 @@ const Qz2022 = (props) => { () => () } > +<<<<<<< HEAD +======= + {/* 交流互动 */} + () + } + > + {/* 数据统计 */} + () + } + > +>>>>>>> 91839339 (S某M修改) {/* 后台管理-报名列表 */} )} - {helper('军衔', + {helper('JX', 'expertName', - [{ required: true, message: "军衔不能为空" }, + [{ required: true, message: "JX不能为空" }, { max: 32, message: '长度不能超过32个字符' }], - + )} {helper('赛区', 'expertName', - [{ required: true, message: "军衔不能为空" }], + [{ required: true, message: "JX不能为空" }], )} {helper('赛项', 'expertName', - [{ required: true, message: "军衔不能为空" }], + [{ required: true, message: "JX不能为空" }], @@ -123,7 +123,7 @@ export default Form.create()(({ match, history, showNotification, form, current_
参赛单位 :
参赛团队负责人姓名 :
职务 :
-
军衔 :
+
JX :
赛区 :
赛项 :
课题来源 :
diff --git a/src/military/qz2022/editTable/index.jsx b/src/military/qz2022/editTable/index.jsx index bf9bf5019..c415ccfca 100644 --- a/src/military/qz2022/editTable/index.jsx +++ b/src/military/qz2022/editTable/index.jsx @@ -86,7 +86,7 @@ class EditableTable extends React.Component { editable: true, }, { - title: '军衔', + title: 'JX', dataIndex: 'militaryRank', editable: true, }, diff --git a/src/military/qz2022/introduce/index.jsx b/src/military/qz2022/introduce/index.jsx index 71e294af9..c171364fc 100644 --- a/src/military/qz2022/introduce/index.jsx +++ b/src/military/qz2022/introduce/index.jsx @@ -15,10 +15,10 @@ function Introduce({ form, showNotification, match, history }) { return (
-
+
-

“启智”2022作战概念·军事需求创新大赛

+

“启智”2022作战概念·事需求创新大赛

{/*
*/}

创客以用户创新为核心理念,是面向知识社会 的创新2.0模式在设计与制造领域的典型体现。创 diff --git a/src/military/qz2022/management/index.jsx b/src/military/qz2022/management/index.jsx index 0404f3bf8..fac39c09e 100644 --- a/src/military/qz2022/management/index.jsx +++ b/src/military/qz2022/management/index.jsx @@ -40,7 +40,7 @@ function Introduce({ form, showNotification, match, history:{location:{pathname} key: 'reviewEndOn', }, { - title: '军衔', + title: 'JX', dataIndex: 'surplus', key: 'surplus', }, diff --git a/src/military/qz2022/notice/detail.jsx b/src/military/qz2022/notice/detail.jsx index acd730832..2217b3bf1 100644 --- a/src/military/qz2022/notice/detail.jsx +++ b/src/military/qz2022/notice/detail.jsx @@ -25,7 +25,7 @@ function NoticeDetail({ form, showNotification, match, history }) {

启智2022大赛即将开始报名!
发布时间: 2021年3月31日
-
“启智 2022 创意征集行动”为军委联合参谋部、科学技术委员会联合举办,军事科学院、航天科技集团协手创办的大型竞赛。现竞赛已临近报名阶段,报名安排如下:
+
“启智 2022 创意征集行动”为JW联合参谋部、科学技术委员会联合举办,JS科学院、航天科技集团协手创办的大型竞赛。现竞赛已临近报名阶段,报名安排如下:
【报名时间】
2022年4月1日~2022年4月30日
diff --git a/src/military/qz2022/notice/index.jsx b/src/military/qz2022/notice/index.jsx index be8e22554..b87a501f3 100644 --- a/src/military/qz2022/notice/index.jsx +++ b/src/military/qz2022/notice/index.jsx @@ -19,7 +19,7 @@ function Notice({ form, showNotification, match, history }) {
启智2022大赛即将开始报名!
-
“启智 2022 创意征集行动”为军委联合参谋部、科学技术委员会联合举办,军事科学院、航天科技集团协手创办的大型竞赛。现竞赛已临近报名阶段,报名安排如下...
+
“启智 2022 创意征集行动”为JW联合参谋部、科学技术委员会联合举办,JS科学院、航天科技集团协手创办的大型竞赛。现竞赛已临近报名阶段,报名安排如下...

2022-03-31

diff --git a/src/military/qz2022/static.js b/src/military/qz2022/static.js index 2afc83a12..abf6c6ffb 100644 --- a/src/military/qz2022/static.js +++ b/src/military/qz2022/static.js @@ -2,13 +2,13 @@ // 赛项*(必填项,placeholder:请选择赛项,下拉列表选择,选项为:战略方向,作战领域,前沿技术) // 赛区配置 export const competitionArea = [ - { value: '0', title: "陆军分赛区"}, - { value: '1', title: "海军分赛区"}, - { value: '2', title: "空军分赛区"}, - { value: '3', title: "火箭军分赛区"}, + { value: '0', title: "LJ分赛区"}, + { value: '1', title: "HJ分赛区"}, + { value: '2', title: "KJ分赛区"}, + { value: '3', title: "HJJ分赛区"}, { value: '4', title: "战略支援部队分赛区"}, { value: '5', title: "联勤保障分赛区"}, - { value: '6', title: "武军部队分赛区"} + { value: '6', title: "WJ部队分赛区"} ]; // 赛项配置 export const competitionType = [ diff --git a/src/military/qz2022/statistics/EchartBar/index.jsx b/src/military/qz2022/statistics/EchartBar/index.jsx new file mode 100644 index 000000000..0f91c59ea --- /dev/null +++ b/src/military/qz2022/statistics/EchartBar/index.jsx @@ -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 ( +
+
+ ) +} \ No newline at end of file diff --git a/src/military/qz2022/statistics/index.jsx b/src/military/qz2022/statistics/index.jsx new file mode 100644 index 000000000..c6cb66f28 --- /dev/null +++ b/src/military/qz2022/statistics/index.jsx @@ -0,0 +1,30 @@ +import React from "react"; +import btn from "../image/btn-right.png"; +import './index.scss'; +import '../../index.scss'; + +function Statistics({ form, showNotification, match, history }) { + + return ( +
+
+
交流互动
+
+

集萃群智体会

+

与论坛成员交流比赛经验,分享参赛心得

+

汇聚赛事资讯

+

助您第一时间解读竞赛动态,把握赛事脉搏

+
+
+ 了解详情 + +
+
+ +
+ ) +} +export default Statistics; \ No newline at end of file diff --git a/src/military/qz2022/statistics/index.scss b/src/military/qz2022/statistics/index.scss new file mode 100644 index 000000000..f42818ac7 --- /dev/null +++ b/src/military/qz2022/statistics/index.scss @@ -0,0 +1,61 @@ +.statistics { + margin: 9rem auto; + padding: 0 1.5rem; + background: #fff; + .statistics-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; + } + + .statistics-words { + display: inline-block; + padding: 1.5rem; + } + .statistics-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; + } + } + .statistics-conten { + font-size: 1rem; + line-height: 1.625rem; + } + + .statistics-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%; + } +}