代码提交
|
@ -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?
|
|
@ -0,0 +1,24 @@
|
|||
# nengyuan
|
||||
|
||||
## Project setup
|
||||
```
|
||||
npm install
|
||||
```
|
||||
|
||||
### Compiles and hot-reloads for development
|
||||
```
|
||||
npm run serve
|
||||
```
|
||||
|
||||
### Compiles and minifies for production
|
||||
```
|
||||
npm run build
|
||||
```
|
||||
|
||||
### Lints and fixes files
|
||||
```
|
||||
npm run lint
|
||||
```
|
||||
|
||||
### Customize configuration
|
||||
See [Configuration Reference](https://cli.vuejs.org/config/).
|
|
@ -0,0 +1,5 @@
|
|||
module.exports = {
|
||||
presets: [
|
||||
'@vue/app'
|
||||
]
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
"compilerOptions": {
|
||||
"target": "es5",
|
||||
"module": "esnext",
|
||||
"baseUrl": "./",
|
||||
"moduleResolution": "node",
|
||||
"paths": {
|
||||
"@/*": [
|
||||
"src/*"
|
||||
]
|
||||
},
|
||||
"lib": [
|
||||
"esnext",
|
||||
"dom",
|
||||
"dom.iterable",
|
||||
"scripthost"
|
||||
]
|
||||
}
|
||||
}
|
|
@ -0,0 +1,44 @@
|
|||
{
|
||||
"name": "nengyuan",
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"serve": "vue-cli-service serve",
|
||||
"build": "vue-cli-service build"
|
||||
},
|
||||
"dependencies": {
|
||||
"amfe-flexible": "^2.2.1",
|
||||
"axios": "^1.1.3",
|
||||
"core-js": "^2.6.5",
|
||||
"echarts": "^5.4.0",
|
||||
"echarts-gl": "^2.0.5",
|
||||
"element-ui": "^2.15.6",
|
||||
"less": "^4.1.3",
|
||||
"less-loader": "^5.0.0",
|
||||
"moment": "^2.29.4",
|
||||
"pdfjs-dist": "2.5.207",
|
||||
"postcss-px2rem-exclude": "^0.0.6",
|
||||
"v-fit-columns": "^0.2.0",
|
||||
"vue": "^2.6.10",
|
||||
"vue-pdf": "4.2.0",
|
||||
"vue-router": "^3.0.3",
|
||||
"vuex": "^3.0.1",
|
||||
"webpack-dev-server": "^2.9.6"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@vue/cli-plugin-babel": "^3.0.4",
|
||||
"@vue/cli-service": "^3.0.4",
|
||||
"mini-css-extract-plugin": "^2.7.2",
|
||||
"vue-template-compiler": "^2.6.10",
|
||||
"webpack": "^4.0.0"
|
||||
},
|
||||
"postcss": {
|
||||
"plugins": {
|
||||
"autoprefixer": {}
|
||||
}
|
||||
},
|
||||
"browserslist": [
|
||||
"> 1%",
|
||||
"last 2 versions"
|
||||
]
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
module.exports = {
|
||||
plugins: {
|
||||
autoprefixer: {},
|
||||
"postcss-pxtorem": {
|
||||
"rootValue": 16,
|
||||
"propList": ["*"]
|
||||
}
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 4.2 KiB |
|
@ -0,0 +1,17 @@
|
|||
<!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">
|
||||
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
|
||||
<title>南京江北新区人民法院智慧运营平台</title>
|
||||
</head>
|
||||
<body style="margin: 0;">
|
||||
<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>
|
|
@ -0,0 +1,224 @@
|
|||
<template>
|
||||
<div id="app">
|
||||
<div class="header">
|
||||
<div class="left">
|
||||
<div>{{ time }} {{ week }}</div>
|
||||
</div>
|
||||
<div class="middle">南京江北新区人民法院智慧运营平台</div>
|
||||
<div class="right">
|
||||
<div class="quit">
|
||||
<img
|
||||
src="./assets/images/quit.png"
|
||||
style="width: 3%; height: 37%"
|
||||
/>
|
||||
</div>
|
||||
<div class="storey">
|
||||
<div
|
||||
class="floor"
|
||||
v-for="(item, index) in floorList"
|
||||
:key="index"
|
||||
@click="floorChange(index)"
|
||||
:class="{ floorAct: floorAct == index }"
|
||||
>
|
||||
<div>{{ item.name }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="content">
|
||||
<router-view />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import pdf from 'vue-pdf'
|
||||
import axios from "axios"
|
||||
import {getData} from './api/index.js'
|
||||
export default {
|
||||
data(){
|
||||
return{
|
||||
screenWidth:
|
||||
window.innerWidth ||
|
||||
document.documentElement.clientWidth ||
|
||||
document.body.clientWidth,
|
||||
time:'',
|
||||
weekList:['星期日','星期一','星期二','星期三','星期四','星期五','星期六'],
|
||||
week:'',
|
||||
floorAct:0,
|
||||
floorList:[
|
||||
{
|
||||
name:'楼顶',
|
||||
},
|
||||
{
|
||||
name:'F5',
|
||||
},
|
||||
{
|
||||
name:'F4',
|
||||
},
|
||||
{
|
||||
name:'F3',
|
||||
},
|
||||
{
|
||||
name:'F2',
|
||||
},
|
||||
{
|
||||
name:'F1',
|
||||
},
|
||||
{
|
||||
name:'B1',
|
||||
},
|
||||
]
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.lastTime = new Date().getTime();
|
||||
this.fun();
|
||||
},
|
||||
mounted() {
|
||||
|
||||
let week = new Date(this.$moment().format("YYYY-MM-DD")).getDay()
|
||||
this.week = this.weekList[week]
|
||||
window.setInterval(()=>{
|
||||
this.time = this.$moment().format("YYYY-MM-DD HH:mm:ss")
|
||||
},1000)
|
||||
|
||||
|
||||
const that = this;
|
||||
window.onresize = () => {
|
||||
return (() => {
|
||||
(window.screenWidth =
|
||||
window.innerWidth ||
|
||||
document.documentElement.clientWidth ||
|
||||
document.body.clientWidth),
|
||||
(that.screenWidth = window.screenWidth);
|
||||
that.fun();
|
||||
});
|
||||
};
|
||||
|
||||
},
|
||||
methods:{
|
||||
//选中楼层
|
||||
floorChange(index){
|
||||
this.floorAct = index
|
||||
},
|
||||
// 设置html标签的字体大小自适应 为了使得rem单位自适应
|
||||
fun() {
|
||||
const that = this;
|
||||
var htmlobj = document.getElementsByTagName("html")[0];
|
||||
htmlobj.style.fontSize = (that.screenWidth / 1920) * 20 + "px";
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
screenWidth(val) {
|
||||
// 为了避免频繁触发resize函数导致页面卡顿,使用定时器
|
||||
if (!this.timer) {
|
||||
// 一旦监听到的screenWidth值改变,就将其重新赋给data里的screenWidth
|
||||
this.screenWidth = val;
|
||||
this.timer = true;
|
||||
let that = this;
|
||||
setTimeout(function () {
|
||||
that.timer = false;
|
||||
}, 400);
|
||||
}
|
||||
},
|
||||
},
|
||||
components: {
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less">
|
||||
/*将大屏设置为1920*1080,设置缩放的方向*/
|
||||
#app {
|
||||
font-family: Avenir, Helvetica, Arial, sans-serif;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
text-align: center;
|
||||
width: 1920px;
|
||||
height: 1080px;
|
||||
transition: all 0.2s linear;
|
||||
transform-origin: left top;
|
||||
}
|
||||
</style>
|
||||
<style lang="less" scoped>
|
||||
#app {
|
||||
// width: 6144px;
|
||||
// height: 1920px;
|
||||
background: rgba(1, 1, 7, 0.7);
|
||||
// overflow: hidden;
|
||||
.header {
|
||||
height: 15%;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
padding: 0 5px 0 5px;
|
||||
box-sizing: border-box;
|
||||
background: url("./assets/images/headerTop.png") no-repeat;
|
||||
background-size: 100% 100%;
|
||||
color: #fff;
|
||||
.left {
|
||||
width: 26%;
|
||||
height: 38%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
font-size: 0.55rem;
|
||||
}
|
||||
.middle {
|
||||
width: 40%;
|
||||
height: 64%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
font-size: 1.3rem;
|
||||
font-weight: 500;
|
||||
letter-spacing: 0.5rem;
|
||||
}
|
||||
.right {
|
||||
width: 26%;
|
||||
height: 100%;
|
||||
|
||||
.quit {
|
||||
height: 38%;
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
align-items: center;
|
||||
margin-right: 1%;
|
||||
}
|
||||
.storey {
|
||||
height: calc(100% - 38%);
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-wrap: nowrap;
|
||||
align-items: center;
|
||||
justify-content: space-around;
|
||||
.floor {
|
||||
height: 80%;
|
||||
width: 35%;
|
||||
font-size: 0.55rem;
|
||||
background: url("./assets/images/floorBtn.png") no-repeat;
|
||||
background-size: 100% 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
.floorAct {
|
||||
height: 80%;
|
||||
width: 35%;
|
||||
font-size: 0.55rem;
|
||||
background: url("./assets/images/floorBtn.png") no-repeat;
|
||||
background-size: 100% 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
color: yellow;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.content {
|
||||
height: calc(100% - 15%);
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,9 @@
|
|||
import axios from 'axios'
|
||||
if (process.env.NODE_ENV === 'development') {
|
||||
axios.defaults.baseURL = '/api'
|
||||
} else if (process.env.NODE_ENV === 'production') {
|
||||
axios.defaults.baseURL = '/api'
|
||||
}
|
||||
// 设置请求头参数 common 为设置所有的接口 post为设置post请求的接口
|
||||
// axios.defaults.headers.common['Authorization'] = `Bearer ${localStorage.getItem('access_token')}`;
|
||||
|
After Width: | Height: | Size: 6.1 KiB |
After Width: | Height: | Size: 5.8 KiB |
After Width: | Height: | Size: 254 B |
After Width: | Height: | Size: 4.7 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 166 KiB |
After Width: | Height: | Size: 6.2 KiB |
After Width: | Height: | Size: 6.1 KiB |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 640 B |
After Width: | Height: | Size: 6.1 KiB |
After Width: | Height: | Size: 5.7 KiB |
After Width: | Height: | Size: 30 KiB |
After Width: | Height: | Size: 6.1 KiB |
After Width: | Height: | Size: 5.9 KiB |
After Width: | Height: | Size: 6.4 KiB |
After Width: | Height: | Size: 6.0 KiB |
After Width: | Height: | Size: 1.6 MiB |
After Width: | Height: | Size: 413 B |
After Width: | Height: | Size: 573 B |
After Width: | Height: | Size: 4.8 KiB |
After Width: | Height: | Size: 6.3 KiB |
After Width: | Height: | Size: 5.9 KiB |
After Width: | Height: | Size: 6.3 KiB |
After Width: | Height: | Size: 5.9 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 573 B |
After Width: | Height: | Size: 346 B |
After Width: | Height: | Size: 477 B |
After Width: | Height: | Size: 2.6 KiB |
After Width: | Height: | Size: 575 B |
After Width: | Height: | Size: 572 B |
After Width: | Height: | Size: 4.3 KiB |
After Width: | Height: | Size: 6.4 KiB |
After Width: | Height: | Size: 6.0 KiB |
|
@ -0,0 +1,160 @@
|
|||
html,
|
||||
body,
|
||||
#app {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
margin: 0px;
|
||||
font-family: "微软雅黑", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
}
|
||||
|
||||
* {
|
||||
font-family: "微软雅黑", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
html,
|
||||
body,
|
||||
ul,
|
||||
li,
|
||||
ol,
|
||||
dl,
|
||||
dd,
|
||||
dt,
|
||||
p,
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6,
|
||||
form,
|
||||
fieldset,
|
||||
legend,
|
||||
img {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
fieldset,
|
||||
img,
|
||||
input,
|
||||
button,
|
||||
textarea {
|
||||
border: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
outline-style: none;
|
||||
}
|
||||
|
||||
ul,
|
||||
ol {
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
input {
|
||||
padding-top: 0;
|
||||
padding-bottom: 0;
|
||||
}
|
||||
|
||||
select,
|
||||
input {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
select,
|
||||
input,
|
||||
textarea {
|
||||
font-size: 12px;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
textarea {
|
||||
resize: none;
|
||||
}
|
||||
|
||||
/*防止拖动*/
|
||||
|
||||
img {
|
||||
border: 0;
|
||||
vertical-align: middle;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
/* 去掉图片低测默认的3像素空白缝隙*/
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
.clearfix:before,
|
||||
.clearfix:after {
|
||||
content: "";
|
||||
display: table;
|
||||
}
|
||||
|
||||
.clearfix:after {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.clearfix {
|
||||
*zoom: 1;
|
||||
/*IE/7/6*/
|
||||
}
|
||||
|
||||
a {
|
||||
color: #666;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
text-decoration: none;
|
||||
font-weight: normal;
|
||||
font-size: 100%;
|
||||
}
|
||||
|
||||
s,
|
||||
i,
|
||||
em {
|
||||
font-style: normal;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
/* IE 浏览器 */
|
||||
.scrollbar-body {
|
||||
/*三角箭头的颜色*/
|
||||
scrollbar-arrow-color: #0581ab;
|
||||
/*滚动条滑块按钮的颜色*/
|
||||
scrollbar-face-color: #0581ab;
|
||||
/*滚动条整体颜色*/
|
||||
scrollbar-highlight-color: #0a393f;
|
||||
/*滚动条阴影*/
|
||||
scrollbar-shadow-color: #0099dd;
|
||||
/*滚动条轨道颜色*/
|
||||
scrollbar-track-color: #0a393f;
|
||||
/*滚动条3d亮色阴影边框的外观颜色——左边和上边的阴影色*/
|
||||
scrollbar-3dlight-color: #0099dd;
|
||||
/*滚动条3d暗色阴影边框的外观颜色——右边和下边的阴影色*/
|
||||
scrollbar-darkshadow-color: #0099dd;
|
||||
/*滚动条基准颜色*/
|
||||
scrollbar-base-color: #0581ab;
|
||||
}
|
||||
|
||||
.scrollbar-body {
|
||||
overflow: hidden;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
.scrollbar-body::-webkit-scrollbar {
|
||||
width: 0.36vw;
|
||||
background-color: rgba(51, 238, 255, 0.2);
|
||||
}
|
||||
|
||||
.scrollbar-body::-webkit-scrollbar-thumb {
|
||||
background-color: rgba(0, 192, 255, 0.51);
|
||||
border-radius: 0.18vw;
|
||||
}
|
||||
|
After Width: | Height: | Size: 6.7 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 1.6 KiB |
|
@ -0,0 +1,15 @@
|
|||
// 基准大小
|
||||
const baseSize = 16
|
||||
// 设置 rem 函数
|
||||
function setRem () {
|
||||
// 当前页面宽度相对于 750 宽的缩放比例,可根据自己需要修改。
|
||||
const scale = document.documentElement.clientWidth / 5120
|
||||
// 设置页面根节点字体大小
|
||||
document.documentElement.style.fontSize = (baseSize * Math.min(scale, 2)) + 'px'
|
||||
}
|
||||
// 初始化
|
||||
setRem()
|
||||
// 改变窗口大小时重新设置 rem
|
||||
window.onresize = function () {
|
||||
setRem()
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
import Vue from 'vue'
|
||||
import App from './App.vue'
|
||||
import router from './router'
|
||||
|
||||
import ElementUI from 'element-ui'
|
||||
import 'element-ui/lib/theme-chalk/index.css'
|
||||
Vue.use(ElementUI)
|
||||
import Plugin from 'v-fit-columns';
|
||||
Vue.use(Plugin);
|
||||
import * as echarts from 'echarts'
|
||||
import 'echarts-gl'
|
||||
Vue.prototype.$echarts = echarts
|
||||
|
||||
|
||||
|
||||
import moment from 'moment'
|
||||
//定义一个全局过滤器实现日期格式化
|
||||
Vue.filter('datefmt',function (input,fmtstring) {//当input为时间戳时,需转为Number类型
|
||||
// 使用momentjs这个日期格式化类库实现日期的格式化功能
|
||||
return moment(input).format(fmtstring);
|
||||
});
|
||||
Vue.prototype.$moment = moment
|
||||
|
||||
import 'amfe-flexible'; //引入amfe-flexible做rem适配
|
||||
import './assets/index.css';
|
||||
Vue.config.productionTip = false
|
||||
new Vue({
|
||||
router,
|
||||
render: h => h(App)
|
||||
}).$mount('#app')
|
|
@ -0,0 +1,28 @@
|
|||
import Vue from 'vue'
|
||||
import Router from 'vue-router'
|
||||
|
||||
Vue.use(Router)
|
||||
|
||||
const originalPush = Router.prototype.push
|
||||
|
||||
Router.prototype.push = function push (location) {
|
||||
|
||||
return originalPush.call(this, location).catch(err => err)
|
||||
|
||||
}
|
||||
|
||||
export default new Router({
|
||||
mode: 'history',
|
||||
base: process.env.BASE_URL,
|
||||
routes: [
|
||||
{
|
||||
path: '/',
|
||||
redirect:'/index',
|
||||
},
|
||||
{
|
||||
path: '/index',
|
||||
name: 'index',
|
||||
component: () => import ('./views/index.vue'),
|
||||
},
|
||||
]
|
||||
})
|
|
@ -0,0 +1,39 @@
|
|||
module.exports = {
|
||||
// 打包文件配置
|
||||
publicPath: "/",
|
||||
assetsDir: "static",
|
||||
lintOnSave: false,
|
||||
devServer: {
|
||||
// overlay: { // 让浏览器 overlay 同时显示警告和错误
|
||||
// warnings: true,
|
||||
// errors: true,
|
||||
// },
|
||||
// hotOnly: true,
|
||||
// open: false, // npm run serve后自动打开页面
|
||||
// https: false, // https:{type:Boolean}
|
||||
// host: "0.0.0.0", // 匹配本机IP地址(默认是0.0.0.0)
|
||||
// port: 8989, // 开发服务器运行端口号
|
||||
proxy: {
|
||||
'/api': { //代理的名字
|
||||
target:'http://172.16.1.254:3333/',
|
||||
ws: true,
|
||||
changeOrigin: true,
|
||||
pathRewrite:{
|
||||
'^/api':'',
|
||||
}
|
||||
},
|
||||
}
|
||||
},
|
||||
// css: {
|
||||
// loaderOptions: {
|
||||
// postcss: {
|
||||
// plugins: [
|
||||
// require("postcss-px2rem-exclude")({
|
||||
// // 在这里,由于我的设计稿尺寸的屏幕分辨率是1920,具体原因如下:
|
||||
// remUnit: 576, // 设计稿尺寸/10
|
||||
// }),
|
||||
// ],
|
||||
// },
|
||||
// },
|
||||
// },
|
||||
}
|