开创评比办法

This commit is contained in:
zxzz 2024-06-10 13:20:48 +08:00
parent 4d1ea97285
commit b658f8c689
26 changed files with 12429 additions and 0 deletions

23
.gitignore vendored Normal file
View File

@ -0,0 +1,23 @@
.DS_Store
node_modules
/dist
# local env files
.env.local
.env.*.local
# Log files
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
# Editor directories and files
.idea
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?

5
babel.config.js Normal file
View File

@ -0,0 +1,5 @@
module.exports = {
presets: [
'@vue/cli-plugin-babel/preset'
]
}

19
jsconfig.json Normal file
View File

@ -0,0 +1,19 @@
{
"compilerOptions": {
"target": "es5",
"module": "esnext",
"baseUrl": "./",
"moduleResolution": "node",
"paths": {
"@/*": [
"src/*"
]
},
"lib": [
"esnext",
"dom",
"dom.iterable",
"scripthost"
]
}
}

11735
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

46
package.json Normal file
View File

@ -0,0 +1,46 @@
{
"name": "competition-kc",
"version": "0.1.0",
"private": true,
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint"
},
"dependencies": {
"core-js": "^3.8.3",
"sass": "^1.72.0",
"sass-loader": "^14.1.1",
"vue": "^2.6.14",
"vue-router": "^3.6.5"
},
"devDependencies": {
"@babel/core": "^7.12.16",
"@babel/eslint-parser": "^7.12.16",
"@vue/cli-plugin-babel": "~5.0.0",
"@vue/cli-plugin-eslint": "~5.0.0",
"@vue/cli-service": "~5.0.0",
"eslint": "^7.32.0",
"eslint-plugin-vue": "^8.0.3",
"vue-template-compiler": "^2.6.14"
},
"eslintConfig": {
"root": true,
"env": {
"node": true
},
"extends": [
"plugin:vue/essential",
"eslint:recommended"
],
"parserOptions": {
"parser": "@babel/eslint-parser"
},
"rules": {}
},
"browserslist": [
"> 1%",
"last 2 versions",
"not dead"
]
}

BIN
public/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

18
public/index.html Normal file
View File

@ -0,0 +1,18 @@
<!DOCTYPE html>
<html lang="">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!-- <meta name="viewport" content="width=device-width,initial-scale=1.0"> -->
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title>“开创”系列军事需求解决方案创意征集行动</title>
</head>
<body>
<noscript>
<strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div id="app"></div>
<!-- built files will be auto injected -->
</body>
</html>

34
src/App.vue Normal file
View File

@ -0,0 +1,34 @@
<template>
<div id="app">
<!-- <img alt="Vue logo" src="./assets/logo.png"> -->
<HomePage msg="" />
</div>
</template>
<script>
import HomePage from "./components/HomePage.vue";
export default {
name: "App",
components: {
HomePage,
},
};
</script>
<style>
#app {
font-family: Avenir, Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
}
html,
body {
margin: 0;
padding: 0;
-webkit-text-size-adjust: none;
text-size-adjust: none;
}
</style>

1
src/assets/banner.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 1.2 MiB

BIN
src/assets/blue-kc-logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

BIN
src/assets/dituguanli.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

BIN
src/assets/kc-logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

BIN
src/assets/kc-title.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

BIN
src/assets/left-icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
src/assets/osredm.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

BIN
src/assets/police.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

BIN
src/assets/poster-one.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 231 KiB

BIN
src/assets/poster-three.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 211 KiB

BIN
src/assets/poster-two.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 206 KiB

BIN
src/assets/red-kc-logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

BIN
src/assets/right-icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
src/assets/youxiang.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

520
src/components/HomePage.vue Normal file
View File

