最新问题修改(自动滚动/时间用接口返回的)
parent
7f0587f3e3
commit
1b25ee3f1f
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"name": "ysws-vue",
|
"name": "zhihuiyun",
|
||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|
|
@ -1360,29 +1360,45 @@
|
||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.realTime .page-content .flex-list {
|
.realTime .page-content .realTime-list {
|
||||||
display: flex;
|
width: 100%;
|
||||||
align-items: center;
|
overflow: hidden;
|
||||||
justify-content: space-around;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.realTime .page-content .flex-list > div {
|
.realTime .page-content .realTime-list .seamless-warp {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.realTime .page-content .realTime-list .seamless-warp > div {
|
||||||
|
display: flex;
|
||||||
|
overflow: unset !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.realTime .page-content .realTime-list .seamless-warp > div > div {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.realTime .page-content .realTime-list .seamless-warp .list-view {
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
margin-right: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.realTime .page-content .flex-list > div img {
|
.realTime .page-content .realTime-list .seamless-warp .list-view img {
|
||||||
width: 80px;
|
width: 80px;
|
||||||
height: 80px;
|
height: 80px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.realTime .page-content .flex-list > div .text {
|
.realTime .page-content .realTime-list .seamless-warp .list-view .text {
|
||||||
margin: 5px 0;
|
margin: 5px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.realTime .page-content .flex-list > div .number {
|
.realTime .page-content .realTime-list .seamless-warp .list-view .number {
|
||||||
width: 106px;
|
width: 106px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
background: url(../image/real-time-text.png) no-repeat center;
|
background: url(../image/real-time-text.png) no-repeat center;
|
||||||
|
@ -1396,6 +1412,12 @@
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.realTime .page-content .flex-list {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-around;
|
||||||
|
}
|
||||||
|
|
||||||
.realTime .page-content .realTime-bottom {
|
.realTime .page-content .realTime-bottom {
|
||||||
height: 440px;
|
height: 440px;
|
||||||
margin-top: 30px;
|
margin-top: 30px;
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -1431,19 +1431,28 @@
|
||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.realTime-list{
|
||||||
.flex-list {
|
width: 100%;
|
||||||
|
overflow: hidden;
|
||||||
|
.seamless-warp{
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-around;
|
>div{
|
||||||
// flex-wrap: wrap;
|
// width: 100%!important;
|
||||||
|
display: flex;
|
||||||
>div {
|
overflow: unset!important;
|
||||||
|
>div{
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.list-view {
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
margin-right: 20px;
|
||||||
img {
|
img {
|
||||||
width: 80px;
|
width: 80px;
|
||||||
height: 80px;
|
height: 80px;
|
||||||
|
@ -1468,6 +1477,15 @@
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
.flex-list {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-around;
|
||||||
|
// flex-wrap: wrap;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -65,5 +65,12 @@ const router = new VueRouter({
|
||||||
base: process.env.BASE_URL,
|
base: process.env.BASE_URL,
|
||||||
routes
|
routes
|
||||||
})
|
})
|
||||||
|
router.beforeEach(async (to,from,next) => {
|
||||||
|
if (to.meta.title) { // 判断是否有标题
|
||||||
|
document.title = to.meta.title;
|
||||||
|
}else{
|
||||||
|
document.title ='温室智慧云'
|
||||||
|
}
|
||||||
|
next();
|
||||||
|
});
|
||||||
export default router
|
export default router
|
||||||
|
|
|
@ -44,7 +44,7 @@ export default {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.getTime()
|
// this.getTime()
|
||||||
this.gerRouter();
|
this.gerRouter();
|
||||||
|
|
||||||
if (localStorage.getItem('token')) {
|
if (localStorage.getItem('token')) {
|
||||||
|
@ -53,6 +53,10 @@ export default {
|
||||||
this.$router.push({ name: 'login' })
|
this.$router.push({ name: 'login' })
|
||||||
|
|
||||||
}
|
}
|
||||||
|
this.$bus.$on('refreshTime',(res)=>{
|
||||||
|
console.log(res,'time');
|
||||||
|
this.time=res
|
||||||
|
})
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
refreshData(){
|
refreshData(){
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="formula realTime">
|
<div class="formula realTime">
|
||||||
<div class="page-content">
|
<div class="page-content">
|
||||||
<div class="timeNow" v-if="time">
|
<div class="timeNow" v-if="list.length">
|
||||||
{{ time.year.year }}-{{ time.year.month }}-{{ time.year.date }}<span> {{ time.time }}:{{ time.timeS
|
<!-- {{ time.year.year }}-{{ time.year.month }}-{{ time.year.date }}<span> {{ time.time }}:{{ time.timeS
|
||||||
}}</span>
|
}}</span> -->
|
||||||
|
{{ list[0].updateTime?list[0].updateTime:'' }}
|
||||||
</div>
|
</div>
|
||||||
<div class="table-title">
|
<div class="table-title">
|
||||||
<img src="../../assets/image/real-time.png" alt="" />
|
<img src="../../assets/image/real-time.png" alt="" />
|
||||||
|
@ -20,12 +21,15 @@
|
||||||
</div>
|
</div>
|
||||||
</div> -->
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
<div class="flex-list scroll">
|
<div class="realTime-list" v-if="list.length">
|
||||||
<div class="" v-for="item, index in list " :key="index">
|
<vue-seamless class="seamless-warp" :data="list" :class-option="defaultOption">
|
||||||
|
<div class="list-view" v-for="item, index in list " :key="index">
|
||||||
<img :src="item.img" alt="">
|
<img :src="item.img" alt="">
|
||||||
<div class="text">{{ item.name }}</div>
|
<div class="text">{{ item.name }}</div>
|
||||||
<div class="number">{{ item.num }}</div>
|
<div class="number">{{ item.num }}</div>
|
||||||
</div>
|
</div>
|
||||||
|
</vue-seamless>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="flex-list realTime-bottom">
|
<div class="flex-list realTime-bottom">
|
||||||
<div class="left">
|
<div class="left">
|
||||||
|
@ -43,8 +47,23 @@ import { getnowtime } from '../../assets/js/nowTime'
|
||||||
import { realTimeLine } from '@/assets/js/charts'
|
import { realTimeLine } from '@/assets/js/charts'
|
||||||
import videojs from 'video.js';
|
import videojs from 'video.js';
|
||||||
import video_zhCN from 'video.js/dist/lang/zh-CN.json'
|
import video_zhCN from 'video.js/dist/lang/zh-CN.json'
|
||||||
|
import vueSeamless from 'vue-seamless-scroll'
|
||||||
export default {
|
export default {
|
||||||
|
components: { vueSeamless },
|
||||||
|
computed: {
|
||||||
|
defaultOption() {
|
||||||
|
return {
|
||||||
|
step: 0.3, // 数值越大速度滚动越快
|
||||||
|
limitMoveNum: 9, // 开始无缝滚动的数据量 this.dataList.length
|
||||||
|
hoverStop: true, // 是否开启鼠标悬停stop
|
||||||
|
direction: 2, // 0向下 1向上 2向左 3向右
|
||||||
|
openWatch: true, // 开启数据实时监控刷新dom
|
||||||
|
singleHeight: 0, // 单步运动停止的高度(默认值0是无缝不停止的滚动) direction => 0/1
|
||||||
|
singleWidth: 0, // 单步运动停止的宽度(默认值0是无缝不停止的滚动) direction => 2/3
|
||||||
|
waitTime: 1000 // 单步运动停止的时间(默认值1000ms)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
time: null,//右上角时间
|
time: null,//右上角时间
|
||||||
|
@ -69,7 +88,7 @@ export default {
|
||||||
const that = this;
|
const that = this;
|
||||||
this.indexs = this.$route.query.index ? this.$route.query.index : 1;
|
this.indexs = this.$route.query.index ? this.$route.query.index : 1;
|
||||||
|
|
||||||
this.getTime()
|
// this.getTime()
|
||||||
|
|
||||||
|
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
|
@ -79,6 +98,7 @@ export default {
|
||||||
that.dataInit();
|
that.dataInit();
|
||||||
}, 60000);
|
}, 60000);
|
||||||
}, 0);
|
}, 0);
|
||||||
|
|
||||||
},
|
},
|
||||||
beforeDestroy() {
|
beforeDestroy() {
|
||||||
const that = this;
|
const that = this;
|
||||||
|
@ -87,6 +107,7 @@ export default {
|
||||||
this.player.dispose();
|
this.player.dispose();
|
||||||
}
|
}
|
||||||
that.timer&&clearInterval(that.timer)
|
that.timer&&clearInterval(that.timer)
|
||||||
|
this.$bus.$off('refreshTime')
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
createVideo() {
|
createVideo() {
|
||||||
|
@ -174,9 +195,11 @@ export default {
|
||||||
}
|
}
|
||||||
|
|
||||||
this.list.push({
|
this.list.push({
|
||||||
|
...el,
|
||||||
name:name,
|
name:name,
|
||||||
num: num,
|
num: num,
|
||||||
img: require(`../../assets/image/real-time-${el.formula}.png`)
|
img: require(`../../assets/image/real-time-${el.formula}.png`)
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,8 +35,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="left-btn">
|
<div class="left-btn">
|
||||||
<div :class="left1Act == 1&&left1Act==3 ? 'active' : ''">进水泵</div>
|
<div :class="left1Act == 1 && left1Act == 3 ? 'active' : ''">进水泵</div>
|
||||||
<div :class="left1Act == 2&&left1Act==3 ? 'active' : ''">配肥泵</div>
|
<div :class="left1Act == 2 && left1Act == 3 ? 'active' : ''">配肥泵</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -139,7 +139,7 @@ import vueSeamless from 'vue-seamless-scroll'
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
pageTimer:null,
|
pageTimer: null,
|
||||||
left1Act: -1,
|
left1Act: -1,
|
||||||
openType: '',
|
openType: '',
|
||||||
left2List: [
|
left2List: [
|
||||||
|
@ -260,7 +260,7 @@ export default {
|
||||||
centerBottom: [],
|
centerBottom: [],
|
||||||
numberList: [273, 278, 283, 288, 293, 298],
|
numberList: [273, 278, 283, 288, 293, 298],
|
||||||
inputData1: [],
|
inputData1: [],
|
||||||
loading:true,
|
loading: true,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
components: { vueSeamless },
|
components: { vueSeamless },
|
||||||
|
@ -279,25 +279,25 @@ export default {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
//清除监听
|
//清除监听
|
||||||
beforeDestroy(){
|
beforeDestroy() {
|
||||||
const that = this;
|
const that = this;
|
||||||
this.$bus.$off('refreshData')
|
this.$bus.$off('refreshData')
|
||||||
// that.pageTimer&&clearInterval(that.pageTimer)
|
that.pageTimer && clearInterval(that.pageTimer)
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
const that = this;
|
const that = this;
|
||||||
if (localStorage.getItem('token')) {
|
if (localStorage.getItem('token')) {
|
||||||
that.getEqbyid();
|
that.getEqbyid();
|
||||||
// setTimeout(() => {
|
setTimeout(() => {
|
||||||
// that.pageTimer&&clearInterval(that.pageTimer)
|
that.pageTimer && clearInterval(that.pageTimer)
|
||||||
// that.pageTimer= setInterval(() => {
|
that.pageTimer = setInterval(() => {
|
||||||
// that.getEqbyid();
|
that.getEqbyid();
|
||||||
// }, 5000);
|
}, 5000);
|
||||||
// }, 0);
|
}, 0);
|
||||||
} else {
|
} else {
|
||||||
// this.$router.push({ name: 'login' })
|
// this.$router.push({ name: 'login' })
|
||||||
}
|
}
|
||||||
this.$bus.$on('refreshData',(res)=>{
|
this.$bus.$on('refreshData', (res) => {
|
||||||
that.getEqbyid();
|
that.getEqbyid();
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
@ -308,16 +308,16 @@ export default {
|
||||||
//2是原数据/10
|
//2是原数据/10
|
||||||
//3是(原数据-400) / 10
|
//3是(原数据-400) / 10
|
||||||
countType1(data) {
|
countType1(data) {
|
||||||
var num=data - 400
|
var num = data - 400
|
||||||
return num.toFixed(2)
|
return num.toFixed(2)
|
||||||
},
|
},
|
||||||
countType2(data) {
|
countType2(data) {
|
||||||
var num=data / 10
|
var num = data / 10
|
||||||
return num.toFixed(2)
|
return num.toFixed(2)
|
||||||
},
|
},
|
||||||
countType3(data) {
|
countType3(data) {
|
||||||
|
|
||||||
var num=(data - 400) / 10
|
var num = (data - 400) / 10
|
||||||
return num.toFixed(2)
|
return num.toFixed(2)
|
||||||
},
|
},
|
||||||
getTypeData(dataCode, typeCode) {
|
getTypeData(dataCode, typeCode) {
|
||||||
|
@ -361,13 +361,13 @@ export default {
|
||||||
this.tableList1[2] = {
|
this.tableList1[2] = {
|
||||||
name: '传感器1',
|
name: '传感器1',
|
||||||
data: this.getTypeData('40', '273'),
|
data: this.getTypeData('40', '273'),
|
||||||
ADdata:inputData['39'],
|
ADdata: inputData['39'],
|
||||||
}
|
}
|
||||||
|
|
||||||
this.tableList1[3] = {
|
this.tableList1[3] = {
|
||||||
name: '传感器2',
|
name: '传感器2',
|
||||||
data: this.getTypeData('42', '278'),
|
data: this.getTypeData('42', '278'),
|
||||||
ADdata:inputData['41'] ,
|
ADdata: inputData['41'],
|
||||||
}
|
}
|
||||||
|
|
||||||
this.tableList1[4] = {
|
this.tableList1[4] = {
|
||||||
|
@ -385,15 +385,15 @@ export default {
|
||||||
this.tableList1[6] = {
|
this.tableList1[6] = {
|
||||||
name: '传感器5',
|
name: '传感器5',
|
||||||
data: this.getTypeData('48', '293'),
|
data: this.getTypeData('48', '293'),
|
||||||
ADdata:inputData['47'] ,
|
ADdata: inputData['47'],
|
||||||
}
|
}
|
||||||
|
|
||||||
this.tableList1[7] = {
|
this.tableList1[7] = {
|
||||||
name: '传感器6',
|
name: '传感器6',
|
||||||
data: this.getTypeData('50', '298'),
|
data: this.getTypeData('50', '298'),
|
||||||
ADdata:inputData['49'] ,
|
ADdata: inputData['49'],
|
||||||
}
|
}
|
||||||
this.loading=false
|
this.loading = false
|
||||||
},
|
},
|
||||||
getEqbyid() {
|
getEqbyid() {
|
||||||
var store = this.$store.state
|
var store = this.$store.state
|
||||||
|
@ -491,17 +491,17 @@ export default {
|
||||||
|
|
||||||
var statusIndex = 8
|
var statusIndex = 8
|
||||||
for (var j = 0; j < statusIndex; j++) {
|
for (var j = 0; j < statusIndex; j++) {
|
||||||
if (Number(number[number.length-1 - j])) {
|
if (Number(number[number.length - 1 - j])) {
|
||||||
if(j==0){
|
if (j == 0) {
|
||||||
this.right2Index.push('1')
|
this.right2Index.push('1')
|
||||||
}else if(j==1){
|
} else if (j == 1) {
|
||||||
this.right2Index.push('0')
|
this.right2Index.push('0')
|
||||||
}else{
|
} else {
|
||||||
this.right2Index.push(j)
|
this.right2Index.push(j)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
console.log( this.right2Index,123);
|
console.log(this.right2Index, 123);
|
||||||
},
|
},
|
||||||
//进水泵和出水泵状态
|
//进水泵和出水泵状态
|
||||||
getData30() {
|
getData30() {
|
||||||
|
@ -520,12 +520,22 @@ export default {
|
||||||
// }
|
// }
|
||||||
},
|
},
|
||||||
dataInit() {
|
dataInit() {
|
||||||
|
const that = this
|
||||||
var deviceDetail = this.deviceDetail
|
var deviceDetail = this.deviceDetail
|
||||||
var data = {
|
var data = {
|
||||||
"equipmentId": deviceDetail.deviceId,
|
"equipmentId": deviceDetail.deviceId,
|
||||||
"pattern": 0,//需要根据文档填写 //6目标ph-数值
|
"pattern": 0,//需要根据文档填写 //6目标ph-数值
|
||||||
"regNum": 71
|
"regNum": 71
|
||||||
}
|
}
|
||||||
|
var week = [
|
||||||
|
"星期日",
|
||||||
|
"星期一",
|
||||||
|
"星期二",
|
||||||
|
"星期三",
|
||||||
|
"星期四",
|
||||||
|
"星期五",
|
||||||
|
"星期六",
|
||||||
|
]
|
||||||
this.api.postState(data).then(res => {
|
this.api.postState(data).then(res => {
|
||||||
if (res.data.code == 200) {
|
if (res.data.code == 200) {
|
||||||
this.inputData = res.data.data;
|
this.inputData = res.data.data;
|
||||||
|
@ -536,12 +546,29 @@ export default {
|
||||||
this.getleft2List()//获取左下角数据
|
this.getleft2List()//获取左下角数据
|
||||||
this.getrightList3()//获取又下角数据
|
this.getrightList3()//获取又下角数据
|
||||||
this.getcenterBottom()//获取电磁阀
|
this.getcenterBottom()//获取电磁阀
|
||||||
|
var h = this.checkTime(this.inputData[3])
|
||||||
|
var m = this.checkTime(this.inputData[4])
|
||||||
|
var month_ = this.checkTime(this.inputData[1])
|
||||||
|
var date_ = this.checkTime(this.inputData[2])
|
||||||
|
var time = {
|
||||||
|
year: { year: this.inputData[0], month: month_, date: date_ },
|
||||||
|
week: week[this.inputData[5]],
|
||||||
|
time: h + ":" + m,
|
||||||
|
}
|
||||||
|
this.$bus.$emit('refreshTime',time)
|
||||||
} else {
|
} else {
|
||||||
this.$message.error(res.data.msg);
|
this.$message.error(res.data.msg);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
},
|
},
|
||||||
|
checkTime(i) {
|
||||||
|
if (i < 10) {
|
||||||
|
i = "0" + i;
|
||||||
|
}
|
||||||
|
|
||||||
|
return i;
|
||||||
|
},
|
||||||
getReg() {
|
getReg() {
|
||||||
var deviceDetail = this.deviceDetail
|
var deviceDetail = this.deviceDetail
|
||||||
//获取传感器种类
|
//获取传感器种类
|
||||||
|
|
Loading…
Reference in New Issue