Merge remote-tracking branch 'origin/master'

This commit is contained in:
walker-sheng 2021-02-25 14:10:22 +08:00
commit 20d6894434
147 changed files with 3735 additions and 1655 deletions

131
package-lock.json generated
View File

@ -1120,6 +1120,61 @@
"integrity": "sha1-K1o6s/kYzKSKjHVMCBaOPwPrphs=",
"dev": true
},
"@nuxt/opencollective": {
"version": "0.3.2",
"resolved": "https://registry.npm.taobao.org/@nuxt/opencollective/download/@nuxt/opencollective-0.3.2.tgz",
"integrity": "sha1-g8twzbK6xfrW+Mk1KeexEYfUnAI=",
"requires": {
"chalk": "^4.1.0",
"consola": "^2.15.0",
"node-fetch": "^2.6.1"
},
"dependencies": {
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1606792302448&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz",
"integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=",
"requires": {
"color-convert": "^2.0.1"
}
},
"chalk": {
"version": "4.1.0",
"resolved": "https://registry.npm.taobao.org/chalk/download/chalk-4.1.0.tgz?cache=0&sync_timestamp=1591686984650&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-4.1.0.tgz",
"integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=",
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
},
"color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz",
"integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=",
"requires": {
"color-name": "~1.1.4"
}
},
"color-name": {
"version": "1.1.4",
"resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz",
"integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI="
},
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz",
"integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s="
},
"supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz",
"integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=",
"requires": {
"has-flag": "^4.0.0"
}
}
}
},
"@soda/friendly-errors-webpack-plugin": {
"version": "1.7.1",
"resolved": "https://registry.npm.taobao.org/@soda/friendly-errors-webpack-plugin/download/@soda/friendly-errors-webpack-plugin-1.7.1.tgz",
@ -2318,6 +2373,11 @@
"integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
"dev": true
},
"animate.css": {
"version": "4.1.1",
"resolved": "https://registry.npm.taobao.org/animate.css/download/animate.css-4.1.1.tgz",
"integrity": "sha1-YU7FqBEx1+TcNipYFD90BqvWgHU="
},
"ansi-colors": {
"version": "3.2.4",
"resolved": "https://registry.npm.taobao.org/ansi-colors/download/ansi-colors-3.2.4.tgz",
@ -2860,6 +2920,23 @@
"resolved": "https://registry.npm.taobao.org/boolbase/download/boolbase-1.0.0.tgz",
"integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24="
},
"bootstrap": {
"version": "4.5.3",
"resolved": "https://registry.npm.taobao.org/bootstrap/download/bootstrap-4.5.3.tgz",
"integrity": "sha1-xqcrNVqvMjkgvoACRqbk7zCZf+Y="
},
"bootstrap-vue": {
"version": "2.21.1",
"resolved": "https://registry.npm.taobao.org/bootstrap-vue/download/bootstrap-vue-2.21.1.tgz",
"integrity": "sha1-INPO2WtzWRfYvnG3dxfu50u0DG8=",
"requires": {
"@nuxt/opencollective": "^0.3.2",
"bootstrap": ">=4.5.3 <5.0.0",
"popper.js": "^1.16.1",
"portal-vue": "^2.1.7",
"vue-functional-data-merge": "^3.1.0"
}
},
"brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz",
@ -3728,6 +3805,11 @@
"integrity": "sha1-izIIk1kwjRERFdgcrT/Oq4iPl7w=",
"dev": true
},
"consola": {
"version": "2.15.0",
"resolved": "https://registry.npm.taobao.org/consola/download/consola-2.15.0.tgz?cache=0&sync_timestamp=1596625700864&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconsola%2Fdownload%2Fconsola-2.15.0.tgz",
"integrity": "sha1-QPxO76TS+O8uKAYUfwVuogf8wOk="
},
"console-browserify": {
"version": "1.2.0",
"resolved": "https://registry.npm.taobao.org/console-browserify/download/console-browserify-1.2.0.tgz",
@ -4658,6 +4740,14 @@
"resolved": "https://registry.npm.taobao.org/dom-walk/download/dom-walk-0.1.2.tgz",
"integrity": "sha1-DFSL7wSPTR8qlySQAiNgYNqj/YQ="
},
"dom7": {
"version": "3.0.0",
"resolved": "https://r.cnpmjs.org/dom7/download/dom7-3.0.0.tgz",
"integrity": "sha1-uGHOXWemvs16qjrQKUL/FLEkAzE=",
"requires": {
"ssr-window": "^3.0.0-alpha.1"
}
},
"domain-browser": {
"version": "1.2.0",
"resolved": "https://registry.npm.taobao.org/domain-browser/download/domain-browser-1.2.0.tgz",
@ -7262,6 +7352,11 @@
"type-check": "~0.3.2"
}
},
"lib-flexible": {
"version": "0.3.2",
"resolved": "https://registry.npm.taobao.org/lib-flexible/download/lib-flexible-0.3.2.tgz",
"integrity": "sha1-BvWnSDIxSi01wSA5vJw8otrqpCY="
},
"lines-and-columns": {
"version": "1.1.6",
"resolved": "https://registry.npm.taobao.org/lines-and-columns/download/lines-and-columns-1.1.6.tgz",
@ -7960,6 +8055,11 @@
"lower-case": "^1.1.1"
}
},
"node-fetch": {
"version": "2.6.1",
"resolved": "https://registry.npm.taobao.org/node-fetch/download/node-fetch-2.6.1.tgz?cache=0&sync_timestamp=1599309202591&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-fetch%2Fdownload%2Fnode-fetch-2.6.1.tgz",
"integrity": "sha1-BFvTI2Mfdu0uK1VXM5RBa2OaAFI="
},
"node-forge": {
"version": "0.10.0",
"resolved": "https://registry.npm.taobao.org/node-forge/download/node-forge-0.10.0.tgz?cache=0&sync_timestamp=1599010757493&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-forge%2Fdownload%2Fnode-forge-0.10.0.tgz",
@ -8839,6 +8939,16 @@
"ts-pnp": "^1.1.6"
}
},
"popper.js": {
"version": "1.16.1",
"resolved": "https://registry.npm.taobao.org/popper.js/download/popper.js-1.16.1.tgz",
"integrity": "sha1-KiI8s9x7YhPXQOQDcr5A3kPmWxs="
},
"portal-vue": {
"version": "2.1.7",
"resolved": "https://registry.npm.taobao.org/portal-vue/download/portal-vue-2.1.7.tgz",
"integrity": "sha1-6ggGmyW2QMoIpbhvZ8YS8V9OStQ="
},
"portfinder": {
"version": "1.0.28",
"resolved": "https://registry.npm.taobao.org/portfinder/download/portfinder-1.0.28.tgz?cache=0&sync_timestamp=1596019946887&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fportfinder%2Fdownload%2Fportfinder-1.0.28.tgz",
@ -11034,6 +11144,11 @@
"tweetnacl": "~0.14.0"
}
},
"ssr-window": {
"version": "3.0.0",
"resolved": "https://r.cnpmjs.org/ssr-window/download/ssr-window-3.0.0.tgz",
"integrity": "sha1-/VuCgBY4lD4MxwTEaRgBQ1r3rDc="
},
"ssri": {
"version": "6.0.1",
"resolved": "https://registry.npm.taobao.org/ssri/download/ssri-6.0.1.tgz",
@ -11558,6 +11673,15 @@
"util.promisify": "~1.0.0"
}
},
"swiper": {
"version": "6.4.10",
"resolved": "https://r.cnpmjs.org/swiper/download/swiper-6.4.10.tgz",
"integrity": "sha1-0qi85HFxe3cNAF/NXor0KsYwysY=",
"requires": {
"dom7": "^3.0.0",
"ssr-window": "^3.0.0"
}
},
"table": {
"version": "5.4.6",
"resolved": "https://registry.npm.taobao.org/table/download/table-5.4.6.tgz?cache=0&sync_timestamp=1599191046284&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftable%2Fdownload%2Ftable-5.4.6.tgz",
@ -12374,7 +12498,7 @@
},
"vue": {
"version": "2.6.12",
"resolved": "https://registry.npm.taobao.org/vue/download/vue-2.6.12.tgz?cache=0&sync_timestamp=1600441210971&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue%2Fdownload%2Fvue-2.6.12.tgz",
"resolved": "https://registry.npm.taobao.org/vue/download/vue-2.6.12.tgz",
"integrity": "sha1-9evU+mvShpQD4pqJau1JBEVskSM="
},
"vue-clipboard2": {
@ -12411,6 +12535,11 @@
}
}
},
"vue-functional-data-merge": {
"version": "3.1.0",
"resolved": "https://registry.npm.taobao.org/vue-functional-data-merge/download/vue-functional-data-merge-3.1.0.tgz",
"integrity": "sha1-CKd5dYO381aAWH+KHVHXKaodxlc="
},
"vue-hot-reload-api": {
"version": "2.3.4",
"resolved": "https://registry.npm.taobao.org/vue-hot-reload-api/download/vue-hot-reload-api-2.3.4.tgz",

View File

@ -3,16 +3,21 @@
"version": "0.1.0",
"private": true,
"scripts": {
"serve": "vue-cli-service serve",
"dev": "vue-cli-service serve",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint"
},
"dependencies": {
"animate.css": "^4.1.1",
"bootstrap": "^4.5.3",
"bootstrap-vue": "^2.21.1",
"core-js": "^3.6.5",
"element-ui": "^2.13.2",
"lib-flexible": "^0.3.2",
"nprogress": "^0.2.0",
"script-ext-html-webpack-plugin": "^2.1.4",
"svg-sprite-loader": "^5.0.0",
"swiper": "^6.4.10",
"vue": "^2.6.12",
"vue-clipboard2": "^0.3.1",
"vue-pdf": "^4.1.0",

View File

@ -2,6 +2,7 @@
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="google" value="notranslate">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="<%= BASE_URL %>favicon.png">

View File

@ -6,7 +6,7 @@
<style lang="less">
body {
margin: 0px;
margin: 0;
}
#app {
@ -15,5 +15,7 @@ body {
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
font-size: 62.5%;
overflow: hidden;
}
</style>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 MiB

View File

@ -1,15 +0,0 @@
import image1 from "@/assets/honor/1.jpg";
import image2 from "@/assets/honor/2.jpg";
import image3 from "@/assets/honor/3.jpg";
export default {
Hr01: {
src: image1
},
Hr02: {
src: image2
},
Hr04: {
src: image3
}
};

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 865 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 814 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 551 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 828 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 895 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 MiB

View File

@ -0,0 +1,60 @@
export default [
{
name: "西铁院",
sources: [
"1.西铁院/1.jpg",
"1.西铁院/2.jpg",
"1.西铁院/3.jpg",
"1.西铁院/4.jpg",
"1.西铁院/5.jpg",
"1.西铁院/6.jpg",
"1.西铁院/7.jpg",
"1.西铁院/8.jpg",
"1.西铁院/9.jpg"
]
},
{
name: "上海轨道交通展",
sources: [
"2.上海轨道交通展/1.jpg",
"2.上海轨道交通展/2.jpg",
"2.上海轨道交通展/3.jpg",
"2.上海轨道交通展/4.jpg",
"2.上海轨道交通展/5.jpg",
"2.上海轨道交通展/6.jpg",
"2.上海轨道交通展/7.jpg"
]
},
{
name: "第四届“中国创翼”暨“创业北京”创业创新大赛",
sources: [
"3.第四届“中国创翼”暨“创业北京”创业创新大赛/1.jpg",
"3.第四届“中国创翼”暨“创业北京”创业创新大赛/2.jpg",
"3.第四届“中国创翼”暨“创业北京”创业创新大赛/3.jpg",
"3.第四届“中国创翼”暨“创业北京”创业创新大赛/4.jpg",
"3.第四届“中国创翼”暨“创业北京”创业创新大赛/5.jpg",
"3.第四届“中国创翼”暨“创业北京”创业创新大赛/6.jpg",
"3.第四届“中国创翼”暨“创业北京”创业创新大赛/7.jpg"
]
},
{
name: "创业宝鸡星耀钛谷中小企业科技创新创业大赛",
sources: [
"4.创业宝鸡星耀钛谷中小企业科技创新创业大赛/1.jpg",
"4.创业宝鸡星耀钛谷中小企业科技创新创业大赛/2.jpg",
"4.创业宝鸡星耀钛谷中小企业科技创新创业大赛/3.jpg",
"4.创业宝鸡星耀钛谷中小企业科技创新创业大赛/4.jpg",
"4.创业宝鸡星耀钛谷中小企业科技创新创业大赛/5.jpg",
"4.创业宝鸡星耀钛谷中小企业科技创新创业大赛/6.jpg",
"4.创业宝鸡星耀钛谷中小企业科技创新创业大赛/7.jpg",
"4.创业宝鸡星耀钛谷中小企业科技创新创业大赛/8.jpg",
"4.创业宝鸡星耀钛谷中小企业科技创新创业大赛/9.jpg",
"4.创业宝鸡星耀钛谷中小企业科技创新创业大赛/10.jpg",
"4.创业宝鸡星耀钛谷中小企业科技创新创业大赛/11.jpg",
"4.创业宝鸡星耀钛谷中小企业科技创新创业大赛/12.jpg",
"4.创业宝鸡星耀钛谷中小企业科技创新创业大赛/13.jpg",
"4.创业宝鸡星耀钛谷中小企业科技创新创业大赛/14.jpg",
"4.创业宝鸡星耀钛谷中小企业科技创新创业大赛/15.jpg"
]
}
];

View File

@ -0,0 +1,11 @@
export default [
{
src: "honor/1.jpg"
},
{
src: "honor/2.jpg"
},
{
src: "honor/3.jpg"
}
];

View File

@ -1,60 +0,0 @@
export default {
Act1: {
name: "西铁院",
sources: [
require("@/assets/images/1.西铁院/1.jpg"),
require("@/assets/images/1.西铁院/2.jpg"),
require("@/assets/images/1.西铁院/3.jpg"),
require("@/assets/images/1.西铁院/4.jpg"),
require("@/assets/images/1.西铁院/5.jpg"),
require("@/assets/images/1.西铁院/6.jpg"),
require("@/assets/images/1.西铁院/7.jpg"),
require("@/assets/images/1.西铁院/8.jpg"),
require("@/assets/images/1.西铁院/9.jpg")
]
},
Act2: {
name: "上海轨道交通展",
sources: [
require("@/assets/images/2.上海轨道交通展/1.jpg"),
require("@/assets/images/2.上海轨道交通展/2.jpg"),
require("@/assets/images/2.上海轨道交通展/3.jpg"),
require("@/assets/images/2.上海轨道交通展/4.jpg"),
require("@/assets/images/2.上海轨道交通展/5.jpg"),
require("@/assets/images/2.上海轨道交通展/6.jpg"),
require("@/assets/images/2.上海轨道交通展/7.jpg")
]
},
Act3: {
name: "第四届“中国创翼”暨“创业北京”创业创新大赛",
sources: [
require("@/assets/images/3.第四届“中国创翼”暨“创业北京”创业创新大赛/1.jpg"),
require("@/assets/images/3.第四届“中国创翼”暨“创业北京”创业创新大赛/2.jpg"),
require("@/assets/images/3.第四届“中国创翼”暨“创业北京”创业创新大赛/3.jpg"),
require("@/assets/images/3.第四届“中国创翼”暨“创业北京”创业创新大赛/4.jpg"),
require("@/assets/images/3.第四届“中国创翼”暨“创业北京”创业创新大赛/5.jpg"),
require("@/assets/images/3.第四届“中国创翼”暨“创业北京”创业创新大赛/6.jpg"),
require("@/assets/images/3.第四届“中国创翼”暨“创业北京”创业创新大赛/7.jpg")
]
},
Act4: {
name: "创业宝鸡星耀钛谷中小企业科技创新创业大赛",
sources: [
require("@/assets/images/4.创业宝鸡星耀钛谷中小企业科技创新创业大赛/1.jpg"),
require("@/assets/images/4.创业宝鸡星耀钛谷中小企业科技创新创业大赛/2.jpg"),
require("@/assets/images/4.创业宝鸡星耀钛谷中小企业科技创新创业大赛/3.jpg"),
require("@/assets/images/4.创业宝鸡星耀钛谷中小企业科技创新创业大赛/4.jpg"),
require("@/assets/images/4.创业宝鸡星耀钛谷中小企业科技创新创业大赛/5.jpg"),
require("@/assets/images/4.创业宝鸡星耀钛谷中小企业科技创新创业大赛/6.jpg"),
require("@/assets/images/4.创业宝鸡星耀钛谷中小企业科技创新创业大赛/7.jpg"),
require("@/assets/images/4.创业宝鸡星耀钛谷中小企业科技创新创业大赛/8.jpg"),
require("@/assets/images/4.创业宝鸡星耀钛谷中小企业科技创新创业大赛/9.jpg"),
require("@/assets/images/4.创业宝鸡星耀钛谷中小企业科技创新创业大赛/10.jpg"),
require("@/assets/images/4.创业宝鸡星耀钛谷中小企业科技创新创业大赛/11.jpg"),
require("@/assets/images/4.创业宝鸡星耀钛谷中小企业科技创新创业大赛/12.jpg"),
require("@/assets/images/4.创业宝鸡星耀钛谷中小企业科技创新创业大赛/13.jpg"),
require("@/assets/images/4.创业宝鸡星耀钛谷中小企业科技创新创业大赛/14.jpg"),
require("@/assets/images/4.创业宝鸡星耀钛谷中小企业科技创新创业大赛/15.jpg"),
]
}
};

View File

@ -0,0 +1,57 @@
export default [
{
src: "knowledge/JL01-中心级综合监控ISCS系统仿真软件V1.0.jpg"
},
{
src: "knowledge/JL02-车站级综合监控ISCS系统仿真软件V1.0.jpg"
},
{
src: "knowledge/JL03-ATS行调工作站培训系统软件V1.0.jpg"
},
{
src: "knowledge/JL04-ATS行调工作站考试系统软件V1.0.jpg"
},
{
src: "knowledge/JL05-ATS现地工作站培训系统软件V1.0.jpg"
},
{
src: "knowledge/JL06-ATS现地工作站考试系统软件V1.0.jpg"
},
{
src: "knowledge/JL07-ATS行调工作站仿真系统软件V1.0.jpg"
},
{
src: "knowledge/JL02-车站级综合监控ISCS系统仿真软件V1.0.jpg"
},
{
src: "knowledge/JL09-ATS中心大屏仿真系统软件V1.0.jpg"
},
{
src: "knowledge/JL10-轨旁仿真软件V1.0.jpg"
},
{
src:
"knowledge/JL11-城市轨道交通综合演练系统简称城轨综合演练平台V1.0.jpg"
},
{
src: "knowledge/JL12-电子沙盘软件V1.0.jpg"
},
{
src: "knowledge/JL13-车载仿真软件简称VOBC仿真软件V1.0.jpg"
},
{
src: "knowledge/JL14-区域控制器仿真软件简称ZC仿真软件V1.0.jpg"
},
{
src: "knowledge/JL15-虚拟列车仿真软件V1.0.jpg"
},
{
src: "knowledge/JL16-模拟驾驶仿真软件简称列车模拟驾驶V1.0.jpg"
},
{
src: "knowledge/JL17-城市轨道交通运行图时刻表编辑系统V1.0.jpg"
},
{
src: "knowledge/JL18-联锁机仿真软件简称CI仿真软件V1.0.jpg"
}
];

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

View File

@ -0,0 +1,23 @@
import image1 from "./1.jpg";
import image2 from "./2.jpg";
import image3 from "./3.jpg";
import image4 from "./4.jpg";
export default [
{
name: "西铁院",
src: image1
},
{
name: "上海轨道交通展",
src: image2
},
{
name: "第四届“中国创翼”暨“创业北京”创业创新大赛",
src: image3
},
{
name: "创业宝鸡星耀钛谷中小企业科技创新创业大赛",
src: image4
}
];

View File

@ -0,0 +1,18 @@
export default [
{
name: "西铁院",
src: "1.西铁院/1.jpg"
},
{
name: "上海轨道交通展",
src: "2.上海轨道交通展/1.jpg"
},
{
name: "第四届“中国创翼”暨“创业北京”创业创新大赛",
src: "3.第四届“中国创翼”暨“创业北京”创业创新大赛/1.jpg"
},
{
name: "创业宝鸡星耀钛谷中小企业科技创新创业大赛",
src: "4.创业宝鸡星耀钛谷中小企业科技创新创业大赛/1.jpg"
}
];

Binary file not shown.

Before

Width:  |  Height:  |  Size: 527 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 506 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 598 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 601 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 600 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 993 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 989 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1000 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 985 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 976 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 991 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 963 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 984 KiB

View File

@ -1,56 +0,0 @@
export default {
JL01: {
src: require("@/assets/knowledge/JL01-中心级综合监控ISCS系统仿真软件V1.0.jpg")
},
JL02: {
src: require("@/assets/knowledge/JL02-车站级综合监控ISCS系统仿真软件V1.0.jpg")
},
JL03: {
src: require("@/assets/knowledge/JL03-ATS行调工作站培训系统软件V1.0.jpg")
},
JL04: {
src: require("@/assets/knowledge/JL04-ATS行调工作站考试系统软件V1.0.jpg")
},
JL05: {
src: require("@/assets/knowledge/JL05-ATS现地工作站培训系统软件V1.0.jpg")
},
JL06: {
src: require("@/assets/knowledge/JL06-ATS现地工作站考试系统软件V1.0.jpg")
},
JL07: {
src: require("@/assets/knowledge/JL07-ATS行调工作站仿真系统软件V1.0.jpg")
},
JL08: {
src: require("@/assets/knowledge/JL02-车站级综合监控ISCS系统仿真软件V1.0.jpg")
},
JL09: {
src: require("@/assets/knowledge/JL09-ATS中心大屏仿真系统软件V1.0.jpg")
},
JL10: {
src: require("@/assets/knowledge/JL10-轨旁仿真软件V1.0.jpg")
},
JL11: {
src: require("@/assets/knowledge/JL11-城市轨道交通综合演练系统简称城轨综合演练平台V1.0.jpg")
},
JL12: {
src: require("@/assets/knowledge/JL12-电子沙盘软件V1.0.jpg")
},
JL13: {
src: require("@/assets/knowledge/JL13-车载仿真软件简称VOBC仿真软件V1.0.jpg")
},
JL14: {
src: require("@/assets/knowledge/JL14-区域控制器仿真软件简称ZC仿真软件V1.0.jpg")
},
JL15: {
src: require("@/assets/knowledge/JL15-虚拟列车仿真软件V1.0.jpg")
},
JL16: {
src: require("@/assets/knowledge/JL16-模拟驾驶仿真软件简称列车模拟驾驶V1.0.jpg")
},
JL17: {
src: require("@/assets/knowledge/JL17-城市轨道交通运行图时刻表编辑系统V1.0.jpg")
},
JL18: {
src: require("@/assets/knowledge/JL18-联锁机仿真软件简称CI仿真软件V1.0.jpg")
}
};

Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 195 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 772 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 97 KiB

View File

@ -1,22 +1,32 @@
export default {
Pn1: {
export default [
{
name: "北京交通大学",
src: require("@/assets/partner/北京交通大学.jpg"),
href: ""
},
Pn2: {
{
name: "东北电力大学",
src: require("@/assets/partner/东北电力大学.jpg"),
href: ""
},
Pn3: {
{
name: "贵州装备制造职业学院",
src: require("@/assets/partner/贵州装备.jpg"),
href: ""
},
Pn4: {
{
name: "南京铁道职业技术学院",
src: require("@/assets/partner/南京铁道.jpg"),
href: ""
},
pn5: {
{
name: "西安铁路职业技术学院",
src: require("@/assets/partner/西安铁路职业技术学院.jpg"),
href: ""
},
{
name: "江苏电子信息职业学院",
src: require("@/assets/partner/江苏电子信息职业学院.jpg"),
href: ""
}
};
];

Binary file not shown.

After

Width:  |  Height:  |  Size: 208 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 403 KiB

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 774 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

After

Width:  |  Height:  |  Size: 30 KiB

View File

@ -27,28 +27,28 @@ export default {
<style lang="scss" scoped>
a {
margin: 0 15px;
margin: 0 1.5em;
text-decoration: none;
color: #333333;
}
.btn-group {
margin-top: 20px;
margin-top: 2em;
position: relproduct;
display: inline-block;
vertical-align: middle;
.btn-rect {
padding: 0 30px;
min-width: 140px;
height: 40px !important;
line-height: 40px !important;
padding: 0 3em;
min-width: 14em;
height: 4em !important;
line-height: 4em !important;
text-align: center;
border: 1px solid #d1d1d1;
border: 0.1em solid #d1d1d1;
display: inline-block;
color: #111;
padding-left: 20px;
padding-right: 20px;
font-size: 16px;
padding-left: 2em;
padding-right: 2em;
font-size: 1.6em;
background: #efefef;
&:hover {
color: #fff;

View File

@ -3,7 +3,7 @@
<div class="image-box">
<div class="mask" />
<picture>
<el-image style="height: 100%;width: 100%" :src="source" />
<b-img style="height: 100%;width: 100%" :src="source" />
</picture>
</div>
<div class="text-box">
@ -44,7 +44,7 @@ export default {
<style lang="scss" scoped>
.card {
&:hover {
.el-image {
.b-img {
transition: all 0.5s;
transform: scale(1.05);
}
@ -85,9 +85,9 @@ export default {
text-align: left;
transition: all 0.5s;
z-index: 4;
padding: 25px 30px;
font-size: 20px;
bottom: -50px;
padding: 2.5em 3em;
font-size: 2em;
bottom: -5em;
box-sizing: border-box;
&:hover {
@ -109,7 +109,7 @@ export default {
.text {
font-size: 0.875em;
display: block;
margin-bottom: 12px;
margin-bottom: 1.7em;
line-height: 1.8em;
opacity: 0.7;
}
@ -139,7 +139,7 @@ export default {
vertical-align: middle;
float: left;
&:hover {
transform: translateX(5px);
transform: translateX(0.5em);
}
}
}

View File

@ -13,7 +13,7 @@
<div class="card" v-if="active">
<ul>
<li v-for="(el, i) in menus" :key="i" @click="onClick(el, i)">
<i :class="el.icon" style="margin-right: 10px;font-size: 18px" />
<i :class="el.icon" style="margin-right: 1em;font-size: 1.8em" />
<span>{{ el.name }}</span>
</li>
</ul>
@ -60,18 +60,18 @@ export default {
position: relative;
display: flex;
justify-content: center;
height: 40px;
height: 4em;
.block {
display: flex;
align-items: center;
justify-content: center;
i {
font-size: 26px;
font-size: 2.6em;
}
.arrow {
font-size: 14px;
font-size: 1.4em;
}
}
@ -82,20 +82,20 @@ export default {
ul {
padding: 0;
margin: 0;
transform: translateY(59px);
transform: translateY(6em);
background: #fff;
list-style: none;
display: flex;
flex-direction: column;
justify-content: flex-start;
min-width: 180px;
min-width: 18em;
width: auto;
li {
border: 1px solid #d4d4d4;
border: 0.1em solid #d4d4d4;
border-top: 0;
height: 42px;
line-height: 42px;
padding-left: 26px;
height: 4.2em;
line-height: 4.2em;
padding-left: 2.6em;
background: #fff;
color: #777;
text-align: left;

View File

@ -0,0 +1,11 @@
import directive from './src/directive';
import service from './src/index';
export default {
install(Vue) {
Vue.use(directive);
Vue.prototype.$loading = service;
},
directive,
service
};

View File

@ -0,0 +1,133 @@
import Vue from 'vue';
import Loading from './loading.vue';
import { addClass, removeClass, getStyle } from '../utils/dom';
import { PopupManager } from '../utils/popup';
import afterLeave from '../utils/after-leave';
const Mask = Vue.extend(Loading);
const loadingDirective = {};
loadingDirective.install = Vue => {
if (Vue.prototype.$isServer) return;
const toggleLoading = (el, binding) => {
if (binding.value) {
Vue.nextTick(() => {
if (binding.modifiers.fullscreen) {
el.originalPosition = getStyle(document.body, 'position');
el.originalOverflow = getStyle(document.body, 'overflow');
el.maskStyle.zIndex = PopupManager.nextZIndex();
addClass(el.mask, 'is-fullscreen');
insertDom(document.body, el, binding);
} else {
removeClass(el.mask, 'is-fullscreen');
if (binding.modifiers.body) {
el.originalPosition = getStyle(document.body, 'position');
['top', 'left'].forEach(property => {
const scroll = property === 'top' ? 'scrollTop' : 'scrollLeft';
el.maskStyle[property] = el.getBoundingClientRect()[property] +
document.body[scroll] +
document.documentElement[scroll] -
parseInt(getStyle(document.body, `margin-${ property }`), 10) +
'px';
});
['height', 'width'].forEach(property => {
el.maskStyle[property] = el.getBoundingClientRect()[property] + 'px';
});
insertDom(document.body, el, binding);
} else {
el.originalPosition = getStyle(el, 'position');
insertDom(el, el, binding);
}
}
});
} else {
afterLeave(el.instance, _ => {
if (!el.instance.hiding) return;
el.domVisible = false;
const target = binding.modifiers.fullscreen || binding.modifiers.body
? document.body
: el;
removeClass(target, 'el-loading-parent--relative');
removeClass(target, 'el-loading-parent--hidden');
el.instance.hiding = false;
}, 300, true);
el.instance.visible = false;
el.instance.hiding = true;
}
};
const insertDom = (parent, el, binding) => {
if (!el.domVisible && getStyle(el, 'display') !== 'none' && getStyle(el, 'visibility') !== 'hidden') {
Object.keys(el.maskStyle).forEach(property => {
el.mask.style[property] = el.maskStyle[property];
});
if (el.originalPosition !== 'absolute' && el.originalPosition !== 'fixed') {
addClass(parent, 'el-loading-parent--relative');
}
if (binding.modifiers.fullscreen && binding.modifiers.lock) {
addClass(parent, 'el-loading-parent--hidden');
}
el.domVisible = true;
parent.appendChild(el.mask);
Vue.nextTick(() => {
if (el.instance.hiding) {
el.instance.$emit('after-leave');
} else {
el.instance.visible = true;
}
});
el.domInserted = true;
} else if (el.domVisible && el.instance.hiding === true) {
el.instance.visible = true;
el.instance.hiding = false;
}
};
Vue.directive('loading', {
bind: function(el, binding, vnode) {
const textExr = el.getAttribute('element-loading-text');
const spinnerExr = el.getAttribute('element-loading-spinner');
const backgroundExr = el.getAttribute('element-loading-background');
const customClassExr = el.getAttribute('element-loading-custom-class');
const vm = vnode.context;
const mask = new Mask({
el: document.createElement('div'),
data: {
text: vm && vm[textExr] || textExr,
spinner: vm && vm[spinnerExr] || spinnerExr,
background: vm && vm[backgroundExr] || backgroundExr,
customClass: vm && vm[customClassExr] || customClassExr,
fullscreen: !!binding.modifiers.fullscreen
}
});
el.instance = mask;
el.mask = mask.$el;
el.maskStyle = {};
binding.value && toggleLoading(el, binding);
},
update: function(el, binding) {
el.instance.setText(el.getAttribute('element-loading-text'));
if (binding.oldValue !== binding.value) {
toggleLoading(el, binding);
}
},
unbind: function(el, binding) {
if (el.domInserted) {
el.mask &&
el.mask.parentNode &&
el.mask.parentNode.removeChild(el.mask);
toggleLoading(el, { value: false, modifiers: binding.modifiers });
}
el.instance && el.instance.$destroy();
}
});
};
export default loadingDirective;

View File

@ -0,0 +1,106 @@
import Vue from 'vue';
import loadingVue from './loading.vue';
import { addClass, removeClass, getStyle } from '../utils/dom';
import { PopupManager } from '../utils/popup';
import afterLeave from '../utils/after-leave';
import merge from '../utils/merge';
const LoadingConstructor = Vue.extend(loadingVue);
const defaults = {
text: null,
fullscreen: true,
body: false,
lock: false,
customClass: ''
};
let fullscreenLoading;
LoadingConstructor.prototype.originalPosition = '';
LoadingConstructor.prototype.originalOverflow = '';
LoadingConstructor.prototype.close = function() {
if (this.fullscreen) {
fullscreenLoading = undefined;
}
afterLeave(this, _ => {
const target = this.fullscreen || this.body
? document.body
: this.target;
removeClass(target, 'el-loading-parent--relative');
removeClass(target, 'el-loading-parent--hidden');
if (this.$el && this.$el.parentNode) {
this.$el.parentNode.removeChild(this.$el);
}
this.$destroy();
}, 300);
this.visible = false;
};
const addStyle = (options, parent, instance) => {
let maskStyle = {};
if (options.fullscreen) {
instance.originalPosition = getStyle(document.body, 'position');
instance.originalOverflow = getStyle(document.body, 'overflow');
maskStyle.zIndex = PopupManager.nextZIndex();
} else if (options.body) {
instance.originalPosition = getStyle(document.body, 'position');
['top', 'left'].forEach(property => {
let scroll = property === 'top' ? 'scrollTop' : 'scrollLeft';
maskStyle[property] = options.target.getBoundingClientRect()[property] +
document.body[scroll] +
document.documentElement[scroll] +
'px';
});
['height', 'width'].forEach(property => {
maskStyle[property] = options.target.getBoundingClientRect()[property] + 'px';
});
} else {
instance.originalPosition = getStyle(parent, 'position');
}
Object.keys(maskStyle).forEach(property => {
instance.$el.style[property] = maskStyle[property];
});
};
const Loading = (options = {}) => {
if (Vue.prototype.$isServer) return;
options = merge({}, defaults, options);
if (typeof options.target === 'string') {
options.target = document.querySelector(options.target);
}
options.target = options.target || document.body;
if (options.target !== document.body) {
options.fullscreen = false;
} else {
options.body = true;
}
if (options.fullscreen && fullscreenLoading) {
return fullscreenLoading;
}
let parent = options.body ? document.body : options.target;
let instance = new LoadingConstructor({
el: document.createElement('div'),
data: options
});
addStyle(options, parent, instance);
if (instance.originalPosition !== 'absolute' && instance.originalPosition !== 'fixed') {
addClass(parent, 'el-loading-parent--relative');
}
if (options.fullscreen && options.lock) {
addClass(parent, 'el-loading-parent--hidden');
}
parent.appendChild(instance.$el);
Vue.nextTick(() => {
instance.visible = true;
});
if (options.fullscreen) {
fullscreenLoading = instance;
}
return instance;
};
export default Loading;

View File

@ -0,0 +1,41 @@
<template>
<transition name="el-loading-fade" @after-leave="handleAfterLeave">
<div
v-show="visible"
class="el-loading-mask"
:style="{ backgroundColor: background || '' }"
:class="[customClass, { 'is-fullscreen': fullscreen }]">
<div class="el-loading-spinner">
<svg v-if="!spinner" class="circular" viewBox="25 25 50 50">
<circle class="path" cx="50" cy="50" r="20" fill="none"/>
</svg>
<i v-else :class="spinner"></i>
<p v-if="text" class="el-loading-text">{{ text }}</p>
</div>
</div>
</transition>
</template>
<script>
export default {
data() {
return {
text: null,
spinner: null,
background: null,
fullscreen: true,
visible: false,
customClass: ''
};
},
methods: {
handleAfterLeave() {
this.$emit('after-leave');
},
setText(text) {
this.text = text;
}
}
};
</script>

View File

@ -0,0 +1,27 @@
/**
* Bind after-leave event for vue instance. Make sure after-leave is called in any browsers.
*
* @param {Vue} instance Vue instance.
* @param {Function} callback callback of after-leave event
* @param {Number} speed the speed of transition, default value is 300ms
* @param {Boolean} once weather bind after-leave once. default value is false.
*/
export default function(instance, callback, speed = 300, once = false) {
if (!instance || !callback) throw new Error('instance & callback is required');
let called = false;
const afterLeaveCallback = function() {
if (called) return;
called = true;
if (callback) {
callback.apply(null, arguments);
}
};
if (once) {
instance.$once('after-leave', afterLeaveCallback);
} else {
instance.$on('after-leave', afterLeaveCallback);
}
setTimeout(() => {
afterLeaveCallback();
}, speed + 100);
};

Some files were not shown because too many files have changed in this diff Show More