@ -0,0 +1,520 @@
<template>
<div class="home-page">
<!-- Banner Section -->
<div class="banner-section">
<!-- 菜单栏 -->
<ul>
<a href="https://www.osredm.com"><img src="../assets/osredm.png" alt="" /></a>
<li><a href="https://www.osredm.com">首页</a></li>
<li>
<a href="https://www.osredm.com/explore/all">开源项目</a>
</li>
<li><a href="https://www.osredm.com/task">创客空间</a></li>
<li>
<a href="https://fc.osredm.com/competitions">开放竞赛</a>
</li>
<li><a href="https://fc.osredm.com/forums">论坛交流</a></li>
<li><a href="https://www.osredm.com/notice">公告</a></li>
</ul>
<!-- 标题 -->
<div class="logo-and-title">
<img class="banner-logo" src="../assets/kc-logo.png" />
<div class="banner-blank"></div>
<img class="banner-title" src="../assets/kc-title.png" />
</div>
<!-- waves -->
<svg class="waves" viewBox="0 24 150 28" preserveAspectRatio="none" shapeRendering="auto">
<defs>
<path id="wave-path" d="M-160 44c30 0 58-18 88-18s58 18 88 18 58-18 88-18 58 18 88 18 v44h-352z" />
</defs>
<g class="parallax">
<use href="#wave-path" x="50" y="3" fill="rgba(255,255,255,0.6)" />
<use href="#wave-path" x="50" y="0" fill="rgba(255,255,255,0.45)" />
<use href="#wave-path" x="50" y="9" fill="#dae5ff" />
</g>
</svg>
</div>
<!-- Video Section -->
<div class="video-section">
<div class="text-content">
<h2>军事需求解决方案论证报告遴选评比办法要点</h2>
<p>&emsp;&emsp;为保障开创系列军事需求解决方案创意行动以下简称开创行动顺利开展确保公平公正公开完成军事需求解决方案论证报告评比遴选
现就遴选评比办法要点进行说明</p>
<h3>时间地点</h3>
<p>&emsp;&emsp;2024年8月底地点另行通知</p>
<h3>组织领导</h3>
<p>&emsp;&emsp;开创专项项目组的指导下成立评审工作领导小组下设计划协调组和3个评审专家组其中评审专家组主要以申报书评审专家组成员库为基
针对低轨星座对抗订单式火力打击和分布式动态防御3类现实问题遴选相关领域行业专家成立论证报告评审专家组成员库</p>
<h3>评审原则</h3>
<p>&emsp;&emsp;开创行动军事需求解决方案论证报告评审是对前期通过开创行动军事需求解决方案申报书评审的深化研究团队提交的论证报告进行评比遴选
按照需求对接敏捷响应快速转化示范引领的思路严格评审要求切实按照标准评选出能够清晰有效解决实际问题具有深化研究价值
的创意方案论证报告主要把握突出完整性前瞻性创新性实践性原则</p>
<h3>评审内容</h3>
<p>&emsp;&emsp;依据总体方案中明确的3类现实问题对入围团队提交的开创行动军事需求解决方案论证报告进行分组评审评审分为综合内容评审和专项内容评
均依据开创行动军事需求解决方案论证报告评比标准进行评判</p>
<p>&emsp;&emsp;<b>综合内容评审</b>依据标准遴选出各个方面均优秀的论证报告</p>
<p>&emsp;&emsp;<b>专项内容评审</b>依据标准遴选出在某一方面或则几方面具有明显亮点的论证报告</p>
<h3>评审流程</h3>
<p>&emsp;&emsp;按照成立专家组初评初评结果网络公示复评复评结果网络公示的流程组织实施</p>
<p>&emsp;&emsp;<b>成立专家组</b>分三个步骤一是基于论证报告评审专家组成员库区分3类现实问题临机成立3个评审专家组每组专家数量不少于11人各组设组长1名主要由开创专项专家支撑组人员担任二是临机成立评审专家委员会开创专项专家支撑组人员为主设主任委员1名副主任委员1名委员不少于11名三是各评审小组长根据专家专业特长临机分配每项论证报告的主副审专家
</p>
<p>&emsp;&emsp;<b>初评</b>按照综合内容评审专项内容评审综合评议的顺序各组以会议评审方式并行组织实施</p>
<p>&emsp;&emsp;<b>综合内容评审</b>分五个步骤一是评审专家依据开创行动军事需求解决方案论证报告评比标准重点评审分配的主副审论证报告兼顾评审其他论证报告二是每项论证报告的主副审专家进行综合评议独立对作品进行记名评价和量化打分并从技术角度给出初步评审意见表同时独立对本组内其他论证报告进行量化打分三是统计结果采取百分制按照组长分数占比15%主审分数占比15%副审分数占比10%其它专家平均分数占比60%规则计算单个项目总分数保留小数点后2位按照分数从高至低限额产生评审结果多个论证报告分数相同时评审组长召集集中评议并针对分数相同的项目开展重新打分四是财务评审按照评审工作领导小组批准的比例各组财务专家对入围论证报告开展财务评审五是确定综合内容评审结果各评审组长召集会议集中评议组织填写开创行动军事需求解决方案论证报告评审评分表评审意见表
</p>
<p>&emsp;&emsp;<b>专项内容评审</b>分3个步骤一是对综合内容评审阶段未入围的论证报告每位评审专家依据评比标准各自推荐不超过2份的专项具有明显亮点的项目二是组长召集专家会议对推荐的专项集中评议按照记名限额表决产生专项论证报告初评结果三是组织入围专项的推荐专家填写评审意见表组长负责审核
</p>
<p>&emsp;&emsp;<b>综合评议</b>分2个步骤一是评审专家委员会综合考虑体系构建领域分布转化落地名额数量等因素区分综合内容和专项内容两大类逐项评议通过初评的论证报告必要时请有关组长和主审专家参加确定评议结果填写评审情况表二是评审专家委员会协助向评审领导小组报告初评结果确定公示名单建议
</p>
<p>&emsp;&emsp;<b>初评结果网络公示</b>初评结果依托红山开源平台进行公示公示周期为7个工作日项目组负责收集公示意见</p>
<p>&emsp;&emsp;<b>复评</b>每个赛道初评成绩的前6名进入复评复评采取现场答辩与专家会议评审相结合方式按照综合内容答辩综合评议的顺序开展</p>
<p>&emsp;&emsp;<b>综合内容答辩</b>分五个步骤一是根据专业特长和同单位回避等原则评审专家委员会主任委员和副主任委员商议后确定每项论证报告的主副审专家二是答辩初评入围的每个综合内容项目安排18分钟答辩时间其中前8分钟为项目阐述时间后10分钟为专家提问时间相应主副审专家负责提问其它专家可补充提问三是综合评审逐项答辩结束后主任委员组织综合评审每名专家委员按照开创行动军事需求解决方案论证报告评比标准独立对所分配的项目进行记名评价和量化打分并填写专家组评审意见表四是统计结果采取百分制取平均分作为该论证报告的最后得分保留小数点后2位80分以上按照分数从高至低限额产生评审结果分数相同时主任委员组织对分数相同的项目重新打分五是确定评审结果主任委员召集会议集中讨论结果限额确定入围项目组织填写评审意见表
</p>
<p>&emsp;&emsp;<b>综合评议</b>评审专家委员会协助向评审领导小组报告复评结果填写评审情况表确定公示名单建议</p>
<p>&emsp;&emsp;<b>复评结果网络公示</b>依托红山开源平台进行公示公示周期为7个工作日项目组负责收集公示意见</p>
<hr>
<p class="p-zhu">
&emsp;&emsp;本通知仅对评比办法要点进行简要说明评审工作领导小组人员名单评审专家组成员库人员名单不对外公开军事需求解决方案论证报告评比标准以及完整评比办法向项目组申请查询联系人贾龙飞老师联系电话19158870920
</p>
</div>
</div>
<!-- footer Section -->
<div class="footer-section" id="footer">
<p>
<span class="mail"><img src="../assets/youxiang.png"
alt="" />&nbsp;support@osredm.com&nbsp;&nbsp;&nbsp;&nbsp;</span>
<span class="address"><img src="../assets/dituguanli.png" alt="" />&nbsp;北京市海淀区西三环北路72号</span>
</p>
<p>
<a href="https://www.osredm.com/">版权所有红山开源社区&nbsp;&nbsp;&nbsp;&nbsp;</a>
<a class="police" href="http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=11010802034576">
<img class="police-img" src="https://forge.osredm.com/police.png" />&nbsp;京公网安备 11010802034576 </a>
<a class="police-number"
href="https://beian.miit.gov.cn/#/Integrated/index">&nbsp;&nbsp;&nbsp;&nbsp;京ICP备2021005060-1</a>
</p>
</div>
</div>
</template>
<script>
export default {
name: "HomePage",
methods: {},
};
</script>
<style scoped lang="scss">
.banner-section {
width: 100%;
height: 470px;
position: relative;
background-image: url("../assets/banner.svg");
background-repeat: no-repeat;
background-size: cover;
background-position: center;
ul {
list-style-type: none;
margin: 0px;
padding: 0px;
width: 750px;
height: 75px;
display: flex;
justify-content: space-between;
align-items: center;
position: absolute;
top: 0px;
left: 50px;
img {
width: 130px;
margin-right: 30px;
}
a {
text-decoration: none;
color: inherit;
outline: none;
display: flex;
align-items: center;
&:hover {
color: rgb(88, 93, 230);
}
}
li {
height: auto;
color: #ffffff;
font-size: 18px;
font-weight: 600;
letter-spacing: 2px;
}
}
.logo-and-title {
width: 1300px;
height: auto;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
display: flex;
.banner-logo {
width: 200px;
height: auto;
}
.banner-blank {
width: 30px;
height: auto;
}
.banner-title {
width: 1070px;
height: auto;
}
}
}
.video-section {
width: 100%;
height: auto;
background-color: #dae5ff;
position: relative;
padding-top: 60px;
padding-bottom: 60px;
display: flex;
justify-content: center;
.text-content {
width: 70%;
height: auto;
h3,
p {
text-align: left;
line-height: 30px;
}
h2 {
line-height: 50px;
}
hr {
border: none;
height: 1px;
background-color: #cccccc;
margin: 30px 0;
}
}
}
.footer-section {
width: 100%;
height: 200px;
background-color: rgb(22, 32, 70);
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
color: #cccccc;
font-size: 12px;
letter-spacing: 1px;
p {
display: flex;
justify-content: center;
align-items: center;
margin: 0;
height: 30px;
line-height: 30px;
img {
width: 15px;
}
span {
display: flex;
align-items: center;
}
a {
text-decoration: none;
color: inherit;
outline: none;
display: flex;
align-items: center;
&:hover {
color: rgb(250, 197, 53);
}
}
}
.police-img {
border-radius: 50%;
}
}
/* 波浪效果 - 起 */
.waves {
width: 100%;
height: 8vh;
position: absolute;
left: 0;
right: 0;
bottom: -2px;
height: 10vh;
}
.parallax>use {
animation: move-forever 25s cubic-bezier(0.55, 0.5, 0.45, 0.5) infinite;
}
.parallax>use:nth-child(1) {
animation-delay: -2s;
animation-duration: 7s;
}
.parallax>use:nth-child(2) {
animation-delay: -3s;
animation-duration: 10s;
}
.parallax>use:nth-child(3) {
animation-delay: -4s;
animation-duration: 13s;
}
@keyframes move-forever {
0% {
transform: translate3d(-90px, 0, 0);
}
100% {
transform: translate3d(85px, 0, 0);
}
}
/* 波浪效果 - 止 */
/* 媒体查询 - 起 */
@media (max-width: 600px) {
.banner-section {
width: 100vw;
height: 31.8vw;
position: relative;
background-image: url("../assets/banner.svg");
background-repeat: no-repeat;
background-size: cover;
background-position: center;
ul {
list-style-type: none;
margin: 0px;
padding: 0px;
width: 54vw;
height: 5.1vw;
display: flex;
justify-content: space-between;
align-items: center;
position: absolute;
top: 0px;
left: 3.4vw;
img {
width: 8.9vw;
margin-right: 2vw;
}
a {
text-decoration: none;
color: inherit;
outline: none;
display: flex;
align-items: center;
&:hover {
color: rgb(88, 93, 230);
}
}
li {
height: auto;
color: #ffffff;
font-size: 1.72vw;
font-weight: 600;
letter-spacing: 0.1vw;
transform: scale(0.7);
}
}
.logo-and-title {
width: 89vw;
height: auto;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
display: flex;
.banner-logo {
width: 13.7vw;
height: auto;
}
.banner-blank {
width: 2vw;
height: auto;
}
.banner-title {
width: 73.3vw;
height: auto;
}
}
}
.video-section {
width: 100vw;
height: auto;
background-color: #dae5ff;
position: relative;
padding-top: 6vw;
padding-bottom: 6vw;
display: flex;
justify-content: center;
.text-content {
width: 80%;
height: auto;
h3,
p {
text-align: left;
}
h2 {
font-size: 3.2vw;
line-height: 5vw;
}
h3 {
font-size: 2.8vw;
line-height: 4.5vw;
}
p {
font-size: 2.5vw;
line-height: 4.5vw;
}
hr {
border: none;
height: 0.02vw;
background-color: #cccccc;
margin: 4vw 0;
}
}
}
.footer-section {
width: 100vw;
height: 13.7vw;
background-color: rgb(22, 32, 70);
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
color: #cccccc;
// font-size: 0.82vw;
font-size: 1.34vw;
letter-spacing: 1px;
p {
display: flex;
justify-content: center;
align-items: center;
margin: 0;
height: 2.05vw;
line-height: 2.05vw;
transform: scale(0.6);
img {
width: 1.58vw;
}
span {
display: flex;
align-items: center;
}
a {
text-decoration: none;
color: inherit;
outline: none;
display: flex;
align-items: center;
&:hover {
color: rgb(250, 197, 53);
}
}
}
.police-img {
border-radius: 50%;
}
}
/* 波浪效果 - 起 */
.waves {
width: 100vw;
height: 6vw;
position: absolute;
left: 0;
right: 0;
bottom: -2vw;
}
.parallax>use {
animation: move-forever 25s cubic-bezier(0.55, 0.5, 0.45, 0.5) infinite;
}
.parallax>use:nth-child(1) {
animation-delay: -2s;
animation-duration: 7s;
}
.parallax>use:nth-child(2) {
animation-delay: -3s;
animation-duration: 10s;
}
.parallax>use:nth-child(3) {
animation-delay: -4s;
animation-duration: 13s;
}
@keyframes move-forever {
0% {
transform: translate3d(-6.16vw, 0, 0);
}
100% {
transform: translate3d(53.13vw, 0, 0);
}
}
/* 波浪效果 - 止 */
}
/* 媒体查询 - 止 */
</style>

8
src/main.js Normal file
View File

@ -0,0 +1,8 @@
import Vue from 'vue'
import App from './App.vue'
Vue.config.productionTip = false
new Vue({
render: h => h(App),
}).$mount('#app')

16
src/router/index.js Normal file
View File

@ -0,0 +1,16 @@
import Vue from 'vue';
import Router from 'vue-router';
import HomePage from '../components/HomePage.vue';
Vue.use(Router);
export default new Router({
mode: 'history',
routes: [
{
path: '/',
name: 'home',
component: HomePage,
},
],
});

4
vue.config.js Normal file
View File

@ -0,0 +1,4 @@
const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
transpileDependencies: true
})