After Width: | Height: | Size: 1.4 MiB |
After Width: | Height: | Size: 28 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 74 KiB |
After Width: | Height: | Size: 62 KiB |
After Width: | Height: | Size: 39 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 440 B |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 28 KiB |
@ -0,0 +1,53 @@
|
|||||||
|
<template>
|
||||||
|
<div class="ycl">
|
||||||
|
<template v-for="(item,index) in gxNames">
|
||||||
|
<div class="gxcl">
|
||||||
|
<div class="gxcl__title">{{item}}</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name:'MainGxChanLiang',
|
||||||
|
data(){
|
||||||
|
return {
|
||||||
|
gxNames:['上料','抛丸','理料','划线','切割']
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.ycl{
|
||||||
|
width: 1470px;
|
||||||
|
height: 342px;
|
||||||
|
background: url('../../../assets/kban/yclbg.png') no-repeat;
|
||||||
|
background-size: 100% 100%;
|
||||||
|
text-align: center;
|
||||||
|
flex: 1;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
|
||||||
|
.gxcl{
|
||||||
|
width: 278px;
|
||||||
|
height: 300px;
|
||||||
|
background: url('../../../assets/kban/yclbg.png') no-repeat;
|
||||||
|
background-size: 100% 100%;
|
||||||
|
|
||||||
|
.gxcl__title{
|
||||||
|
width: 231px;
|
||||||
|
height: 41px;
|
||||||
|
background: url('../../../assets/kban/cltitle.png') no-repeat;
|
||||||
|
background-size: 100% 100%;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 20px;
|
||||||
|
padding: 12px 26px;
|
||||||
|
margin-left: 25px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
@ -0,0 +1,33 @@
|
|||||||
|
<template>
|
||||||
|
<div class="chanlian">
|
||||||
|
<div class="chanlian__title">本月各垮产量(吨)</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: "MainChanLian",
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.chanlian{
|
||||||
|
width: 369px;
|
||||||
|
height: 688px;
|
||||||
|
background: url('../../../assets/kban/clbg.png') no-repeat;
|
||||||
|
background-size: 100% 100%;
|
||||||
|
margin-left: 41px;
|
||||||
|
text-align: center;
|
||||||
|
|
||||||
|
.chanlian__title{
|
||||||
|
width: 231px;
|
||||||
|
height: 41px;
|
||||||
|
background: url('../../../assets/kban/cltitle.png') no-repeat;
|
||||||
|
background-size: 100% 100%;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 20px;
|
||||||
|
padding: 12px 26px;
|
||||||
|
margin-left: 71px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
@ -0,0 +1,34 @@
|
|||||||
|
<template>
|
||||||
|
<div class="cq">
|
||||||
|
<div class="cq__title">出勤情况</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name:'Cq'
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.cq{
|
||||||
|
width: 369px;
|
||||||
|
height: 294px;
|
||||||
|
background: url('../../../assets/kban/cqbg.png') no-repeat;
|
||||||
|
background-size: 100% 100%;
|
||||||
|
margin-left: 41px;
|
||||||
|
margin-top: 14px;
|
||||||
|
text-align: center;
|
||||||
|
|
||||||
|
.cq__title{
|
||||||
|
width: 231px;
|
||||||
|
height: 41px;
|
||||||
|
background: url('../../../assets/kban/cltitle.png') no-repeat;
|
||||||
|
background-size: 100% 100%;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 20px;
|
||||||
|
padding: 12px 26px;
|
||||||
|
margin-left: 71px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
@ -0,0 +1,33 @@
|
|||||||
|
<template>
|
||||||
|
<div class="ycl">
|
||||||
|
<div class="ycl__title">各月份产量(吨)</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name:'MainGeYueChanLiang'
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.ycl{
|
||||||
|
width: 1070px;
|
||||||
|
height: 342px;
|
||||||
|
background: url('../../../assets/kban/gyclbg.png') no-repeat;
|
||||||
|
background-size: 100% 100%;
|
||||||
|
text-align: center;
|
||||||
|
|
||||||
|
.ycl__title{
|
||||||
|
width: 231px;
|
||||||
|
height: 41px;
|
||||||
|
background: url('../../../assets/kban/cltitle.png') no-repeat;
|
||||||
|
background-size: 100% 100%;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 20px;
|
||||||
|
padding: 12px 26px;
|
||||||
|
margin-left: 425px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
@ -0,0 +1,71 @@
|
|||||||
|
<template>
|
||||||
|
<div class="video">
|
||||||
|
<div class="video-info">
|
||||||
|
<div class="webcam">
|
||||||
|
<img src="../../../assets/kban/webcam.png" alt=""/>
|
||||||
|
<span class="title">01</span>
|
||||||
|
</div>
|
||||||
|
<img src="../../../assets/kban/无视频.png" alt=""/>
|
||||||
|
</div>
|
||||||
|
<div class="video-info">
|
||||||
|
<div class="webcam">
|
||||||
|
<img src="../../../assets/kban/webcam.png" alt=""/>
|
||||||
|
<span class="title">02</span>
|
||||||
|
</div>
|
||||||
|
<img src="../../../assets/kban/无视频.png" alt=""/>
|
||||||
|
</div>
|
||||||
|
<div class="video-info">
|
||||||
|
<div class="webcam">
|
||||||
|
<img src="../../../assets/kban/webcam.png" alt=""/>
|
||||||
|
<span class="title">03</span>
|
||||||
|
</div>
|
||||||
|
<img src="../../../assets/kban/无视频.png" alt=""/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: "MainVideo",
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.video{
|
||||||
|
width: 1470px;
|
||||||
|
height: 294px;
|
||||||
|
background: url('../../../assets/kban/videobg.png') no-repeat;
|
||||||
|
background-size: 1470px 100%;
|
||||||
|
margin-top: 14px;
|
||||||
|
flex: 1;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
|
||||||
|
.video-info{
|
||||||
|
border: 1px solid #0d84ff;
|
||||||
|
width: 464px;
|
||||||
|
height: 245px;
|
||||||
|
background: #001846;
|
||||||
|
margin: 25px 0 0 19px;
|
||||||
|
padding: 74px 180px;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.webcam{
|
||||||
|
position: absolute;
|
||||||
|
top:12px;
|
||||||
|
left: 17px;
|
||||||
|
|
||||||
|
img{
|
||||||
|
width: 16px;
|
||||||
|
height: 21px;
|
||||||
|
}
|
||||||
|
|
||||||
|
span{
|
||||||
|
font-size: 16px;
|
||||||
|
line-height: 21px;
|
||||||
|
margin-left: 3px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
@ -0,0 +1,33 @@
|
|||||||
|
<template>
|
||||||
|
<div class="ycl">
|
||||||
|
<div class="ycl__title">计划完成情况</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name:'MainYueChanLiang'
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.ycl{
|
||||||
|
width: 396px;
|
||||||
|
height: 342px;
|
||||||
|
background: url('../../../assets/kban/yclbg.png') no-repeat;
|
||||||
|
background-size: 100% 100%;
|
||||||
|
text-align: center;
|
||||||
|
|
||||||
|
.ycl__title{
|
||||||
|
width: 231px;
|
||||||
|
height: 41px;
|
||||||
|
background: url('../../../assets/kban/cltitle.png') no-repeat;
|
||||||
|
background-size: 100% 100%;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 20px;
|
||||||
|
padding: 12px 26px;
|
||||||
|
margin-left: 85px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
@ -0,0 +1,55 @@
|
|||||||
|
<template>
|
||||||
|
<div class="menu">
|
||||||
|
<img class="ico" src="../../../assets/kban/收起.png" alt="">
|
||||||
|
<div class="title" @click="menuClick">主菜单</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: "Menu",
|
||||||
|
data(){
|
||||||
|
return{
|
||||||
|
showMenu:false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods:{
|
||||||
|
menuClick(){
|
||||||
|
this.menuControl()
|
||||||
|
},
|
||||||
|
menuControl(){
|
||||||
|
this.showMenu=!this.showMenu;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.menu{
|
||||||
|
width: 43px;
|
||||||
|
height: 100vh;
|
||||||
|
background: url('../../../assets/kban/menu.png') no-repeat;
|
||||||
|
background-size: 100% 100%;
|
||||||
|
position: absolute;
|
||||||
|
top: 2px;
|
||||||
|
left: 1px;
|
||||||
|
text-align: center;
|
||||||
|
|
||||||
|
.ico {
|
||||||
|
width: 19px;
|
||||||
|
height: 17px;
|
||||||
|
position: absolute;
|
||||||
|
top:39%;
|
||||||
|
left: 25%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.title{
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 24px;
|
||||||
|
position: absolute;
|
||||||
|
top:44%;
|
||||||
|
text-align: center;
|
||||||
|
vertical-align: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
Before Width: | Height: | Size: 195 KiB After Width: | Height: | Size: 195 KiB |
@ -0,0 +1,93 @@
|
|||||||
|
<template>
|
||||||
|
<div id="data-view">
|
||||||
|
<dv-full-screen-container>
|
||||||
|
<top-header />
|
||||||
|
<div class="main-content">
|
||||||
|
<digital-flop />
|
||||||
|
<div class="block-left-right-content">
|
||||||
|
<ranking-board />
|
||||||
|
<div class="block-top-bottom-content">
|
||||||
|
<div class="block-top-content">
|
||||||
|
<rose-chart />
|
||||||
|
<water-level-chart />
|
||||||
|
<scroll-board />
|
||||||
|
</div>
|
||||||
|
<cards />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</dv-full-screen-container>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import topHeader from './comps/topHeader'
|
||||||
|
import digitalFlop from './comps/digitalFlop'
|
||||||
|
import rankingBoard from './comps/rankingBoard'
|
||||||
|
import roseChart from './comps/roseChart'
|
||||||
|
import waterLevelChart from './comps/waterLevelChart'
|
||||||
|
import scrollBoard from './comps/scrollBoard'
|
||||||
|
import cards from './comps/cards'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'DataView',
|
||||||
|
components: {
|
||||||
|
topHeader,
|
||||||
|
digitalFlop,
|
||||||
|
rankingBoard,
|
||||||
|
roseChart,
|
||||||
|
waterLevelChart,
|
||||||
|
scrollBoard,
|
||||||
|
cards
|
||||||
|
},
|
||||||
|
data () {
|
||||||
|
return {}
|
||||||
|
},
|
||||||
|
methods: {}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="less">
|
||||||
|
#data-view {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
background-color: #030409;
|
||||||
|
color: #fff;
|
||||||
|
|
||||||
|
#dv-full-screen-container {
|
||||||
|
background-image: url('img/bg.png');
|
||||||
|
background-size: 100% 100%;
|
||||||
|
box-shadow: 0 0 3px blue;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-content {
|
||||||
|
flex: 1;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
.block-left-right-content {
|
||||||
|
flex: 1;
|
||||||
|
display: flex;
|
||||||
|
margin-top: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.block-top-bottom-content {
|
||||||
|
flex: 1;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding-left: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.block-top-content {
|
||||||
|
height: 55%;
|
||||||
|
display: flex;
|
||||||
|
flex-grow: 0;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding-bottom: 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
@ -1,18 +1,40 @@
|
|||||||
import Konva from "konva";
|
import Konva from "konva";
|
||||||
|
|
||||||
const title=function (width,height,title) {
|
const title=function (width,height,title) {
|
||||||
return new Konva.Text({
|
const group=new Konva.Group({
|
||||||
|
x: 0,
|
||||||
|
y: 8,
|
||||||
|
width: width,
|
||||||
|
height: 20,
|
||||||
|
})
|
||||||
|
|
||||||
|
const imageObj = new Image();
|
||||||
|
imageObj.src = require('@/assets/kban/logo.png');
|
||||||
|
imageObj.onload = function () {
|
||||||
|
const shape = new Konva.Image({
|
||||||
|
x: 0,
|
||||||
|
y: 0,
|
||||||
|
width: width*0.86,
|
||||||
|
height:41,
|
||||||
|
image: imageObj,
|
||||||
|
});
|
||||||
|
group.add(shape)
|
||||||
|
}
|
||||||
|
|
||||||
|
const text=new Konva.Text({
|
||||||
x: 0,
|
x: 0,
|
||||||
y: 8,
|
y: 8,
|
||||||
width: width,
|
width: width,
|
||||||
height: 20,
|
height: 20,
|
||||||
lineHeight: 1,
|
|
||||||
stroke: 'blue',
|
|
||||||
strokeWidth: 2,
|
|
||||||
text: title,
|
text: title,
|
||||||
align: 'center',
|
align: 'center',
|
||||||
|
fill:'#fff',
|
||||||
fontSize: 32,
|
fontSize: 32,
|
||||||
|
fontStyle:'bold'
|
||||||
})
|
})
|
||||||
|
group.add(text)
|
||||||
|
|
||||||
|
return group
|
||||||
}
|
}
|
||||||
|
|
||||||
export default title
|
export default title
|
||||||
|